微原11秋04ch23 堆栈和寄存器_第1页
微原11秋04ch23 堆栈和寄存器_第2页
微原11秋04ch23 堆栈和寄存器_第3页
微原11秋04ch23 堆栈和寄存器_第4页
微原11秋04ch23 堆栈和寄存器_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 QQ:25016434 2011秋 微机原理及接口技术Autumn 2011 Ch2-4 堆栈和寄存器 Stack and Register2022/8/141复习内容第2章 8086CPU结构与功能微处理器的外部结构微处理器的内部结构微处理器的功能结构微处理器的寄存器组织微处理器的存储器和I/O组成微处理器(CPU);CPU的内部和外部结构;微处理器级总线的概念;CPU的功能结构; 8086寄存器结构;存储器组织与分段、I/O端口地址空间;第2章 8086CPU结构与功能本 章 重 点 难 点本讲重点堆栈的原理及用途临时快速保存程序环境原理:LIFO后进的先出-不同于存储器,无需地址,只需

2、要一个指针物理地址向上增长和向下增长用于函数调用、中断调用、任务切换等寄存器 一般用途和特殊用途Design hazard-free and race-free level-sensitive circuit elements 设计出无竞争和险象的电路Design digital systems that are reconfigurable for testing 设计出可重配可测试的数字系统Write correct synthesisable VHDL models 编写出可综合的VHDL模块内部结构 微处理器的总线结构。外部结构 微处理器的一般结构2.1 微处理器的外部结构8086 C

3、PU片有40个管脚,微处理器通过这些引脚与外部的逻辑部件连接,完成信息的交换。CPU的这些引脚信号称为微处理器级的总线,它应该能够完成下列功能:与存储器之间交换信息(指令及数据);与I/O设备之间交换信息;能输入和输出必要的信号。 微处理器的外部结构如图2.1所示按功能分,这些总线可以分为三种: (1)传送信息(指令或数据)的数据总线 (Data Bus) (2)指示欲传信息的来源或目的地址的地址总线 (Address Bus) (3)管理总线上活动的控制总线 (Control Bus)2.1 微处理器的外部结构 CPU通过地址总线输出地址码来选择某一存储单元或某一称为I/O端口的寄存器,是单

4、向的。 地址码的位数决定了地址空间的大小。n位地址总线可有 个地址(0 -1)。16位地址总线 65536(64KB)20位地址总线 1MB32位地址总线 4GB.地址总线:2.1 微处理器的外部结构8086/8088地址总线 20位存储器地址总线20位, 地址空间 1MBI/O地址总线16位(低16位) 地址空间 64KB2.1 微处理器的外部结构.数据总线: 用于CPU和存储器或I/O接口之间传送数据,是双向的。 微处理器数据总线的条数决定CPU和存储器或I/O设备一次能交换数据的位数,是区分微处理器是多少位的依据。 8086 CPU的数据总线是16条,我们就说8086 CPU是16位微处

5、理器。2.1 微处理器的外部结构.控制总线: 管理总线上的活动,用来传送自CPU发出的控制信息或外设送到CPU的状态信息,大部分是单向的,有有一些是双向的。2.1 微处理器的外部结构2.2 微处理器的内部结构 微处理器是组成计算机系统的核心部件,它具有运算和控制的功能。具体地讲,CPU 应具有下述基本功能:进行算术和逻辑运算; 具有接收存储器和I/O接口来的数据和发送数据给存储器和I/O接口的能力;可以暂存少量数据;能对指令进行寄存、译码并执行指令所规定的操作;能提供整个系统所需的定时和控制信号;可响应I/O设备发出的中断请求。2.2 微处理器的内部结构1.CPU内部结构及各部分功能简介 典型

6、的 CPU 内部结构如图3.1.1所示。 2.2 微处理器的内部结构I/O控制逻辑ALU控制器工作寄存器CPU程序计数器(PC)指令寄存器(IR)指令译码器(ID)控 制 逻 辑 部 件堆栈指示器(SP)状态寄存器(PSW)地址寄存器数据寄存器图2.2典型的CPU内部结构如图2.2所示 CPU包括算术/逻辑运算单元(ALU)控制器工作寄存器组I/O 控制逻辑地址寄存器数据寄存器2.2 微处理器的内部结构 算术逻辑运算单元ALU (Arithmetic/Logic Unit ):它是运算器的核心,几乎所有的算术运算,逻辑运算和移位操作都是由 ALU 完成的。2.2 微处理器的内部结构 工作寄存器

7、:暂存用于寻址和计算过程的信息。工作寄存器分为两组:数据寄存器组和地址寄存器。但有的寄存器兼有双重用途。数据寄存器用来暂存操作数和中间运算结果。地址寄存器用于操作数的寻址。2.2 微处理器的内部结构 控制器:它是CPU的“指挥中心”,完成指令的读入,寄存,译码和执行。从图(3.1.1)中可以看出,一般微处理器中的控制器由6部分组成:程序计数器(PC:Program Counter )指令寄存器(IR:Instruction Register)指令译码器(ID:Instruction Decoder )控制逻辑部件 处理机状态字PSW(Processor State Word )堆栈指示器(SP

8、) Stack Pointer 2.2 微处理器的内部结构 用于保存下一条要执行的指令的地址,即由它提供一个存储器地址,按此地址从对应存储器单元取出的内容,就是要执行的指令。一般指令是顺序存放在存储器内的,所以程序计数器也叫指令地址计数器。由此可见,在程序执行过程中要实现程序的转移,就要改变程序计数器 PC 的内容。程序计数器(PC)2.2 微处理器的内部结构 保存从存储器中读入的当前要执行的指令。指令寄存器(IR)指令译码器(ID) 对指令寄存器中保存的指令进行译码分析。控制逻辑部件 根据ID对指令的译码分析,发出相应的一系列的节拍脉冲和电位(控制信号),去完成指令的所有操作。2.2 微处理

