软件工程06中央处理器_第1页
软件工程06中央处理器_第2页
软件工程06中央处理器_第3页
软件工程06中央处理器_第4页
软件工程06中央处理器_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

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

文档简介

第六章中央处理器6.1CPU概述6.3硬连线控制器设计6.2简单模型机6.4微程序控制器设计6.5中断系统6.1CPU概述一、CPU的功能取指令分析指令执行指令,发出各种操作命令控制程序输入及结果的输出总线管理处理异常情况和特殊请求1.控制器的功能2.运算器的功能实现算术运算和逻辑运算指令控制操作控制时间控制数据加工处理中断二、CPU基本组成执行部件控制部件程序计数器----PC指令寄存器----IRIAS计算机(冯.诺依曼等设计)是现代计算机的原型早期累加器型指令系统数据通路(专用通路式)最简单的数据通路结构取指令数据路径为:

PC→MAR,ReadM,M→MBR→IBR→IR取操作数、运算、送结果的数据路径为:

操作数地址→MAR,ReadM,M→MBR→ALU输入端,AC→ALU输入端,ALU操作,ALU结果→MBR,WriteM单总线数据通路6.2简单模型机一、简单模型机数据通路框图一、简单模型机数据通路框图CPU按字节编址,按字节访问S0~S3~MCn0x1xXX2xXX30XX40XX二、五条机器指令JMPaddr 01000000XXXXXXXX ;无条件转移,addr→PC助记符

机器指令码

说明INrd

000000xx

;输入,“INPUT”设备中的开关状态→rdADD

rs,

rd,addr0001xxxxxxxxxxxx;二进制加法,

rs+[addr]→rdSTA

rs,addr 0010xx00xxxxxxxx;存数,rs→[addr]OUTaddr 00110000XXXXXXXX ;输出,[addr]→LED操作码rsrdR000R101R210R311三、指令周期与多级时序系统1.指令周期取出并执行一条指令所需的全部时间完成一条指令执行取指、分析取指阶段取指周期执行阶段执行周期(取指、分析)(执行指令)指令周期取指周期执行周期2.每条指令的指令周期不同取指周期指令周期取指周期执行阶段指令周期取指周期执行周期指令周期NOPADDmemMULmem3.机器周期(1)机器周期的概念(2)确定机器周期需考虑的因素(3)基准时间的确定所有指令执行过程中的一个基准时间每条指令的执行步骤每一步骤所需的时间以完成最复杂指令功能的时间为准以访问一次存储器的时间为基准若指令字长=存储字长取指周期

=

机器周期4.时钟周期(节拍、状态)一个机器周期内可完成若干个微操作每个微操作需一定的时间用时钟周期控制产生一个或几个微操作命令将一个机器周期分成若干个时间相等的时间段(节拍、状态、时钟周期)CLKT0T1T2T3时钟周期4.时钟周期(节拍、状态)

机器周期机器周期T0T1T2T3T0T1T2T35.多级时序系统机器周期、节拍(状态)组成多级时序系统一个指令周期含若干个机器周期一个机器周期包含若干个时钟周期CLK机器周期机器周期机器周期

(取指令)(取有效地址)(执行指令)指令周期T1T2T3T4T1T2T3T4T1T2T3T4机器周期机器周期(取指令)(执行指令)指令周期T1T2T3T4T1T2T3节拍(状态)节拍(状态)6.3硬连线控制器设计一、组合逻辑控制单元框图1.CU外特性IR节拍发生器CUT0T1Tn…CLK(机器主频)…标志012n-1…C0C1Cn操作码译码n

位操作码

二.微操作的节拍安排采用同步控制方式一个机器周期内有4个节拍(时钟周期)

1.安排微操作时序的原则原则一微操作的先后顺序不得随意更改原则二被控对象不同的微操作尽量安排在一个节拍内完成原则三占用时间较短的微操作尽量安排在一个节拍内完成并允许有先后顺序指令周期流程取指周期执行周期有间址吗?有中断吗?间址周期中断周期是是否否CPU工作周期的标志CPU访存有4种性质取指令取地址取操作数存结果存程序断点取指周期间址周期执行周期中断周期CPU的4个工作周期本模型机CPU只有FE和EX工作周期标志三、组合逻辑设计步骤1.列出操作时间表(取指周期)111111111111111111111111111111111111111111111111.列出操作时间表(执行周期)T3T2T1JMPOUTADDSTAIN微操作命令信号状态条件节拍工作周期标记CE-RLDDR2WE-R111LED-GRS-G

T411111111LDDR1S0=1ALU-GWE_LED11EX执行

RS-G

S1=0CN=1LDRi112.写出微操作命令的最简表达式=FE

·T2+FE·T4(ADD+STA+OUT+JMP)CE-R=FE{T2+

T4(ADD+STA+OUT+JMP)}=FE

