- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10-11微机原理与应用02
第2章 微处理器内部结构 第2章 微处理器内部结构 2.1 微处理器功能结构 2.1.1 微处理器基本结构 2.1.2 8086的功能结构 2.1.3 IA-32的功能结构 2.2 IA-32微处理器寄存器 2.2.1 整数寄存器 2.2.2 浮点及多媒体寄存器 2.3 微处理器存储器组织 2.3.1 IA-32工作方式 2.3.2 实方式的逻辑段 2.3.3 保护方式的段页管理 微型计算机系统的组成 微处理器基本结构 8086的功能结构 指令的执行 通常可以分为五个部分:取指令,指令译码,取操作数,运算,写结果; 其中前三步一般由指令控制器完成,后两步则由运算器完成。 所有指令顺序执行 先是指令控制器工作,完成第一条指令的前三步,然后运算器工作,完成后两步; 当指令控制器工作运算器基本上在休息,而当运算器工作时指令控制器却在休息,造成了资源浪费; 解决方法:当指令控制器完成了第一条指令的前三步后,直接开始第二条指令的操作,运算单元也是。 指令流水线 ( Pipeline ) 一种将每条指令分解为多步,并让不同指令的各步操作重叠,从而实现几条指令并行处理 在CPU中把一条指令分解成多个可单独处理的操作,使每个操作在一个专门部件上执行 一条指令需要顺序地经过各部件的处理才能完成 前后相连的几条指令可以依次流入流水线中,在多个站间重叠执行,因此可以实现指令的并行处理 IF = 取指令 ID = 指令译码 EX = 执行 MEM = 存储器访问 WB = 写寄存器 现代CPU都由时钟控制,内部由逻辑和存储器件构成(触发器); 当新的时钟信号到来时,触发器就会更换其输出值,同时逻辑器件会需要一段时间去分析得到下一个值; 直到下一个时钟信号的到来,触发器再次更新。 8086/8088 CPU的功能结构 具有 16 位的内部数据总线和 16 位的外部数据总线,主频为4.43 MHz,集成的晶体管数大约为2.9万个 ; 8088 CPU的内部数据总线16 位,但外部数据总线却只有 8 位,因而称为准 16 位机; 均具有 20 位地址总线,可寻址 1 MB的内存地址空间和 64 KB的I/O地址空间; 8086/8088 CPU的功能结构 指令流队列 指令流队列:内部的存储器阵列,规则先进先出; 8086/8088 的指令流队列能保存 6 个/ 4 个指令字节; 工作条件:1.只要队列出现 2 个/ 1 个空字节;2. EU未要求BIU进入存取操作数的总线周期; 总线周期:CPU通过外部总线对存储器或者I/O接口进行一次访问所需时间。 逻辑地址和物理地址 逻辑地址(Logical Address) 在微处理器内部、程序员编程时采用的地址 某个存储单元可以有多个逻辑地址 逻辑地址=段基地址∶偏移地址 段基地址=逻辑段在主存中的起始地址 偏移地址=距离段基地址的位移量 物理地址(Physical Address) 地址总线上输出的地址,用于外部硬件连接 每个存储单元只有一个唯一的物理地址 逻辑段及其类型 逻辑段(Segment):安排相关代码或数据的一个主存区域,三类逻辑段: 代码段(Code Segment):存放指令代码 程序的指令代码必须安排在代码段 数据段(Data Segment):存放数据 程序的数据默认存放在数据段,也可放在其他段 堆栈段(Stack Segment):堆栈区域 程序使用的堆栈一定在堆栈段 分段管理 段寄存器 16位段寄存器:指示逻辑段在主存的起始位置 16位80x86微处理器具有 代码段寄存器CS:包含当前代码段的起始位置 堆栈段寄存器SS:包含当前堆栈段的起始位置 数据段寄存器DS:包含当前数据段的起始位置 附加段寄存器ES:包含当前附加段的起始位置 IA-32微处理器增加 段寄存器FS和GS:属于数据段性质的段寄存器 逻辑段的逻辑地址 代码段 处理器利用CS∶IP取得下一条要执行的指令 CS=代码段的段地址 IP=指令的偏移地址 堆栈段 处理器利用SS∶SP操作堆栈中的数据 SS=堆栈段的段地址 SP=栈顶的偏移地址 数据段 默认通过DS∶EA,也可通过ES/FS/GS或SS/CS∶EA读取数据 DS/ES/FS/GS或SS/CS=数据所在逻辑段的段地址 EA=数据所在逻辑段的偏移地址(有效地址) 物理地址的形成 段的起始地址(段首址)规定为:最低 4 位为 0,高 16 位为段寄存器内容(称为段基址); 每个段的字节数视需要而定,最多为 64 KB; 段内存储单元的地址可以用相对于段首址的 16 位偏移量来表示,这个偏移地址称为当前段内的偏移地址。 例: C018:FE7F表示段地址为C018H, 偏移地址为FE7FH。 解:逻辑地址为C018:FE7F,
文档评论(0)