微机课件第二章ch_第1页
微机课件第二章ch_第2页
微机课件第二章ch_第3页
微机课件第二章ch_第4页
微机课件第二章ch_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章微处理器及其架构教师:余有灵 博士要点u第一节 微处理器内部架构u第二节 实模式存储器寻址u第三节 微型计算机结构2022-3-11第2页2022-3-11第3页中央处理单元u中央处理单元(CPU) 是PC系统的基本部件u(无CPU 无 计算机)u基本上,一片复杂的微处理器的主要任务是按照存储在外部存储器(RAM)中的指令来处理同样存储在RAM中的数据. uCPU内部一般也包含一些专门的快速存储单元,称为寄存器2022-3-11第4页CPU部件u基本部件基本部件u寄存器及标志位寄存器及标志位u算术逻辑单元算术逻辑单元u移位器移位器/ /循环移位器循环移位器u地址译码模块地址译码模块u高级

2、部件高级部件u数学协处理器数学协处理器u数据及程序管道数据及程序管道u缓存缓存u微指令解码器微指令解码器. .u多媒体扩展处理器多媒体扩展处理器 (MMX) (MMX)u等等等等. .2022-3-11第5页寄存器u正如 “擦写板”,在CPU内部,程序员/用户使用寄存器来执行计算或完成其他任务.u所有8086系列的CPU有14个16位的常用寄存器.u从80386开始,Intel给CPU添加了一组新的32位寄存器和指令.2022-3-11第6页实模式存储器寻址u任何80 x86系列的CPU在实模式工作模式下与8086兼容u在实模式中,用户只允许访问14个基本的16位寄存器,1Mb的RAM以及64

3、Kb的I/O空间 2022-3-11第7页1MB RAMu实模式中,8086系列CPU总共能够访问1MB的RAMu从某种概念上而言。这1MB的RAM可以认为是一个从00000H到FFFFFH的连续块.u实际上,这个连续块被分为多个64KB的子块,例如从0000H到FFFFH的块.u这主要是为了与Intel早期的8085处理器保持兼容.u8085只有可以访问64KB内存的16条地址线(216 = 64K)2022-3-11第8页通用寄存器2022-3-11第9页通用寄存器u通用寄存器 u用于算术运算、临时数据存储、数据传送等等uEAX: 累加器寄存器u可作为EAX独立使用,也可拆为AX、AL或A

4、H使用u最常用的寄存器u在字符串指令中(STOSB、STOSW等)用来保持传送的数据u在I/O指令中(IN, OUT) 用来保持传送的数据u在乘法(MUL) 和除法(DIV)中保存操作前的数据以及操作后的结果u在字符串指令和BIOS中当以文本方式向屏幕写操作时用于保持ASCII码以及属性值2022-3-11第10页通用寄存器u通用寄存器 uEBX: 基址寄存器u在一些寻址模式指令中保存一块需要操作的数据块的基址.u也可以用作通用寄存器uECX: 计数寄存器u在REP和LOOP这类指令中用作计数器,例如:如果CX=10那么LOOP指令循环10次减少CX直到CX减为零,停止循环u也在移位(SHR,

5、 SHL)和循环移位(ROR, ROL) 指令中指示移位和循环移位的位数2022-3-11第11页通用寄存器u通用寄存器 uEDX: 数据寄存器u在I/O指令 (IN, OUT) 中保存正被访问的端口的地址u在乘法(MUL)和除法(DIV)指令中保存32位数据运算结果-u也在BIOS中用于设置光标位置2022-3-11第12页通用寄存器uESP: 堆栈指针寄存器u由堆栈使用,调用及返回指令.uEBP: 基指针寄存器u为存储器数据传送保存基指针.uEDI: 目的变址寄存器u为串指令保存基目的指针.uESI: 源变址寄存器u为串指令保存基源指针.2022-3-11第13页通用寄存器uEIP: 指令

