- 1、本文档共108页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
处理器系统
有以下程序main( ) { char *p[10]={“abc”, “aabdfg”, “dcdbe”, “abbd”, “cd”};printf(“%d\n”,strlen(p[4])); }执行后输出结果是A) 2 B) 3 C) 4 D) 5 计算机基本工作原理 奔腾4的时代 2000年下半年,Intel推出了代号Willamette的处理器,它是英特尔IA-32 CPU家族中最新的成员,也是英特尔P6系列的终结者。这就是Pentium IV(P4)。P4 CPU基于新的32位微结构,在许多方面超过了奔腾Ⅱ/Ⅲ等上两代的IA-32 CPU。 NetBurst微架构是Pentinum 4处理器的基石。这里解释一下处理器的架构与微架构:处理机的架构指的是指令集、寄存器和程序员公用的内存驻留的数据结构,它们在处理器的发展进程中得到继承和增强。处理机的微架构指的是处理机架构在硅片上的实现。 NetBurst微架构特点细节: 超流水线技术: 执行追踪Cache: 快速执行引擎REE: 400MHz 系统总线: 先进的动态执行: 流式SIMD扩充2(SSE2): 2.走近64位CPU 64位处理器针对的主要对象是目前对32位系统感觉受限制的用户。一些用来设计汽车、卫星以及一些其他的非常复杂的产品的MCAD软件(机械计算机辅助设计软件)将通过64位系统得到不少的性能提升。另外,超大规模的数据库软件也由于64位的大内存寻址区域而获得不少优势。可见其企业级应用是相当广泛的。 Intel的64位结构叫做IA-64。目前,Intel同时推出了Pentium 4以及Intel第一个从IA-32到IA-64架构转换的产品Itanium。 (1)IA-64架构的特点 1)更改现有工业标准体系,建立IA-64架构后将采用并行运算方式的体系; 2)单指令简化,即每条指令执行的功能减少,但执行效率变高; 3)由于运行指令并行化,并且采用了程序控制指令,使分支预测更加准确,提高运算的利用效率; 4)增加程序运行时的并行运算预测能力,使内存中需要的数据更容易在Cache中命中; 5)增加内存的总容量,扩展到2的64次方,由原先的4GB内存扩展到惊人的180亿GB容量,并支持64位浮点数和32位浮点数,高精度的数字计算,提供高达82位的数据宽度。 6)利用GR Stack来降低save/restore需要的调用,减少寄存器使用数量,使用的是Register Stacker Engine(RSE),使用全新的寄存器,总共128个64位寄存器,其中32个是静态的,96个是动态的。 7)现有流水线采用的是顺序结构,一条运行结束后进行下一条,IA-64采用并行流水线结构,提高了工作效率。 8)高速运算功能,在平行运算时,提供了2倍于运算频率的运算速度。 (1)IA-64架构的特点 1)64位实地址模式; 2)通过寄存器前缀(REX)来达到寄存器扩展; 3)增加8个新的通用寄存器(GPRs),代号为R8到R15; 4)扩展通用寄存器的宽度到64位; 5)增加8个128位的SSE寄存器,标号为XMM8到XMM15; 6)新的RIP关联数据地址模式; 7)单一字节寄存器地址。 表2-7显示的就是x86-64架构中的模式结构图,并标示了适用情况。 ? 段内偏移量EA (Effective Address):是指某存储单元离开该段段首址的字节数。 ? 逻辑地址(Logical Address) :是一对地址,包含段寄存器的内容和段内偏移量,如某条指令的逻辑地址可表达为:CS : IP。 ? 物理地址PA (Physical Address): 是指某个存储单元实际的20bit的地址,又称绝对地址。 由上面的定义可知: 物理地址PA=对应段寄存器×10H十段内偏移量EA。 物理地址的形成如下图所示。 物理地址的形成 段寄存器值 0000 ? 20位物理地址 19 0 15 0 15 0 偏移地址 加法器 16 位 4位 例如:若CS=FFFFH,IP=0000H,则指令所在存储单元的物理地址为: PA= (CS) ×10H + IP = FFFF0H ? 当取指令时,自动选择的段寄存器是CS,再加上IP所决定的16位偏移量,得到要取出指令具体的物理地址: ? 当涉及到取一个堆栈操作时,自动选择的段寄存器是SS,再加上SP所决定的16位偏移量,得到堆栈操作所需要的20位物理地址。 ? 当涉及到取一个操作数时,自动选择DS寄存器或ES附加段寄存器,再加上16位偏移量,得到操作数的20位物理地址
文档评论(0)