·T2+E

X·T1(ADD+STA+OUT)+E

X·T1(ADD+STA+OUT)=FE

·T2+FE·T4

·

ADD=FE

·T2+FE·T4

·

ADD+FE·

T4STA+FE·

T4

·

OUT+FE·

T4

·

JMP=FE

·T2+FE·T4

·

ADD+FE·

T4STA+FE·

T4

·

OUT+FE·

T4

·

JMP+EX·T1·ADD+EX·T1STA+EX·T1·OUTCUIN(Y0)ADD(Y1)STA(Y2)OUT(Y3)JMP(Y4)指令译码指令寄存器OPCE-R3.画出逻辑图时序电路时钟CLKT1T2T3T4CLK工作周期标志电路FEEXPC-GLDAR=NOT(FE

·T1+FE·T3

·

ADD+FE·

T3STA+FE·

T3

·

OUT+FE·

T3

·

JMP)=FE

·T1+FE·T3

·

ADD+FE·

T3STA+FE·

T3

·

OUT+FE·

T3

·

JMP=FE

·T1+FE·T3

·

ADD+FE·

T3STA+FE·

T3

·

OUT+FE·

T3

·

JMP=(FE

·T1+FE·T3

·

ADD+FE·

T3STA+FE·

T3

·

OUT+FE·

T3

·

JMP)·

NOTCLK原则三占用时间较短的微操作,尽量安排在一个节拍内完成并允许有先后顺序PC-GLDAR=NOT(FE

·T1+FE·T3

·

ADD+FE·

T3STA+FE·

T3

·

OUT+FE·

T3

·

JMP)=(FE

·T1+FE·T3

·

ADD+FE·

T3STA+FE·

T3

·

OUT+FE·

T3

·

JMP)·

NOTCLKFE取指

EX执行

FE取指

CLKNOTCLKT1T3PC-GLDARIN指令组合逻辑控制器特点

思路清晰简单明了

庞杂调试困难修改困难

速度快(RISC)6.4微程序控制器设计一、微程序设计思想的产生1951英国剑桥大学教授Wilkes完成一条机器指令微操作命令1微操作命令2微操作命令m……微指令111000000微指令n微程序00010010存储逻辑一条机器指令对应一个微程序……存入ROMPC-GLDARCE-RLDIRALU-GLDRiRS-G控制字段CNSW-GLDPC微指令举例11000…

…000

0010000

1

1

1

…00000101微地址取指令微程序二、微程序控制单元框图及工作原理1.机器指令对应的微程序M+1MM+2P+1KK+2PP+2K+1…取指周期微程序对应ADD执行周期的微程序对应STA执行周期的微程序间址周期微程序中断周期微程序M+1MM+2P+1KK+2PP+2K+1…取指周期微程序对应

ADD执行周期的微程序对应STA执行周期的微程序间址周期微程序中断周期微程序M+1M+2P+1P+2K+1K+2MM转执行周期微程序…转取指周期微程序…2.微程序控制单元的基本框图

微地址

形成部件顺序逻辑μPC地址译码控制存储器标志CLK下地址μIR至CPU内部和系统总线的控制信号OPIR操作控制顺序控制微指令基本格式控制字段CS三、微指令的编码方式(控制方式)1.直接编码(直接控制)方式在微指令的操作控制字段中

每一位代表一个微操作命令速度最快下地址……控制信号操作控制某位为“1”表示该控制信号有效2.字段直接编码方式将微指令的控制字段分成若干“段”每段经译码后发出控制信号每个字段中的命令是互斥的译码…译码…译码…下地址操作控制控制信号缩短了微指令字长,增加了译码时间微程序执行速度较慢3.字段间接编码方式4.混合编码直接编码和字段编码(直接和间接)混合使用5.其他…字段1…字段2译码译码译码…操作控制控制信号…字段n下地址……控制信号四、微指令格式1.水平型微指令如直接编码、字段直接编码、字段间接编码、直接和字段混合编码2.垂直型微指令类似机器指令操作码的方式一次能定义并执行多个并行操作由微操作码字段规定微指令的功能下面以4条垂直型微指令的微指令格式加以说明设微指令字长为16位,微操作码3位(1)寄存器-寄存器传送型微指令按ALU字段所指定的运算功能(8种操作)进行处理(2)运算控制型微指令(3)访问主存微指令(4)条件转移微指令9位D字段不足以表示一个完整的微地址,但可以用来替代现行μPC的低位地址3.两种微指令格式的比较(1)水平型微指令比垂直型微指令并行操作能力强灵活性强(2)

水平型微指令执行一条机器指令所要的微指令数目少,速度快(3)

水平型微指令用较短的微程序结构换取较长的微指令结构(4)