6、指针寄存器u指向RAM中将要被执行的下一条指令u如果0100处有一个2字节的指令正被执行,那么EIP/IP = 0102uIP范围为0000(010)至FFFF(6553510)u这意味着只用IP寄存器的话,CPU至多能访问64K字节的指令u总是和CS寄存器结合使用来产生一个物理地址2022-3-11第14页通用寄存器uEIP: 指令指针寄存器u特定的程序指令可以修改EIP/IP以使不同区域的代码得以执行uJump指令通过修改EIP/IP指向一条新的指令来跳转至下一条指令uCall指令也通过修改EIP/IP来指示开始执行一个新的区域,但当前IP的值得以保存,允许仍旧返回当前下一条指令u中断会修

7、改这个寄存器,把它设置为指向相关ISR代码的区域2022-3-11第15页专用寄存器uEFLAGS:标志位寄存器u存储位处理器中不同条件的状态.u最右边的五个标志位以及溢出位在许多算术和逻辑运算指令执行之后发生改变. 数据传送和程序控制指令不会修改这些标志位.2022-3-11第16页标志位uC (进位):u保存加法以后的进位和减法以后的借位.u也可以指示错误条件.uP (奇偶校验):u奇数位为逻辑0,偶数位为逻辑1.u80 x86过时的特征.uA (辅助进位):u在BCD加法或减法之后由DAA和DAS使用的非常特殊的标志位.2022-3-11第17页标志位uZ (零标志位):u如果算术或逻辑

8、运算结果是0,该标志位为1.uS (符号):u如果算术或逻辑指令的结果的符号是负,该标志位为1.uT (陷阱):u陷阱使能. 微处理器根据调试寄存器和控制寄存器的指示中断程序流.2022-3-11第18页标志位uI (中断):u控制INTR (中断请求)引脚的操作. 如果为1,使能中断. 通过STI和CLI指令设置.uD (方向):u在串指令操作期间,为DI和/或SI寄存器设置递增方式或递减方式. D=1,寄存器内容自动递减. 由STD和CLD指令设置.uO (溢出):u为加法或减法指令设置.2022-3-11第19页标志位u80286及以上:uIOPL (I/O优先级):u保存所运行代码的特

9、权等级(在执行任何I/O相关的指令时). 00级是最高特权级.uNT (任务嵌套):u在保护模式下,当一个系统任务通过一个CALL指令调用另外一个任务时,该位置1.2022-3-11第20页标志位u80386及以上:uRF (恢复):u用于调试.uVM (虚拟模式):u为0时,CPU可以在保护模式、虚拟8086模式或实模式下操作.u为1时,CPU被转化为一个高速的8086.2022-3-11第21页标志位u80486SX 及以上:uAC (对齐检查):u80486SX专用指令.uPentium 及以上:uVIF (虚拟中断):u复制中断标志位.uVIP (虚拟中断挂起):u提供虚拟模式中断的信

10、息.uID (标识):u支持CPUID指令,该指令提供微处理器的版本号和制造商的信息.2022-3-11第22页段寄存器uCS (代码段):u实模式中,定义一个64KB存储器段的起始地址.u保护模式下,选择一个描述符.u8086-80286的代码段被限制在64KB,而386及以上的限制在4GB.uDS (数据段):u与代码段类似,只不过此段保存数据.uES (附加段):u为某些串指令存放目的数据.uSS (堆栈段):u和代码段类似,只不过此段保存堆栈数据.uESP和EBP保存这个段的偏移量.uFS and GS: 80386及以上.u允许定义两个附加的段寄存器.2022-3-11第23页202

11、2-3-11第24页实模式存储器寻址u8086的IP只有16位长,在实模式下u可寻址RAM空间是220 = 1M = 216+4uRAM中实际物理地址计算方式为 (SEGMENT * 16) + OFFSET,即段加偏移: u例:CS=07A0H,IP=0100H,则那么物理地址为 07A00H H=07B00Hu注意u不同的段指针组合能指向相同的物理地址u例如:07B00H=07A0H:0100H或07B0H:0000H2022-3-11第25页实模式存储器寻址u8086和8088仅有的模式.u只允许处理器寻址存储器开始的1MB.uDOS需要实模式.u段和偏移:u有效地址=段地址+偏移量.2

