版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章控制器本章知识点1.控制器的功能、控制器的主要组成2.从控制信号生成的角度,控制器分类,各自生成信号的方式3.硬连线控制器主要组成部件4.节拍发生器的作用是,节拍分配遵循的原则5.熟悉指令的执行各个步骤及控制器应产生的控制信号。6.硬连线控制器的特点1.控制器的功能计算机的功能是执行程序 程序是依次排列起来的指令代码
控制器的功能就在于:
正确地分步完成每一条指令规定的功能,
正确且自动地连续执行指令;再进一步说,就是向计算机各功能部件提供协调运行每条指令的每个步骤所需要的控制信号。2.控制器控制的各部件运算器部件主存储器部件总线控制器部件本身控制器设计中的重点,在于解决对运算器、控制器的控制!输入/输出接口(输入/输出设备)和也包括如何设计控制器?涉及的内容?3.控制器的设计(1)划分指令执行步骤,及每个步骤的具体操作功能;(2)确定在实现这些操作时,相关功能部件所需的控制信号;(3)选用何种逻辑线路、什么样的处理方案,向各部件提供控制信号。4.每条指令的执行步骤—读取指令
指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器—分析指令—按指令规定内容执行指令不同指令的操作步骤数,和具体操作内容差异很大,
—检查有无中断请求若有,则响应中断并转中断处理若无,则转入下一条指令的执行过程形成下一条指令地址R_R类读写内存类输入输出类其他类
可能执行一次或多次
是一次读内存操作公共操作公共操作是每一条指令的特定操作5.控制器的组成运算器Y15~Y0CZVSD15~D0…ARDRIRPCSPPSW运算器的控制信号+1时序、控制信号生成部件内部总线ABDBCB各寄存器的控制信号译码内存储器I/O接口+/-1控制器中主要的寄存器IR:存放现行指令,指令从存储器中取出。PC:存放指令在存储器中的地址,程序开始执行前,将起始地址(第一条指令地址)→PC,PC应具有寄存信息和计数两种功能。AR:保存当前CPU所访问内存单元地址或IO端口号。DR:暂时存放指令或数据:一条指令(来自内存),或一个数据字(来自或送往内存或外设)CPU与M、I/O之间信息传送的中转站,补偿速度差别在单累加器结构的运算器中,可兼作操作数寄存器PSW:指示程序工作方式、反映程序运行结果SP:栈顶指针寄存器控制器的组成①程序计数器PC
存放指令地址,有增量或接收新值的功能②指令寄存器IR
存放指令内容:操作码与操作数地址③指令执行步骤标记线路
指明每条指令的执行步骤和相对次序关系④控制信号产生线路给出计算机各功能部件协同运行所需要的全部控制信号主脉冲源与启停控制线路控制器组成和在整机中的地位在计算机硬件系统中,控制器处于指挥控制地位①②③④6.两种不同类型的控制器
根据时序、控制信号生成部件的组成和运行原理的不同,有两类控制器:硬连线控制器(组合逻辑控制器):依据指令及其执行步骤通过电子线路直接产生控制信号(生成法)微程序控制器:事先把所有控制信号组合存放在存储器中,再依据指令执行步骤读出要用到的信号组合(查表法)两种控制器对比组合逻辑微程序相同点功能、控制信号不同点控制信号生成部件实现方式直接用电路实现事先将控制信号存储在控存,需要时再读出步骤标记实现方式节拍下地址性能性能好,扩展性、兼容性差,多用于RISC性能差,扩展性、兼容性好,多用于CISC控制信号形成部件节拍发生器Timing程序计数器PC….控制条件(如状态字、外部复位信号等)7.组合逻辑控制器的组成指令寄存器IR控制信号输出+1输入:指令操作码、控制条件(如指令状态字、外部reset信号等)、指令步骤编码(节拍)输出:全部控制信号主要解决的问题:节拍转换、控制信号生成硬连线控制器由程序计数器PC、指令寄存器IR、节拍发生器Timer和控制信号产生部件CU4部分组成:PC用于提供待读出指令在主存储器中的地址;IR用于保存从主存储器中读出的指令内容;Timer用于给出并维护指令执行步骤的编码;控制信号产生部件用于依据指令内容(在IR中)和指令执行所处的操作步骤(Timer提供),用组合逻辑线路产生计算机本操作步骤中各个部件所需要的控制信号。指令执行步骤标记:节拍发生器一条指令的执行时间被称为指令周期,一个指令周期通常由几个CPU周期组成。指令的总体功能被分配在这几个CPU周期依次完成,每个周期完成指令的一部分功能。不同指令依据其功能的复杂程度,将使用不同数目的CPU时钟,会造成CPU周期有不同的衔接次序。为此需要设计专门的电路,实现时钟周期的切换和衔接。这个电路是用触发器构成的时序逻辑电路。有的计算机又把一个CPU周期划分几个更小的执行步骤,称其为节拍。也可以使一个CPU周期就是一个节拍,则可以把实现CPU周期转换的电路叫做节拍发生器(Timer/Timing)。教学计算机TEC-2000的指令是如何被执行的?执行步骤?各指令所需的控制信号?各指令在执行中如何协调多部件?一段小程序若X<10,则将X加10,否则不变。汇编程序如下:(假设X分配内存单元2010)A2000MVRDR0,2010LDRRR1,[R0]MVRDR2,000ACMPR1,R2JRCEXIT(2008)ADDR1,R2EXIT:RET2000:880020102002:81102003:8820000A2005:03122006:44012007:00122008:8F00结束,判中断数据传送指令MVRDR0,2010形成下条指令地址①ARPCPCPC+1取指②
读主存:IR(AR)④R0
(AR)(读内存)执行当前PC=2000H③ARPCPCPC+12000:88002010
2002:81102003:8820000A2005:03122006:44012007:00122008:8F00数据加载指令LDRRR1,[R0]形成下条指令地址①ARPCPCPC+1取指②
读主存:IR(AR)④R1(AR)(读内存)执行当前PC=2002H③ARR02000:88002010
2002:81102003:8820000A2005:03122006:44012007:00122008:8F00数据传送指令MVRDR2,000A形成下条指令地址①ARPCPCPC+1取指②
读主存:IR(AR)执行当前PC=2003H③ARPCPCPC+12000:880020102002:81102003:8820000A2005:03122006:44012007:00122008:8F00④R2
(AR)(读内存)数据比较指令CMPR1,R2形成下条指令地址①ARPCPCPC+1取指②
读主存:IR(AR)③
R1-R2,更新标志位执行当前PC=2005H2000:880020102002:81102003:8820000A2005:03122006:44012007:00122008:8F00转移指令JRC2008形成下条指令地址①ARPCPCPC+1取指②
读主存:IR(AR)③
PCPC+IRL执行当前PC=2006H2000:880020102002:81102003:8820000A2005:03122006:44012007:00122008:8F00加法指令ADDR1,R2形成下条指令地址①ARPCPCPC+1取指②
读主存:IR(AR)③
R1R1+R2执行当前PC=2007H2000:880020102002:81102003:8820000A2005:03122006:44012007:00122008:8F00返回指令RET形成下条指令地址①ARPCPCPC+1取指②
读主存:IR(AR)③
ARSPSPSP+1执行当前PC=2008H2000:880020102002:81102003:8820000A2005:03122006:44012007:00122008:8F00④
PC(AR)(读内存)8.指令执行步骤取指2步:①PC(此处为R5)→AR②从内存中读指令→IR执行若干步:算术逻辑运算在通用寄存器之间进行,1步完成,因为寄存器组和ALU在同一芯片内,已通过2个锁存器连接好,ALU的计算结果直接送回寄存器组;读写存储器,是在存储器与通用寄存器之间进行,2步完成,首先由ALU计算出数据的内存地址并送到AR
,读写数据在下一步完成;读写IO接口,是在接口与通用寄存器之间进行,2步完成,端口地址由指令低8位给出,经ALU送到AR,读写数据在下一步完成;
2次访问存指令正常需4步完成,有些指令可3步完成。问题一:为什么要将划分指令执行步骤?划分步骤可以为后面确定各步骤所需要的控制信号做准备问题二:各指令的执行步骤有什么共性?虽然指令功能不同,但执行步骤只有几种:3、4、5、6步;前两步均为取指,控制信号都相同。问题三:取指2步可否合为1步?划分步骤以什么为依据?取指要分2步是因为AR和IR不能同时接收。AR得到地址后,存储器或IO读写要一个延时;若IR和AR同时锁存,锁入IR的内容可能不正确。所以划分步骤是以寄存器先后锁存为依据的。确定不同的步骤所需要的控制信号,再根据指令的操作码,就可以发出相应的控制信号。可以用节拍发生器发出信号来区分和表示这些不同的步骤指令执行步骤划分依据9.TEC-2000控制器组成及数据通路
I/O设备地址总线数据总线1①R5经A送AR,R5经B+0+1(Cin提供)送B
②读内存到IR:中指令送IR0FYMVRDR0,2010取指过程数据通路①②取指
I/O设备地址总线数据总线③ARPCPCPC+1
④读主存:
R0(AR)D100FYMVRDR0,2010执行过程数据通路③④执行
I/O设备地址总线数据总线1取指执行DADDR0,R1的执行过程与数据通路R5经A送AR,R5经B+0+1(Cin提供)送B读内存到IR:(AR)→IRB(R0)+A(R1)→B(R0),存标志输入指令IN80①ARPC,
PCPC+1取令②
读主存,IR(AR)④R0(AR)(读外设)执行③ARI/Oport
I/O设备地址总线数据总线IO端口地址(在IR低位字节)经ALU(D+0)送AR,读外设(串口)并把D+0送R0执行D00IN指令的执行过程与数据通路调用子程序指令CALAADR①ARPC,
PCPC+1取指②
读主存,IR(AR)⑤AR,SPSP-1执行③ARPC,
PCPC+1④
读主存,Q(AR)⑥(AR)PC(将PC写入内存)PC
Q扩展指令:LDRXDR,OFFSET[SR]①ARPC,
PCPC+1取令②
读主存,IR(AR)⑤DR(AR)(再次读内存,得到数据)执行④ARSR+(AR)(读内存,形成地址)③ARPC,
PCPC+1依据各功能部件本身的组成和运行的控制需求来确定各部件所需要的控制信号10.各部件所需控制信号①控制器应提供的运算器控制信号Y15~Y0
用16个指示灯显示结果D15~D0RAM15Q15RAM0Q0CinCyF=0OverF15运算器部件(4片Am2901)A3~0B3~0I8~6
用16个数据开关提供输入数据CZVSSSHSSTSCII5~3
I2~0SCISSHA口
B口I8~6
I5~3
I2~0
SST通过24位微型开关提供控制信号用4个指示灯显示状态Gal20V8Gal20V8
I/O设备地址总线数据总线D运算器、控制器存储器、串行口接口读接口写存储器读存储器写②读写主存储器或I/O接口控制对内存和I/O接口的读写-MRQ/MIO(0:有内存或串口读写,1:无)
REQ(0:读写内存,1:读写串行口)
/WE(0:写操作,1:读操作)000
写内存001
读内存010
写串口011
读串口1XX
无内存和串口的读写操作读写主存储器或I/O接口
对主存储器读写的控制,分成两步:
1.传送主存地址,以选择读写存储单元;
2.给出读写命令,读操作时,把读出数据保存起来,写操作时,还要给出写入的数据。对接口电路读写的控制,分成两步:
1.传送IO端口地址,以选择读写芯片;
2.给出读写命令,读操作时,把读出数据保存起来,写操作时,还要给出写入的数据。③内部总线数据来源控制
I/O设备地址总线数据总线D运算器、控制器存储器、串行口状态到内部总线IR低8位进入数据总线从开关到内部总线ALU到内部总线内存数据到数据总线内部总线数据来源选择编码控制DC1DC1译码信号说明000/SWTOIB送外部数据总线上的数据(可来自内存、外设、开关)到内部总线001/RTOIB送ALU输出到内部总线,用于写内存、外设010/ETOIB送IRL到内部总线,用于提供
IO端口地址或相对转移的偏移量011/FTOIB送程序状态字到内部总线,用于PSHF
指令写程序状态字进堆栈100/101/16位机不用110/INTV送中断向量到内部总线,如响应中断时的中断处理程序首地址111NC无操作④专用寄存器接收的编码控制DC2DC2编码译码信号操作说明000NC
无寄存器接收数据001/GIR
指令寄存器接收010/16位机不用011/GAR
地址寄存器接收100/INTR
恢复原中断优先级101/INTN
接收新中断优先级110/EI
转义用于开中断指令111/DI
转义用于关中断指令控制器生成的控制信号汇总控制运算器I8~6,I5~3,I2~0,A3~0,B3~0SST2~0,SSH1~0,SCI1~0共24位控制内存或IO接口MIO,REQ,WE 计3位控制内部总线DC1_2~0 计3位控制专用寄存器接收DC2_2~0 计3位总合计共33
位计算机的设计者必须按照指令运行要求,为每条指令的每个执行步骤确定这33位控制信号的正确值,为0
还是为1,或是0/1均可,即填写指令流程表,原理不难但却比较繁琐,容不得一点错误。3.控制器的设计(1)划分指令执行步骤,及每个步骤的具体操作功能;(2)确定在实现这些操作时,相关功能部件所需的控制信号;(3)选用何种逻辑线路、什么样的处理方案,向各部件提供控制信号。已知:每条指令将用几步完成;所有指令步骤已划分好;每条指令的每个步骤需要什么控制信号。问:1.由什么器件发出控制信号?
---答:控制器2.控制器依据什么发出怎样的控制信号?
---答:节拍发生器和指令操作码控制器设计控制信号生成线路控制信号生成部件(线路)(现场可编程的大规模集成电路,实现与_或两级构成的组合逻辑)指令操作码节拍状态全部控制信号(教学机33个)(分别用于各个部件)条件码CZVS指出指令的功能,比如ADD,MVRR等指出是哪一类指令的第几拍
节拍发生器时钟脉冲信号CP指令的操作码OPcode某些控制信息,如Reset等节拍的状态编码输入输出11.节拍发生器的设计节拍发生器的作用是用多位触发器的输出信号的不同组合状态来标识每条指令的不同执行步骤节拍状态编码
教学机实现了29条基本指令,目前使用了8个节拍(不含中断响应步骤),因此,节拍发生器应至少使用4位触发器(24
个节拍);用4个触发器(T3T2T1T0)不同的状态组合来区分每一个节拍,例如,用T3T2T1T0=1000来标识节拍。节拍数和节拍状态的选定并不唯一。遵循的原则是:尽量做到从当前节拍切换到下一个节拍时,只有一个触发器的状态发生变化,或尽量使状态发生变化的触发器数目最少。作为教学用的计算机,以节拍关系更清晰、易理解最重要。还要考虑有利于对写出的节拍发生器的逻辑表达式的逻辑化简。PC0ARPCPCPC+1IR(AR)寄存器之间运算与传送
读、写内存
AR地址AR地址
读、写内存或I/O接口读、写内存
PC地址A组B组C组D组/ResetB、C、D组10000000001000110110010001110101中断响应与处理XXXX第2次读写主存读写主存或接口取指ALU运算16位机指令执行流程CALAADDSUBANDORXORCMPTESTMVRRINCDECSHLSHRJRJRCJRNCJRZJRNZLDRRSTRRPUSHPOPPSHFPOPFMVRDINOUTJMPARET状态转移表按照状态转移表,写出对应的逻辑表达式,即反映每一个触发器的完整的状态转换序列的逻辑表达式:(1)用一个与项表明在一个节拍中该触发器状态为1,参加与运算的元素是:
前一节拍的4个触发器的状态值;
前一节拍进到本节拍的限制条件,如指令组或具体的一条指令等,也可能没有条件。(2)用多个或项汇总所有节拍中该触发器的“1”。节拍发生器的设计原理T2表达式为:(:=为时序逻辑赋值符)T2:=C-M#*RESET*/T3*/T2*T1*/T0*/A
+C-M#*RESET*/T3*T2*T1*/T0*BD
+
C-M#*RESET*/T3*T2*T1*/T0*C+C-M#*RESET*/T3*T2*T1*T0+C-M#*RESET*/T3*T2*/T1*/T0*D写逻辑表达式+C_M#
*RESET*/T3*T2*T1*/T0T3:=C-M#*/RESETT1:=C-M#*RESET*/T3*/T2*/T1*/T0+C-M#*RESET*/T3*/T2*T1*/T0*A
+
C-M#*RESET*/T3*/T2*T1*/T0*(B+C+D)
+
C-M#*
RESET*/T3*T2*T1*/T0*C
+C-M#*
RESET*/T3*T2*/T1*/T0*DT0:=C-M#*RESET*/T3*/T2*T1*/T0*A
+
C-M#*
RESET*/T3*T2*T1*/T0*C
+C-M#*RESET*/T3*T2*T1*T0
+C-M#*
RESET*/T3*T2*/T1*/T0*DPC0ARPCPCPC+1IR(AR)寄存器之间运算与传送读、写内存AR地址AR地址读、写内存或I/O接口读、写内存
PC地址基本指令、扩展指令执行流程图A组B组C组D组BCD组10000000001000110110010001110101T3:=/ResetT2:=
Reset*/T3*/T2*T1*/T0*IR15
+
Reset*/T3*T2*T1*/T0
+
Reset*/T3*T2*/T1*/T0
*IR15*IR14*IR11
+
Reset*/T3*T2*T1*T0
T1:=
Reset*/T3*/T2*/T1*/T0
+
Reset*/T3*/T2*T1*/T0
+
Reset*/T3*T2*T1*/T0*IR15*IR14*/IR11
+
Reset*/T3*T2*/T1*/T0
*IR15*IR14*IR11
T0:=Reset*/T3*/T2*T1*/T0*/IR15+Reset*/T3*T2*T1*T0
+Reset*/T3*T2*T1*/T0*IR15*IR14*/IR11+Reset*/T3*T2*/T1*/T0*IR15*IR14*IR11T3T2T1T0Reset节拍发生器的逻辑表达式0000无1000110100000101010100001000110000010关001000001000000000000000000001000001100000000100001011000DR
SR0010000000000节拍操作码MRWI2~0
I8~6I5~3B口A口SSTSCISSH
DC2DC1指令步骤及功能MRWI2-I0来源I8-I6去向I5-I3功能ABSSTSCISSHDC1DC2PC→ARPC+1→PC无0BF→BA→YR+SR5R5不变Cin=1无无AR收存储器→IR存储器读-无写回---不变---IR收DR+SR→DR无ABF→BF→YR+SSRDR接收Cin=0无无无ADDDR,SR的三个步骤所需的控制信号指令步骤及功能MRWI2-I0来源I8-I6去向I5-I3功能ABSSTSCISSHDC1DC2PC→ARPC+1→PC无0BF→BA→YR+SR5R5不变Cin=1无无AR收读存储器→
DR存储器读D0F→BF→YR+S-DR不变Cin=0无送开关到内部总线无MVRDDR,DATA两步执行所需的控制信号011010001000100011010000010101010000100011000010010001000001111011000DR00000000000000000节拍操作码MRWI2~0
I8~6I5~3B口A口SSTSCISSHDC2DC1指令步骤MRWI2-I0I8-I6I5-I3ABSSTSCISSHDC1DC2DR→AR无0BF→YR+S无DR不变Cin=0无无AR收SR→存储器存储器写0AF→YR+SSR-不变Cin=0无Y→内部总线无其他一些指令各执行步骤所需控制信号STRR[DR],SR执行所需的控制信号(两步)IRL→AR无D0F→YR+S无无不变Cin=0无无AR收读接口→R0接口读D0F→BR+S无R0不变Cin=0无开关→内部总线无INPORT执行所需的控制信号(两步)JRCADR执行所需的控制信号(1步)IRL+R5→R5无DA0C1R+SR5R5不变Cin=0无无无C=1时即011,F→B,F→YC=0时即001,F→Y011011001110100011010000010101010000100011000010011001110001111000000000000000000000000000011111001110100011011001010000000000000011000010111001110000010010000010101010000000000001011010000010100111001000000000000000000011010010010000010011111011000000000000000000000000001100000111100100011000DRSR0000000000000001100000000100001011000DRSR0010000000000节拍指令操作码MRWI2~0
I8~6I5~3B口A口SSTSCISSHDC2DC10000无1000110100000101010100001000110000010关001000001000000000000000000001000……1)设计指令执行流程表;流程表中,横向给出33位控制信号,每条指令的每个步骤分配一横行,并用指令操作码和节拍状态码指出是哪条指令的哪个节拍,在纵横交叉位置填写各控制信号的值。12.控制信号生成部件的设计(1)ADD取指MVRRINCALA2)按流程表写出每一位控制信号的逻辑表达式;①用与项指明一位信号在流程表的一个横行中的“1”②用或汇总该信号在各横行中的“1”③按①和②写出每个控制信号的逻辑表达式3)编译得到的逻辑表达式,并写入可编程芯片;4)对设计结果进行调试、改错,直到运行正确。时序控制信号生成部件的设计(2)例如:MRW字段中的R信号(只在IN,OUT指令的第二拍中为1)已知:第二拍的编码为0100,
IN、OUT的操作码分别10000010、10000110故:R=!T3&T2&!T1&!T0&
IR15&!IR14&!IR13&!IR12&!IR11&IR9&!IR8#!T3&T2&!T1&!T0&
IR15&!IR14&!IR13&!IR12&IR11&IR9&!IR8;同理,可写出所有33个控制信号的逻辑表达式。写出控制信号逻辑表达式(ABEL)当1的个数远多于0的个数时,采用负逻辑可简化表达式:如I2~I0字段中的I0:!I0=!T3&!T2&T1&!T0#!T3&!T2&T1&T0&!IR15&!IR14&!IR13&!IR12&!IR11&IR10&IR9&IR8#!T3&T2&T1&/T0&IR15&!IR14&!IR13&!IR12&!IR11&!IR10&!IR9&IR8
#!T3&T2&!T1&!T0&IR15&!IR14&!IR13&!IR12&(!IR11&!IR10&IR9&IR8#!IR11&IR10&!IR9&!IR8#!IR11&IR10&!IR9&IR8#!IR11&IR10&IR9&!IR8#IR11&IR10&!IR9&!IR8)#!T3&T2&!T1&T0&IR15&IR14&!IR13&!IR12&IR11&IR10&IR9&!IR8写出控制信号逻辑表达式(ABEL)#(T==[0,1,0,1])&(CALA);!
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锅炉大件热处理工安全实践测试考核试卷含答案
- 有色金属强化熔炼工安全知识评优考核试卷含答案
- 搪瓷涂搪工风险评估模拟考核试卷含答案
- 动物疫病防治员班组考核知识考核试卷含答案
- 水生动物苗种繁育工岗前基础模拟考核试卷含答案
- 脱酚工教育竞赛考核试卷含答案
- 罐头食品加工工安全生产规范竞赛考核试卷含答案
- 水力发电运行值班员改进知识考核试卷含答案
- 2026 甘肃省临泽县流动式起重机(汽车吊)操作证考试参考题库-含答案
- 2026年中小学教师资格《综合素质》笔试真题解析卷(含答案)
- 国际空运货代知识培训课件
- DG-TJ08-2480-2025 建筑信息模型技术应用标准(民用建筑工程)
- 食品安全与消防安全培训课件
- SA8000-2026社会责任管理体系内审检查表完整内容
- 市政方向施工员培训课件
- 尊老敬老过重阳教学课件
- 华为ensp教学课件
- 客户维护的课件
- 2024年设备监理师真题与答案解析
- 防错漏装管理办法
- 第9课《天上有颗“南仁东星”》教学设计 2025-2026学年统编版八年级语文上册
评论
0/150
提交评论