版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6 6章章控制器控制器控制器的功能控制器的功能计算机的功能是执行程序计算机的功能是执行程序程序是依次排列起来的指令代码程序是依次排列起来的指令代码 控制器的功能就在于控制器的功能就在于: : 正确地分步完成每一条指令规定的功能正确地分步完成每一条指令规定的功能, , 正确且自动地连续执行指令正确且自动地连续执行指令; ; 再进一步说,就是向计算机再进一步说,就是向计算机各功能部件各功能部件提供协提供协调运行调运行每条指令的每个步骤所需要的每条指令的每个步骤所需要的控制信号控制信号。每条指令的执行步骤每条指令的执行步骤读取指令读取指令指令地址送入主存地址寄存器指令地址送入主存地址寄存器读主存
2、,读出内容送入指定的寄存器读主存,读出内容送入指定的寄存器分析指令分析指令按指令规定内容执行指令按指令规定内容执行指令 不同指令的操作步骤数,不同指令的操作步骤数, 和具体操作内容差异很大和具体操作内容差异很大, , 检查有无中断请求检查有无中断请求若有,则响应中断并转中断处理若有,则响应中断并转中断处理若无,则转入下一条指令的执行过程若无,则转入下一条指令的执行过程形成下一条指令地址形成下一条指令地址R_RR_R类类读写内存类读写内存类输入输出类输入输出类其他类其他类 可能执行可能执行 一次或多次一次或多次 是一次读是一次读内存操作内存操作公共操作公共操作公共操作公共操作是每一条指令是每一条
3、指令的特定操作的特定操作控制器控制的各部件包括控制器控制的各部件包括运算器部件运算器部件主存储器部件主存储器部件总线总线控制器部件本身控制器部件本身控制器设计中的重点,控制器设计中的重点, 在于解决对在于解决对运算器、控制器的控制运算器、控制器的控制 !输入输入/ /输出接口(输入输出接口(输入/ /输出设备)输出设备)和和也包括也包括6-1 控制器的功能、组成与指令执行步骤控制器的功能、组成与指令执行步骤控制器的组成控制器的组成 存放指令内容 存放指令地址 指令执行步骤标记线路指明每条指令的各个执行步骤的相对次序关系,保证每条指令按设定的步骤序列依次执行。 控制信号提供线路依据操作码、执行步
4、骤(时刻)、状态信号等,来形成或提供本时刻各部件要用到的控制信号。两种不同类型的控制器两种不同类型的控制器 根据根据指令步骤标记线路指令步骤标记线路和和控制信号提供线路控制信号提供线路的的组成和运行原理的不同,有组成和运行原理的不同,有两种两种类型的控制器:类型的控制器:u 硬连线控制器硬连线控制器(组合逻辑控制器组合逻辑控制器): 依据依据指令指令及其执行及其执行步骤步骤通过通过电子线路电子线路直接直接产生产生控控制信号(生成法)制信号(生成法)u 微程序控制器微程序控制器:事先把所有控制信号组合事先把所有控制信号组合存放在存储器中存放在存储器中,再依,再依据指令执行步骤据指令执行步骤读出读
5、出要用到的信号组合(查表法)要用到的信号组合(查表法)两种控制器对比两种控制器对比组合逻辑组合逻辑微程序微程序相同点相同点功能、控制信号功能、控制信号不不同同点点控制信号控制信号生成部件生成部件实现方式实现方式直接用电路实现直接用电路实现事先将控制信号存储在事先将控制信号存储在控存,需要时再读出控存,需要时再读出步骤标记步骤标记实现方式实现方式节拍节拍下地址下地址性能性能性能好,扩展性、兼性能好,扩展性、兼容性差,多用于容性差,多用于RISCRISC性能差,扩展性、兼容性能差,扩展性、兼容性好,多用于性好,多用于CISCCISC控制信号控制信号形成部件形成部件节拍发生器节拍发生器Timing程
6、序计数器程序计数器PC.控制条件控制条件(如状如状态字、外部复态字、外部复位信号等位信号等)组合逻辑控制器的组成组合逻辑控制器的组成指令寄存器指令寄存器IR控制信号输出控制信号输出+1输入:输入:指令操作码、控制条件(如指令状态字、外部reset信号等)、指令步骤编码(节拍)输出:输出:全部控制信号主要解决的问题:主要解决的问题:节拍转换、控制信号生成一段小程序一段小程序若X10,则将X加10,否则不变。汇编程序如下:(假设X分配内存单元2010)A 2000MVRD R0,2010LDRR R1,R0MVRD R2,000ACMP R1,R2JRC EXIT(2008)ADD R1,R2EX
7、IT: RET2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00结束,结束,判中断判中断数据传送指令数据传送指令 MVRD R0,2010 形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) R0 (AR) (读内存读内存)执行执行当前当前PC=2000H AR PC PC PC + 12000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00数据加载指令
8、数据加载指令 LDRR R1,R0 形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) R1 (AR) (读内存读内存)执行执行当前当前PC=2002H AR R02000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00数据传送指令数据传送指令 MVRD R2,000A 形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR)执行执行当前当前PC=2003H AR PC PC PC + 12000:88
9、00 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00 R2 (AR) (读内存读内存)数据比较指令数据比较指令 CMP R1,R2形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) R1-R2,更新标志位,更新标志位执行执行当前当前PC=2005H2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00转移指令转移指令 JRC 2008形成下条指令地址形成下条指令地址
10、AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) PC PC +IRL执行执行当前当前PC=2006H2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00加法指令加法指令 ADD R1,R2形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) R1 R1 + R2执行执行当前当前PC=2007H2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:001220
11、08:8F00返回指令返回指令 RET形成下条指令地址形成下条指令地址 AR PC PC PC + 1取指取指 读主读主存:存:IR (AR) AR SP SP SP+1执行执行当前当前PC=2008H2000:8800 2010 2002:81102003:8820 000A2005:03122006:44012007:00122008:8F00 PC (AR)(读内存读内存)教学机控制器组成示意图教学机控制器组成示意图 I/O设备设备地地址址总总线线数数据据总总线线1 R5经经A送送AR, R5经经B+0+1(Cin提供提供) 送送B 读内存到读内存到IR:中指令送:中指令送 IR0FY取
12、取指指 I/O设备设备地地址址总总线线数数据据总总线线 AR PC PC PC+ 1 读主存:读主存: R9 (AR)D100FY执执行行 I/O设备设备地地址址总总线线数数据据总总线线1取取指指执执行行DADD R0,R1的执行过程与数据通路的执行过程与数据通路 R5经经A送送AR, R5经经B+0+1 (Cin提供提供) 送送B 读内存到读内存到 IR:(AR) IR B(R0)+A(R1)B(R0),存,存标志标志输入指令输入指令 IN 80 AR PC, PC PC + 1取令取令 读主读主存,存,IR (AR) R0 (AR)(读外设读外设)执行执行 AR I/O port I/O设
13、备设备地地址址总总线线数数据据总总线线 IO端口地址端口地址(在在IR地位字节地位字节)经经 ALU (D+0) 送送 AR,读外设读外设(串口串口) 并把并把 D+0 送送 R0执行执行D0 0IN 指令的执行过程与数据通路指令的执行过程与数据通路调用子程序指令调用子程序指令 CALA ADR AR PC, PC PC + 1取指取指 读主读主存,存,IR (AR) AR,SPSP-1执行执行 AR PC, PC PC + 1 读主读主存,存,Q (AR) (AR)PC(将将PC写入内存写入内存) PC Q扩展指令:扩展指令:LDRX DR,OFFSETSR AR PC, PC PC + 1
14、取令取令 读主读主存,存,IR (AR) DR (AR)(再次读内存,得到数据再次读内存,得到数据)执行执行 AR SR +(AR)(读内存,形成地址读内存,形成地址) AR PC, PC PC + 1划分指令执行步骤小结划分指令执行步骤小结l取令2步:PC (即R5) 先送到地址寄存器AR ,读指令在下一步完成;l算术逻辑运算在通用寄存器之间进行, 1步完成,因为寄存器组和 ALU 在同一芯片内,已通过 2 个锁存器连接好,ALU的计算结果直接送回寄存器组;l读写存储器,是在存储器与通用寄存器之间进行,2步完成,首先由ALU计算出数据的内存地址并送到AR ,读写数据在下一步完成;l读写入出接
15、口,是在接口与通用寄存器之间进行,2步完成,端口地址由指令低8位给出,要经过 ALU 送到AR,读写数据在下一步完成;l 2 次访问存储器的指令(如STRA)正常需4步完成,耍点花样可 3步完成。问题一:为什么要将划分指令执行步骤?划分步骤可以为后面确定各步骤所需要的控制信号做准备问题二:各指令的执行步骤有什么共性?虽然指令功能不同,但执行步骤只有几种:3步、4步、5步、6步;前两步均为取指,控制信号都相同。问题三:划分步骤以什么为依据?如取指2步可否合为1步?取指要分为两步是因为AR和IR不能同时接收。AR得到了存储器地址后,存储器读写要一个延时,如果IR和AR同时锁存,IR将得不到正确的内
16、容。所以步骤的划分是以寄存器先后锁存为依据的。确定不同的步骤所需要的控制信号,再根据指令的操作码,就可以发出相应的控制信号。可以用节拍发生器发出信号来区分和表示这些不同的步骤指令执行步骤划分依据指令执行步骤划分依据控制器应提供的运算器控制信号控制器应提供的运算器控制信号Y15Y0 用用16个指示灯显示结果个指示灯显示结果D15D0RAM15Q15RAM0Q0CinCyF=0OverF15运运 算算 器器 部部 件件(4 片片 Am2901)A30B30I86 用用16个数据开关提供输入数据个数据开关提供输入数据CZVSSSHSSTSCII53 I20SCI SSH A口口 B口口I86 I53
17、 I20 SST通过通过24位微型开关位微型开关 提供控制信号提供控制信号用用4个个指示灯显示状态指示灯显示状态Gal20V8Gal20V8 I/O设备设备地地址址总总线线数数据据总总线线D运算器、控制器运算器、控制器存储器、串行口存储器、串行口接口读接口读接口写接口写存储器读存储器读存储器写存储器写读写主存储器或读写主存储器或I/O接口控制接口控制对内存和对内存和 I/O接口的读写接口的读写 /MIO(0:有内存或串口读写,:有内存或串口读写,1:无):无) REQ (0:读写内存,:读写内存, 1:读写串行口):读写串行口) /WE (0:写操作,:写操作, 1:读操作):读操作)0 0
18、0 写内存写内存0 0 1 读内存读内存0 1 0 写串口写串口0 1 1 读串口读串口1 XX 无内存和串口的读写操作无内存和串口的读写操作读写主存储器或读写主存储器或I/O接口接口 对对主存储器主存储器读写的控制,分成两步:读写的控制,分成两步: 1. 传送传送主存地址主存地址,以选择读写存储单元;,以选择读写存储单元; 2. 给出读写命令,给出读写命令, 读操作时,把读出数据保存起来,读操作时,把读出数据保存起来, 写操作时,还要给出写入的数据。写操作时,还要给出写入的数据。 对对接口电路接口电路读写的控制,分成两步:读写的控制,分成两步: 1. 传送传送IO端口地址端口地址,以选择读写
19、芯片;,以选择读写芯片; 2. 给出读写命令,给出读写命令, 读操作时,把读出数据保存起来,读操作时,把读出数据保存起来, 写操作时,还要给出写入的数据。写操作时,还要给出写入的数据。内部总线数据来源控制内部总线数据来源控制 I/O设备设备地地址址总总线线数数据据总总线线D运算器、控制器运算器、控制器存储器、串行口存储器、串行口状态到内部总线状态到内部总线IR低低8位进位进入数据总线入数据总线从开关到内部总线从开关到内部总线ALU到内到内部总线部总线内存数据到数据总线内存数据到数据总线内部总线数据来源选择编码控制内部总线数据来源选择编码控制DC1DC1译码信号说明000/SWTOIB送外部数据
20、总线上的数据(可来自内存、外设、开关)到内部总线 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 恢复
21、原中断优先级101/INTN 接收新中断优先级110/EI 转义 用于开中断指令111/DI 转义 用于关中断指令控制器生成的控制信号汇总控制器生成的控制信号汇总控制运算器控制运算器 I86,I53,I20,A30,B30 SST20,SSH10,SCI10 共共24位位控制内存或控制内存或 IO 接口接口 MIO,REQ,WE 计计 3位位控制内部总线控制内部总线 DC1_20 计计 3位位控制专用寄存器接收控制专用寄存器接收 DC2_20 计计 3位位 总合计共总合计共 33 位位 计算机的设计者必须按照指令运行要求,为计算机的设计者必须按照指令运行要求,为每每条指令条指令的的每个执行步骤
22、每个执行步骤确定这确定这33位控制信号的正确位控制信号的正确值,值,为为0 还是还是 为为1,或是,或是 0/1 均可,即填写指令流程均可,即填写指令流程表,原理不难但却比较繁琐,容不得一点错误。表,原理不难但却比较繁琐,容不得一点错误。0000 无无 100 011 010 000 0101 0101 000 0100 011 0000010 关关 001 000 001 000 0000 0001 000 0000 001 0000011 00000000 100 001 011 000 DR SR 001 0000 000 000节拍节拍 操作码操作码 MRW I20 I86 I53 B
23、口口 A口口 SST SCISSH DC2 DC1指令步骤指令步骤及功能及功能MRW I2-I0来源来源I8-I0去向去向I5-I3功能功能ABSSTSCISSHDC1DC2PCARPC+1PC 无无0BFBAYR+SR5R5不变不变Cin=1无无无无AR收收存储器存储器IR 存储存储器读器读无无无无无无无无无无不变不变无无无无无无IR收收R0+R1R0无无ABFBR+SSRDR接收接收Cin=0无无无无无无ADD DR,SR的三个步骤所需的控制信号的三个步骤所需的控制信号指令步骤指令步骤及功能及功能MRW I2-I0来源来源I8-I0去向去向I5-I3功能功能ABSSTSCISSHDC1DC
24、2PCARPC+1PC无无0BF BA YR+SR5R5不变不变Cin=1无无无无AR收收读存储器读存储器 R9存储存储器读器读0DF BR+S-DR不变不变Cin=0无无送开关到送开关到内部总线内部总线无无MVRD DR,DATA 两步执行所需的控制信号两步执行所需的控制信号指令步骤指令步骤及功能及功能MRW I2-I0来源来源I8-I0去向去向I5-I3功能功能ABSSTSCISSHDC1DC2R9 AR无无0BF YR+S无无R9不变不变 Cin=0无无无无AR收收R2 存储存储器器存储存储器写器写ADF YR+SSR-不变不变 Cin=0无无ALU到内到内部总线部总线无无STRR DR
25、,SR 两步执行所需的控制信号两步执行所需的控制信号指令步骤指令步骤及功能及功能MRW I2-I0来源来源I8-I0去向去向I5-I3功能功能ABSSTSCISSHDC1DC2IR低低8位位AR无无0DF YR+S无无无无不变不变Cin=0无无无无AR收收读接口读接口R0接口接口读读0DF BR+S无无R0不变不变Cin=0无无开关到内开关到内部总线部总线无无IN 80 两步执行所需的控制信号两步执行所需的控制信号指令步骤指令步骤及功能及功能MRW I2-I0来源来源I8-I0去向去向I5-I3功能功能ABSSTSCISSHDC1DC2IR低低8位位+R5R5无无AD0 C 1F B或或F Y
26、R+SR5R5不变不变Cin=0无无无无无无JRC 2000 执行执行1步所需的控制信号步所需的控制信号已知:已知:1. 每条指令将用几步完成每条指令将用几步完成2. 所有指令步骤已划分好所有指令步骤已划分好3. 每条指令的每个步骤需要什么控制信号每条指令的每个步骤需要什么控制信号问:问:1. 由什么器件发出控制信号?由什么器件发出控制信号?-答:控制器答:控制器2. 控制器控制器依据依据什么什么发出发出怎样的怎样的控制信号?控制信号? 即:用什么方法使控制器在获得一条要执行的指即:用什么方法使控制器在获得一条要执行的指令后,就能发出正确的节拍和控制信号,使指令后,就能发出正确的节拍和控制信号
27、,使指令按节拍和控制信号就能完成?令按节拍和控制信号就能完成?控制器设计控制器设计控制信号生成线路控制信号生成线路(现场可编程的大规模集成电路,现场可编程的大规模集成电路,实现与实现与_或两级构成的组合逻辑)或两级构成的组合逻辑)全部控制信号全部控制信号(教学机教学机33个个)(分别用于各个部件分别用于各个部件)指出指令的功能,指出指令的功能,比如比如ADD, MVRR等等指出是哪一类指指出是哪一类指令的第几拍令的第几拍 节拍节拍发生器发生器时钟脉冲信号时钟脉冲信号CP指令的操作码指令的操作码OPcode某些控制信息,某些控制信息,如如Reset等等节拍的状态编码节拍的状态编码(教学机教学机T
28、0-T3共共4位位)输入输入输出输出节拍发生器的设计节拍发生器的设计节拍发生器的作用是用多位触发器的输出信号的不节拍发生器的作用是用多位触发器的输出信号的不同组合状态来标识每条指令的不同执行步骤同组合状态来标识每条指令的不同执行步骤节拍状态编码节拍状态编码l 教学机实现了教学机实现了29 条基本指令,目前使用了条基本指令,目前使用了 8 个节拍个节拍(不含中断响应步骤),因此,节拍发生器应至少使用(不含中断响应步骤),因此,节拍发生器应至少使用 4 位触发器(位触发器( 24 个节拍);个节拍);l 用用4个个触发器(触发器( T3 T2 T1 T0)不同的状态组合来区分每)不同的状态组合来区
29、分每一个节拍,例如,用一个节拍,例如,用T3 T2 T1 T0 =1000 来标识下一页图左来标识下一页图左上角的那个节拍。上角的那个节拍。l 节拍数和节拍状态的选定并不唯一。节拍数和节拍状态的选定并不唯一。遵循的原则是:尽遵循的原则是:尽量做到从当前节拍切换到下一个节拍时,只有一个触发器量做到从当前节拍切换到下一个节拍时,只有一个触发器的状态发生变化,或尽量使状态发生变化的触发器数目最的状态发生变化,或尽量使状态发生变化的触发器数目最少。少。作为教学用的计算机,以节拍关系更作为教学用的计算机,以节拍关系更清晰清晰、易理解易理解最最重要。重要。还要考虑有利于对写出的节拍发生器的逻辑表达式还要考
30、虑有利于对写出的节拍发生器的逻辑表达式的逻辑化简。的逻辑化简。 PC 0 AR PCPCPC+1 IR(AR)寄存器之间寄存器之间运算与传送运算与传送 读、写内存读、写内存 AR地址地址 AR地址地址 读、写内存读、写内存 或或 I/O 接口接口 读、写内存读、写内存 PC地址地址A组组B组组C组组D组组/ResetB、C、D组组10000000001000110110010001110101中断响应与处理中断响应与处理XXXX第第 2 次读写主存次读写主存读写主存或接口读写主存或接口取取指指ALU运算运算16 位机指令执行流程位机指令执行流程CALAADD SUB AND OR XORCMP
31、 TEST MVRRINC DEC SHL SHRJR JRC JRNC JRZ JRNZLDRR STRR PUSH POP PSHF POPF MVRDIN OUT JMPA RETPS(现现 态态 ) NS( 次次 态态 ) 转转 换换 条条 件件 T3 T2 T1 T0 T3 T2 T1 T0 1 0 0 0 C-M# /RESET 1 0 0 0 0 0 0 0 C-M# RESET 0 0 0 0 0 0 1 0 C-M# RESET 0 0 1 0 0 0 1 1 C-M# RESET A 0 1 1 0 C-M# RESET BCD 0 1 1 0 0 1 1 1 C-M# R
32、ESET C 0 1 0 0 C-M# RESET BD 0 1 1 1 0 1 0 1 C-M# RESET 0 1 0 0 0 1 1 1 C-M# RESET D 状态转移表状态转移表 按照状态转移表,写出对应的逻辑表达式,即按照状态转移表,写出对应的逻辑表达式,即反映反映每一个触发器每一个触发器的完整的的完整的状态转换序列状态转换序列的逻辑表的逻辑表达式:达式:(1 1)用一个用一个与项与项表明在一个节拍中该触发器状态为表明在一个节拍中该触发器状态为 1 1,参加与运算的元素是:,参加与运算的元素是: 前一节拍的前一节拍的 4 4个个触发器的状态触发器的状态值;值; 前一节拍进到本节拍
33、的前一节拍进到本节拍的限制条件限制条件,如指,如指令组或具体的一条指令等,也可能没有条件。令组或具体的一条指令等,也可能没有条件。(2 2)用用多个或项多个或项汇总所有节拍中该触发器的汇总所有节拍中该触发器的 “ “1”1”。节拍发生器的设计原理节拍发生器的设计原理P S(现现 态态 ) N S( 次次 态态 ) 转转 换换 条条 件件 T 3 T 2 T 1 T 0 T 3 T 2 T 1 T 0 1 0 0 0 C -M # /R E SE T 1 0 0 0 0 0 0 0 C -M # R E SE T 0 0 0 0 0 0 1 0 C -M # R E SE T 0 0 1 0 0
34、 0 1 1 C -M # R E SE T A 0 1 1 0 C -M # R E SE T B C D 0 1 1 0 0 1 1 1 C -M # R E SE T C 0 1 0 0 C -M # R E SE T B D 0 1 1 1 0 1 0 1 C -M # R E SE T 0 1 0 0 0 1 1 1 C -M # R E SE T D T2表达式为:表达式为:(:= 为时序逻辑赋值符为时序逻辑赋值符) T2 := C-M# * RESET * /T3 * /T2 * T1 * /T0 * /A + C-M# * RESET * /T3 * T2 * T1 * /T0
35、 * 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
36、* 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 * DPC 0AR PCPCPC+1IR(AR)寄存器之间寄存器之间运算与传送运算与传送
37、读、写内存读、写内存AR地址地址AR地址地址读、写内存读、写内存或或 I/O 接口接口读、写内存读、写内存 PC地址地址基本指令、扩展指令执行流程图基本指令、扩展指令执行流程图A组组B组组C组组D组组B C D 组组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*/
38、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* IR11T3 T2 T1 T0Reset节拍发生器的逻辑表达式节拍发生器的逻辑表达式0110
39、 11001110 100 011 010 000 0101 0101 000 0100 011 0000100 11001110 001 111 000 000 0000 0000 000 0000 000 0000111 11001110 100 011 011 001 0100 0000 000 0000 011 0000101 11001110 000 010 010 000 0101 0101 000 0000 000 0010110 10000010 100 111 001 000 0000 0000 000 0000 011 0100100 10000010 011 111 01
40、1 000 0000 0000 000 0000 000 0000011 00000111 100 100 011 000 DR SR 000 0000 000 0000011 00000000 100 001 011 000 DR SR 001 0000 000 000节拍节拍 指令操作码指令操作码 MRW I20 I86 I53 B口口 A口口 SST SCISSH DC2 DC10000 无无 100 011 010 000 0101 0101 000 0100 011 0000010 关关 001 000 001 000 0000 0000 000 0000 001 0001)设计指令
41、执行流程表; 流程表中,横向给出 33 位控制信号,每条指令的每个步骤分配一横行,并用指令操作码和节拍状态码指出是哪条指令的哪个节拍,在纵横交叉位置填写各控制信号的值。控制信号生成部件的设计控制信号生成部件的设计(1)ADD取指取指MVRRINCALA2 2)按流程表写出每一位控制信号的逻辑表达式;)按流程表写出每一位控制信号的逻辑表达式; 用用与项与项指明一位信号在流程表的一个横行中的指明一位信号在流程表的一个横行中的“1”1” 用用或或汇总该信号在各横行中的汇总该信号在各横行中的“1”1” 按按 和和写出每个控制信号的逻辑表达式写出每个控制信号的逻辑表达式3 3)编译得到的逻辑表达式,并写
42、入可编程芯片;)编译得到的逻辑表达式,并写入可编程芯片;4 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
43、&!IR14&!IR13&!IR12&IR11&IR9&!IR8;同理,可写出所有同理,可写出所有33个控制信号的逻辑表达式。个控制信号的逻辑表达式。写出控制信号逻辑表达式写出控制信号逻辑表达式(ABEL)当当1的个数远多于的个数远多于0的个数时,采用负逻辑可简化表达式:的个数时,采用负逻辑可简化表达式:如如I2I0 字段中的字段中的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&
44、!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);!I0 = (T= 0,0,1,0)# (T= 0,0,1,1)&M
45、VRR# (T= 0,1,1,0)&LDRR# (T= 0,1,0,0)&(STRR # PSHF # PUSH # OUT # POPF)先定义信号集合:先定义信号集合:T=T3,T2,T1,T0;IR=IR15,IR14,IR13,IR12,IR11,IR10,IR9,IR8;再定义各指令表达式:再定义各指令表达式:ADD=(IR=0,0,0,0,0,0,0,0); SUB=(IR=0,0,0,0,0,0,0,1); AND=(IR=0,0,0,0,0,0,1,0); OR=(IR=0,0,0,0,0,1,1,0);XOR_=(IR=0,0,0,0,0,1,0,0);CMP =(IR=0,
46、0,0,0,0,0,1,1); 简化逻辑表达式简化逻辑表达式则:则:A1= (T=0,0,1,1)&(ADD#SUB#AND#OR#XOR_#CMP#TEST#MVRR) &IR1 #(T=0,1,1,0)&(LDRR)&IR1 #(T=0,1,0,0)&(STRR#PUSH)&IR1;.也可再定义各节拍状态表达式:也可再定义各节拍状态表达式:ST0=(T=0,0,0,0);ST1=(T=0,0,0,1);ST2=(T=0,0,1,0);.则进一步简化:则进一步简化:A1=(ST3)&(ADD#SUB#AND#OR# XOR_#CMP#TEST#MVRR) &IR1 #(ST6)&(LDRR)
47、&IR1 #(ST4)&(STRR#PUSH)&IR1;.在教学计算机中扩展实现NOT指令,指令助记符:NOT Rn(1)确定指令所需步骤(取指和执行)(2)确定每一步骤所需的控制信号3步步节拍节拍 操作码操作码 MRW I20 I86 I53 B口口 A口口 SST SCI SSH DC2 DC10000 无无 100 011 010 000 0101 0101 000 01 00 011 0000010 关关 001 000 001 000 0000 0000 000 00 00 001 000 无无 0B FB R-S DR 0000 保持保持 00 00 000 0000011 001
48、01101 100 011 011 010 DR 0000 000 00 00 000 000(3)在ABEL文件中添加表达式如何增加如何增加NOT指令?指令?先添加:先添加: NOT=(IR=0,0,1,0,1,1,0,1);再修改相关控制信号:再修改相关控制信号:M = # (T=0,0,1,1 & NOT); .一个内存单元的数据和一个通用寄存器的内容相加,结果存入通用寄存器内。内存采用直接寻址,助记符:ADRA DR, ADR(1)确定指令执行步骤(2)确定每一步的控制信号增加内存和寄存器相加指令增加内存和寄存器相加指令 AR PC, PC PC + 1 读主读主存,存,IR (AR)
49、 D(来自内存来自内存)+ RnB AR PC,PC PC + 1 读主读主存,存,AR (AR)参考参考LDRA DR, ADR练习练习在教学计算机上实现下列指令:(1)内存单元(寄存器间接寻址)与通用寄存器相加,结果写回寄存器。(2)内存单元(寄存器间接寻址)与通用寄存器相加,结果写回内存。(3)两个内存单元(寄存器间接寻址)相加,结果写回其中一个内存单元。(4) 对R0的内容先减1,检查差是否为0,为0则顺序执行,否则条件相对转移到可以指令中指定的-128+127之间的一个地址。要求:确定指令格式和具体内容、划分指令执行步骤、确定每一步操作功能和各控制信号的取值,不能破坏无关的通用寄存器
50、的内容。利用利用ispLEVER进行进行ABEL编程编程1. 新建新建ABEL工程工程利用利用ispLEVER进行进行ABEL编程编程2. 双击器件图双击器件图标,更改器件标,更改器件类型为类型为iM4A5-128/64 利用利用ispLEVER进行进行ABEL编程编程3. 导入源文件或新建源文件导入源文件或新建源文件 :(1) Source菜单中的菜单中的Import命令命令(2) Source菜单中的菜单中的New命令命令 利用利用ispLEVER进行进行ABEL编程编程4. 编译源文件编译源文件(1) 选择选择.abl文件图标,则右侧当前源文件进程窗文件图标,则右侧当前源文件进程窗口中显
51、示所选择的源文件可进行的处理工作。口中显示所选择的源文件可进行的处理工作。(2) 双击双击Compile Logic任务项,即对源文件进行编任务项,即对源文件进行编译。如有语法错误,可根据错误提示进入文本编辑译。如有语法错误,可根据错误提示进入文本编辑器修改。如编译通过,系统会在器修改。如编译通过,系统会在Compile Logic任任务项前以绿色的务项前以绿色的“”标记。标记。利用利用ispLEVER进行进行ABEL编程编程5. 生成生成JEDEC编程文件编程文件(1)在左侧源文件窗口中点击器件图标,在右侧)在左侧源文件窗口中点击器件图标,在右侧窗口中双击窗口中双击JEDEC File任务项
52、。任务项。(2)完成后以红色的)完成后以红色的“”标记。若有警告信息,标记。若有警告信息,则以红色的则以红色的“!”标记,警告信息一般并不影响标记,警告信息一般并不影响JEDEC文件的使用。文件的使用。将将.jed文件写入文件写入MACH启动启动Lattice Semiconductor公司的公司的ispVM System软件,弹出软件,弹出主界面。主界面。(1)接好教学计算机上)接好教学计算机上MACH编程电缆,打开电源。编程电缆,打开电源。(2)通过主界面的)通过主界面的SCAN按钮找到编程器,如图所示。按钮找到编程器,如图所示。 将将.jed文件写入文件写入MACH(3)双击前面图中所找到的编程器件)双击前面图中所找到的编程器件im4A5-128/64,窗口,窗口显示如图所示,通过显示如图所示,通过Browse按钮选择已编译好的按钮选择已编译好的JED文件,文件,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津市遴选公务员考试试卷及答案
- 2022年1月福建省地理高中学生学业基础会考详细解析
- 浅析锚具式精轧螺纹钢筋复合抗浮锚杆的施工技术
- 2025-2030年漫画创作设计企业制定与实施新质生产力战略分析研究报告
- 智能汽车行业市场营销创新战略制定与实施分析报告
- 植物单倍体企业县域市场拓展与下沉战略分析报告
- 冻干乙型肝炎病毒诊断血球市场需求变化趋势与商业创新机遇分析报告
- 2025-2030年孕妇瑜伽工作坊行业深度调研及发展战略咨询报告
- 贵阳教师解读试题及答案
- 基础导游知识题库及答案
- 雨课堂学堂在线学堂云《运动与健康(山东)》单元测试考核答案
- 2026中国硅基负极材料产业化进程与锂电池性能提升评估
- 2026年高考作文备考之《给阿嬷的情书》素材
- 2026石家庄新天智慧能源有限公司招聘44人备考题库附答案详解(黄金题型)
- 统编版历史七年级下册第19课《清朝君主专制的强化》-教学课件
- 2026年南宁铁路局招聘80人(本科及以上学历)考试备考试题及答案解析
- 护理伦理学:患者权利与护士义务
- 博物馆展陈工程监理实施细则
- 2026年山东省科创集团有限公司权属企业招聘笔试历年难易错考点试卷带答案解析
- 2025年天津农商行招聘笔试真题及复习策略全面备考指南
- 2024年重庆市初中学业水平考试地理试卷试题真题(含答案详解)
评论
0/150
提交评论