硬布线控制器控制的CPU设计
硬连线控制器CPU设计

目录目录 (i)摘要 (ii)Abstract (iii)第一章课题背景 (1)1.1 设计目的 (1)1.2 设计原理 (1)第二章设计简介及设计方案论述 (2)2.1 单元电路设计 (2)第三章详细设计 (4)3.1 芯片介绍 (4)3.2 指令系统结构及功能确定 (6)第四章设计结果及分析 (7)4.1 设计结果分析 (7)摘要硬连线控制器是由基本逻辑电路组成的,对指令中的操作码进行译码,并产生相应的时序控制信号的部件,又称组合逻辑控制器。
硬连线控制器由指令部件、地址部件、时序部件、操作控制部件和中断控制部件等组成(参见“中央处理器”条目中的控制器部分)。
其中操作控制部件用来产生各种操作控制命令,它根据指令要求和指令流程,按照一定顺序发出各种控制命令。
操作控制部件的输人信号有:指令译码器的输出信号、时序信号和运算结果标志状态信号等。
设计时根据指令流程、操作时间表得到各种操作控制命令的逻辑表达式,可采用由基本逻辑电路(与门、或门、与非门等)组成的逻辑网络来实现。
也可采用可编程逻辑器件PLD来实现。
PLD的“与”阵列及“或”阵列和操作控制命令的“与一或”逻辑表达式相对应,为设计组合逻辑控制器提供了一种理想器件。
80年代出现的通用阵列逻辑电路〔GAL与PAL(参见专用逻辑集成电路))具有与可编程逻辑器件PLD类似的结构,它不但可编程并且是可擦除的,为设计提供了更大的灵活性。
组合逻辑控制器的最大优点是速度快。
但因其线路复杂而且不规整,不便于调试、维护、修改,也不便于仿真不同的机器的指令集。
关键词:硬连线控制器;基本逻辑AbstractHard wired controller is composed of the basic logic circuits, decodes the instruction in the operation code, andproduce the corresponding sequential control signal components, also called combined logic controller. Hard wired controller by the instruction unit, address components, temporal parts, operation control part and the interrupt controlcomponents etc. (see "the controller part central processor" in entry). The operation control unit is used for generating various operation control command, it according to the instructions and instruction process, according to the order of the control commands issued. The operation of part of the control input signal: the instruction decoderoutput signals, timing signals and operation results indicating the status signal. The design according to theinstruction flow, operation schedule obtained logical expression of various operation control command, can beadopted by the basic logic circuits (and gate, or gate and NAND gate logic network composition etc.) to realize. Can also adopt the programmable logic device PLD to realize. PLD "and" and "or" array and array operation control command "and or" logical expression corresponding, providing an ideal device for the design of combinational logic controller. GAL and PAL generic array logic circuit (80 of the 1980s (see special logic integrated circuit)) withprogrammable logic device structure similar to the PLD, it is not only a programmable and erasable, provides more flexibility to design. The biggest advantage combinational logic controller is fast. But because of the circuit complex and irregular, not easy to debug, maintain, modify, also not easy for machines with different instruction set simulation.Keywords:Hard wired controller;basic logic第一章课题背景自1946年第一台电子计算机问世以来,计算机技术在元件器件、硬件系统结构、软件系统、应用等方面,均有惊人进步,现代计算机系统小到微型计算机和个人计算机,大到巨型计算机及其网络,形态、特性多种多样,已广泛用于科学计算、事务处理和过程控制,日益深入社会各个领域,对社会的进步产生深刻影响。
硬布线控制器(精)

