




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 微处理器结构2.1 微处理器的发展历史2.1.1 微处理器的发展由于集成电路工艺和计算机技术的发展,20世纪60年代末和70年代初,袖珍计算机得到了普遍的应用。为了研制灵活的计算机芯片,1971年10月,美国Intel公司首先推出Intel 4004微处理器。这是实现4位并行运算的单片处理器,构成运算器和控制器的所有元件都集成在一片大规模集成电路芯片上,是第一片微处理器。从1971年第一片微处理器推出至今30多年的时间里,微处理器经历了四代的发展。第一代,1971年开始,是4位微处理器和低档8位微处理器的时期。典型产品有:1971年10月,Intel 4004(4位微处理器);1972年3月,Intel 8008(8位微处理器),集成度为2000管/片,采用PMOS工艺,10 m光刻技术。第二代,1973年开始,是8位微处理器的时期。典型产品有:1973年,Intel 8080(8位微处理器);1974年3月,Motorola的MC6800;19751976年,Zilog公司的Z80;1976年,Intel 8085。其中Intel 8080的集成度为5400管/片,采用NMOS工艺,6 m光刻技术。第三代,1978年开始,是16位微处理器的时期。典型产品有:1978年,Intel 8086;1979年,Zilog公司的Z8000;1979年,Motorola的MC68000,集成度为68 000管/片,采用HMOS工艺,3 m光刻技术。第四代,1981年开始,是32位微处理器的时期。典型产品有:1983年,Zilog公司的Z80000;1984年,Motorola的MC68020,集成度为17万管/片,采用CHMOS工艺,2 m光刻技术;1985年,Intel 80386,集成度为27.5万管/片,采用CHMOS工艺,1.2 m光刻技术。自Intel 80386芯片推出以来,又出现了许多高性能的32位及64位微处理器,如Motorola的MC68030 、MC68040,AMD公司的K6-2、K6-3、K7以及Intel的80486、Pentium、Pentium、Pentium、Pentium 4等。2.1.2 Intel 8086微处理器8086微处理器是美国Intel公司1978年推出的一种高性能的16位微处理器,它采用硅栅HMOS工艺制造,在1.45 cm2单个硅片上集成了29 000个晶体管。它一问世就显示出了强大的生命力,以它为核心组成的微机系统,其性能已达到中、高档小型计算机的水平。它具有丰富的指令系统,采用多级中断技术、多重寻址方式、多重数据处理形式、段式存储器结构和硬件乘除法运算电路,增加了预取指令的队列寄存器等,使其性能大为增强。与其他几种16位微处理器相比,8086的内部结构规模较小,仍采用40引脚的双列直插式封装。8086的一个突出特点是多重处理能力,用8086 CPU与8087协处理器以及8089I/O处理器组成的多处理器系统,可大大提高其数据处理和输入/输出能力。另外,与8086配套的各种外围接口芯片非常丰富,方便用户开发各种系统。2.2 微处理器的功能结构2.2.1 微处理器的典型结构一个典型的也是原始意义上的微处理器的结构如图2.1所示。由图可见,微处理器主要由三部分组成,它们是:(1) 运算器:包括算术逻辑单元(ALU),用来对数据进行算术和逻辑运算,运算结果的一些特征由标志寄存器储存。(2) 控制器:包括指令寄存器、指令译码器以及定时与控制电路。根据指令译码的结果,以一定时序发出相应的控制信号,用来控制指令的执行。(3) 寄存器阵列:包括一组通用寄存器和专用寄存器。通用寄存器用来临时存放参与运算的数据,专用寄存器通常有指令指针IP(或程序计数器PC)和堆栈指针SP等。在微处理器内部,这三部分之间的信息交换是采用总线结构来实现的,总线是各组件之间信息传输的公共通路,这里的总线称为“内部总线”(或称“片内总线”),用户无法直接控制内部总线的工作,因此内部总线是透明的。2.2.2 Intel 8086微处理器功能结构1. 8086 CPU的内部结构1) 总线接口单元(BIU)BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。它提供了16位双向数据总线、20位地址总线和若干条控制总线,其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。CPU执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O端口中。8086 CPU内部结构示意图(1) 地址加法器和段寄存器。8086 CPU的20位地址线可直接寻址1 MB存储器物理空间,但CPU内部寄存器均为16位的寄存器。那么,16位的寄存器如何实现20位地址寻址呢?它是由专门地址加法器将有关段寄存器内容(段的起始地址)左移4位后,与16位偏移地址相加,形成了20位的物理地址,以对存储单元寻址。例如,在取指令时,由16位指令指针(IP)提供一个偏移地址(逻辑地址),在地址加法器中与代码段寄存器(CS)内容相加,形成实际的20位物理地址,送到总线上实现取指令的寻址。(2) 16位指令指针IP(Instruction Pointer)。指令指针IP用来存放下一条要执行指令在代码段中的偏移地址,它只有和CS相结合,才能形成指向指令存放单元的物理地址。在程序运行中,IP的内容由BIU自动修改,使它总是指向下一条要取的指令在现行代码段中的偏移地址。程序没有直接访问IP的指令,但通过某些指令可以修改它的内容。例如,转移指令可将转移目标的偏移地址送入IP,来实现程序的转移。(3) 指令队列缓冲器。当EU正在执行指令,且不需占用总线时,BIU会自动地进行预取指令操作,将所取得的指令按先后次序存入一个6字节的指令队列寄存器,该队列寄存器按“先进先出”的方式工作,并按顺序取到EU中执行。其操作遵循下列原则: 每当指令队列缓冲器中存满一条指令后,EU就立即开始执行。 每当BIU发现队列中空了两个字节时,就会自动地寻找空闲的总线周期进行预取指令操作,直到填满为止。 每当EU执行一条转移、调用或返回指令后,则要清除指令队列缓冲器,并要求BIU从新的地址开始取指令,新取的第一条指令将直接经指令队列缓冲器送到EU去执行,并在新地址基础上再作预取指令操作,实现程序段的转移。由于BIU和EU是各自独立工作的,在EU执行指令的同时,BIU可预取下面一条或几条指令。因此,在一般情况下,CPU执行完一条指令后,就可立即执行存放在指令队列中的下一条指令,而不需要像以往的8位CPU那样,采取先取指令,后执行指令的串行操作方式。(4) 总线控制逻辑电路。总线控制逻辑电路将8086 CPU的内部总线和外部总线相连,是8086 CPU与内存单元或I/O端口进行数据交换的必经之路。它包括16位数据总线、20位地址总线和若干条控制总线,CPU通过这些总线与外部取得联系,从而构成各种规模的8086微型计算机系统。2) 执行单元EU执行单元中包含一个16位的运算器ALU、八个16位的寄存器、一个16位标志寄存器FLAGS、一个数据暂存寄存器和执行单元的控制电路,也就是说它已经包含了微处理机的三个基本部件。这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。(1) 算术逻辑运算单元(ALU)。它是一个16位的运算器,可用于8位、16位二进制算术和逻辑运算,也可按指令的寻址方式计算寻址存储器所需的16位偏移量。(2) 标志寄存器(FLAGS)。它是1个16位的寄存器,用来反映CPU运算的状态特征和存放某些控制标志。(3) 运算暂存器。它协助ALU完成运算,暂存参加运算的数据。(4) 通用寄存器组。它包括四个16位的数据寄存器AX、BX、CX、DX和4个16位指针与变址寄存器SP、BP与SI、DI。(5) EU控制电路。它负责从BIU的指令队列缓冲器中取指令,并对指令译码,根据指令要求向EU内部各部件发出控制命令,以完成各条指令规定的功能。2. 8086 CPU的内部寄存器1) 通用寄存器通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。当用作16位时,称为AX、BX、CX、DX。当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址。这样,4个16位寄存器就可当作8个8位寄存器来使用。2) 段寄存器8086 CPU有20位地址总线,它可寻址的存储空间为1MB。而8086指令给出的地址编码只有16位,指令指针和变址寄存器也都是16位的,所以CPU不能直接寻址1 MB空间。为此采用分段管理,即8086用一组段寄存器将这1 MB存储空间分成若干个逻辑段,每个逻辑段长度小于等于64 KB,用4个16位的段寄存器分别存放各个段的起始地址(又称段基址),8086的指令能直接访问这4个段寄存器。不管是指令还是数据的寻址,都只能在划定的64 KB范围内进行。寻址时还必须给出一个相对于分段寄存器值所指定的起始地址的偏移值(也称为有效地址),以确定段内的具体地址。对物理地址的计算是在BIU中进行的,它先将段地址左移4位,然后与16位的偏移值相加。段寄存器共有4个CS、DS、SS、ES。代码段寄存器CS表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供;堆栈段寄存器SS指定当前堆栈的起始地址;数据段寄存器DS指示当前程序使用的数据所存放段的起始地址;附加段寄存器ES则指出当前程序使用附加段地址的起始位置,该段一般用来存放原始数据或运算结果。3) 指针与变址寄存器参与地址运算的主要是指针与变址寄存器组中的4个寄存器,指针与变址寄存器都是16位寄存器,一般用来存放地址的偏移量(即相对于段起始地址的距离)。在BIU的地址器中,与左移4位后的段寄存器内容相加产生20位的物理地址。堆栈指针SP用以指出在堆栈段中当前栈顶的地址。入栈(PUSH)和出栈(POP)指令由SP给出栈顶的偏移地址。基址指针BP指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。变址寄存器SI和DI用来存放当前数据段中某个单元的偏移量。4) 指令指针与标志寄存器指令指针IP的功能跟Z80 CPU中的程序计数器PC的功能类似。正常运行时,IP中存放的是BIU要取的下一条指令的偏移地址。它具有自动加1功能,每当执行一次取指令操作时,它将自动加1,使它指向要取的下一内存单元,每取一个字节后IP内容加1,而取一个字后IP内容则加2。某些指令可使IP值改变,某些指令还可使IP值压入堆栈或从堆栈中弹出。标志寄存器FLAGS是16位的寄存器,8086共使用了9个有效位。其中的6位是状态标志位,3位为控制标志位。状态标志位是当一些指令执行后,表征所产生数据的一些特征。而控制标志位则可以由程序写入,以达到控制处理机状态或程序执行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒楼行政总厨聘用协议5篇
- 商场复工复产安全培训课件
- 国家事业单位招聘2025中国人民大学书院建设与管理中心招聘1人笔试历年参考题库附带答案详解
- 南部县2025上半年四川南充市南部县事业单位考调10人笔试历年参考题库附带答案详解
- 北海市2025广西互联网舆情中心招(实名编制)8人(截止5月27日)笔试历年参考题库附带答案详解
- 包河区2025年合肥包河区事业单位招聘劳务派遣人员29名笔试历年参考题库附带答案详解
- 云南省2025云南省教育后勤协会招聘1人笔试历年参考题库附带答案详解
- 上海市2025上海申康医疗卫生建设工程公共服务中心工作人员招聘1人笔试历年参考题库附带答案详解
- 2025重庆紫光国际化工有限责任公司招聘16人笔试参考题库附带答案详解
- 2025贵州茅台酒股份有限公司招聘158人笔试参考题库附带答案详解
- 灭火器维修与报废规程
- 脑干神经解剖定位
- 土木工程生产实习日记50篇
- GB/T 5993-2003电子设备用固定电容器第4部分:分规范固体和非固体电解质铝电容器
- FZ/T 52059-2021抗菌粘胶短纤维
- 医学课件-护理评估课件
- 幼儿园大班安全教育:《暴力玩具不能玩》 课件
- 26个英文字母大小写描红
- 养老院预算及成本管理制度
- 研学旅行基地评估认定评分表
- DL∕T 1867-2018 电力需求响应信息交换规范
评论
0/150
提交评论