- 1、本文档共161页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机的基本工作主要体现为执行指令。一台计算机所能执行的全部指令,称为该机的指令系统或指令集,具体内容包括指令格式、寻址方式、指令类型与功能。
相对微体系结构层,指令系统层是一个抽象的层次,它是硬件和软件之间的接口,其主要特征就是指令系统。
本章将以80x86为背景讨论指令系统层。
第4章 指令系统层
本章主要内容:
4.1 80x86 CPU
4.2 CPU的寄存器和主存储器
4.3 80x86指令系统。
4.1 80x86 CPU
型号
发布 年代
字长(位)
晶体管数(万个)
主频(MHz)
内部数据总线宽度(位)
外部数据总线宽度(位)
地址总线宽度(位)
寻址空间
片内高速缓存
8086
1978
16
2.9
4.77
16
16
20
1MB
无
8088
1979
16
2.9
4.77
16
8
20
1MB
无
80286
1982
16
13.4
6~20
16
16
24
16 MB
无
80386
1986
16
27.5
12.5~33
32
32
32
4GB
无
80486
1989
16
120~160
25~50
32
32
32
4GB
8KB
80x86 CPU概况如下表所示:
型号
发布 年代
字长(位)
晶体管数(万个)
主频(MHz)
内部数据总线宽度(位)
外部数据总线宽度(位)
地址总线宽度(位)
寻址空间
片内高速缓存
Pentium (586)
1993
32
310~330
60~166
64
64
32
4GB
8KB数据
8KB指令
Pentium Pro (P6)
1995
32
550+1550
160~200
64
64
36
64GB
8KB数据
8KB指令
256KB 二级高级缓存
Pentium
II
1997
32
750
233~333
64
64
36
64GB
32KB
512KB 二级高速缓存,有独立封装和独立总线
本节主要介绍8086/8088、80386/80486、Pentium、Pentium Pro和PentiumⅡ CPU的内部结构及特点。
4.1.1 8086/8088 CPU
8086 CPU是16位微处理器,即CPU的内外数据总线为16位,一个总线周期可以传送一个字(16位)数据。而8088是准16位微处理器,其CPU的内部总线为16位,外部数据总线为8位,因此一个总线周期只能传送一个字节。但是两者的内部结构基本上是相同的,其地址引脚均为20位,可寻址1MB主存空间。8086/8088的指令系统完全相同,在软件上是完全兼容的。
1.8086/8088 CPU内部结构
模型机CPU的指令之间的衔接采用串行的顺序处理方式,即必须在一条指令执行完后,才能从主存中读取下一条指令。在CPU执行指令时,系统总线与主存可能空闲,因此程序执行效率不高。 下图(a)给出了3条指令的执行过程:
8086/8088 CPU采用了指令流水线结构,将取指令(或取操作数)与执行指令的功能分别由两个独立部件实现,即总线接口部件BIU(Bus Interface Unit)与执行部件EU(Execute Unit)。因此,当EU执行某条指令时,BIU同时完成从主存中预取后继指令,两个部件并行地工作,使指令的读取与执行可以部分重叠,从而提高了指令的执行速度。8086/8088 CPU的指令执行过程如图(b)所示。
8086 CPU内部结构如下图所示:
下面讨论EU和BIU的功能:
(1)执行部件EU 包括一个16位算术逻辑运算部件ALU、一组通用寄存器、暂存器、标志寄存器,以及EU控制器。各寄存器和内部数据通路都是16位。EU的主要任务是执行指令,其功能为:
从指令队列中取出指令代码,由EU控制器进行译码后产生对应的控制信号到各部件以完成指令规定的操作。
对操作数进行算术和逻辑运算,并将运算结果的特征状态存放在标志寄存器中。
由于EU不直接与系统总线连接,因此当需要与主存储器或I/O端口传送数据时,EU向BIU发出命令,并提供给BIU 16位有效地址与传送的数据。
(2)总线接口部件BIU 包括一组段寄存器、指令指针、6字节的指令队列(8088是4字节)、20位总线地址形成部件,以及总线控制逻辑。BIU的主要任务是完成CPU与主存储器或I/O端口之间的信息传送,其功能为:
从主存取出指令送到指令队列中排队。
从主存或I/O端口取操作数或存放运算结果。
计算并形成访问主存的20位物理地址。
段基值:20位段起始地址的高16位,称为段
文档评论(0)