intel历代架构演进1——p6微架构

linux的学习主要还是基于x86系统,而intel是典型的代表,之前由于部分博客保存在个人空间被搞丢了。所以这部分历史文章重新基于《intel开发手册卷一》来进行回忆。


太早的历史我们就不多复述了,有兴趣大家自己去看intel开发手册吧。这里先从p6微架构开始讲


从95年开始intel公司引入了p6微架构。使用该架构的芯片主要为奔腾2,3和奔腾2,3至强系列cpu.

p6微架构后来被增强了基于芯片的二级缓存,被成为高级转换缓存。

该架构是一种基于流水线的三层架构(Three-way superscalar )。这样cpu可以利用并行处理技术。处理器可以平均的解码,分发和完成执行(回退)三个指令在一个时钟周期。

为了提升吞吐量p6家族使用了一个解耦的12-阶段的超流水线来支持乱序执行指令。<

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是修改后的代码,可以实现输入年月日,然后输出该月的日历,并且上下有边框,1月和2月在同一行: ```c #include <stdio.h> int main() { int year, month, day, days, i, leap; int month_day[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; char week[7][10] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; // 输入年月日 printf("Please input the date (year/month/day): "); scanf("%d/%d/%d", &year, &month, &day); // 计算天数 days = 0; for (i = 1; i < month; i++) { days += month_day[i]; } days += day; // 判断是否为闰年 leap = 0; if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { leap = 1; month_day[2] = 29; } // 计算该年的1月1日是星期几 int y = year - 1; int w = y + y / 4 - y / 100 + y / 400 + 1; int week_day = w % 7; // 输出结果 printf("\n"); printf("+-----------------------------+\n"); printf("| %d-%d |\n", year, month); printf("+-----------------------------+\n"); printf("| Sun Mon Tue Wed Thu Fri Sat |\n"); printf("+-----------------------------+\n"); // 输出日历 int k = 0; for (i = 0; i < week_day; i++) { printf("| "); k++; } for (i = 1; i <= month_day[month]; i++) { printf("|%3d ", i); week_day++; k++; if (week_day % 7 == 0) { printf("|\n"); printf("+-----------------------------+\n"); if (i != month_day[month]) { if (month == 1) { printf("| %d-%d |\n", year, 2); } else { printf("| %d-%d |\n", year, month + 1); } printf("+-----------------------------+\n"); printf("| Sun Mon Tue Wed Thu Fri Sat |\n"); printf("+-----------------------------+\n"); k = 0; } } } // 输出该日是星期几 printf("\n%s\n", week[days % 7]); printf("+-----------------------------+\n"); return 0; } ``` 这个代码可以实现输入年月日,然后输出该月的日历,并且上下有边框,1月和2月在同一行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值