12、022-3-11第26页实模式存储器寻址u段和偏移:u句法通常为:段地址:偏移,例如前面例子中的1000H:F000H指示 1F000H.u默认段和偏移寄存器u段寄存器和偏移的隐含组合已为内存参考定义好.u例如,代码段(CS)总是和指令指针一起使用(实模式下是IP,保护模式下是EIP).uCS:EIPuSS:ESP, SS:EBPuDS:EAX, DS:EBX, DS:ECX, DS:EDX, DS:EDI, DS:ESI, DS:8位数, DS:32位数uES:EDIuFS和GS没有默认值.u80386在实模式下工作时,将一个大于FFFFH的偏移放在32位的寄存器中是非法的.2022-3-1

13、1第27页计算有效地址uEA = 段地址x10H再加上偏移u(a) 10023H = 10000H + 0023Hu(b) AB034H = AAF00H + 0134Hu(c) 21FF0H = 12000H + FFF0H u 上例(a)中段寄存器中包含1000H,例(b)中段寄存器包含AAF0H,例(c)中段寄存器中包含1200H. 实模式存储器寻址u段和偏移:u段可互相重叠,如右图的CS和DS.u段寻址允许数据和代码的重定位.u操作系统可以在运行时分配段地址2022-3-11第29页2022-3-11第30页默认状态u默认情况下u代码段中存放的是程序的16位地址,堆栈段存放的是堆栈数据

14、,而程序中其他大部分在数据段中.u16位寻址使用BX、SI、DI、BP中的偏移地址或使用一个偏移数值作为偏移地址u代码段中的程序由IP/EIP寻址u堆栈段中的堆栈数据由SP/ESP寻址重定位u段和偏移寻址允许代码和数据简单而有效的重定位.u重定位代码段或数据段只需要修改段的值. 例如一条指令出现在偏移地址0002处,改变段地址并不影响,因为指令的有效地址会随着它的变化而变化.2022-3-11第33页架构u内存与IO系统2022-3-11第34页微处理器内存I/O系统BUSBUS动态 RAM (DRAM)静态 RAM (SRAM)高速缓存只读存储器 (ROM)闪速存储器EEPROMSDRAMR

15、AMBUSDDR RAM8086808880186802868038680486PentiumPentium ProPentium IIPentium IIIPentium 4打印机串行通信设备软盘驱动器硬盘驱动器鼠标CD-ROM驱动器绘图仪键盘显示器磁带备份扫描仪DVDPC的存储器映像2022-3-11第35页扩展内存扩展内存TPA640KB系统区系统区384KB80286或80386SX中是15MB80386SL/SLC中是31MB80386EX中是63MB80386DX,、80486 以及Pentium中是4095MBPentium Pro、Pentium II、 Pentium III

16、和Pentium4中是4GB1MB 实(常规)内存总线架构2022-3-11第36页总线架构u地址总线地址总线: :u如果寻址如果寻址I/OI/O,地址总线包含,地址总线包含0000H0000H至至FFFFHFFFFH的的I/OI/O地址地址. .u如果寻址存储器,总线的宽度依赖于微处理器的架构:如果寻址存储器,总线的宽度依赖于微处理器的架构:u2020位位 (8086/8088) (8086/8088)u2424位位(80286/80386SX)(80286/80386SX)u2525位位 (80386SL/SLC/EX) (80386SL/SLC/EX)u3232位位 (80386DX/8

17、0486/Pentium) (80386DX/80486/Pentium)u3636位位(Pentium Pro/II/III)(Pentium Pro/II/III)u数据总线数据总线: :u8 8位位 (8088) (8088)u1616位位 (8086/80286/80386SX/SL/SLC/EX) (8086/80286/80386SX/SL/SLC/EX)u3232位位(80386DX/80486/Pentium)(80386DX/80486/Pentium)u6464位位(Pentium/Pro/II/III)(Pentium/Pro/II/III)u控制总线控制总线: :u大多数计算机系统至少有大多数计算机系统至少有4 4条控制总线连接条控制总线连接 ( (低电平有效低电平有效).).uMRDC (MRDC (存储器读控制存储器读控制), MW

温馨提示

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

评论

0/150

提交评论