由于采用同步工作方式,长指令和短指令对节拍时间的利用都是 一样的。这对短指令来讲,在时间的利用上是浪费的,因而也降 低了CPU的指令执行速度,影响到机器的速度指标。为了改变 这种情况,在设计短指令流程时可以跳过某些节拍。当然在这种 情况下,节拍信号发生器的电 路相应就要复杂一些。 节拍电位信号的产生电路与节拍脉冲产生电路十分类似,它 可以在节拍脉冲信号时序器的基础上产生,运行中以循环方式工 作,并与节拍脉冲保持同步。 3.微操作控制信号的产生 在微程序控制器中,微操作控制信号由微指令产生,并且可以重 复使用。在硬联线控制器中,某一微操作控制信号由布尔代数表 达式描述的输出函数产生。 设计微操作控制信号的方法和过程是,根据所有机器指令流程图 ,寻找出产生同一个微操作信号的所有条件,并与适当的节拍电 位和节拍脉冲组合,从而写出其布尔代数表达式并进行简化,然 后用门电路或可编程器件来实现。为了防止遗漏,设计时可按信 号出现在指令流程图中的先后次序书写,然后进行归纳和简化。 要特别注意控制信号是电位有效还是脉冲有效,如果是脉冲有效 ,必须加入节拍脉冲信 号进行相“与”。
显然,从指令流程图出发,就可以一个不漏地确定在指令周期中 各个时刻必须激活的所有操作控制信号 .例如,对引起一次主存 读操作的控制信号 C3来说,当节拍电位 M1=l,取指令时被激活; 而当节拍电位 M4=1,三条指令(LDA,ADD,AND)取操作数 时也被激活,此时指令译码器的 LDA,ADD,AND输出均为1, 因此 C3的逻辑表达式可由下式确定: C3=M1+M4(LDA+ADD+AND) 一般来说,还要考虑节拍脉冲和状态条件的约束 ,所以每一个控制 信号Cn=可以由以下形式的逻辑方程来确定 : Cn= (Mi·Tk·Bj· Im) 与微程序控制相比,组合逻辑控制的速度较快.其原因是微程序 控制中每条微指令都要从控存中读取一次,影响了速度,而组合 逻辑控制主要取决于电路延迟 .因此,近年来在某些超高速新型 计算机结构中,又选用了组合逻辑 . 2.指令执行流程 在用硬联线实现的操作控制器中,通常,时序产生器除了产生 节拍脉冲信号外,还应当产生节拍电位信号。因为在一个指令周 期中要顺序执行一系列微操作,需要设置若干节拍电位来定时。 例如前面提到的五条指令的指令周期,其指令流程可用下图来表 示。
中央处理器(2)-硬布线和流水线

(3)同种类型的指令所需要的控制信号大部分相同。 如:所有的算术逻辑运算指令仅在ALU的操作命令及 是否置状态位上不同,其他均完全相同。 (4)在确定指令操作码时,要认真做好分类。 例如,某机有128条指令,7位操作码(OP0~OP6),其中 有十六条算术逻辑运算指令,那么可以令这些指令的三 位操作码完全相等(例如OP0~OP2为001),而OP3~OP6 分别表示16条指令,设命令A是所有算术逻辑指令在cy2 周期中都需产生的,则: A=加法指令· cy2+减法指令· cy2+逻辑加指令 · cy2+…=(加法指令+减法指令+逻辑加指令+…)cy2= OP0· OP1· OP2· cy2
2.硬布线逻辑的实现途径
硬布线逻辑可用PLA(可编程逻辑阵列,地址与存储 区或均可编程)、PAL(可编程阵列逻辑,与可编程、 或不可编程、增加三态输出器件及记忆元件)、GAL (通用阵列逻辑,与或均可编程、输出逻辑宏单元) 或半定制电路门阵列(GA)来实现。
6.4.4 硬布线控制逻辑设计中的若干问题
6.4.3
硬布线控制器的组成
图6.26控制器总框图
1.程序计数器和中断控制逻辑
程序计数器的输入:有四种来源。 (1)开机后的reset信号,将PC置以初始地址; (2)顺序执行指令:由PC+1形成下一条指令地址; (3)转移:由ALU送来转移地址(通过ALU部件计 算有效地址) (4)外来中断请求信号:若CPU响应中断,则由 中断控制逻辑部件产生中断入口地址。
16
硬布线控制逻辑设计中的若干问题
1.指令操作码的代码分配 主要目标:简化控制部分的电路,减少延迟时间。 主要难点: (1)CISC不定长操作码的译码困难; (2)为后续升级系统预留指令位置困难。 2. 确定机器周期、节拍与主频 保证大部分指令在一个周期内完成,部分指令通过如 ‚ready”信号等方式来增加机器周期来完成。
北航 计算机组成原理 第五部分:CPU控制单元设计