9、器的内部结构处理器状态字(PSW) 暂存处理器当前的状态。PSW中的各位用来指示诸如算术运算结果的正/负,是否为零,是否有进位或借位,是否溢出等标志。条件转移指令将根据 PSW 中的某一位的状态决定程序是否转移。堆栈指示器(SP) 是在对按后进先出原则组织的称为堆栈的专用存储区进行操作时提供地址的。堆栈用于子程序调用时保存返回地址和工作寄存器的内容。2.2 微处理器的内部结构 包括 CPU 中与输入/输出操作有关的逻辑。其作用是处理输入/输出操作。 I/O控制逻辑2.2 微处理器的内部结构 8086/8088是Intel公司生产的第三代微处理器芯片。其特点如下: 具有20条地址线,直接寻址能力

10、达1MB。8086有16条数据线,为16位微处理器。8088有8条数据线,为准16位微处理器。片内总线和ALU均为16位,可进行8位和16位操作。 2.3 微处理器的功能结构8086/8088均采用全新结构,片内均由两个独立的逻辑单元组成: 8086/8088CPU内部结构如图2.3所示 执行单元(EU)总线接口单元(BIU)2.3 微处理器的功能结构总线控制电路EU控制器标 志暂存器通用寄存器ALU数据总线地址总线数据总线执行单元(EU)总线接口单元(BIU)(16位)(20位)(8 位)(16位)16位ALUS SD SE SI PC S内部寄存器B HB LA HA LD HD LS P

11、B PC LC HD IS I8086总线物理地址形成逻辑213645AXBXDXCX段寄存器(CS,DS,ES,SS)一.总线接口单元(BIU) 总线控制逻辑 地址形成逻辑8088CPU:4字节8086CPU:6字节指令队列寄存器: 指令指针寄存器(IP)(先进先出)2.3 微处理器的功能结构 BIU主要负责从存贮器指定区域取出指令并将取出的指令送指令队列寄存器中排队,当EU执行的指令需要和外部存贮器或者I/O端口之间进行数据传送时,BIU就停止取指令,为EU服务,完成这次总线操作;或者当指令队列满时,BIU也停止取指令的操作。2.3 微处理器的功能结构二.执行单元(EU)通用寄存器(8个)

12、 EU控制器算术/逻辑运算单元(ALU) 标志寄存器(FLAG)(即PSW)由组成。 EU主要负责从指令队列寄存器中获取指令,并对指令加以执行,完成指令所规定的操作。同时也负责算术/逻辑运算以及进行内存有效地址的计算等。 2.3 微处理器的功能结构CPU程序执行过程:t 忙 忙 忙 忙 忙取指令1 取指令2 取指令3 取指令4 取指令5 执行1 执行2 执行3 执行4 执行5tt图2.4 8086/8088CPU执行程序的过程2.3 微处理器的功能结构下一节:寄存器组织 2.3 微处理器的功能结构EU和BIU单元执行过程中,应该满足规则:当指令队列寄存器中无指令时,EU处于等待状态;当指令队列

13、中存满指令,而EU又没有访问存储器和I/O端口的需要,则BIU进入空闲状态;当指令队列中有两个空闲字节,则BIU自动执行取指令的总线周期;在EU执行指令时,需要访问存储器或I/O端口,如果这时BIU正在取指令,则应等待BIU完成取指令周期,然后BIU进入存储器和I/O端口访问周期;在EU执行转移、子程序调用或返回等指令时,自动清除指令队列的内容。2.28086系统的储存器组织一、8086存储器结构 8086系统中的存储器是一个最多1M个8位数量的字节序列,即可寻址的存储空间为1M字节,系统为每个字节分配一个20位的物理地址(对应16进制的地址范围从00000HFFFFFH)。 00000H00

14、001H0000FHFFFFFH(一)、数据在内存的位置字节、字、双字及其地址(二)、8086CPU对字/字节的读操作16位读从偶地址读二、8086存储器的分体结构 8086系统中,存储器是分体结构,1M字节的存储空间分成两个512K字节的存储体。 一个是偶数地址存储体,一个是奇数地址存储体,两个存储体采用字节交叉编址方式 D0D7D8D1500000H00002H00004HFFFFEH00001H00003H00004HFFFFFH三、存储器的分段为什么分段8086存储器分4个段段基地址与段寄存器 偏移地址的产生逻辑地址、物理地址 段基地址和偏移地址组成了逻辑地址 格式为:段基地址:偏移地址 60002H00H12H60000H0 0 0 0段基地址(16位)段首地址 物理地址=段基地址16+偏移地址物理地址的形成 015段内偏移地址段寄存器19400000段地址左移4位20位物理地址1905 8086分段的好处1、解决了16位地址寄存器对20位物理地址的寻址问题2、实现了程序代码的浮动装配8086复位后程序运行的起始地址段寄存器使用约定四、堆栈段的使用 所谓堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据,其工作方式是“先进后出”或“后进先出”的方式。 8086系统中的堆栈段是由段定义语句

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论