水平型微指令与机器指令差别大五、微指令序列地址的形成1.微指令的下地址字段指出(断定法)2.根据机器指令的操作码形成3.增量计数器4.分支转移(μPC)+1μPC转移地址操作控制字段

转移方式转移方式指明判别条件转移地址指明转移成功后的去向5.通过测试网络6.由硬件产生微程序入口地址第一条微指令地址由专门硬件产生中断周期由硬件产生中断周期微程序首地址非测试地址h测试地址l测试网络……测试源微指令地址CMDR操作控制顺序控制HL7.后继微指令地址形成方式原理图

多路选择地址选择+1μAR地址译码下地址转移方式μIR控制存储器…控制信号

分支

逻辑…标志中断微程序入口OPIR

微地址

形成部件…控制信号第一条微指令入口六、静态微程序设计和动态微程序设计静态微程序无需改变,采用ROM动态通过改变微指令

和微程序

改变机器指令有利于仿真,采用

EPROM指令仿真:利用动态微程序技术,在一台机器上运行另一种机器的指令代码指令模拟:用软件来解释另一种计算机的指令,使其能在不同的机器上运行(不改变微程序)速度较慢对用户的要求很高七、串行微程序控制和并行微程序控制取第i+1条微指令执行第

i

条微指令取第

i

条微指令执行第i+1

条微指令取第

i

条微指令执行第i条微指令取第i+1

条微指令执行第i+1

条微指令取第i+2

条微指令执行第i+2

条微指令串行

微程序控制并行

微程序控制2.微指令格式S3S2S1S0MCNRDM17M16ABPuA5uA0…24232221201918171615…1312…109…76…

…1A字段B字段P字段151413控制信号121110控制信号987控制信号000

000

000

001LDRi001RS_G001P1010LDDR1010RD_G010

P2011LDDR2011RI_G011

P3100LDIR100299_G100P4101LOAD101ALU_G101

AR110LDAR110PC_G110LDPC说明①②LOAD=0PC置数1PC计数LDPC=1T4③译码SW_G(00)CE_R(01)LED_G

(10)M16M17④RDT3WE1读0写RD=0RD=1译码LDRiLDR0LDR1LDR2IR0IR1LDR3译码RD_GIR0IR3RS_GRI_GR0_GR1_GR2_GR3_G4.微程序控制器结构

控制字段S2S3M16M17LDRiLDR1LOADLDARLDPCRS_GRD_GPC_GP1P2下址字段μA0μA5SWASWBFCFZ测试网络μPCP1P4I0T4指定微地址uA5uA0T2二选一CMI7μIRT23-83-83-8当前执行的微指令下次欲执行的微指令下次欲执行的微指令地址T14.测试网络

①P(1)测试μA5μA4μA3μA2μA1μA0测试网络IR7IR6IR5IR4MA5MA4MA3MA2MA1MA0P(1)=0测试1不测试MA5=μA5MA4=μA4指令的操作码MA1=μA1+IR5·P(1)

MA2=μA2+IR6·P(1)

MA3=μA3+IR7·P(1)

MA0=μA0+IR4·P(1)

5.测试网络

②P(4)测试μA5μA4μA3μA2μA1μA0测试网络SWBSWAMA5MA4MA3MA2MA1MA0P(4)=0测试1不测试MA1=μA1+SWB·P(4)

MA0=μA0+SWA·P(4)

控制台指令SWBSWA00读内存(KRD)01写内存(KWE)11启动程序(RP)6.指令分析

①取指过程T1T2T3T4一个机器周期T1节拍被微控制器使用微指令在T2节拍打入μIR后有效发出PC_GLDARLDPCPC→ARPC+1→PCT1T2T3T4CE_RRD=0LDIRRAM→BUSBUS→IR指令在内存中的存放形式按字节编址INADDaddrD②执行过程INT1T2T3T4SW_GLDRiSW→BUSBUS→RDADDPC_GLDARPC→ARLDPCPC+1→PCT1T2T3T4T1T2T3T4CE_RRD=0LDARRAM→BUSBUS→AR取操作数地址(addr)①②T1T2T3T4CE_RRD=0LDDR2RAM→BUSBUS→DR2取操作数T1T2T3T4RS_GLDDR1RS→BUSBUS→DR1将另一操作数从RS中取出送至DR1(DR1)+(DR2)→RDT1T2T3T4“+”LDRiDR1+DR2BUS→RDALU_GALU→BUS③④⑤STAPC_GLDARPC→ARLDPCPC+1→PCT1T2T3T4T1T2T3T4CE_RRD=0LDARRAM→BUSBUS→AR取操作数地址(addr)T1T2T3T4RS_GCE_RRD=1RS→BUSBUS→RAM将RS中的操作数送往地址(addr)指定的主存单元中OUT①②③7.微程序流程

