《数字逻辑电路第八章.ppt》由会员分享,可在线阅读,更多相关《数字逻辑电路第八章.ppt(152页珍藏版)》请在三一办公上搜索。
1、第八章 数字系统设计,第八章 数字系统设计 Digital System Design,组合逻辑电路和时序逻辑电路只能完成某些特定的逻辑功能,属功能部件级。电路分析和设计是建立在真值表、卡诺图、逻辑方程式、状态表和状态图的工具基础上,主要依赖于设计者的的熟练技巧和经验,称“凑试法”。,若由功能部件级组成一个功能复杂、规模较大的数字系统时,虽然在理论上仍可以把它看成是一个大型时序逻辑电路,仍可以采用凑试法,但实际实现上很难、甚至无法达到完整地描述其逻辑功能。因为这种设计方法:原始、受限制最多、效率与效果均欠佳、局限性大。要用方框图、定时图、逻辑流程图、ASM图、MDS图等系统描述工具。,对数字系
2、统进行分析和设计时,通常把系统从逻辑上划分成控制单元CU和信息处理单元两大部分。其中:信息处理单元对信息进行不同的处理和传递,控制单元保证信息处理单元按规定的微操作序列处理数据。,控制单元不断生成和发送控制信号序列,控制信息处理单元不断地执行特定的操作;接收来自信息处理单元的状态信息,用以选择下一个需执行的操作。接收外来的控制信息,用以改变正在执行的操作序列。控制单元是区别数字系统与功能部件的标志。,8.1 数字系统的基本模型,8.1.1 信息处理单元的构成,状态信息表及操作表举例,8.1.2 控制单元CU的构成,将数字系统执行的复杂任务转化成一个操作和测试序列,称为“算法”。用控制单元产生与
3、操作序列相对应的控制信号序列,每一个控制信号控制信息处理单元执行与算法相关的一个操作。所以,控制单元的基本功能具体上是对指令流和数据流实施时间上和空间上的正确的控制。,8.1.2 控制单元CU的构成,控制单元的核心是时序电路,本质上是一个状态寄存器。状态寄存器主要有两个功能寄存控制单元的现态,生成次态。采用触发器作为状态寄存器的元件。存在着两种不同的控制单元实现方法:硬件逻辑方法用逻辑电路生成每一个微操作的控制信号;特点:速度高、动一发而动全身。微程序方法计算机的每一条指令的功能通过执行一个微指令序列(微程序)来实现的。设计好的微程序被固化在只读存储器中,这个存储器称为控制存储器。控制器按微程
4、序的执行步骤逐个发出控制信号。特点:速度低、但设计、修改及扩充容易。显然,采用不同的实现方法,将影响控制单元的组成和结构。在现代计算机控制器中,常常两者混用。,数字系统逻辑设计的基本步骤,第一步:确定系统的逻辑功能。设计者应对系统仔细分析、消化和理解,逐步明确其逻辑功能,输入、输出信号等内容。第二步:确定系统方案。这是设计工作中最困难、最有创造性的工作,设计者根据设计要求分析推演出信息处理的基本原理和可供选择的结构形式,因为可以采用不同的原理和方法实现某一逻辑功能。为此设计者要进行认真的比较和权衡,从中选取较为满意的方案。第三步:对系统进行逻辑划分。将系统按信息处理单元和控制单元划分为两大部分
5、,列出信息处理单元的说明,并用流程图等方法描述信息处理的算法(即控制单元的逻辑要求)。每个部分应具备基本独立的逻辑功能。逻辑划分和确定系统方案的过程要同时进行、相辅相成。,数字系统设计的基本步骤,第四步:设计信息处理单元和控制单元。定义要求信息处理单元必须执行的处理和操作,列出操作表;提出实现的算法,确定控制单元必须保存的、或产生的状态及状态之间的转换关系;由系统的控制状态、信息处理单元产生的状态信息和要求生成的控制信号建立控制单元的状态转换表;根据信息处理单元的操作表和状态信息、控制单元的状态转换表,进行逻辑设计。选择逻辑功能部件,如SSI、MSI、LSI等,进行合理连接,构成严格能协调工作
6、的系统。,8.2 数字系统设计的描述工具,8.2.1 方框图设计系统首先应当建立模型,方框图是描述模型最常用、最重要的工具。方框图不涉及过多的技术细节,直观易懂,具有:结构化设计系统结构清晰和易理解性,易构思设计等在方框图中:每一个方框定义了一个信息处理、存储或传递的子系统(或模块);方框内用文字、表达式、例行符号、图形表示该模块的名称或主要功能;方框之间用指向线相连,表示模块之间的数据流或信息流的信息通道及方向,连线旁的文字或符号是通道的名称、功能或信息类型。方框图的设计过程:自顶而下、逐步细化。,例 一个智能仪表的方框图。,(a),上例设计的这种结构框图,其任何一处的功能修改和扩充均涉及全
7、局,而且总控制器的设计将十分复杂。,若采用总线结构,则该智能仪表的方框图如下:,同一种功能的数字系统,可以设计出不同的结构,在总体结构设计中,任何设计优化的考虑都要比物理实现阶段中的技术优化产生大得多的效益,这是系统设计过程中最具创造性的工作。,8.2 数字系统设计的描述工具,8.2.2 定时图(时序图、时间关系图)在数字系统中,信息的传送、处理或存储都是在特定时间意义上的操作,是按照严格的时序进行协调和同步的。系统各模块之间,模块内部各功能部件之间、各功能部件内部的各逻辑门电路或触发器之间,输入信号、输出信号和控制信号的对应关系及特征,通常用时序图来描述。,时序图的描述也是一个逐步细化的过程
8、。从描述系统输入、输出之间的定时关系的简单时序图开始,随著系统设计的不断深入,时序图将不断地反映新出现的系统内部信号的时序关系,直到最终一个完整的时序图。,例 交通灯控制系统:要求N、S绿灯常亮,E、W红灯常亮,关注各信号:电平/脉冲、同步/异步,8.2.3 逻辑流程图,也称流程图,它用约定的几何图形(矩形、菱形、椭圆形等)、指向线和简练的文字说明,描述系统的基本工作过程。,逻辑流程图的描述对象是控制单元,并且以系统时钟来驱动整个流程。这一点与由事件驱动的软件流程图不同。,1、基本符号,用三种符号:矩形状态框、菱形判别框、椭圆形条件框。,1、基本符号,状态框表示系统必须具备的状态,判别框及条件
9、输出框不表示状态,只表示某状态框在不同的输入条件下的分支出口及条件输出,即用一个状态框及若干个判别框或条件输出框,组成一个状态单元。,如果在某状态下的输出与输入无关,即 Moore 型输出,则该状态输出可标注在状态框旁的状态输出表中,且这个状态单元必定不包括条件输出框。,z1 表示进入状态state,输出z1 有效。z2 表示进入状态state,输出z2 无效。z3 表示进入状态state,输出z3 有效,并在退出状态state,输出z3 无效。,1、基本符号,如果在某状态下的输出与输入有关,即 Mealy 型输出,则该状态输出要标注在菱形判别框下的椭圆形条件框旁的状态输出表中。,z1 表示进
10、入状态,z1 有效。z2 表示进入状态,z2 无效。z3 表示进入状态,z3 有效,并在退出状态,z3 无效。,3、逻辑流程图的应用,例 设计一个十字路口交通灯控制系统。这个例子来自美国加洲美丽之城太阳谷Sunnyvale市,其十字路口的交通灯控制器经过了仔细设计,以使得汽车在十字路口的等待时间最小化。这个经市政部门认可的交通灯管理系统,后应用于芝加哥。该系统使用了一个 1Hz 的时钟和三个计数器,以及 4组传感装置,下面是示意图。,逻辑流程图的描述过程是一个逐步细化(深化)的过程。它既便于设计者发现和改进信息处理过程中的错误,又是后续电路设计的依据。,加洲太阳谷的一个十字路口的交通灯传感器和
11、信号,若 EW及NS均有车,则 EW每次通行 60秒(绿灯),NS每次通行40秒(绿灯),EW、NS轮流放行;若 仅有一个通道有车,则禁止无车通道(红灯);若 两通道均无车,则NS禁止,EW 放行;若 通道转换时,两通道均需停车3秒(黄灯)。,例 设计一个十字路口交通灯控制系统。,设:东西道(EW)为主道,南北道(NS)为副道。,框图,变量定义,若 EW及NS均有车,则 EW每次通行 60秒(绿灯),NS每次通行40秒(绿灯),EW、NS轮流放行;若 仅有一个通道有车,则禁止无车通道(红灯);若 两通道均无车,则NS禁止,EW 放行;若 通道转换时,两通道均需停车3秒(黄灯)。,例 设计一个十
12、字路口交通灯控制系统。,设:东西道(EW)为主道,南北道(NS)为副道。,框图,变量定义,若 EW及NS均有车,则 EW每次通行 60秒(绿灯),NS每次通行40秒(绿灯),EW、NS轮流放行;若 仅有一个通道有车,则禁止无车通道(红灯);若 两通道均无车,则NS禁止,EW 放行;若 通道转换时,两通道均需停车3秒(黄灯)。,例 设计一个十字路口交通灯控制系统。,设:东西道(EW)为主道,南北道(NS)为副道。,框图,变量定义,系统配有三个3秒、40秒和60秒的定时器,如下:,定时器在系统中起到时间节拍指挥的作用,各部件均按照统一的时间节拍协调地工作。,十字路口交通灯控制器逻辑框图,a.粗框图
13、,若 EW及NS均有车,则EW每次通行 60秒(绿灯),NS每次通行40秒(绿灯),EW、NS轮流放行;若 仅有一个通道有车,则禁止无车通道(红灯);若 两通道均无车,则NS禁止,EW 放行;若 通道转换时,两通道均需停车3秒(黄灯)。,十字路口交通灯控制器逻辑框图,a.粗框图,b.细框图,十字路口交通灯控制器逻辑框图,a.粗框图,b.细框图,十字路口交通灯控制器逻辑框图,a.粗框图,b.细框图,十字路口交通灯控制器逻辑框图,a.粗框图,b.细框图,十字路口交通灯控制器逻辑框图,a.粗框图,b.细框图,十字路口交通灯控制器逻辑流程图,c.标注输入输出及信号名的逻辑细框图(Moore型),十字路
14、口交通灯控制器逻辑流程图,c.标注输入输出及信号名的逻辑细框图(Moore型),3、从状态图得到逻辑流程图,逻辑流程图上的一个状态框及若干个判别框或条件输出框所组成一个状态单元对应了状态图上的一个状态和它的输入输出。,如果某状态的输出与输入有关(Mealy型),则逻辑流程图中对应的状态单元必定包括有条件输出框;如果某状态的输出与输入无关(Moore型),则逻辑流程图中对应的状态单元必定没有条件输出框。,8.2.4 ASM图,逻辑流程图是数字系统中使用得最广泛的一种非形式化的描述工具,但它的规范性不够。经过不断改进,将流程图改造成描述数字系统硬件的形式化工具算法状态机图ASM(Algorithm
15、ic State Machine Charp)。ASM图是形式化描述数字系统的流程图,是按照一组简单和明确的规则绘制的。在时序电路的ASM图中,每一个状态由一个ASM块来表示。一个ASM块是一种小型的符号化结构图形,由它指出了当前状态、它的输出和次态的条件。一个时序数字系统的所有状态的ASM块,按照一定的顺序联结成一个网状结构,由此产生的ASM图可用来精确地描述系统所具有的功能。,1、基本符号,一个ASM块至多包含三种不同类型的符号:矩形状态框、菱形判别框和条件输出框。注意图的标注(左边)与流程图的(右边)不同。,其中:状态编码为该状态下的触发器值。,1、基本符号,一个ASM块至多包含三种不同
16、类型的符号:矩形状态框、菱形判别框和条件输出框。注意图的标注与流程图的不同。,其中:框内的输入条件为布尔表达式。,1、基本符号,一个ASM块至多包含三种不同类型的符号:矩形状态框、菱形判别框和条件输出框。注意图的标注与流程图的不同。,条件输出框的输入总是来自判别框,由这个判别框给出了输出所需要的条件,即在某一状态下,某个输出变量是输入变量的函数,就在条件输出框中填入条件满足时产生的输出。,2、由逻辑流程图转换成ASM图,ASM图可以直接送入计算机辅助逻辑设计系统,由该系统自动完成控制单元的设计。逻辑流程图可以很容易地转换成ASM图。,在ASM图中,所有的当前状态下的Moore型有效输出都应列在
17、状态框内;所有的当前状态下的满足输入条件的Mealy型有效输出都应列在条件输出框内。,十字路口交通灯控制器ASM图,十字路口交通灯控制器ASM图,十字路口交通灯控制器ASM图,3、应用ASM图进行数字系统中控制器的设计,主要步骤:(1)按设计要求写出问题说明。(2)定义输入、输出信号并用助记符表示。(3)将问题说明转换成详细逻辑流程图。(4)将详细逻辑流程图转换成ASM图。(5)从ASM图得到状态转换表。(6)由状态转换表得到次态方程式,从ASM图列出输出函数表达式。(7)按照次态方程式及输出函数表达式,画出控制器逻辑电路图。,4、状态转换表达式表,按照ASM图中的每一个ASM块中判别框和条件
18、输出框内标注的有效输入,列出状态转换表达式表,如下:,4、状态转换表达式表,按照ASM图中的每一个ASM块中判别框和条件输出框内标注的有效输入,列出状态转换表达式表,如下:,4、状态转换表达式表,按照ASM图中的每一个ASM块中判别框和条件输出框内标注的有效输入,列出状态转换表达式表,如下:,4、状态转换表达式表,按照ASM图中的每一个ASM块中判别框和条件输出框内标注的有效输入,列出状态转换表达式表,如下:,4、状态转换表达式表,按照ASM图中的每一个ASM块中判别框和条件输出框内标注的有效输入,列出状态转换表达式表,如下:,4、状态转换表达式表,按照ASM图中的每一个ASM块中判别框和条件
19、输出框内标注的有效输入,列出状态转换表达式表,如下:,4、状态转换表达式表,5、状态转换表,由状态转换表达式表合并成状态转换表,如下:,十字路口交通灯控制器状态转换表,十字路口交通灯控制器次态方程式,由于次态为 Sn+1=S(转换条件表达式),由前表可得到次态方程式并化简为:,此方程也称为次态Qn+1的转移方程,包含有转换条件表达式。,十字路口交通灯控制器次态方程式,选用D触发器构成的控制系统,次态 Qn+1=D则可直接写出控制函数:,由ASM图可直接写出输出函数表达式,由ASM图可直接写出输出函数表达式,可选用D触发器或JK触发器及门电路构成控制系统。,十字路口交通灯控制器逻辑框图,ASM图
20、的特点,ASM图为时序电路系统提供了形式化描述方法。在ASM图中,每个状态框仅有一个出口(分支由判断框提供),保证了无二义性,且自动满足闭合性和完整性。由于每个ASM块只能描述系统的一个状态,对于计算机和类似的复杂数字系统来说,仅仅采用ASM图作为硬件的描述工具是不够的,因此,需要一种功能更强的形式化工具来描述和定义数字系统中的操作和实现这些操作的硬件结构。寄存器传送语言(RTL)就是这种形式语言之一。,8.3 寄存器传送语言,寄存器传送语言(RTL)是一种用以描述数字系统各种设备以及它们之间相互连接和相互关系的形式语言。这是一种硬件描述语言,可以直接对操作过程和系统进行描述,并可由此得到系统
21、的硬件结构。,寄存器传送语言中的 各种符号 和 表达式 都要与 执行所述微操作的 寄存器 和其他逻辑部件相对应,一旦脱离了具体的寄存器和其他逻辑部件,这些符号和表达式便失去了它的意义。,目前,存在着各式各样的寄存器传送语言,尚无统一的规范和标准,此节只介绍一种最简便的寄存器传送语言。,用寄存器传送语言描述数字系统时,寄存器的涵义是广泛的,它包括了所有形式的寄存器:如 移位寄存器 计数器 存储器 等。计数器可看作具有使存储着的信息进行加、减和移位功能的寄存器;存储器可以看作是存储信息的寄存器集合。这样,任何形式的时序电路都被看作寄存器。,这种寄存器传送语言的语句通常包括 控制功能和微操作表其中:
22、控制功能确定了控制条件和微操作的时序,微操作表确定了对存储在寄存器中的信息所进行的基本操作。,控制功能可以由定时信号组成,也可以根据以前的操作结果决定。当控制信号为某一个二进制状态时,就启动某个操作,而为另一个状态时,则禁止这种操作。,数字系统中最常见的微操作有:寄存器传送微操作 算术微操作 逻辑微操作 移位微操作对存储在寄存器中的信息所进行的微操作与数据的类型有关。计算机常用的信息有数字数据、非数字数据及其他控制信息。,8.3.1 最简便的寄存器传送语言,1、寄存器传送操作,对寄存器所存信息的加工和存储称为寄存器传送操作。在数字系统中,寄存器一般用大写字母(有时还加上数字)表示。例:如下图,
23、用符号A,B,R1,R2,MAR等表示寄存器。如果寄存器有n位,则寄存器的各触发器按从左到右(或从右到左)依次编号。,寄存器框图,例1.传送语句 A B A:目标寄存器 B:源寄存器(信息传送完成后,A、B内容相同),表示寄存器传送的基本符号,注:MAR通常表示为存储器的地址寄存器。,例3.使同一目标寄存器接收来自两个源寄存器的信息传送语句,T1:C AT2:C B注意:这个语句说明控制函数T1、T2是互斥的。电路实现如下:,用字母M表示存储器,字母M后面的方括号则指明给定地址的存储器。功能:信息可以从存储器读出,也可以将信息写入存储器。例如:,W:MMAR MBRR:MBR MMAR,例4.
24、寄存器与存储器的信息传送语句,2、算术操作 寄存器 之间的算术微操作,如加、减、取反等。,基本算术微操作,例1.相加操作语句 T3:A A+B,表示加法操作,将寄存器A的内容和寄存器B的内容相加,结果送到寄存器A。实现这行语句需要A、B两个寄存器,以及执行加法运算的逻辑部件(如并行加法器),其逻辑框图如下:,例2.相减操作语句 T3:A A+B+1,表示加法操作,将寄存器A的内容和寄存器B的补码相加,这是一个减法微操作,运算结果送到寄存器A。实现这行语句需要A、B两个寄存器,以及执行补码加法运算的逻辑部件,其逻辑框图如下:,变 补,3、逻辑操作 对寄存器内的每一位信息进行的二进制微操作,因此这
25、每一位信息当作一个二进制变量来处理。,逻辑微操作,例.T1 T2:A A B,C DE,表示:控制功能为两个控制变量 T1、T2相“或”。当T1 T2=1时,寄存器A和B的内容相加,结果送寄存器A,而寄存器D和E的对应位相“或”,结果送寄存器C。符号“”有两种涵义,当它在微操作中出现时,表示 算术加微操作;当它在控制功能中出现时,表示“或”操作。,4、移位操作 在寄存器之间数据的移位微操作,也可以表示算术、逻辑微操作和控制功能。,移位微操作,例1.W1:A ShlA W2:B ShrB当寄存器右移时,最左边的触发器从串行输入端接收信息,当寄存器左移时,最右边的触发器从串行输入端接收信息。符号S
26、hl和Shr并没有对串行输入信息作出说明,必须用另一个微操作来确定。,例2.W3:A ShlA,A1 An 表示寄存器A循环左移,移位时,将最左边的触发器An中的信息送入最右边的触发器A1。,例1.W1:A ShlA W2:B ShrB当寄存器右移时,最左边的触发器从串行输入端接收信息,当寄存器左移时,最右边的触发器从串行输入端接收信息。符号Shl和Shr并没有对串行输入信息作出说明,必须用另一个微操作来确定。,例3.W4:B ShrB,Bn E 表示寄存器B循环右移,移位时,将触发器E的一位信息送入最左边的触发器Bn。,5、条件控制语句 P:if(条件)then(微操作1)else(微操作2
27、),表示:当控制函数 P=1 时,如果 if 后面括号内的 条件满足,则,执行 then 后面括号内的微操作1,否则,执行else后面括号内的微操作2。,例 串行加法器的逻辑框图如下所示,使用寄存器传送语言描述图示的串行加法器的工作。,串行加法器的逻辑框图,设:寄存器A中的被加数 U=un un-1 u2 u1 寄存器B中的加数 V=vn vn-1 v2 v1,工作过程:置进位触发器C的初始状态C0为0;当第一个时钟信号T1作用时,全加器完成最低位u1和v1相加,并将和数S1送入寄存器的最高位A,寄存器A和B同时右移一位;,例 串行加法器的逻辑框图如下所示,使用寄存器传送语言描述图示的串行加法
28、器的工作。,串行加法器的逻辑框图,当寄存器A和B右移一位后,送到全加器的是被加数A和加数B的新的最低位u2和v2,若此次运算有进位C1发生,则进位触发器C置为1。,当第二个时钟信号T2作用时,全加器完成u2、v2和进位C1相加,和数S2送入寄存器的最高位A,寄存器A和B又同时右移一位,并将新的进位C2送入触发器C。,例 串行加法器的逻辑框图如下所示,使用寄存器传送语言描述图示的串行加法器的工作。,串行加法器的逻辑框图,这样,通过寄存器移位、整个串行相加过程,使全加器依次对被加数和加数的每一位ui、vi连同前一位的进位Ci-1逐位相加。,用寄存器传送语言描述整个串行加法器的工作,微操作序列:,串
29、行加法器的逻辑框图,T1:An A1B1C0,C(A1B1)(A1C0)(B1C0)A ShrA,B ShrB,Bn 0T2:An A1B1C0,C(A1B1)(A1C0)(B1C0)A ShrA,B ShrB,Bn 0Tn:An A1B1C0,C(A1B1)(A1C0)(B1C0)A ShrA,B ShrB,Bn 0,8.3.2 基本数字系统设计举例,下面通过例子介绍信息 处理单元和控制单元的设计方法。,例1.试设计一个累加器,该累加器能执行如下表所列出的一组微操作。,注:累加器是信息处理单元中一个特殊的寄存器,它能执行多种微操作功能:加法微操作、逐次累加并暂存累加和、并行接收、并行输出、暂
30、存、移位,这些控制变量是互斥的,累加器的结构,累加器由寄存器A和组合逻辑电路组成,如下框图:,寄存器A既可作为加数寄存器,又可作为和数寄存器。决定累加器微操作的各个控制变量是互斥的,在任何给定时间内只有一个控制变量被选通,产生相应的微操作。,累加器的结构,为简化累加器的设计,假设:累加器由n个相同的单元组成,每个单元包含了执行各种微操作所需的逻辑电路,只要完成一个单元的各部分电路设计,就可以将它们综合成累加器的一个典型单元,然后用若干个典型单元组成一个完整的累加器(迭代设计)。,累加器的一个典型单元的设计,1.“加”微操作这部分电路的工作用状态真值表描述如下:,假如寄存器A采用JK 触发器,则
31、列出的激励表如下:,累加器的一个典型单元的设计,1.“加”微操作JK 触发器的“加”微操作的激励表如下:,用卡诺图化简,则如下:,累加器的一个典型单元的设计,1.“加”微操作JK 触发器的“加”微操作的激励表如下:,累加器的一个典型单元的设计,1.“加”微操作激励函数 Ji、Ki 和输出函数 Ci 的表达式:,累加器的一个典型单元的设计,1.“加”微操作激励函数 Ji、Ki 和输出函数 Ci 的表达式:,由于“加”微操作是由控制变量P1启动的,即仅当P1=1时激励函数才能影响触发器的状态:,累加器的一个典型单元的设计,2.“清 0”微操作,控制变量P2使寄存器A中所有触发器全部清 0,即仅当P
32、2=1时激励函数能使JK触发器复位:,Ji=0Ki=P2,*,累加器的一个典型单元的设计,3.“取反”微操作,控制变量P3使寄存器A中所有信息取反,即仅当P3=1时激励函数能使JK触发器变反(计数):,Ji=P3Ki=P3,累加器的一个典型单元的设计,4.“与”微操作,控制变量P4使寄存器Ai与Bi实现逻辑“与”运算,并将结果存入触发器Ai,这部分电路的工作用状态真值表描述如下:,寄存器A采用JK 触发器,则列出的激励表如下:,累加器的一个典型单元的设计,4.“与”微操作,累加器的一个典型单元的设计,5.“或”微操作,控制变量P5使寄存器Ai与Bi实现逻辑“或”运算,并将结果存入触发器Ai,这
33、部分电路的工作用状态真值表描述如下:,寄存器A采用JK 触发器,则列出的激励表如下:,累加器的一个典型单元的设计,5.“或”微操作,Ji=Bi P5Ki=0,累加器的一个典型单元的设计,6.“异或”微操作,控制变量P6使寄存器Ai与Bi实现逻辑“异或”运算,并将结果存入触发器Ai,这部分电路的工作用状态真值表描述如下:,寄存器A采用JK 触发器,则列出的激励表如下:,累加器的一个典型单元的设计,6.“异或”微操作,Ji=Bi P6Ki=Bi P6,累加器的一个典型单元的设计,7.“右移”微操作,控制变量P7使寄存器A内的信息右移一位,即将触发器Ai+1存入触发器Ai,则对JK 触发器的激励函数
34、如下:,累加器的一个典型单元的设计,8.“左移”微操作,控制变量P8使寄存器A内的信息左移一位,即将触发器Ai-1存入触发器Ai,则对JK 触发器的激励函数如下:,累加器的一个典型单元的设计,9.“加 1”微操作,控制变量P9使寄存器A内的数据加 1,即将寄存器A的所有触发器构成同步加 1 计数器,则对JK 触发器的激励函数如下:,Ji=Ki=Qi-1Qi-2 Q1(i 1)进位传递函数J1=K1=1 最低位呈计数态,累加器的一个典型单元的设计,9.“加 1”微操作,当P9=1时,启动“加 1”微操作:J1=K1=P9=E1Ei+1=Ai Ei Ji=Ki=Ei,累加器的一个典型单元的设计,1
35、0.“检测 0”微操作,当寄存器A的所有触发器均为0时,输出变量Z为1。该微操作与控制变量(时钟序列)无关。,累加器的一个典型单元的设计,综合上述10种微操作,由于它们的控制变量是互斥的,因此在任何时刻只有一个控制变量在起作用,故可以将所有微操作的函数表达式“或”起来,构成一个典型单元的逻辑表达式。,Ci=Ai Bi+Ai Ci-1+Bi Ci-1,Ei+1=Ai Ei,累加器的一个典型单元的设计,累加器的一个典型单元的逻辑电路图,累加器的一个典型单元的逻辑电路图,累加器的一个典型单元的逻辑电路图,Ci=Ai Bi+Ai Ci-1+Bi Ci-1,累加器的一个典型单元的逻辑电路图,Ei+1=A
36、i Ei,累加器的一个典型单元的逻辑电路图,累加器的一个典型单元的逻辑电路图,用 n 个典型单元构成一个 n 位累加器(迭代设计)。,上图所示的是一个 4 位累加器的框图。,用 n 个典型单元构成一个 n 位累加器(迭代设计)。,上图所示的是一个 4 位累加器的框图。,用 n 个典型单元构成一个 n 位累加器(迭代设计)。,上图所示的是一个 4 位累加器的框图。,用 n 个典型单元构成一个 n 位累加器(迭代设计)。,上图所示的是一个 4 位累加器的框图。,用 n 个典型单元构成一个 n 位累加器(迭代设计)。,上图所示的是一个 4 位累加器的框图。,例2.试设计一个能对两个原码表示的定点二进
37、制数相乘的乘法器控制单元。,设:两个二进制数均为 n 位原码,其中最左位是符号位。硬件配置:,运算规则:积的符号AS=BS QS,积的数值由部分积和被乘数逐次累加并右移获得,积长2n位。,当qm=1时,启动乘法操作过程,运算规则:“移位相加”算法举例,10111,)10011,10111,10111,00000,10111,00000,110110101,修改算法,10111,10011,10111,010111,10111,1000101,1000101,01000101,001000101,10111,110110101,0110110101,算法:被乘数左移,右移,得到第1个 部分积,乘
38、数第1位为1,乘数第1位为1,乘数第3位为0,乘数第4位为0,乘数第2位为1,乘数第5位为1,乘积,乘数第2位为1,被乘数与部分积累加,右移,得到第2个 部分积,乘数第3位为0,直接右移,得到第3个 部分积,乘数第4位为0,直接右移,得到第4个 部分积,乘数第5位为1,被乘数与部分积累加,右移,得到第5个 部分积,也是最后的结果,算法:逐次累加被乘数右移,二进制数相乘的“算法”的逻辑流程图(乘数的数值位数为k),二进制数相乘的ASM图,yA 00,yB 01,yC 10,yC 10,yD 11,寄存器的微操作序列:,T0:初始状态,T1:AS BSQS,A0,C0,Pk,Q1 T2:AA+B,
39、CCout PP-1,T3:AQ ShrCAQ,C0,乘法器的初始状态为T0,当乘法运算控制变量qm=1时,进入状态T1,对进位触发器C、寄存器A、计数器P置初值,然后进入乘法操作。,乘法控制器的状态真值表,注:Pzero=1当计数器P的内容为0时,否则为Pzero=0;L=Q1 T2,T0:初始状态,T1:AS BSQS,A0,C0,Pk,Q1 T2:AA+B,CCout PP-1,T3:AQ ShrCAQ,C0,8.4 简易计算机设计,计算机是最典型、最常用、也是最复杂的数字系统。现代计算机的结构遵循 冯 诺依曼计算机 的定义,即由五大部件组成:运算器ALU(Arithmetic Logi
40、cal Unit 算术逻辑部件);控制器CU(Control Unit);存储器RAM(Random Access Memory随机存取存储器);输入设备和 输出设备(Input/Output),合起来简称为输入输出设备,或 I/O设备,也称为外部设备、外围设备。,8.4.1 简易计算机结构,8.4 简易计算机设计,由于运算器和控制器在逻辑关系和电路结构上联系十分密切,尤其在大规模集成电路制作工艺出现后,往往将运算器和控制器制作在同一芯片上,称为中央处理器(Central Processing Unit),简称CPU。,现代计算机可认为是由 CPU、存储器 和 I/O设备这三大部件组成,其中由
41、CPU和主存合起来,被称为主机。,结构如图所示:,8.4.1 简易计算机结构,1.现代计算机的三大部件的结构,数据流,指令流,控制信号,反馈信号,2.计算机的各部件基本功能,CPU的基本功能:根据程序执行所期望的信息处理,其中:ALU执行算术逻辑运算,CU则根据程序从存储器读出并执行指令和数据,以执行要求的运算和操作。存储器的基本功能:计算机存储指令、数据和信息的空间。输入设备的基本功能:将指令、数据和信息输入到计算机。输出设备的基本功能:将处理后的结果由计算机输出出来。,3.计算机的指令系统,每种计算机都有其独特的指令系统。所谓指令就是用以表示计算机微操作序列的二进制代码。它决定CPU应该执
42、行什么样的具体操作。所以指令系统完备与否和功能的强弱体现了计算机整体性能的优劣。计算机设计中最基本的问题是如何选择和设计出一个完备的、使用方便的指令系统。,4.计算机的工作原理,指令和数据都存储在存储器中。控制器每次从存储器取出一条指令,它决定CPU应该执行什么样的具体操作。解释其含义,并据此产生一系列功能来执行这条指令。,不同指令有不同字长、寻址方式、不同的操作,则所对应的指令周期也长短不同。每个指令周期划分为若干个机器周期,每个机器周期划分为若干个节拍,一个节拍通常对应一个时钟周期T,时钟周期是执行微操作的最小时间单位。,处理一条指令所包含的操作序列称为一个指令周期。指令周期=取指周期+执
43、行周期 取指周期:将指令从存储器读出 执行周期:指令译码,取操作数、完成操作,5.计算机的设计过程,两个阶段:系统设计和逻辑设计。系统设计:涉及系统的技术指标和总的性能,确定设计目 标、基本结构方案和指令系统。逻辑设计:将计算机结构的描述用逻辑电路来实现。,8.4.2 举例:设计一台简易计算机,1.首先是系统设计阶段:系统包括1个存储器、7个寄存器、2个译码器。,存储器:256个字节,每个字8位;存储地址寄存器MAR=存储器的地址;,存储缓冲寄存器MBR MAR 若读出的为:操作数=寄存器A、R,程序计数器PC:存放的是后续指令的地址。操作译码器:对每个操作码提供一个相应的输出变量qi。时序译
44、码器:提供计算机时序信号t1 到t8 8 个时钟信号。时序计数器T:为计算机提供时序信号的计数器。,一台简易计算机的配置框图,程序计数器PC,寄存器 A,寄存器 R,七个寄存器的功能,指令系统:要将数据格式与指令格式结合起来考虑。,指令字:由几部分组成,每个部分有特定的解释。其中,指令的开头部分是操作码。,操作码:确定某种特定操作的二进制代码,如:加、减、移位、取反等操作。操作码的位数:n 位,表示了2n 种不同的操作。,操作数:给出指令操作的对象,可以是具体的操作数,也可以是操作数存放的地址,表示从哪儿取操作数、以及将操作结果存储在哪个目的地。,指令字的格式用长方形表示。如下给出三种指令格式
45、:,简易计算机的三条指令,由这三条指令编写的一段程序:,用寄存器传送语言进行描述,操作码送入IR后,由操作译码器对其译码,产生操作信号q1、q2、q3、。,计算机的基本程序运行如下:,所有指令的取指令周期都是共同的;但取指令以后的微操作取决于操作码的译码结果,即操作译码器的输出信号q1、q2、q3、决定。,第一步:取指令周期。时序译码器输出的时序信号t0、t1和t2用作实现取指令微操作的控制,取指令微操作序列为:,用寄存器传送语言进行描述,计算机的基本程序运行如下:第二步:执行指令周期。根据操作译码器的输出信号q1、q2、q3、执行实现指令功能的微操作。,第一条指令“MOV R”的操作码000
46、00001送入IR后,使操作译码器译码产生操作信号q1=1,则执行该指令的微操作:,由于程序计数器 PC 在t1作用期间已经加1,使它保存了下一条指令的地址。,q1 t3:AR,T0 即当q1 t3=1时,寄存器R的内容送入A;且使时序计数器T清0,再从t0开始新的取指周期。,用寄存器传送语言进行描述,计算机的基本程序运行如下:第二步:执行指令周期。第二条指令“LDI OPRD”的操作码00000010送入IR后,使操作译码器译码产生操作信号q2=1,则执行该指令的微操作:,在读取了操作数后,将该操作数保存在寄存器A中,又使PC在返回取指周期前自动加1,指向下一条指令的地址。,q2 t3:MA
47、RPC 即当q2 t3=1时,操作数地址送入MAR,因为在存储器中操作数是紧挨着操作码的,即指向的存储单元q2 t4:MBRMMAR,PCPC+1 读操作数,使 PC 加1q2 t5:AMBR,T0 传送操作数,转入取指周期,用寄存器传送语言进行描述,计算机的基本程序运行如下:第二步:执行指令周期。第三条指令“LDA ADRS”的操作码00000011送入IR后,使操作译码器译码产生操作信号q3=1,则执行该指令的微操作:,在存储器中,操作数地址ADRS是紧挨着操作码的(在q3 t4作用时取出),而在ADRS中保存的依旧是操作数的地址,据此地址读出操作数(在q3 t6作用时取出)。,q3 t3
48、:MARPC 即当q3 t3=1时,操作数地址的地址送入MARq3 t4:MBRMMAR,PCPC+1 读操作数的地址,使 PC 加1q3 t5:MAR MBR 传送操作数的地址q3 t6:MBRMMAR 读操作数q3 t7:AMBR,T0 传送操作数,转入取指周期,用寄存器传送语言进行描述,通过对简易计算机的三条指令的分析,写出相应的控制功能和微操作,如下:,用寄存器传送语言进行描述,对每种微操作,将有关的控制功能综合在一起,用xi表示,得到微操作表,如下:,用寄存器传送语言进行描述,通过对简易计算机的三条指令的分析,写出相应的控制功能和微操作,如下:,用寄存器传送语言进行描述,通过对简易计
49、算机的三条指令的分析,写出相应的控制功能和微操作,如下:,用寄存器传送语言进行描述,通过对简易计算机的三条指令的分析,写出相应的控制功能和微操作,如下:,用寄存器传送语言进行描述,通过对简易计算机的三条指令的分析,写出相应的控制功能和微操作,如下:,用寄存器传送语言进行描述,通过对简易计算机的三条指令的分析,写出相应的控制功能和微操作,如下:,用寄存器传送语言进行描述,通过对简易计算机的三条指令的分析,写出相应的控制功能和微操作,如下:,用寄存器传送语言进行描述,通过对简易计算机的三条指令的分析,写出相应的控制功能和微操作,如下:,2.其次是逻辑设计阶段:,根据所写出的微操作表,选用D触发器构成的寄存器,实现逻辑电路。如下:,简易计算机逻辑图,PC,A,R,简易计算机逻辑图,PC,A,R,简易计算机逻辑图,PC,A,R,简易计算机逻辑图,PC,A,R,简易计算机逻辑图,PC,A,R,简易计算机逻辑图,PC,A,R,简易计算机逻辑图,PC,A,R,简易计算机逻辑图,
链接地址:https://www.31ppt.com/p-6294988.html