处理器体系结构.PDF

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
处理器体系结构

4 处理器体系结构 2017年3月12 日 13:53 1. 一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构(Instruction-Set Architecture , ISA )。 2. ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层:编译器编写者只需要知道知道允许哪 些指令,以及它们是如何编码的;而处理器设计者必须建造出执行这些指令的处理器。 3. 现代处理器的实际工作方式(流水线)可能跟ISA隐含的计算模型(顺序执行)大相径庭。 4. 冒险,就是一条指令的位置或操作数依赖于其他仍在流水线中的指令。 Y86 SEQ SEQ+ PIPE 是作者为了方便叙述相关概念和进行教学定义的, 本章中的 、 、 、 等概念, 并不是真实使用的。 分区 《深入理解计算机系统》笔记 的第 1 页 4.1 Y86指令集体系结构 年 月 日 14:31 2017 3 13 本节定义了本章使用的Y86指令集体系结构,包括定义各种状态元素、指令集和它们的编码、一组 编程规范和异常事件处理。Y86 ISA是作者为了方便叙述相关概念和进行教学定义的一个ISA ,并不 是真实使用的ISA。 一、概述 1. Y86程序中的每条指令都会读取或修改处理器状态的某些部分,称为程序员可见状态。这里的 “程序员”既可以是用汇编代码写程序的人,也可以是产生机器级代码的编译器。在处理器的实 现中,只要我们保证机器级程序能够访问程序员可见状态,就不需要完全按照ISA隐含的方式 来表示和组织这个处理器状态。 2. Y86有8个程序寄存器:%eax、%ecx、%edx、%ebx、%esi、%edi、%esp和%ebp ,每个程序 寄存器存储一个字。%esp被入栈、出栈、调用和返回指令作为栈指针。在其他情况中,寄存 器没有固定的含义或固定值。 3. Y86有三个一位的条件码:ZF、SF、OF ,它们保存最近的算术或逻辑指令所造成影响的有关信 息。 4. Y86的程序计数器PC存放当前正在执行指令的地址。(与一般的PC不一样,一般是保存下一 条要执行的指令的地址) 5. Y86程序用虚拟地址来引用存储器位置。硬件和操作系统软件联合起来将虚拟地址翻译成实际 或物理地址。 6. Y86的状态码Stat表明程序执行的总体状态。 二、Y86指令 1. Y86 ISA中各个指令的简单描述如下: 分区 《深入理解计算机系统》笔记 的第 2 页 需要注意的是: a. Y86 ISA基本上是IA32 ISA的一个子集。它只包括四字节整数操作,寻址方式比较少,操 作也比较少; b. mrmovl和rmmovl中的存储器引用方式是简单的基址和偏移量形式,不支持第二变址寄存 器和任何寄存器值的伸缩,不允许从一个存储器地址直接传送到另一个存储器地址,不 允许将立即数传送到存储器; c. IA32的应用程序不允许使用halt指令,因为它会导致整个系统暂停运行,对于Y86来说, 执行halt指令会导致处理器停止并将状态码设置为HLT。 2. 指令集的功能码fn如下: 3. 寄存器ID如下: 分区 《深入理解计算机系统》笔记 的第 3 页 当需要指明不应访问任何寄存器时,就调用ID值0xF来表示。 4. Y86采用绝对寻址方式(不同于PC相对寻址方式),所有整数采用小端法表示。 5. 指令集的一个重要性质就是字节编码必须有唯一的解释。任意一个字节序列要么是一个唯一的 指令序列的编码,要么就不是一个合法的字节序列。 三、RISC和CISC 1. RISC ,精简指令集计算机;CISC ,复杂指令集计算机;两者的比较如下: 分区 《深入理解计算机系统》笔记 的第 4 页 2. IA32演变到x86_64的过程中结合了一些RISC的特性,RISC处理器在嵌入式处理器市场上表现 出色。 四、Y86异常 五、其他 X86模型之间在对将%esp压栈、入栈的操作处理上存在不同:有的是压入或弹出未改变的%esp的 值,有的是压入或弹出更新后的%esp的值,Y86压入或弹出未改变的%esp的值。 分区 《深

您可能关注的文档

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档