IBMDR、MDRDB
DBMER、MERIB
31
2.3 数据通路设计 (11.内部数据缓存)
控制总线(CB) 数据总线(DB) 地址总线(AB)
MAR 内部总线(IB)
MER
MDR
R0 R1 R2 R3
CPU内部
D ALU A
C
存储器
❖ ALU结果保存:增加寄 存器A
PC
❖ ALU数据输入缓存:增 加寄存器D
❖MIPS:百万指令每秒
➢MIPS:Million Instruction Per Second ➢不同指令集的MIPS比较没有实际意义 ➢即使同一台机器,用不同的测试程序测出来的MIPS值也可能不一样。
❖MFLOPS:百万浮点数操作每秒
➢MFLOPS: Million Floating point Operations Per Second ➢可以比较不同机器的浮点运算能力, 但有局限性 ➢MFLOPS不仅和机器有关, 也和所用测试程序有关 ➢MFLOPS与整数. 浮点操作的比例有关
移量(16位)
19
2.2 模型机的指令系统
❖指令类型
➢ 传送类指令:MOV指令,16位或32位指令 ▪ 4种传送类型:立即数寄存器,寄存器寄存器,寄存器 存储器,存储器寄存器
➢ 运算类指令:算术和逻辑运算, 16位或32位指令,RR型指令或 RS型指令,4种类型(以加法运算为例) ▪ 立即数 + 寄存器 寄存器 ▪ 寄存器 + 寄存器 寄存器 ▪ 寄存器 + 存储器 寄存器 ▪ 寄存器 + 寄存器 存储器
➢ 转移类指令 ▪ 条件/非条件转移、转子程序:32位指令,采用相对寻址 ▪ 子程序返回:16位指令
➢ 其它指令:16位指令
计算机组成原理实验 硬布线控制器

采用硬布线控制器的顺序模型处理机设计与调试报告

目录本报告包括以下内容:1. 数据通路图2. 硬布线控制器逻辑模块图3. 硬布线控制器指令周期流程图4. 控制模块HDL语言源程序/原理图(包含说明和注释)5. 测试波形图(以WRM为例)6. 设计说明书7. 设计与调试小结8. 本组成员实验心得数据通路图说明:数据通路是将双端口存储器模块和双端口通用寄存器模块连接在一起形成的。
双端口通用寄存器(RF)由一个ispLSI1016实现,功能相当于四个八位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。
双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从右端口读出的通用寄存器,RD1、RD0用于选择从左端口读出的通用寄存器。
而WR1、WR0用于选择写入的通用寄存器。
LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。
左右端口分别与操作数暂存器DR1和DR2相连,RF的右端口通过三态门连接到数据总线DBUS上,因而RF中的数据可以直接通过右端口送到DBUS上。
DR1和DR2各由一片74LS273构成,用于暂存参与运算的数据。
ALU由两片74LS181构成,ALU的输出通过一个三态门发送到数据通路DBUS上。
双端口寄存器使用一片IDT7132(2048×8位),两个端口的地址输入A8-A10引脚接地,因此实际使用的存储容量为256字节。
左端口的数据输出端接在数据总线DBUS,右端口的数据输出接指令总线IBUS。
CEL#、LR/W#、OEL#控制左端口读写操作;CER#、RR/W#、OER#控制右端口读写操作。
CEL#为左端口片选信号,低电平有效;当CEL#=1时,禁止对左端口的读写操作;当LR/W#=0时,左端口进行读写。
OEL#的作用等同于三态门,当OEL#=0时,允许左端口读出的数据送到数据总线DBUS上;当OEL#=1时,禁止左端口的数据放到DBUS 上。
因此将OEL#写作RAM-BUS#。
控制器的功能和工作原理

