配色: 字号:
第二章_微机处理器结构
2012-10-23 | 阅:  转:  |  分享 
  
第2章微型计算机基础主要内容:微型机的构成及工作原理8088/8086CPU的结构及工作原理系统总线§2.1微型机的基本
结构掌握:微机系统的基本组成微型机的工作原理微机8088的存储器组织一、微型计算机系统组成微型计算机系统的三个层次
核心级——微处理器微处理器简称CPU,是计算机的核心,主要包括:运算器ALU控制器CU
寄存器组RegistersCPU实现了运算功能和控制功能硬件系统级——微型计算机以微处理器为核心,配上只读存储器(
ROM)、读写存储器(RAM)、输入/输出(I/O)接口电路及系统总线等部件,就构成了微型计算机。将CPU、存储器、I/O接口
、总线等集成在一片超大规模集成电路芯片上,称为单片微型计算机,简称单片机。系统级以微型计算机为中心,配以相应的外围设备以及控
制微型计算机工作的软件,就构成了完整的微型计算机系统。微型计算机如果不配有软件,通常称为裸机软件分为系统软件和应用软件两大
类。一、微型计算机的基本结构微处理器(CPU)存储器
输入/输出接口总线微型计算机的概念结构主机硬件系统——CPU计算机的控制中心,提供运算、判断能力构成:ALU、C
U、Registers(p29)例:Intel8088/8086、PIII、P4、CeleronAMDK7(
Athlon、Duron)CPU的位数:4位、8位、16位、32位、64位是指一次能处理的数据的位数主机硬件系统——存储器
存放程序和数据的记忆装置用途:存放程序和要操作的各类信息(数据、文字、图像、。。。)内存:ROM、RAM特点:随机存取,速
度快,容量小外存:磁盘、光盘、半导体盘、…特点:顺序存取/块存取,速度慢,容量大有关内存储器的几个概念内存单元的地址和内
容内存容量内存的操作内存的分类内存单元的地址和内容内存包含有很多存储单元(每个内存单元包含8bit),为区
分不同的内存单元,对计算机中的每个内存单元进行编号,内存单元的编号就称为内存单元的地址。内存容量即内存单元的个数,以字节为单位
。注意:内存空间与内存容量的区别 内存容量:实际配置的内存大小。例:某微机配置2条
128MB的SDRAM内存条,其内存容量为256MB内存空间:又称为存储空间、寻址范围,是指微机的
寻址能力,与CPU的地址总线宽度有关。内存操作读:将内存单元的内容取入CPU,原单元内容不改变;写:CPU将信息放
入内存单元,单元中原内容被覆盖;刷新:对CPU透明,仅动态存储器有此操作内存的读写的步骤为:CPU把要读写的内存单元的地址放
到AB上若是写操作,CPU紧接着把要写入的数据放到DB上CPU发出读写命令数据被写入指定的单元或从指定的单元读出到DB若
是读操作,CPU紧接着从DB上取回数据内存储器的分类读写存储器(RAM)可读可写易失性,临时存放程序和数据只读存储器(
ROM)工作时只能读非易失性,永久或半永久性存放信息主机硬件系统——输入/输出接口简写为I/O接口,是CPU与外部设备间的
桥梁接口的功能提供驱动外设的电压或电流;匹配计算机与外设之间的信号电平、速度、信号类型、数据格式等;缓存发给外设的数据、控
制命令和外设提供的运行状态信息;DMA控制和中断控制。主机硬件系统——总线BUS连接多个功能部件的一组公共信号线地址总线A
B:用来传送CPU输出的地址信号,确定被访问的存储单元、I/O端口。地址线的根数决定了CPU的寻址范围。CPU
的寻址范围=2n,n-地址线根数数据总线DB:在CPU与存储器、I/O接口之间数据传送的公共通路。数据总线的条数决定CP
U一次最多可以传送的数据宽度。控制总线CB:用来传送各种控制信号2.微型计算机的软件系统软件:为运行、管理和维护计算机系统
或为实现某一功能而编写的各种程序的总和及其相关资料。3.微型计算机的物理结构微型计算机的物理结构INTEL845GE主
板的主要硬件构成CPU插座芯片组(南北桥/HUB)内存插槽高速缓存(现已集成到CPU内部)系统BIOS,硬件控
制CMOS,存放硬件配置参数总线扩展槽,PCI、ISA串行、并行接口软/硬盘、光驱插座芯片组CPU的外围控制芯
片,通常为2片两种架构:南北桥、HUB(加速中心)南北桥北桥——提供CPU/主存/高速缓存的连接、AGP接口、PCI桥接南
桥——提供USB、IDE(FDD/HDD)、串/并口及ISA桥接等例如:Intel440BX、VIA694(KT133)+68
6B、SiS645等HUBGMCH——AGP接口、存储器通道ICH——PCI桥接、IDE控制器、USB、串/并口FWH—
—系统BIOS、显示BIOS、随机数发生器例如:Intel810、Intel815、Intel845等二、计算机的工作过程
存储程序计算机—又称为冯?诺依曼型计算机以运算器为核心、以存储程序原理为基础将计算过程描述为由许多条指令按一定顺序组成的程序
,即程序是由多条有逻辑关系的指令组成,指令的长度不等(一般为1~4字节)数据和程序均以二进制代码的形式不加区别地存放在存储器中,
存放位置由地址指定,地址码也是二进制形式由控制器控制整个程序和数据的存取以及程序的执行存储程序计算机的工作原理控制器按预先存
放在计算机存储器中的程序的流程自动地连续取出指令并执行之。程序的执行过程例:计算5+8(p35)汇编语言程序 对应的机器指令
对应的操作--------------------------------------------------
----------------------------------MOVAL,5 10110000 将立即数1传送
到累加寄存器AL中 00000101 ADDAL,8 00000100 计算两个
数的和,结果存放到AL中 00001000 HLT 11110100 停机 指令
执行过程(取指/译码/执行)§2.28088微处理器主要内容:8088CPU外部引线及功能;8088CPU的内部结构和
特点;各内部寄存器的功能;8088的工作时序。一、概述8088、8086基本类似16位CPU、AB宽度20位差别:
指令预取队列:8088为4字节,8086为6字节数据总线引脚:8088有8根,8086有16根8088为准16位CPU,内部D
B为16位,但外部仅为8位,16位数据要分两次传送本课程主要介绍8088(IBMPC采用)指令预取队列(IPQ)串行工作方
式:8088以前的CPU采用串行工作方式:1)CPU访问存储器(存取数据或指令)时要等待总线操作的完成2)
CPU执行指令时总线处于空闲状态缺点:CPU无法全速运行解决:总线空闲时预取指令,使CPU需要指令时能立刻得到并行工作方
式:8088CPU采用并行工作方式8088的流水线操作8088CPU包括两大部分:EU和BIUBIU不断地从存储器取指令
送入IPQ,EU不断地从IPQ取出指令执行EU和BIU构成了一个简单的2工位流水线指令预取队列IPQ是实现流水线操作的关键(类
似于工厂流水线的传送带)新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令例如,PIII为14个阶段,P4为20
个阶段(超级流水线)结论指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而带来了以下两个好处:提高了CPU的效率
降低了对存储器存取速度的要求8088/8086CPU的特点采用并行流水线工作方式对内存空间实行分段管理:每段大小为16B
~64KB用段地址和段内偏移实现对1MB空间的寻址设置地址段寄存器指示段的首地址支持多处理器系统;片内无浮点运算部件,浮点
运算由数学协处理器8087支持(或用软件模拟) 注:80486DX以后的CPU已将数学协处理器作为标准部件集成到CPU内部80
88CPU的两种工作模式8088可工作于两种模式:最小模式和最大模式最小模式为单处理机模式,控制信号较少,一般可不必外接总线
控制器。最大模式为多处理机模式,控制信号较多,CPU必须通过总线控制器与总线相连。二、8088CPU的引线及功能引脚定义的
方法可大致分为::每个引脚只传送一种信息(RD等);引脚电平的高低不同的信号(IO/M等);CPU工作于不同方式有不同的名称
和定义(WR/LOCK等);分时复用引脚(AD7~AD0等);引脚的输入和输出分别传送不同的信息(RQ/GT等)。
主要引线(最小模式下)8088是工作在最小还是最大模式由MN/MX端状态决定:MN/MX=0时工作于最大模式,反之工作于最小模
式。数据信号线(DB)与地址信号线(AB):AD7~AD0:三态,地址/数据复用线。ALE有效时为地
址的低8位。地址信号有效时为输出,传送数据信号时为双向。A19~A16:三态,输出。高4位地
址信号,与状态信号S6-S3分时复用。A15~A8:三态,输出。输出8位
地址信号。主要的控制和状态信号WR:三态,输出。写命令信号;RD:三态,输出。读命令信号;IO/M:三态,输出。
指出当前访问的是存储器还是I/O接口。高:I/O接口,低:内存DEN:三态,输出。低电平时,表
示DB上的数据有效;RESET:输入,为高时,CPU执行复位;ALE:三态,输出。高:AB地址有效;DT/R:三态,输出
。数据传送方向,高:CPU输出,低:CPU输入[例]:当WR=1,RD=0,IO/M=0
时,表示CPU当前正在进行读存储器操作。READY信号(输入):中断请求和响应信号INTR:输入,可屏蔽中断请求输入端。
高:有INTR中断请求NMI:输入,非屏蔽中断请求输入端。低?
高,有NMI中断请求INTA:输出,对INTR信号的响应。总线保持信号HOLD:总线保持请求信号输入端。当CPU
以外的其他设备要求占用总线时,通过该引脚向CPU发出请求。HLDA:
输出,对HOLD信号的响应。为高电平时,表示CPU已放弃总线控制
权,所有三态信号线均变为高阻状态。三、8088CPU的内部结构8088内部由两部分组成:
执行单元(EU)总线接口单元(BIU)执行单元EU功能:执行指令
从指令队列中取指令代码译码在ALU中完成数据的运算运算结果的特征保
存在标志寄存器FLAGS中。执行单元包括算术逻辑单元(运算器)8个通用寄存器
1个标志寄存器EU部分控制电路总线接口单元BIU功能:从内存中取指令送入指令预取
队列负责与内存或输入/输出接口之间的数据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单
元执行。8088的内部寄存器含14个16位寄存器,按功能可分为三类8个通用寄存器
4个段寄存器2个控制寄存器通用寄存器数据寄存器(AX,BX,CX,DX)
地址指针寄存器(SP,BP)变址寄存器(SI,DI)数据寄存器8088含4个16位数据寄存器,它们又可分为8个8位寄存器,
即:AXAH,ALBXBH,BLCXCH,CLDX
DH,DL常用来存放参与运算的操作数或运算结果数据寄存器特有的习惯用法AX:累加器。多用于存放中间运算结果。所有
I/O指令必须都通过AX与接口传送信息;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存
器。用于在循环或串操作指令中存放循环次数或重复次数;DX:数据寄存器。在32位乘除法运算时,存放
高16位数;在间接寻址的I/O指令中存放I/O端口地址。地址指针寄存器SP:堆栈
指针寄存器,其内容为栈顶的偏移地址;BP:基址指针寄存器,常用于在访问内存时
存放内存单元的偏移地址。BX与BP在应用上的区别作为通用寄存器,二者均可用于存放数据;作为基址寄存器,BX通常用于寻址数据段
;BP则通常用于寻址堆栈段。BX一般与DS或ES搭配使用变址寄存器SI:源变址寄存器DI:目标变址寄存器变址寄存器常用于
指令的间接寻址或变址寻址。特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。段寄存器用于存
放逻辑段的段基地址(逻辑段的概念后面将要介绍)CS:代码段寄存器代码段用于存放指令代码
DS:数据段寄存器ES:附加段寄存器数据段和附加段用来存放操作数
SS:堆栈段寄存器堆栈段用于存放返回地址,保存寄存器内容,
传递参数控制寄存器IP:指令指针寄存器,其内容为下一条要执行的指令的偏移地址FLAGS:标
志寄存器状态标志:存放运算结果的特征控制标志:控制某些特殊操作6个状态标志位(CF,SF,AF,PF,OF,ZF)
3个控制标志位(IF,TF,DF)四、存储器寻址物理地址8088:20根地址线,可寻址220(1MB)个存储单元
CPU送到AB上的20位的地址称为物理地址物理地址物理地址存储器分段逻辑地址段基地址和段内偏移组成了逻辑地址
段地址偏移地址(偏移量)格式为:段地址:偏移地址物理地址=段基地址×16+偏移地址[
例]:已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址=02
04H, 1)画出各段在内存中的分布2)指出各段首地址3)该操作数的物理地址=?堆栈及堆栈段的使用
内存中一个按FILO方式操作的特殊区域每次压栈和退栈均以WORD为单位SS存放堆栈段地址,SP存放段内偏移,SS:SP构成了堆
栈指针堆栈用于存放返回地址、过程参数或需要保护的数据常用于响应中断或子程序调用堆栈操作[例]:若已知(SS)=1000H
(SP)=2000H则堆栈段的段首地址=?栈顶地址=?若现在把1234H送入堆栈,则它所在的存储单元地址=?若该
段最后一个单元地址为2FFFH,则栈底地址=?五、时序时序的概念:CPU各引脚信号在时间上的关系。总线周期:
CPU完成一次访问内存(或接口)操作所需要的时间。
一个总线周期至少包括4个时钟周期。时钟周期:由时钟发生器产生。是计算机内部最
小的时间单位,用Ti表示。(总线周期的时序参见教材p51)§2.3系统总线主要内容:总线的基本概念和分
类;总线的工作方式;常用系统总线标准。一、概述总线:是一组导线和相关的控制、驱动电路的集合。是计算机系统各部件之间传
输地址、数据和控制信息的公共通道。总线结构的优点简化系统设计(模块化)提高兼容性便于扩充升级便于维修减低生产成本总
线分类总线结构单总线结构简单,但总线竞争严重多总线结构面向CPU的双总线结构面向
主存的双总线结构多总线结构(续)教材p55图2-23:面向CPU的双总线结构把需要很高带宽的主存储器用存储总线单独与CPU
相连问题:外设到主存的数据传输必须通过CPU, 传输效率低,无法实现DMA传输图2-24:面向主存的双总线结构主存储器
即与CPU直接连接,又与系统总线连接,较好地解决了上述问题二、总线技术总线传输需要解决的问题:传输同步——协调通信双方的传
输操作同步、异步、半同步总线仲裁——消除多个设备同时使用总线造成的冲突现象Master查询,Slave独立请求出错处理信
号驱动同步方式同步传输——用公共的时钟统一各部件数据发送和接收的时机异步传输——用控制和状态信号协调各部件数据发送和接
收的时机半同步——用公共的时钟统一控制和状态信号的产生时机(即控制和状态信号与时钟是同步的),但数据发送和接收的时机仍不固定
总线仲裁用来决定某一时刻哪一个部件可以使用总线集中控制——统一由总线控制器进行控制分散控制——总线控制由各部件共同实现,所
有部件均按统一的规则来访问总线总线仲裁——集中控制1)链式查询(p59图2-28)——基本原理是:部件提出申请(BR)总线
控制器发出批准信号(BG)提出申请的部件截获BG,并禁止BG信号进一步向后传播提出申请的部件发出总线忙信号(BS),开始使用总
线。总线忙信号将阻止其他部件使用总线,直到使用总线的设备释放总线电路最简单,但优先级固定,不能改变总线仲裁——集中控制2)计
数器查询——基本原理是:需要使用总线的部件提出申请(BR)总线控制器发出递增的设备地址提出申请的设备检查设备地址,若与自己的
地址匹配,就发出总线忙信号(BS),然后就可以使用总线总线控制器根据检测到BS信号时的设备地址就知道当前哪个设备使用了总线调整
设备地址发出的顺序即可改变优先级别仲裁过程较慢总线仲裁——集中控制3)独立请求——基本原理是:每个设备都拥有独立的总线请求
线和总线应答线总线控制器对所有的总线请求进行优先级排队,并响应级别最高的请求得到响应的设备将占用总线进行传输最常用,响应速度
最快PC机中使用的8237DMAC采用此种方式三、常见的系统总线ISA(8/16位)PCI(32/64位)AGP(加速
图形端口,用于提高图形处理能力)自学P61~P64自行查找资料:ISA、PCI、AGP分别位于系统
的的哪一个部分?总线的主要性能指标总线带宽(B/S):单位时间内总线上可传送
的数据量总线位宽(bit):能同时传送的数据位数总线的工作频率(MHz)总线带宽=(位宽/8)?(
工作频率/每个存取周期的时钟数)四、8088系统总线最小模式——仅支持单处理器(p65图2-32)最小模式下主要解决:地址
与数据的分离地址锁存电路实现方案用3片8位的锁存器8282实现地址锁存。ALE为锁存控制信号,OE#≡0使锁存的地址直接输出
;用1片双向三态门8286用作数据总线驱动和隔离,DT/R#作为方向控制,DEN#作为开门信号;其他控制信号由8088直接产生
。最小模式下的连接示意图最大模式最大模式——可支持多处理器(p66图2-33)大多数控制信号是由总线控制器8288对S0
#、S1#、S2#三个信号译码得到,如DT/R#、ALE、DEN#、IOR#、IOW#、MEMR#、MEMW#信号。DB和AB的构
成基本同最小模式。PC/XT机的总线采用了最大模式,但有三点区别:地址总线驱动用2个74LS373和1个74LS244代替3个
8282;数据总线驱动用74LS245代替8286;支持DMA传送。最大模式下的连接示意图常用接口芯片介绍8282
/74LS373——具有三态正相输出的锁存器p67图2-34,内部包含8个D触发器引脚:DI0~DI7
输入DO0~DO7输出STB锁存信号OE#输出允许功能:
STB=1锁存数据OE#=0将锁存的数据输出功能类似的还有8283——但为反相输出总线驱动器8286
/74LS245——双向三态驱动器(p68图2-36)引脚:A0~A7和B0~B7双向数据线OE#
输出允许T方向控制功能:
OE#=0时,门导通;门导通时:T=0,B→A;T=1,A→B功能类似的还有8287——但为反相输出总线驱动器(续)
74LS244——三态门驱动器(含8个门)引脚:I1~I8和O1~O8输入线和输出线E1#,E2#使能
信号,各控制4个三态门功能:E1#=0,E2#=0,门导通,否则输出为高阻态作业:p912.12.10(1)2.13
~2.18..60000H60001H60002H60003H60004H...12HF0H1BH08
H存储器的操作完全基于物理地址。问题:8088的内部总线和内部寄存器均为16位,如何生成20位地址?解决:存储器分段高地
址低地址段基址段基址段基址段基址最大64KB,最小16B段i-1段i段i+160002H00H12H60
000H0000段基地址(16位)段首地址×××???×××偏移地址=0002HBIU中的
地址加法器用来实现逻辑地址到物理地址的变换8088可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址段基址段内偏移
物理地址+16位20位000010550H250A0H2EF00H8FF00HCSSSCSDSES
解:各段分布及段首址见右图所示。操作数的物理地址为:250AH×10H+0204H=252A
4HSPSSSS压栈前退栈后高低低高高12HSSF0HSP压栈后低高SPSPSPF0H
12HSP段首栈底栈顶堆栈段地址总线(AB)数据总线(DB)控制总线(CB)CPU总线:CPU??其他部
件系统总线:主机??I/O接口外部总线:微机??外设片内总线片外总线按相对CPU的位置按层次结构CPU
MMI/OI/OI/O双总线结构多总线结构8088CPU??控制总线数据总线地址
总线地址锁存数据收发器ALE时钟发生器3片8282DT/R#DEN#82868088CPU数据总线
地址总线地址锁存数据收发ALE时钟发生器总线控制器控制总线828282868288S0#S
1#S2#程序指令1指令2指令3指令4指令n……取指令指令译码取操作数执行指令存结果指令周期操作码
操作数执行1。CPU如何知道从哪里取出程序的第一条指令?——操作系统2。CPU如何按程序控制流执行指令?——程序计数器3
。CPU如何知道从哪里取操作数?——地址、寻址方式指令执行过程见下页图累加器A加法器数据寄存器DR指令寄存器IR指令译
码器ID时序逻辑电路时序控制信号(控制命令)10110000000001010000010000001000
11110100内部总线存储器01234程序计数器PC地址MOVA,5ADDA,8HLT
地址总线+1③地址译码器读写控制电路④输出地址10110000⑦锁存指令锁存数据⑥置初值①②
输出指令地址锁存地址②读写命令⑤⑧指令译码锁存输出地址寄存器AR指令的一般执行过程:取指令指令
译码读取操作数执行指令存放结果取指令1执行1取操作数2执行2CPUBUS
忙碌忙碌忙碌忙碌存结果1取指令2取指令2取操作数BIU存结果取指令3取操作数取指令4执行1执行2
执行3EUBUS忙碌忙碌忙碌忙碌忙碌忙碌用于协调CPU与存储器、I/O接口之间的速度差异READY信号由存储器或I/O接口发出。READY=0时,CPU就在T3后插入TW周期,插入的TW个数取决于READY何时变为高电平。微型计算机系统的三个层次微处理器(Microprocessor)微型计算机(Microcomputer)微型计算机系统(MicrocomputerSystem)微处理器存储器I/O接口总线硬件系统软件系统微型计算机系统微型计算机(主机)外设ALU寄存器控制器键盘、鼠标显示器软驱、硬盘、光驱打印机、扫描仪系统软件应用软件1.微型计算机的硬件系统存储器I/O接口输入设备I/O接口地址总线AB输出设备CPU数据总线DB控制总线CBI/O接口AB:AddressBusDB:DataBusCB:ControlBus1011011038F04H内存单元地址内存单元内容......Bit7654321001011000内存单元有时又称为地址单元CPUI/O接口外设系统软件应用软件操作系统编译系统网络系统工具软件软件CPU北桥南桥RAMCacheAGPCRTBIOSKBD,Mouse串行/并行接口HDD/CDROM(IDE)FDDUSBPCIISA前端总线/CPU总线接口卡外设总线扩展槽指令驱动运算器输出设备控制器输入设备存储器指令流控制命令数据流
献花(0)
+1
(本文系dsxzqmok首藏)