八进制取指令的第二字节001000ADD0001001001本条微指令的地址微指令中的下址简单模型机只用一个通用寄存器R0一条微指令一个机器周期9.微程序代码

取指控制台ADDADD①P(4)测试P(1)测试INSTA①②③④⑤STA②STA③?9.微程序代码

读内存运行机器指令程序写内存00200830084000000102030405060708090AIN ;输入开关数据→R0

STA[08H];R0→[08] ;地址OUT[08H];[08H]→LED ;地址JMP[00H];00H→PC ;跳转地址机器指令程序(例1)6.5中断系统一、概述1.引起中断的各种因素(1)人为设置的中断(2)程序性事故如转管指令溢出、操作码不能识别、除法非法(5)外部事件(4)I/O设备(3)硬件故障用键盘中断现行程序转管指令………管理程序2.中断系统需解决的问题(1)各中断源如何向CPU提出请求?(2)各中断源同时提出请求怎么办?(5)如何寻找入口地址?(4)如何保护现场?(3)CPU什么条件、什么时间、以什么方式

响应中断?(6)如何恢复现场,如何返回?(7)处理中断的过程中又出现新的中断怎么办?硬件

+软件二、中断请求标记和中断判优逻辑1.中断请求标记INTR一个请求源

一个INTR

中断请求标记触发器多个INTR

组成中断请求标记寄存器INTR

分散在各个中断源的接口电路中INTR集中在CPU

的中断系统内12345n掉电过热阶上溢内存读写校验错非法除法键盘打印机2.中断判优逻辑①

分散在各个中断源的接口电路中链式排队器②集中在CPU

内(1)硬件实现(排队器)111&1

&1&INTR1INTR2INTR3INTR4INTR1、

INTR2、

INTR3、

INTR4

优先级按降序排列

INTP1INTP2INTP3INTP4A、B、C

优先级按降序排列(2)软件实现(程序查询)否……是否A

请求?是否B

请求?是否C

请求?转A

的服务程序入口地址转B

的服务程序入口地址转C

的服务程序入口地址是是是否否三、中断服务程序入口地址的寻找1.硬件向量法入口地址200入口地址300入口地址40012H13H14H主存12H13H14HJMP200JMP300JMP400主存向量地址形成部件…………中断向量排队器输出向量地址12H、13H、14H入口地址200、300、400…向量地址…排队器输出

显示器服务程序

打印机服务程序JMP400JMP300JMP200…………主存12H13H14H200300向量地址入口地址入口地址中断向量地址形成部件设备编码器1000…000100100100…00010011①向量地址→PC1.硬件向量法…向量地址…排队器输出

显示器服务程序

打印机服务程序400300200…………主存12H13H14H200300向量地址入口地址入口地址中断向量地址形成部件1000…00010010②(向量地址)→PC2.软件查询法中断识别程序(入口地址M)地址说明指令

M

JMP1#SR1#D=1转1#服务程序

SKPDZ2#

JMP2#SR2#D=0跳2#D=1转2#服务程序

SKPDZ8#

JMP8#SR8#D=0跳8#D=1转8#服务程序八个中断源1、2、8按降序排列…………

SKPDZ1#1#D=0跳(D为完成触发器)四、中断响应1.响应中断的条件允许中断触发器EINT=12.响应中断的时间指令执行周期结束时刻由CPU发查询信号

CPU中断查询INTR1DQINTR2DQINTRnDQ中断源1中断源2中断源n……至排队器3.中断隐指令(1)保护程序断点(2)寻找服务程序入口地址(3)硬件关中断向量地址形成部件INTSQREINTSQRPC

1&≥1排队器……断点存于特定地址(0号地址)内断点进栈INT中断标记EINT允许中断R–S

触发器向量地址PC(硬件向量法)中断识别程序入口地址MPC(软件查询法)五、保护现场和恢复现场1.保护现场2.恢复现场寄存器内容断点保护现场其他服务程序恢复现场中断返回PUSH视不同请求源而定POP中断服务程序完成中断服务程序中断隐指令

完成中断服务程序完成IRET1.多重中断的概念klmk

+1l

+1m

+1第一次中断第二次中断第三次中断程序断点k+1,l+1,m+1六、中断屏蔽技术2.实现多重中断的条件B,CA中断请求主程序(2)优先级别高的中断源有权中断优先级别低的中断源(1)提前设置开中断指令ABCD中断服务程序(A、B、C、D优先级按降序排列)D&3.屏蔽技术(1)屏蔽触发器的作用MASK=0(未屏蔽)INTR能被置“1”1&&&1111INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ1DINTRMASKQCPU查询MASKi

=1(屏蔽)INTPi

=0(不能被排队

温馨提示

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

评论

0/150

提交评论