控制器的功能和⼯作原理⽬录控制器的结构和功能控制单元的输⼊和输出硬布线控制器操作码译码器:把⼀个编码⼀种功能的形式转换成⼀根线对应⼀个功能关于机器周期:机器周期可看作所有指令执⾏过程中的⼀个基准时间。
通常以存取周期作为基准时间,即机器周期。
在存储字长等于指令字长的前提下,取指周期也可看作机器周期。
CPU的控制⽅式CPU的控制⽅式:产⽣不同微操作命令序列所⽤的时序控制⽅式1.同步控制⽅式:整个系统的所有控制信号均来⾃统⼀的时钟信号。
通常以最长的微操作序列和最繁琐的微操作作为标准(⽤最久的那个),采取完全统⼀的、具有相同时间间隔和相同数⽬的节拍作为机器周期来运⾏不同的指令。
同步控制⽅式的有点是控制电路简单,缺点是运⾏速度较慢。
2.异步控制⽅式:异步控制⽅式不存在基准时标信号。
各部件按⾃⾝固有的速度⼯作,通过应答⽅式进⾏联络。
异步控制⽅式的优点是运⾏速度快,缺点是控制电路⽐较复杂。
3.联合控制⽅式:对各种不同的指令的微操作实⾏⼤部分采⽤同步控制、⼩部分采⽤异步控制的办法。
安排微操作时序的原则原则⼀:微操作的先后顺序不得随意更改原则⼆:被控对象不同的微操作,尽量安排在同⼀个节拍内完成原则三:占⽤时间较短的微操作,尽量安排在⼀个节拍内完成,并允许有先后顺序取值周期两个微操作占⽤时间较短,根据原则三安排在同⼀个节拍间址周期执⾏周期中断周期中断周期的三个任务:1. 保存断点2. 形成中断服务程序的⼊⼝地址3. 关中断电路设计组合逻辑设计设计步骤:1. 列出操作时间表2. 写出微操作命令的最简表达式3. 画出逻辑图列出操作时间表微操作信号综合画出逻辑图微操作序列是必会的硬布线⼯作原理:微操作控制信号由组合逻辑电路根据当前的指令码、状态和时许,即使产⽣微程序微程序⼯作原理:事先把微操作控制信号存储在⼀个专门的存储器(控制存储器)中,将每⼀条机器指令编写成⼀个微程序,这些微程序可以存到⼀个控制存储器中,⽤寻址⽤户程序机器指令的办法来寻址每个微程序中的微指令。
第4章 CPU的设计方法及范例

