1、微机原理第二章课件微机原理第二章课件 第一代,1971年开始,是4位微处理器和低档8位微处理器的时期。典型产品有:1971年10月,Intel 4004(4位微处理器);1972年3月,Intel 8008(8位微处理器)第二代,1973年开始,是8位微处理器的时期。典型产品有:1973年,Intel 8080(8位微处理器);1974年3月,Motorola的MC6800;19751976年,Zilog公司的Z80;1976年,Intel 8085。第三代,1978年开始,是16位微处理器的时期。典型产品有:1978年,Intel 8086;1979年,Zilog公司的Z8000 第四代,1
2、981年开始,是32位微处理器的时期。典型产品有:1983年,Zilog公司的Z80000;1984年,Motorola的MC68020等 自Intel 80386芯片推出以来,又出现了许多高性能的32位及64位微处理器,如Intel的80486、Pentium、Pentium、Pentium、Pentium 4等。2.1.2 Intel 8086微处理器微处理器 8086微处理器是美国Intel公司1978年推出的一种高性能的16位微处理器,特点:采用硅栅HMOS工艺制造,在1.45 cm2单个硅片上集成了29 000个晶体管。丰富的指令系统,采用多级中断技术、多重寻址方式、多重数据处理形式
3、、段式存储器结构和硬件乘除法运算电路,增加了预取指令的队列寄存器等。8086的内部结构规模较小,仍采用40引脚的双列直插式封装。8086的一个突出特点:是多重处理能力,与8086配套的各种外围接口芯片非常丰富,方便用户开发各种系统。2.1.3 Intel 80386微处理器微处理器 1985年,Intel公司推出了第一个32位微处理器80386DX,它的数据总线和内存地址都是32位的,寻址空间可达4 GB。1988年,Intel公司推出了外部总线为16位的微处理器80386SX,1995年,Intel公司推出了80386EX,2.1.4 Intel 80486微处理器微处理器 80486是In
4、tel公司1989年推出的一种与80386完全兼容但功能更强的32位微处理器,它采用了一系列新技术来增强微处理功能。特点:采用RISC(精简指令系统计算机)技术来加快指令的执行速度;增强总线接口部件,加快CPU从主存中存取信息的速度;把浮点运算协处理器部件、高速缓存及其控制器部件集成到主处理器芯片内加快信息的传送与处理性能。在Intel 80486微处理器系列中,拥有不同档次的产品:(1)Intel 80486DX。(2)Intel 80486SX。(3)Intel 80486DX2。(4)Intel 80486DX4。2.1.5 Intel 奔腾奔腾(Pentium)微处理器微处理器 Pen
5、tium微处理器是Intel公司1993年推出的80 x86系列微处理器的第五代产品,其性能有较大幅度的提高,保持与8086、80286、80386、80486兼容。特点:Pentium微处理器芯片集成了16 KB的高速缓存和浮点协处理器,集成度高达310万个晶体管。芯片管脚增加到270多条,其中外部数据总线为64位,在一个总线周期内,数据传输量比80486增加了一倍;地址总线为36位,可寻址的物理地址空间可达64 GB。Pentium微处理器是第一个实现系统管理方式的高性能微处理器,它能很好地实现PC机系统的能耗与安全管理。2.1.6 Intel Pentium微处理器微处理器 Pentiu
6、m系列CPU是Intel公司在推出Pentium MMX系列后又一个新的系列产品,它是Pentium Pro的改进型。它的核心是Pentium Pro+MMX,它支持MMX技术,同时将L1 Cache 提高到32 KB,并采用了独立双重总线结构采用了新的Slot1插槽接口、SEC板卡封装,也使其他产品无法与其兼容。2.1.7 Intel Pentium微处理器微处理器 Pentium CPU是Intel公司1999年第一季度新产品,首批产品代号为“Katmai”,产品设计上仍保持了0.25 m、半速512 KB Cache和Slot1接口技术。进入2000年后,Intel发布了新一代代号为“W
7、illamette”的IA-32系列终极处理器特点:CPU采用0.18 m铜技术制造工艺,其L1 Cache为64 KB,L2 Cache从256512 KB不等,其主频可达1.5 GHz。Willamette的最大改进是使用了SSE2指令集。此外,还推出了以Coppermine为核心的FC-PGA封装的Socket370处理器。特点:采用100 MHz总线频率,使用了与Celeron Socket370结构类似的接口,但并不兼容Celeron Socket370接口,需接一个特殊的连接器转接后才能使用。2.1.8 Intel Pentium 4微处理器微处理器 Intel公司于2000年11
8、月20日正式推出Pentium 4微处理器。特点:Pentium 4的运行速度提升到3.0 GHz以上。Pentium 4采用0.18 m工艺的半导体制造技术,晶体管数为4200万个,是Pentium 的1.5倍。是针对互联网应用而设计的,其L1 Cache为8 KB,L2 Cache为256 KB,采用423针的新型PC-BGA封装。采用了被称为“Net Burst”的新结构。新增加了144条称为SSE2的指令集,使浮点运算的准确度提高了一倍。Pentium 4可以提供更好的视频、音频及三维图形功能。2.2 u 字长:字长:决定微处理器与外部存储器、输入决定微处理器与外部存储器、输入/输出部
9、输出部件之间一次交换的二进制数据位数,即件之间一次交换的二进制数据位数,即数据总线数据总线的宽度的宽度。如。如8、16、32、64位。位。u 指令数:指令数:8086的指令集为基本指令集,扩充指令的指令集为基本指令集,扩充指令u 运算速度:运算速度:寄存器加法指令的寄存器加法指令的 执行时间执行时间 主频主频:即微处理器:即微处理器时钟频率时钟频率。如。如Pentium4 2GHz 同系列的微处理器,主频越高,速度越快。同系列的微处理器,主频越高,速度越快。但主频相同的微处理器,速度不一定都相同,因结但主频相同的微处理器,速度不一定都相同,因结构有差异构有差异 外频外频:微处理器:微处理器外部
10、总线工作频率外部总线工作频率。如。如Pentium4 2GHz的外频为的外频为400MHzu 访存空间:访存空间:决定访存空间。如决定访存空间。如36位地址线访问位地址线访问236=64GB存储单元,存储单元,地址线宽度决定了访存空间地址线宽度决定了访存空间。u 高速度缓存高速度缓存(CACHE):L1/L2Write-through缓存,只对读有效缓存,只对读有效write-back缓存,对读写都有效缓存,对读写都有效u 多处理器系统(多处理器系统(多处理器系统是指包含两台或多台功能相近的处理器,处理器之间彼多处理器系统是指包含两台或多台功能相近的处理器,处理器之间彼此可以交换数据,所有处理
11、器共享内存,此可以交换数据,所有处理器共享内存,I/O设备,控制器,及外部设备,整个硬件系统由统一的设备,控制器,及外部设备,整个硬件系统由统一的操作系统控制,在处理器和程序之间实现作业、任务、程序、数组极其元素各级的全面并行操作系统控制,在处理器和程序之间实现作业、任务、程序、数组极其元素各级的全面并行)u 超标量结构超标量结构:一个时钟周期内执行一条以上的指令。:一个时钟周期内执行一条以上的指令。低标量结构:一条指令至少需要一个以上的时钟周期低标量结构:一条指令至少需要一个以上的时钟周期u 工作电压工作电压:微处理器正常工作所需要的电压,早期为:微处理器正常工作所需要的电压,早期为5V,后
12、来有后来有3.3V,2.8V,1.5V等。等。u 制造工艺制造工艺:晶体管之间的最小线距,:晶体管之间的最小线距,0.35 m,0.25 m,0.18 m,0.13 m等等2.3图2.1 微处理器的典型结构EU控控制制器器A LU暂暂 存存 器器标志寄存标志寄存器器8位队位队列总线列总线总总线线控控制制逻逻辑辑内部总线内部总线16位位地 址 加 法地 址 加 法器器20位地位地址总线址总线16位位数数据据总总线线执执行行部部件件EU总总线线接接口口部部件件BIU1 2 3 4 5 6指令队列指令队列通用寄存器通用寄存器AX AH ALBX BH BLCX CH CLDX DH DL SP BP
13、 DI SICSDSSSESIP暂存器暂存器u BIU负责与 M、I/O 端口传送数据、地址。访问存储器时,需要生成20位的物理地址;要不断从内存中取指令并送到指令队列;CPU执行指令时,要配合执行部件从指定的内存单元或者外设端口中取数据,并将数据传送给执行部件;或把执行部件的操作结果传送给指定的M或I/O口u 4个个16位段寄存器位段寄存器CS、DS、SS、ES用来识别当前用来识别当前可寻址的四个段,每个段的功能各不相同可寻址的四个段,每个段的功能各不相同 CS指示当前执行程序所在存储器的区域 DS指示当前程序所用之数据的存储器区域 SS指示当前程序所用之堆栈位于的存储器区域 ES指示当前程
14、序所用之数据位于的另外存储器区域,在字符串操作中常用到u IPInstruction Pointer指令指针寄存器指令指针寄存器IP始终指向下一次始终指向下一次u 总线控制逻辑总线控制逻辑 处理器与外界总线联系的转接电路。包括三组总线:20 位地址总线,16/8位双向数据总线,一组控制总线CS左移4位20位+地址加法器CS16位物理地址20位或偏移地址(4)指令队列缓冲器)指令队列缓冲器u 8088为4字节,8086为6字节。为FIFO(先进先出)结构,并按顺序取到EU中执行。u 指令队列至少保持有一条指令,且只要有一条指令,EU就开始执行;指令队列只要有空,BIU自动执行取指操作,直到填满为
15、止;u 若EU要进行M、I/O存取数据,BIU在执行完现行取指操作周期后进行。u 当执行转移指令时,EU要求BIU从新的地址中重新取指。队列中原有指令被清除。新取得的第一条指令直接送EU执行,随后取得的指令填入队列原来CPU是取指和执行指令是串行操作,8086/8088取指(BIU完成)和执行指令(EU完成)是相对独立的并行重叠工作称流水线工作,大大提高运算速度u 算术逻辑单元算术逻辑单元ALU(Arithmetic and Logic Unit)进行所有的算术和逻辑运算进行所有的算术和逻辑运算 计算寻址单元的十六位偏移地址计算寻址单元的十六位偏移地址EA(Effect Address)u E
16、U控制器控制器 接收指令队列中的指令,进行指令译码、分析,接收指令队列中的指令,进行指令译码、分析,形成各种控制信号,实现形成各种控制信号,实现EU各个部件完成规各个部件完成规定动作的控制定动作的控制u 标志寄存器标志寄存器Fu 通用寄存器通用寄存器数据寄存器数据寄存器地址指针及地址指针及变址寄存器变址寄存器控制寄存器控制寄存器组组段寄存器段寄存器组组AX AH AL 累加器累加器BX BH BL 基址寄存器基址寄存器CX CH CL 计数寄存器计数寄存器DX DH DL 数据寄存器数据寄存器通用寄存器通用寄存器组组 SP 堆栈指针堆栈指针 BP 基址指针基址指针 SI 源变址指针源变址指针
17、DI 目的变址指目的变址指针针 IP 指令指针指令指针 FLAG 标志寄存器标志寄存器 CS 代码段寄存器代码段寄存器 DS 数据段寄存器数据段寄存器 SS 堆栈段寄存器堆栈段寄存器 ES 附加段寄存器附加段寄存器 15 8 7 0AXBXCXDX目的变址指针(Destination Index)DI源变址指针(Source Index)SI基址指针(Base Pointer)BP堆栈指针(Stack Pointer)SP数据寄存器(Data)DLDHDX计数寄存器(Count)CLCHCX基址寄存器(Base)BLBHBX累加器(Accumulator)ALAHAX数据寄存器数据寄存器 可分
18、为两个可分为两个8 8位,位,主要用于数据主要用于数据操作操作地址指地址指针针主要用主要用于地址操于地址操作作u 一般,通用寄存器可以用于任何指令的任意操作,一般,通用寄存器可以用于任何指令的任意操作,可以相互替换可以相互替换u 16位的位的数据寄存器数据寄存器可分解为可分解为2个个8的使用,是同一的使用,是同一个物理介质。如果存储了一个个物理介质。如果存储了一个16位的数据,不能位的数据,不能同时存储另外的同时存储另外的1个或个或2个个8位数位数u 地址寄存器地址寄存器不能分解为不能分解为8位使用位使用u 有些操作规定只能使用某个寄存器,即寄存器的有些操作规定只能使用某个寄存器,即寄存器的特
19、殊用法特殊用法 段寄存器共有段寄存器共有4个个CS、DS、SS、ES。2、堆栈段寄存器、堆栈段寄存器SS指定当前堆栈的起始地址;指定当前堆栈的起始地址;1、代码段寄存器、代码段寄存器CS表示当前使用的指令代码表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应可以从该段寄存器指定的存储器段中取得,相应的偏移值则由的偏移值则由IP提供;提供;3、附加段寄存器、附加段寄存器ES则指出当前程序使用附加段则指出当前程序使用附加段地址的起始位置,该段一般用来存放原始数据或运算地址的起始位置,该段一般用来存放原始数据或运算结果。结果。4、数据段寄存器、数据段寄存器DS指示当前程序使用的数据所指
20、示当前程序使用的数据所存放段的起始地址;存放段的起始地址;6位位 3位位OF DF IF TF SF ZF AF PF CF D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0u 反映指令对数据作用之后,结果的状态(不是结反映指令对数据作用之后,结果的状态(不是结果本身)。这些状态将控制后续指令的执行果本身)。这些状态将控制后续指令的执行u OF(Overflow Flag):溢出标志:溢出标志(指补码指补码),D.11 OF=1:在运算过程中,如操作数超过了机器表示的范:在运算过程中,如操作数超过了机器表示的范围称为溢出。围称为溢出。O
21、F=0:在运算过程中,如操作数未超过了机器能表示:在运算过程中,如操作数未超过了机器能表示的范围称为不溢出。的范围称为不溢出。求解方法:最高位进位求解方法:最高位进位 次高位进位次高位进位 字节允许范围:字节允许范围:-128+127 字允许范围:字允许范围:-32768+32767u CF(Carry Flag)CF=1 CF=0u AF(Auxiliary Carry Flag)AF=1 AF=0u SF(Sign Flag):符号标志:符号标志 SF=1 SF=0u ZF(Zero Flag):全零标志,:全零标志,F.6 ZF=1 ZF=0u PF(Parity Flag)PF=1 P
22、F=0全部全部部分部分不影响不影响1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 11 10 00 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1+0 01 11 10 00 01 11 10 01 10 01 10 01 10 00 01 1运算结果最高位为运算结果最高位为1SF=1;例:例:2个数相加后,分析各标志位的值个数相加后,分析各标志位的值低四位向高四位有进位低四位向高四位有进位 AF=1;次高位向最高位有进位次高位向最高位有进位,最高位向前没有进
23、位,最高位向前没有进位,OF=1 0=1最高位没有进位最高位没有进位 CF=0;低低8位中位中1的个数为偶数个的个数为偶数个 PF=1;运算结果本身运算结果本身0 ZF=0;1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 11 10 00 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1-0 00 01 10 01 11 10 00 01 10 00 00 01 11 10 00 0运算结果最高位为运算结果最高位为0SF=0;例:例:2个数相减后,分析各标志位的
24、值个数相减后,分析各标志位的值低四位向高四位没有借位低四位向高四位没有借位 AF=0;次高位向最高位没有借位次高位向最高位没有借位,最高位向前没有借位,最高位向前没有借位,OF=0 0=0最高位没有借位最高位没有借位 CF=0;低低8位中位中1的个数为奇数个的个数为奇数个 PF=0;运算结果本身运算结果本身0 ZF=0;u 控制标志位的值不由数据运算的结果决定,而由控制标志位的值不由数据运算的结果决定,而由指令直接赋值指令直接赋值u 控制标志控制标志决定后续指令的执行决定后续指令的执行情况情况u DF(Direction Flag):方向控制标志位:方向控制标志位 D.10 用于串处理指令,控
25、制从前往后、还是从后往前对字用于串处理指令,控制从前往后、还是从后往前对字符串进行操作处理符串进行操作处理 DF=1,每次串处理操作后使变址寄存器,每次串处理操作后使变址寄存器SI和和DI的值递的值递减,使串处理从高地址向低地址方向处理。减,使串处理从高地址向低地址方向处理。DF=0,每次串处理操作后使变址寄存器,每次串处理操作后使变址寄存器SI和和DI的值递的值递增,使串处理从低地址向高地址方向处理。增,使串处理从低地址向高地址方向处理。u IF(Interupt Flag):中断允许:中断允许/禁止标志位禁止标志位 D.9 IF=1,允许外部可屏蔽中断。允许外部可屏蔽中断。CPU可以响应可
26、屏蔽中断可以响应可屏蔽中断请求。请求。IF=0,关闭中断。关闭中断。CPU禁止响应可屏蔽中断请求。禁止响应可屏蔽中断请求。IF的状态对不可屏蔽中断和内部软中断没有影响。的状态对不可屏蔽中断和内部软中断没有影响。u TF(Trap Flag):跟踪:跟踪(陷阱陷阱)标志位标志位 D.8 TF=1,每执行一条指令后,自动产生一次内部中断,每执行一条指令后,自动产生一次内部中断,使使CPU处于单步执行指令工作方式,便于进行程序调处于单步执行指令工作方式,便于进行程序调试,用户能检查程序。试,用户能检查程序。TF=0,CPU正常工作,不产生陷阱。正常工作,不产生陷阱。u 控制标志的值:由系统程序或用户
27、程序根据需要用指令设置。u 状态信息:由中央处理器执行运算指令,并根据运算结果而自动设置。X86 CPU也提供了直接设置状态标志之值的指令标志名标志名标志为标志为1 1标志为标志为0 0OFOF溢出溢出(是是/否)否)OVOVNVNVDFDF方向(减量方向(减量/加量加量)DNDNUPUPIFIF中断中断(允许允许/关闭关闭)EIEIDIDISFSF符号符号(负负/正正)NGNGPLPLZFZF零零(是是/否)否)ZRZRNZNZAFAF辅助进位辅助进位(是是/否)否)ACACNANAPFPF奇偶标志奇偶标志(偶偶/奇奇)PEPEPOPOCFCF进位标志进位标志(是是/否)否)CYCYNCNC
28、u AD0AD15地址地址/数据复数据复用引脚用引脚(双向、三态双向、三态)u A16/S3A19/S6地址地址/状态状态复用引脚复用引脚(输出、三态输出、三态)12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TE
29、STREADYRESET8086S4S3当前正在使用的段寄存器当前正在使用的段寄存器00ES01SS10CS或未使用任何段寄存器或未使用任何段寄存器11DS2.4 u 8086有有20条地址线,寻址能力为条地址线,寻址能力为1MBu 字节地址:能存储一个字节的存储单元的地址字节地址:能存储一个字节的存储单元的地址u 字地址:占用两个相邻字节单元的地址数值较小的单元地址字地址:占用两个相邻字节单元的地址数值较小的单元地址(低字节地址)(低字节地址)u 字符串地址:存放在最低地址单元的第一个字节地址字符串地址:存放在最低地址单元的第一个字节地址u 字的存储:低字节在较低地址单元,高字节在较高的相邻
30、地字的存储:低字节在较低地址单元,高字节在较高的相邻地址单元址单元u 指针的存储:偏移地址在低地址字单元,段地址在较高地址指针的存储:偏移地址在低地址字单元,段地址在较高地址单元单元内存单元既可以存放数据,也可以存放地址指针内存单元既可以存放数据,也可以存放地址指针(包括偏移地址和段地址),此时地址也可以看成(包括偏移地址和段地址),此时地址也可以看成是数据是数据2.4.1 信息存放方式示意图 地址地址 内容内容 19H 0CH 1AH 1FH 1BH 01H 1CH 23H 1DH 74H 1EH ABH 1FH 41H 20H 42H 21H 43H 22H 44H 23H 45H地址为地
31、址为1AH的字节数据的字节数据1FH1AH 1FH地址为地址为1BH的非的非规则字数据规则字数据2301H1BH 01H1CH 23H地址为地址为1EH的规的规则字数据则字数据41ABH1EH ABH1FH 41H首地址为首地址为1FH的的字符串字符串“ABCDE”21H 43H 23H 45H20H 42H22H 44H1FH 41H地址为地址为1AH的双字数的双字数据据7423011FH;如解释为指针数据,如解释为指针数据,则段基址为则段基址为7423H,偏移量为偏移量为011FH1AH 1FH1BH 01H1CH 23H1DH 74H2.4.2 80862.4.2 8086奇偶存储器和总
32、线连接奇偶存储器和总线连接a)存储器地址空间分配)存储器地址空间分配D7 D0D15 D8A0A19 A1DBABb)存储体与总线的连)存储体与总线的连接接B HED7 D0奇地址存储奇地址存储体体SEL A18 A0D7 D0偶地址存储偶地址存储体体SEL A18 A0A0操 作数据引脚00从偶地址开始读/写一个字(规则字)AD15AD010从偶地址开始读/写一个字节AD7AD001从奇地址开始读/写一个字节AD15AD80110从奇地址开始读写一个字(非规则字),第一总线周期高8位数据有效,第二总线周期低8位数据有效AD15AD8AD7AD0表表2-1 和和A0的代码组合对应的存取操作的代
33、码组合对应的存取操作2.4.4 存储器的逻辑地址和物理地址加 法加 法器器8086物理地址物理地址PA的形成,的形成,其中的其中的16位偏移量也称为位偏移量也称为有有效地址效地址EA(出现在指令中出现在指令中)段寄存器段寄存器15016位偏移量位偏移量01520位物理地址位物理地址019段基址段基址1123H偏移偏移量量13H段基址段基址1124H偏移量偏移量03H物理地址物理地址PA与与逻辑地址逻辑地址LA的对应的对应存储单元存储单元 物理地址物理地址 11230H 11231H 11232H 1123FH 11240H 11241H 11242H 11243H0000存储器段操作存储器段操
34、作 分离、分离、连接、部分重叠或完全重叠连接、部分重叠或完全重叠*由指令给的出寻址方式所指定的地址由指令给的出寻址方式所指定的地址逻辑地址源u 取指令时取指令时CSIPu 堆栈操作堆栈操作SSSPu 取数据取数据ES或或DS偏移地址偏移地址u 任务的程序、堆栈以及数据分别不超过任务的程序、堆栈以及数据分别不超过64KB,CS,DS,SS可分别置初值,否则用子程序结构可分别置初值,否则用子程序结构2.4.7 存储单存储单元地址元地址00000H00001HFF0FFHI/O端端口地口地址址FF100HFF101HFFFFFH(a)存储器映像编址方式)存储器映像编址方式 特点:特点:将端口看作存将
35、端口看作存储单元,仅以地址范围的不储单元,仅以地址范围的不同来区分两者。同来区分两者。优点:优点:对端口的操作对端口的操作和对存储单元的操作完全一和对存储单元的操作完全一样,因此系统简单,并且对样,因此系统简单,并且对端口操作的指令种类较多。端口操作的指令种类较多。缺点:缺点:CPU对存储单对存储单元和元和I/O端口的实际寻址空端口的实际寻址空间都小于其最大寻址空间。间都小于其最大寻址空间。输入输入/输出输出u8086系统通过系统通过I/O端口访问外部设备,端口访问外部设备,既可以接收外部信息,又可以把信息既可以接收外部信息,又可以把信息送往外设,并可发出命令控制外部设送往外设,并可发出命令控制外部设备备u8086 CPU具有读端口信息和写端口信具有读端口信息和写端口信息的专用息的专用I/O指令,可寻址指令,可寻址21664K个个字节端口字节端口精品课件精品课件!精品课件精品课件!