非常简单CPU不具有应用价值,仅用来说明 设计过程。不过,只要我们能正确设计出只有4条 指令的CPU,就可以设计出拥有40条指令的CPU, 甚至更多·· ·。难道这样还有怀疑吗?当然不能期 望马上就有创新,但这个CPU是拥有自主知识产 权的。或者有些同学会这样想,我以后并非从事 硬件的工作,更不可能从事设计CPU的专业,我 也相信这是事实。但是,这绝对有利于我们掌握 计算机的工作原理,也有利于从事各种软、硬件 开发和计算机科学等领域的研究、教学工作。
图4.9 通用CPU的状态图
其实CPU就是一个复杂的有限状态机 【冯· 诺依曼机的理论是基于图灵(Turing) 机理论的,而图灵机就是一个有限状态 机】。通过确定状态及其对应的微操作, 就可明确CPU为了取数据(或指令),指 令译码和执行指令集中每一条指令所必须 要完成的步骤。 问题:什么是图灵机理论?
1966年美国计算机协会设立“图灵奖”,被视为计算机科学界的最高荣誉
它的“纸带”相当于作业薄,读写头相当于人的眼 睛、手、笔,对于输入集{x1,x2,…xn},r(i, 0)= xi,i= 1,2,..n相当于“抄题”,而映射f 的读写变换相当于人脑判断确定下一步的行为且 指挥手和笔如何去动作和书写。它高度概括地回 答了什么是运算,不但为计算复杂度理论提供了 研究工具,而且为20世纪50年代计算机的设计提 供了思想基础,即Moore机和Mealy机。【注:当 出现状态Sy或Sn时,即得到了Turing 机的运算结 论Yes或No,这时即S(t)∈{ Sy,Sn }时停机】
二、建立数据通路的原理和方法
1.存贮器数据通路的原理
2.CPU内部的数据通路(两种不同的方案)
三、CPU内部寄存器控制信号的定义和确定方法
2.决定每个部件应完成的功能(详见图4.14)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬布线控制器控制的CPU设计
&硬布线控制器控制的CPU设计步骤:
1、确定CPU用途;
2、设计指令集,同时,设计指令访问寄存器;
3、设计CPU状态图;
4、建立数据通路;
5、设计控制器。
&设计过程:
一.确定CPU用途:
CPU指令执行包括三个阶段:
1、取指令阶段:从存储器取出一条指令;
2、指令译码阶段:对取出的指令进行译码,即确定取到的指令是何种指令,然后转移到该种指令的执行阶段;
3、指令执阶段:执行指令。
指令执行完毕,又转移到下一条指令的取指令阶段,开始新一轮的循环。
CPU状态图二设计指令集:
执行
内存有32个存储单元,每个存储单元8位(一个字节);CPU有5根地址线,即A4、…、A0,8根
三.指令格式
指令格式
专用寄存器:
1、程序计数器PC:5位;
2、地址寄存器AR:5位,接地址总线A[4..0];
3、数据寄存器DR:8位,接数据总线D[7..0];
4、指令寄存器IR:8位;
5、程序状态字寄存器PSW:只有进位C一个标志值,可用C代表PSW。
三.设计CPU状态图
5.3.4 取指令和译码周期
5.3.5 取指令和指令执行过程
四.建立数据通路
数据通路:数据在各功能部件之间传送路径。
有两种数据通路设计方案:
1、专用数据通路方式:在需要传送数据的部件之间创建一条专门的直接通路 。
特点:数据传输性能高,但硬件设计量大。
2、内部总线方式:所有寄存器的输入端和输出端都连接到一条或多条公共通路上。
特点:结构简单,但可能存在冲突现象
控制信号说明
ARLD :AR 锁存信号 PCLD :PC 锁存信号
PC+1:PC 自加1控制信号 DRLD :DR 锁存信号 ACLD :AC 锁存信号
ALU(-):ALU 减法触发信号 IRLD :IR 锁存信号
PCBUS :PC 三态输出控制信号 DRBUS :DR 三态输出控制信号 ACBUS :AC 三态输出控制信号 IRBUS :IR 三态输出控制信号
MBUS :存储器三态输出控制信号 RD :存储器读信号 WR :存储器写信号
寄存器及总线设计
CPU 状态及其控制信号
T 4T T
五.
硬布线控制器结构方框图
硬布线控制器设计步骤:
1、确定指令系统,包括指令格式、功能和寻址方式;
2、根据指令系统的要求,确定数据通路结构及时序系统构成;
3、分析每条指令的执行过程,写出对应的微操作系列;
4、综合每个操作控制信号的逻辑表达式,化简和优化;
5、用逻辑电路实现。
操作控制信号
控制信号时间表
各控制信号逻辑表达式:
<1>.PCBUS=T1 < 2>.ARLD=T1+(SUB+LOAD+STORE)·T4 <3>.RD=T2+(SUB+LOAD)·T5 <4>.MBUS=T2+(SUB+LOAD)·T5
<5>.DRLD=T2+(SUB+LOAD)·T5 <6>.PC+1=T2
<7>.DRBUS=T3+(LOAD+STORE)·T6 <8>.IRLD= T3
<9>.IRBUS=T4 <10>.PCLD=(JMPC·C+JMP)·T4
<11>.ALU(+)=SUB·T6 <12>.ACLD=( SUB+LOAD)·T6
<13>.ACBUS=STORE·T5 <14>.aWR=STORE·T6
操作控制信号的逻辑实现图。