
数字逻辑电路第八章.ppt
152页第八章第八章 数字系统设计数字系统设计8.1 数字系统的基本模型数字系统的基本模型8.1.1 信息处理单元的构成信息处理单元的构成8.1.2 控制单元控制单元CU的构成的构成8.2 数字系统设计的描述工具数字系统设计的描述工具8.2.1 方框图方框图8.2.2 定时图定时图(时序图、时间关系图时序图、时间关系图)8.2.3 逻辑流程图逻辑流程图8.2.4 ASM图图8.2.5 设计举例设计举例8.3 寄存器寄存器传送语言传送语言8.3.1 最简便最简便的寄存器传送语的寄存器传送语言言8.3.2 设计举例设计举例8.4 简易计简易计算机设计算机设计8.4.1 简易计简易计算机结构算机结构8.4.2 举例举例第八章第八章 数字系统设计数字系统设计 Digital System Design 组合逻辑电路组合逻辑电路和和时序逻辑电路时序逻辑电路只能完成某些特定的只能完成某些特定的逻辑功能,属逻辑功能,属功能部件级功能部件级电路分析和设计是建立在电路分析和设计是建立在真真值表值表、、卡诺图卡诺图、、逻辑方程式逻辑方程式、、状态表状态表和和状态图状态图的工具基的工具基础上,主要依赖于设计者的的熟练技巧和经验,称础上,主要依赖于设计者的的熟练技巧和经验,称“凑凑试法试法” 。
若由若由功能部件级功能部件级组成一个功能复杂、规模较大的组成一个功能复杂、规模较大的数数字系统字系统时,虽然在理论上仍可以把它看成是一个大型时,虽然在理论上仍可以把它看成是一个大型时时序逻辑电路序逻辑电路,仍可以采用凑试法,但实际实现上很难、,仍可以采用凑试法,但实际实现上很难、甚至无法达到完整地描述其逻辑功能甚至无法达到完整地描述其逻辑功能 因为这种设计方因为这种设计方法:法:原始、受限制最多、效率与效果均欠佳、局限性大原始、受限制最多、效率与效果均欠佳、局限性大要用要用方框图方框图、、定时图定时图、、逻辑流程图逻辑流程图、、ASM图图、、MDS图图等系统描述工具等系统描述工具对数字系统进行分析和设计时,通常把系统从逻辑对数字系统进行分析和设计时,通常把系统从逻辑上划分成上划分成控制单元控制单元CU和和信息处理单元信息处理单元两大部分其中:两大部分其中:信息处理单元对信息进行不同的处理和传递,信息处理单元对信息进行不同的处理和传递,控制单元保证信息处理单元按规定的微操作序列处控制单元保证信息处理单元按规定的微操作序列处理数据控制单元控制单元——不断生成和发送控制信号序列不断生成和发送控制信号序列,控制信息,控制信息处理单元不断地执行特定的操作;处理单元不断地执行特定的操作; ——接收来自信息处理单元的接收来自信息处理单元的状态信息状态信息,用以,用以选择下一个需执行的操作。
选择下一个需执行的操作 ——接收外来的控制信息,用以改变正在执行接收外来的控制信息,用以改变正在执行的操作序列的操作序列 控制单元是区别控制单元是区别数字系统数字系统与与功能部件功能部件的的标志标志8.1 数字系统的基本模型数字系统的基本模型输入接口输入信息输入信息外部输入的外部输入的控制信号控制信号输入接口外部输出的外部输出的控制信号控制信号输出接口输出信息输出信息输出接口控制单元控制信号状态信号控制流数据流数字逻辑数字逻辑系统系统信息处理单元时钟时钟8.1.1 信息处理单元的构成信息处理单元的构成状态信息状态信息S控制网络控制网络τ1τm•••τ传送脉冲传送脉冲控制信号控制信号CQ1τ1内部寄存器组内部寄存器组通用寄存器通用寄存器专用寄存器专用寄存器存储器存储器数据通路:数据通路:总线结构总线结构专用线专用线•••x1xk输入信息输入信息•••z1zk输出信息输出信息组合逻辑网络组合逻辑网络有有P位,表示位,表示可执行的可执行的P种种基本操作,基本操作,且可并行、且可并行、或互斥或互斥有有 R位,表位,表示执行时的示执行时的2R 种状态种状态Qmτm状态信息表及操作表举例状态信息表及操作表举例S的编码位的编码位该编码位定义的状态标志该编码位定义的状态标志S1S1: = (x >>0)S2S2: = (x =0)S3S3: = (x <<0)SrSr: = (Q1=x) ∨∨ (Q2=x) 控制信号控制信号C执行的操作执行的操作C1: = CLRQ1 ← 0C2: =ADDQ1←Q1+ xC3: = SUBQ1 ← Q1 -- xCp: = INCQ1 ←Q1+ 1••••••((a)) 状态信息表状态信息表••••••((b)) 操作表操作表8.1.2 控制单元控制单元CU的构成的构成将将数字系统数字系统执行的复杂执行的复杂任务任务转化成一个操作和测试序转化成一个操作和测试序列,称为列,称为“算法算法”。
用控制单元产生与操作序列相对应的用控制单元产生与操作序列相对应的控制信号序列控制信号序列,,每一个控制信号控制每一个控制信号控制信息处理单元信息处理单元执行与算法相关的一个执行与算法相关的一个操作所以,控制单元的基本功能具体上是对指令流和数操作所以,控制单元的基本功能具体上是对指令流和数据流实施时间上和空间上的正确的控制据流实施时间上和空间上的正确的控制组合逻辑网络组合逻辑网络Q 状态状态寄存器寄存器算法的现态算法的现态算法的次态算法的次态外部输入外部输入控制信息控制信息外部输出外部输出控制信息控制信息SCτyY8.1.2 控制单元控制单元CU的构成的构成控制单元的控制单元的核心核心是时序电路,本质上是一个是时序电路,本质上是一个状态寄存状态寄存器器状态寄存器主要有两个功能状态寄存器主要有两个功能——寄存控制单元的寄存控制单元的现态现态,,生成生成次态次态采用触发器作为状态寄存器的元件采用触发器作为状态寄存器的元件存在着两种不同的控制单元实现方法:存在着两种不同的控制单元实现方法:硬件逻辑方法硬件逻辑方法——用用逻辑电路逻辑电路生成每一个微操作的控生成每一个微操作的控制信号;特点:速度高、动一发而动全身。
制信号;特点:速度高、动一发而动全身微程序方法微程序方法——计算机的每一条指令的功能通过计算机的每一条指令的功能通过执行执行一个微指令序列一个微指令序列(微程序微程序)来实现的设计好的微程序被固来实现的设计好的微程序被固化在只读存储器中,这个存储器称为化在只读存储器中,这个存储器称为控制存储器控制存储器控制器按微程序的执行步骤逐个发出控制信号特点:速度低、按微程序的执行步骤逐个发出控制信号特点:速度低、但设计、修改及扩充容易但设计、修改及扩充容易显然,采用不同的实现方法,将影响控制单元的组成显然,采用不同的实现方法,将影响控制单元的组成和结构在现代计算机控制器中,常常两者混用在现代计算机控制器中,常常两者混用数字系统逻辑设计的基本步骤数字系统逻辑设计的基本步骤第一步:确定系统的逻辑功能第一步:确定系统的逻辑功能设计者应对系统仔细分析、消化和理解,逐步明确其逻辑设计者应对系统仔细分析、消化和理解,逐步明确其逻辑功能,输入、输出信号等内容功能,输入、输出信号等内容第二步:确定系统方案第二步:确定系统方案这是设计工作中最困难、最有创造性的工作,设计者根据这是设计工作中最困难、最有创造性的工作,设计者根据设计要求分析推演出信息处理的基本原理和可供选择的结构形设计要求分析推演出信息处理的基本原理和可供选择的结构形式,因为可以采用不同的原理和方法实现某一逻辑功能。
为此式,因为可以采用不同的原理和方法实现某一逻辑功能为此设计者要进行认真的比较和权衡,从中选取较为满意的方案设计者要进行认真的比较和权衡,从中选取较为满意的方案第三步:对系统进行逻辑划分第三步:对系统进行逻辑划分将系统按信息处理单元和控制单元划分为两大部分,列出将系统按信息处理单元和控制单元划分为两大部分,列出信息处理单元的说明,并用流程图等方法描述信息处理的算法信息处理单元的说明,并用流程图等方法描述信息处理的算法(即控制单元的逻辑要求)每个部分应具备基本独立的逻辑(即控制单元的逻辑要求)每个部分应具备基本独立的逻辑功能逻辑划分和确定系统方案的过程要同时进行、相辅相成功能逻辑划分和确定系统方案的过程要同时进行、相辅相成数字系统设计的基本步骤数字系统设计的基本步骤第四步:设计信息处理单元和控制单元第四步:设计信息处理单元和控制单元•定义定义要求信息处理单元必须执行的处理和操作,列出要求信息处理单元必须执行的处理和操作,列出操作操作表表;;•提出提出实现的实现的算法算法,确定控制单元必须保存的、或产生的,确定控制单元必须保存的、或产生的状状态态及状态之间的及状态之间的转换关系转换关系;;•由系统的控制状态、信息处理单元产生的状态信息和要求由系统的控制状态、信息处理单元产生的状态信息和要求生成的控制信号生成的控制信号建立建立控制单元的控制单元的状态转换表状态转换表;;•根据根据信息处理单元信息处理单元的操作表和状态信息、的操作表和状态信息、控制单元控制单元的状态的状态转换表转换表, 进行进行逻辑设计逻辑设计。
•选择逻辑功能部件,如选择逻辑功能部件,如SSI、、MSI、、LSI等,进行合理连接,等,进行合理连接,构成严格能协调工作的系统构成严格能协调工作的系统8.2 数字系统设计的描述工具数字系统设计的描述工具8.2.1 方框图方框图设计系统首先应当设计系统首先应当建立模型建立模型,方框图是描述模型最常用、,方框图是描述模型最常用、最重要的工具最重要的工具方框图不涉及过多的技术细节,直观易懂,具有:方框图不涉及过多的技术细节,直观易懂,具有:结构化设计结构化设计——系统结构清晰和易理解性,易构思设计等系统结构清晰和易理解性,易构思设计等在方框图中:在方框图中:•每一个每一个方框定义方框定义了一个信息处理、存储或传递的子系统了一个信息处理、存储或传递的子系统(或模块);(或模块);•方框内用文字、表达式、例行符号、图形方框内用文字、表达式、例行符号、图形表示表示该模块的名该模块的名称或主要功能;称或主要功能;•方框之间用方框之间用指向线指向线相连,表示模块之间的数据流或信息流相连,表示模块之间的数据流或信息流的的信息通道及方向信息通道及方向,连线旁的文字或符号是通道的名称、功能,连线旁的文字或符号是通道的名称、功能或信息类型。
或信息类型方框图的设计过程:方框图的设计过程:自顶而下、逐步细化自顶而下、逐步细化例例 一个智能仪表的方框图一个智能仪表的方框图系系统统••••••输输 入入输输 出出(a) 数据数据采集采集数据数据处理处理数据数据显示显示数据数据打印打印控制器控制器输入输入输出输出(c)CC(b)数据数据采集采集数据数据处理处理数据数据显示显示数据数据打印打印控制器控制器输入输入输出输出CC输入输入/输出接口输出接口M寄存器寄存器A寄存器寄存器ALUCCCC(d)分解分解再分解再分解细化细化上例设计的这种结构框图,其任何一处的功能修改和扩充上例设计的这种结构框图,其任何一处的功能修改和扩充均涉及全局,而且总控制器的设计将十分复杂均涉及全局,而且总控制器的设计将十分复杂若采用总线结构,则该智能仪表的方框图如下:若采用总线结构,则该智能仪表的方框图如下:Data BUSAdd BUSContl BUS输入输入接口接口微处微处理器理器存储存储器器输出输出接口接口数据数据采集采集模块模块显示器显示器打印机打印机数据数据数据数据同一种功能的数字系统,可以设计出不同的结构,同一种功能的数字系统,可以设计出不同的结构,在总体结构设计中,任何设计优化的考虑都要比物理在总体结构设计中,任何设计优化的考虑都要比物理实现阶段中的技术优化产生大得多的效益,这是系统实现阶段中的技术优化产生大得多的效益,这是系统设计过程中设计过程中最具创造性最具创造性的工作。
的工作8.2 数字系统设计的描述工具数字系统设计的描述工具8.2.2 定时图定时图 (时序图、时间关系图时序图、时间关系图)在数字系统中,信息的传送、处理或存储都是在特定时在数字系统中,信息的传送、处理或存储都是在特定时间意义上的操作,是按照严格的时序进行协调和同步的系间意义上的操作,是按照严格的时序进行协调和同步的系统各模块之间,模块内部各功能部件之间、各功能部件内部统各模块之间,模块内部各功能部件之间、各功能部件内部的各逻辑门电路或触发器之间,的各逻辑门电路或触发器之间,输入信号、输出信号和控制输入信号、输出信号和控制信号的对应关系及特征信号的对应关系及特征,通常用时序图来描述通常用时序图来描述时序图的描述也是一个逐步细化的过程从描述系统输时序图的描述也是一个逐步细化的过程从描述系统输入、输出之间的定时关系的入、输出之间的定时关系的简单时序图简单时序图开始,随著系统设计开始,随著系统设计的不断深入,时序图将不断地反映新出现的系统内部信号的的不断深入,时序图将不断地反映新出现的系统内部信号的时序关系,直到最终一个时序关系,直到最终一个完整的时序图完整的时序图例例 交通灯控制系统交通灯控制系统 :: 要求要求N、、S绿灯常亮,绿灯常亮,E、、W红灯常亮红灯常亮NSEWETWT灯灯灯灯灯灯灯灯传感器传感器传感器传感器(a) 示意图示意图控控制制器器NSEWETWT(b) 框图框图关注各信号:电平关注各信号:电平/脉冲、同步脉冲、同步/异步异步t1t2t3t4(c) 定时图定时图N/S RedN/S YellowN/S GreenE/W RedE/W YellowE/W GreenET/WT固定的时间片固定的时间片8.2.3 逻辑流程图逻辑流程图也称流程图,它用约定的几何图形也称流程图,它用约定的几何图形(矩形、菱形、椭圆矩形、菱形、椭圆形等形等)、指向线和简练的文字说明,描述系统的基本工作过、指向线和简练的文字说明,描述系统的基本工作过程。
程逻辑流程图的描述对象是逻辑流程图的描述对象是控制单元控制单元,并且以,并且以系统时钟系统时钟来驱动来驱动整个流程这一点与由事件驱动的软件流程图不同整个流程这一点与由事件驱动的软件流程图不同功能说明功能说明或状态名或状态名入口入口出口出口状态状态输出输出表表(a) 状态框状态框条件条件条件条件假假出口出口0入口入口条件条件真真出口出口1或或条件条件入口入口条件条件假假出口出口0条件条件真真出口出口1(b) 条件判别框条件判别框功能说明功能说明入口入口出口出口条件条件输出输出表表(c) 条件输出框条件输出框1、基本符号、基本符号用三种符号:矩形状态框、菱形判别框、椭圆形条件框用三种符号:矩形状态框、菱形判别框、椭圆形条件框1、基本符号、基本符号状态框状态框表示系统必须具备的状态,表示系统必须具备的状态,判别框判别框及及条件输出框条件输出框不表示状态,只表示某状态框在不同的输入条件下的分支出不表示状态,只表示某状态框在不同的输入条件下的分支出口及条件输出,即口及条件输出,即用一个状态框及若干个判别框或条件输出用一个状态框及若干个判别框或条件输出框,组成一个框,组成一个状态单元状态单元 如果在某状态下的输出与输入无关,即如果在某状态下的输出与输入无关,即 Moore 型型输出,输出,则该状态输出可标注在状态框旁的状态输出表中,且这个状则该状态输出可标注在状态框旁的状态输出表中,且这个状态单元态单元必定不包括条件输出框必定不包括条件输出框。
功能说明功能说明或状态名或状态名入口入口出口出口状态输出表状态输出表z1 ↑, z2 ↓, z3 ↑↓z1 ↑表示进入状态表示进入状态state,输出,输出z1 有效有效z2 ↓表示进入状态表示进入状态state,输出,输出z2 无效无效z3 ↑↓表示进入状态表示进入状态state,输出,输出z3 有效有效,, 并在退出状态并在退出状态state,输出,输出z3 无效无效1、基本符号、基本符号 如果在某状态下的输出与输入有关,即如果在某状态下的输出与输入有关,即 Mealy 型型输出,输出,则该状态输出要标注在菱形判别框下的椭圆形条件框旁的状则该状态输出要标注在菱形判别框下的椭圆形条件框旁的状态输出表中态输出表中z1 ↑表示进入状态,表示进入状态,z1 有效有效z2 ↓表示进入状态,表示进入状态,z2 无效无效z3 ↑↓表示进入状态,表示进入状态,z3 有效有效,, 并在退出状态,并在退出状态,z3 无效无效功能说明功能说明或状态名或状态名入口入口状态输出表状态输出表z1 ↑, z2 ↓, z3 ↑↓条件条件条件条件假假出口出口0条件条件真真出口出口1功能说明功能说明出口出口3、、 逻辑流程图的应用逻辑流程图的应用例例 设计一个十字路口交通灯控制系统。
设计一个十字路口交通灯控制系统 这个例子来自美国加洲美丽之城太阳谷这个例子来自美国加洲美丽之城太阳谷Sunnyvale市,市,其十字路口的交通灯控制器经过了仔细设计,以使得汽车在其十字路口的交通灯控制器经过了仔细设计,以使得汽车在十字路口的等待时间最小化这个经市政部门认可的交通灯十字路口的等待时间最小化这个经市政部门认可的交通灯管理系统,后应用于芝加哥管理系统,后应用于芝加哥 该系统使用了该系统使用了一个一个 1Hz 的时钟的时钟和和三个计数器三个计数器,以及,以及 4组组传感装置传感装置,下面是示意图下面是示意图逻辑流程图的描述过程是一个逐步细化(深化)的过程逻辑流程图的描述过程是一个逐步细化(深化)的过程它既便于设计者发现和改进信息处理过程中的错误,又是后它既便于设计者发现和改进信息处理过程中的错误,又是后续电路设计的依据续电路设计的依据加洲太阳谷的一个十字路口的交通灯传感器和信号加洲太阳谷的一个十字路口的交通灯传感器和信号NSCAREWCAREWCARNSCARNEWREDEWYELLOWEWGREENNSREDNSYELLOWNSGREENEWREDEWYELLOWEWGREENNSREDNSYELLOWNSGREENE•若若 EW及及NS均有车,均有车,则则 EW每次通行每次通行 60秒秒(绿灯绿灯),, NS每次通行每次通行40秒秒(绿灯绿灯),, EW、、NS轮流放行;轮流放行;•若若 仅有一个通道有车,仅有一个通道有车,则禁止无车通道则禁止无车通道(红灯红灯);;•若若 两通道均无车,两通道均无车,则则NS禁止,禁止, EW 放行;放行;•若若 通道转换时,通道转换时,两通道均需停车两通道均需停车3秒秒(黄灯黄灯)。
例例 设计一个十字路口交通灯控制系统设计一个十字路口交通灯控制系统设:东西道设:东西道(EW)为主道,南北道为主道,南北道(NS)为副道框图框图EWCARNSCAR交通灯交通灯控制系统控制系统灯控信号变变量量定定义义监测器输出监测器输出输出灯光信号输出灯光信号NSCAREWCAR( 由由ET、、STWT、、NT生成生成 )NSRedNSGeenNSYellowEWRedEWGeenEWYellow•若若 EW及及NS均有车,均有车,则则 EW每次通行每次通行 60秒秒(绿灯绿灯),, NS每次通行每次通行40秒秒(绿灯绿灯),, EW、、NS轮流放行;轮流放行;•若若 仅有一个通道有车,仅有一个通道有车,则禁止无车通道则禁止无车通道(红灯红灯);;•若若 两通道均无车,两通道均无车,则则NS禁止,禁止, EW 放行;放行;•若若 通道转换时,通道转换时,两通道均需停车两通道均需停车3秒秒(黄灯黄灯)例例 设计一个十字路口交通灯控制系统设计一个十字路口交通灯控制系统设:东西道设:东西道(EW)为主道,南北道为主道,南北道(NS)为副道框图框图EWCARNSCAR交通灯交通灯控制系统控制系统灯控信号变变量量定定义义监测器输出监测器输出定时器输出定时器输出输出灯光信号输出灯光信号NSCAREWCAR( 由由ET、、STWT、、NT生成生成 )TM60TM40TM3(计数器的计数器的进位输出进位输出)NSRedNSGeenNSYellowEWRedEWGeenEWYellow•若若 EW及及NS均有车,均有车,则则 EW每次通行每次通行 60秒秒(绿灯绿灯),, NS每次通行每次通行40秒秒(绿灯绿灯),, EW、、NS轮流放行;轮流放行;•若若 仅有一个通道有车,仅有一个通道有车,则禁止无车通道则禁止无车通道(红灯红灯);;•若若 两通道均无车,两通道均无车,则则NS禁止,禁止, EW 放行;放行;•若若 通道转换时,通道转换时,两通道均需停车两通道均需停车3秒秒(黄灯黄灯)。
例例 设计一个十字路口交通灯控制系统设计一个十字路口交通灯控制系统设:东西道设:东西道(EW)为主道,南北道为主道,南北道(NS)为副道框图框图EWCARNSCAR交通灯交通灯控制系统控制系统灯控信号变变量量定定义义监测器输出监测器输出定时器输出定时器输出定时器使能输入定时器使能输入输出灯光信号输出灯光信号NSCAREWCAR( 由由ET、、STWT、、NT生成生成 )TM60TM40TM3(计数器的计数器的进位输出进位输出)ENTM60ENTM40ENTM3NSRedNSGeenNSYellowEWRedEWGeenEWYellow系统配有三个系统配有三个3秒秒、、40秒秒和和60秒秒的定时器,如下:的定时器,如下:定时器定时器在系统中起到时间在系统中起到时间节拍节拍指挥的作用,各部件均按照统一的时间指挥的作用,各部件均按照统一的时间节拍协调地工作节拍协调地工作模模3计数器计数器模模40计数器计数器模模60计数器计数器分频器分频器CLKCP(周期(周期1秒)秒)进位输出信号进位输出信号启动启动(使能使能)计数信号计数信号十字路口交通灯控制器逻辑框图十字路口交通灯控制器逻辑框图启动南北南北停车东西东西停车3秒秒东西东西停车南北南北停车3秒秒东西东西道禁止南北南北道通行 南北南北无车 或南北南北、、东西东西均有车且达到40秒秒01东西东西道通行南北南北道禁止南北南北有车且东西东西无车或南北南北、、东西东西均有车且达到60秒秒01a. 粗框图粗框图•若若 EW及及NS均有车,则均有车,则EW每次通行每次通行 60秒秒(绿灯绿灯),, NS每次通行每次通行40秒秒(绿灯绿灯),,EW、、NS轮流放行;轮流放行;•若若 仅有一个通道有车,则禁止无车仅有一个通道有车,则禁止无车通道通道(红灯红灯);;•若若 两通道均无车,则两通道均无车,则NS禁止,禁止, EW 放行;放行;•若若 通道转换时,两通道均需停车通道转换时,两通道均需停车3秒秒(黄灯黄灯)。
十字路口交通灯控制器逻辑框图十字路口交通灯控制器逻辑框图启动南北南北停车东西东西停车3秒秒东西东西停车南北南北停车3秒秒东西东西道禁止南北南北道通行 南北南北无车 或南北南北、、东西东西均有车且达到40秒秒01东西东西道通行南北南北道禁止南北南北有车且东西东西无车或南北南北、、东西东西均有车且达到60秒秒01a. 粗框图粗框图STARTEWPASS,NSSTOPNSCAR=1EWCAR=160秒秒?000111EWSTOP,NSPASSNSCAR=1EWCAR=140秒秒?0001113秒秒?01EWHOLD,NSHOLD3秒秒?0EWHOLD,NSHOLD1b. 细框图细框图十字路口交通灯控制器逻辑框图十字路口交通灯控制器逻辑框图启动南北南北停车东西东西停车3秒秒东西东西停车南北南北停车3秒秒东西东西道禁止南北南北道通行 南北南北无车 或南北南北、、东西东西均有车且达到40秒秒01东西东西道通行南北南北道禁止南北南北有车且东西东西无车或南北南北、、东西东西均有车且达到60秒秒01a. 粗框图粗框图STARTEWPASS,NSSTOPNSCAR=1EWCAR=160秒秒?000111EWSTOP,NSPASSNSCAR=1EWCAR=140秒秒?0001113秒秒?01EWHOLD,NSHOLD3秒秒?0EWHOLD,NSHOLD1b. 细框图细框图十字路口交通灯控制器逻辑框图十字路口交通灯控制器逻辑框图启动南北南北停车东西东西停车3秒秒东西东西停车南北南北停车3秒秒东西东西道禁止南北南北道通行 南北南北无车 或南北南北、、东西东西均有车且达到40秒秒01东西东西道通行南北南北道禁止南北南北有车且东西东西无车或南北南北、、东西东西均有车且达到60秒秒01a. 粗框图粗框图STARTEWPASS,NSSTOPNSCAR=1EWCAR=160秒秒?000111EWSTOP,NSPASSNSCAR=1EWCAR=140秒秒?0001113秒秒?01EWHOLD,NSHOLD3秒秒?0EWHOLD,NSHOLD1b. 细框图细框图十字路口交通灯控制器逻辑框图十字路口交通灯控制器逻辑框图启动南北南北停车东西东西停车3秒秒东西东西停车南北南北停车3秒秒东西东西道禁止南北南北道通行 南北南北无车 或南北南北、、东西东西均有车且达到40秒秒01东西东西道通行南北南北道禁止南北南北有车且东西东西无车或南北南北、、东西东西均有车且达到60秒秒01a. 粗框图粗框图STARTEWPASS,NSSTOPNSCAR=1EWCAR=160秒秒?000111EWSTOP,NSPASSNSCAR=1EWCAR=140秒秒?0001113秒秒?01EWHOLD,NSHOLD3秒秒?0EWHOLD,NSHOLD1b. 细框图细框图十字路口交通灯控制器逻辑框图十字路口交通灯控制器逻辑框图启动南北南北停车东西东西停车3秒秒东西东西停车南北南北停车3秒秒东西东西道禁止南北南北道通行 南北南北无车 或南北南北、、东西东西均有车且达到40秒秒01东西东西道通行南北南北道禁止南北南北有车且东西东西无车或南北南北、、东西东西均有车且达到60秒秒01a. 粗框图粗框图STARTEWPASS,NSSTOPNSCAR=1EWCAR=160秒秒?000111EWSTOP,NSPASSNSCAR=1EWCAR=140秒秒?0001113秒秒?01EWHOLD,NSHOLD3秒秒?0EWHOLD,NSHOLD1b. 细框图细框图十字路口交通灯控制器逻辑流程图十字路口交通灯控制器逻辑流程图STARTEWPASS,NSSTOPNSCAR=1EWCAR=1TM60=1000111EWSTOP,NSPASSNSCAR=1EWCAR=1TM40=1000111EWRedNSGreenENTM40↑↓↑↓↑↓EWYellowNSYellowENTM3↑↓↑↓↑↓TM3 =101EWHOLD,NSHOLDEWYellowNSYellowENTM3↑↓↑↓↑↓TM3=10EWHOLD,NSHOLD1c. 标注输入输出及信号名的逻辑细框图标注输入输出及信号名的逻辑细框图((Moore型)型)EWRed ↓EWGeen NSRedENTM60↑↓↑↓↑↓EWGeen NSRedENTM60↑↓↑↓十字路口交通灯控制器逻辑流程图十字路口交通灯控制器逻辑流程图STARTEWPASS,NSSTOPNSCAR=1EWCAR=1TM60=1000111EWSTOP,NSPASSNSCAR=1EWCAR=1TM40=1000111EWRedNSGreenENTM40↑↓↑↓↑↓EWYellowNSYellowENTM3↑↓↑↓↑↓TM3 =101EWHOLD,NSHOLDEWYellowNSYellowENTM3↑↓↑↓↑↓TM3=10EWHOLD,NSHOLD1c. 标注输入输出及信号名的逻辑细框图标注输入输出及信号名的逻辑细框图((Moore型)型)EWRed ↓EWGeen NSRedENTM60↑↓↑↓↑↓EWGeen NSRedENTM60↑↓↑↓↑↓3、、 从状态图得到逻辑流程图从状态图得到逻辑流程图逻辑流程图上逻辑流程图上的一个状态框及若干个判别框或条件输出的一个状态框及若干个判别框或条件输出框所组成框所组成一个状态单元一个状态单元对应了对应了状态图上状态图上的的一个状态和它的输一个状态和它的输入输出入输出。
如果某状态的输出与输入有关如果某状态的输出与输入有关(Mealy型型),则逻辑流程图,则逻辑流程图中对应的状态单元必定包括中对应的状态单元必定包括有条件输出框有条件输出框;;如果某状态的输出与输入无关如果某状态的输出与输入无关(Moore型型),则逻辑流程图,则逻辑流程图中对应的状态单元必定中对应的状态单元必定没有条件输出框没有条件输出框0C/1A/0B/0D/11111000Moore 型状态图型状态图0/0CABD1/01/01/11/10/00/00/1Mealy 型状态图型状态图8.2.4 ASM图图逻辑流程图是数字系统中使用得最广泛的一种非形逻辑流程图是数字系统中使用得最广泛的一种非形式化的描述工具,但它的规范性不够经过不断改进,式化的描述工具,但它的规范性不够经过不断改进,将流程图改造成描述数字系统硬件的形式化工具将流程图改造成描述数字系统硬件的形式化工具——算法状态机图算法状态机图ASM (Algorithmic State Machine Charp)ASM图图是形式化描述数字系统的流程图,是按照一是形式化描述数字系统的流程图,是按照一组简单和明确的规则绘制的。
在时序电路的组简单和明确的规则绘制的在时序电路的ASM图中,图中,每一个状态由一个每一个状态由一个ASM块来表示块来表示一个ASM块是一种块是一种小型的符号化结构图形,由它指出了小型的符号化结构图形,由它指出了当前状态当前状态、它的输、它的输出和次态的出和次态的条件条件一个时序数字系统的所有状态的一个时序数字系统的所有状态的ASM块,按照一定的顺序联结成一个网状结构,由此产生的块,按照一定的顺序联结成一个网状结构,由此产生的ASM图可用来精确地描述系统所具有的功能图可用来精确地描述系统所具有的功能1、基本符号、基本符号一个一个ASM块至多包含三种不同类型的符号:块至多包含三种不同类型的符号:矩形状态框矩形状态框、、菱形判别框菱形判别框和和条件输出框条件输出框注意图的标注(左边)与流程图的(右边)不同注意图的标注(左边)与流程图的(右边)不同入口入口出口出口状态输出表状态输出表(a) ASM的状态框的状态框状态名状态名状态编码状态编码其中:状态编码为该状态下的触发器值其中:状态编码为该状态下的触发器值功能说明功能说明或状态名或状态名入口入口出口出口状态状态输出输出表(a) 流程图的状态框流程图的状态框1、基本符号、基本符号一个一个ASM块至多包含三种不同类型的符号:块至多包含三种不同类型的符号:矩形状态框矩形状态框、菱形判别框菱形判别框和条件输出框条件输出框。
注意图的标注与流程图的不同注意图的标注与流程图的不同条件条件入口入口条件条件假假出口出口0条件条件真真出口出口1(b) ASM的判别框的判别框其中:框内的输入条件为其中:框内的输入条件为布尔表达式布尔表达式条件条件条件条件假假出口出口0入口入口条件条件真真出口出口1或条件条件入口入口条件条件假假出口出口0条件条件真真出口出口1(b) 流程图的条件判别框流程图的条件判别框1、基本符号、基本符号一个一个ASM块至多包含三种不同类型的符号:块至多包含三种不同类型的符号:矩形状态框矩形状态框、、菱形判别框菱形判别框和和条件输出框条件输出框注意图的标注与流程图的不同注意图的标注与流程图的不同条件输出表条件输出表入口入口出口出口(c) 条件输出框条件输出框条件输出框的输入总是来自判别框,由这个判别框给出条件输出框的输入总是来自判别框,由这个判别框给出了输出所需要的条件,即在某一状态下,某个输出变量是输了输出所需要的条件,即在某一状态下,某个输出变量是输入变量的函数,就在条件输出框中填入入变量的函数,就在条件输出框中填入条件满足时产生的输条件满足时产生的输出出功能说明功能说明入口入口出口出口条件输出表(c) 条件输出框条件输出框2、由逻辑流程图转换成、由逻辑流程图转换成ASM图图ASM图可以直接送入计算机辅助逻辑设计系统,由该图可以直接送入计算机辅助逻辑设计系统,由该系统自动完成控制单元的设计。
系统自动完成控制单元的设计逻辑流程图可以很容易地转换成逻辑流程图可以很容易地转换成ASM图在在ASM图中,所有的当前状态下的图中,所有的当前状态下的Moore型型有效输出有效输出都应列在状态框内;都应列在状态框内;所有的当前状态下的满足输入条件的所有的当前状态下的满足输入条件的Mealy型型有效输有效输出都应列在条件输出框内出都应列在条件输出框内十字路口交通灯控制器十字路口交通灯控制器ASM图图NSCAREWCAR000111EWGeen NSRed,ENTM6000ATM60TM301NSYellowEWYellow,ENTM3B01STARTEWPASS,NSSTOPNSCAR=1EWCAR=1TM60=1000111TM3=101EWHOLD,NSHOLDEWYellowNSYellowENTM3↑↓↑↓↑↓EWRed ↓EWGeen NSRedENTM60↑↓↑↓↑↓EWRed ↓EWGeen NSRedENTM60↑↓↑↓↑↓十字路口交通灯控制器十字路口交通灯控制器ASM图图NSCAREWCARTM40000111NSGreenEWRed, ENTM4011CTM301EWYellowNSYellow, ENTM310DEWSTOP,NSPASSNSCAR=1EWCAR=1TM40=1000111EWRedNSGreenENTM40↑↓↑↓↑↓TM3=10EWHOLD,NSHOLD1EWYellowNSYellowENTM3↑↓↑↓↑↓十字路口交通灯控制器十字路口交通灯控制器ASM图图NSCAREWCARTM40000111NSGreenEWRed, ENTM4011CNSCAREWCAR000111EWGeen NSRed,ENTM6000ATM60TM301NSYellowEWYellow,ENTM3B01TM301EWYellowNSYellow, ENTM310D3、应用、应用ASM图进行数字系统中控制器的设计图进行数字系统中控制器的设计主要步骤:主要步骤: ((1)按设计要求写出问题说明。
按设计要求写出问题说明 ((2)定义输入、输出信号并用助记符表示定义输入、输出信号并用助记符表示 ((3)将问题说明转换成详细)将问题说明转换成详细逻辑流程图逻辑流程图 ((4)将详细逻辑流程图转换成)将详细逻辑流程图转换成ASM图图 ((5)从)从ASM图得到图得到状态转换表状态转换表 ((6)由状态转换表得到)由状态转换表得到次态方程式次态方程式,从,从ASM图列图列出出输出函数表达式输出函数表达式 ((7)按照次态方程式及输出函数表达式,画出控)按照次态方程式及输出函数表达式,画出控制器制器逻辑电路图逻辑电路图4、状态转换表达式表、状态转换表达式表 按照按照ASM图中的每一个图中的每一个ASM块块中判别框和条件输出框内标注的中判别框和条件输出框内标注的有效有效输入输入,列出,列出状态转换表达式表状态转换表达式表,如下:,如下:现态现态输输入入 条条件件状态转换表达式状态转换表达式次态次态S(A)NSCAREWCARTM60Sn+1Q1Q0Q1Q0Q1Q0Q1Q0NSCAREWCAR000111EWGeen NSRed,ENTM6000ATM604、状态转换表达式表、状态转换表达式表 按照按照ASM图中的每一个图中的每一个ASM块中块中判别框和条件输出框内标注的判别框和条件输出框内标注的有效输有效输入入,列出,列出状态转换表达式表状态转换表达式表,如下:,如下:现态现态输输入入 条条件件状态转换表达式状态转换表达式次态次态S(A)NSCAREWCARTM60Sn+1Q1Q00AQ1Q0Q1Q0Q1Q0NSCAREWCAR000111EWGeen NSRed,ENTM6000ATM604、状态转换表达式表、状态转换表达式表 按照按照ASM图中的每一个图中的每一个ASM块中块中判别框和条件输出框内标注的判别框和条件输出框内标注的有效输有效输入入,列出,列出状态转换表达式表状态转换表达式表,如下:,如下:现态现态输输入入 条条件件状态转换表达式状态转换表达式次态次态S(A)NSCAREWCARTM60Sn+1Q1Q00——AQ1Q0Q1Q0Q1Q0NSCAREWCAR000111EWGeen NSRed,ENTM6000ATM604、状态转换表达式表、状态转换表达式表 按照按照ASM图中的每一个图中的每一个ASM块中块中判别框和条件输出框内标注的判别框和条件输出框内标注的有效输有效输入入,列出,列出状态转换表达式表状态转换表达式表,如下:,如下:现态现态输输入入 条条件件状态转换表达式状态转换表达式次态次态S(A)NSCAREWCARTM60Sn+1Q1Q00——NSCARAQ1Q0Q1Q0Q1Q0NSCAREWCAR000111EWGeen NSRed,ENTM6000ATM604、状态转换表达式表、状态转换表达式表 按照按照ASM图中的每一个图中的每一个ASM块中块中判别框和条件输出框内标注的判别框和条件输出框内标注的有效输有效输入入,列出,列出状态转换表达式表状态转换表达式表,如下:,如下:现态现态输输入入 条条件件状态转换表达式状态转换表达式次态次态S(A)NSCAREWCARTM60Sn+1Q1Q00——NSCARAQ1Q010—NSCAR • EWCARBQ1Q0110NSCAR • EWCAR • TM60AQ1Q0111NSCAR • EWCAR • TM60BNSCAREWCAR000111EWGeen NSRed,ENTM6000ATM604、状态转换表达式表、状态转换表达式表 按照按照ASM图中的每一个图中的每一个ASM块块中判别框和条件输出框内标注的中判别框和条件输出框内标注的有效有效输入输入,列出,列出状态转换表达式表状态转换表达式表,如下:,如下:现态现态输输入入 条条件件状态转换表达式状态转换表达式次态次态S(B)TM 3Sn+1Q1Q00TM 3BQ1Q01TM 3CTM301NSYellowEWYellow,ENTM3B01C4、状态转换表达式表、状态转换表达式表现态现态输输入入 条条件件状态转换表达式状态转换表达式次态次态SNSCAREWCARTM40TM3Sn+1Q1Q00———NSCARDQ1Q010——NSCAR • EWCARCQ1Q0110—NSCAR • EWCAR • TM60CQ1Q0111—NSCAR • EWCAR • TM60DQ1Q0———0TM 3DQ1Q0———1TM 3ANSCAREWCARTM40000111NSGreenEWRed, ENTM4011CTM301EWYellowNSYellow, ENTM310DA5、、状态转换表状态转换表 由由状态转换表达式表状态转换表达式表合并成合并成状态转换表,状态转换表,如下:如下:现态现态输输入入 条条件件状态转换表达式状态转换表达式次态次态S(A)NSCAREWCARTM60Sn+1Q1Q00——NSCARAQ1Q010—NSCAR • EWCARBQ1Q0110NSCAR • EWCAR • TM60AQ1Q0111NSCAR • EWCAR • TM60B S Q1 Q0转换条件表达式转换条件表达式Sn+1 Q1n+1Q0n+1A 0 0NSCARA 0 0A 0 0NSCAR•EWCARB 0 1A 0 0NSCAR•EWCAR•TM60A 0 0A 0 0NSCAR•EWCAR•TM60B 0 1十字路口交通灯控制器状态转换表十字路口交通灯控制器状态转换表 S Q1 Q0转换条件表达式转换条件表达式Sn+1 Q1n+1Q0n+1A 0 0NSCARA 0 0A 0 0NSCAR•EWCARB 0 1A 0 0NSCAR•EWCAR•TM60A 0 0A 0 0NSCAR•EWCAR•TM60B 0 1B 0 1TM3B 0 1B 0 1TM3C 1 1C 1 1NSCARD 1 0C 1 1NSCAR•EWCARC 1 1C 1 1NSCAR•EWCAR•TM40C 1 1C 1 1NSCAR•EWCAR•TM40D 1 0D 1 0TM3D 1 0D 1 0TM3A 0 0十字路口交通灯控制器次态方程式十字路口交通灯控制器次态方程式Q1n+1 = Q1•Q0•TM3 + Q1•Q0•NSCAR + Q1•Q0•NSCAR•EWCAR + Q1•Q0•NSCAR•EWCAR•TM40 + Q1•Q0•NSCAR•EWCAR•TM40 + Q1•Q0•TM3由于次态为由于次态为 Sn+1 = S • (转换条件表达式转换条件表达式),由前表可得到次态,由前表可得到次态方程式并化简为:方程式并化简为:= Q1•Q0•TM3 + Q1•Q0•NSCAR + Q1•Q0•NSCAR•EWCAR + Q1•Q0•NSCAR•EWCAR + Q1•Q0•TM3= Q1•Q0•TM3 + Q1•Q0•NSCAR + Q1•Q0•NSCAR + Q1•Q0•TM3= Q1•Q0•TM3 + Q1•Q0 + Q1•Q0•TM3= Q1•Q0•TM3 + Q1•Q0 •TM3 + Q1•Q0 •TM3 + Q1•Q0•TM3= Q0•TM3 + Q1•TM3此方程也称为次态此方程也称为次态Qn+1的的转移方程转移方程,包含有,包含有转换条件表达式转换条件表达式。
十字路口交通灯控制器次态方程式十字路口交通灯控制器次态方程式 由于次态为由于次态为 Sn+1 =S•(转换条件表达式转换条件表达式),由前表可得到,由前表可得到次态方程式:次态方程式:Q1n+1 = Q1•Q0•TM3 + Q1•Q0•NSCAR + Q1•Q0•NSCAR•EWCAR + Q1•Q0•NSCAR•EWCAR•TM40 + Q1•Q0•NSCAR•EWCAR•TM40 + Q1•Q0•TM3 = Q0•TM3 + Q1•TM3Q0n+1 = Q1•Q0• NSCAR•EWCAR + Q1•Q0•NSCAR • EWCAR •TM60 + Q1•Q0 •TM3 + Q1•Q0 •TM3 + Q1•Q0•NSCAR•EWCAR + Q1•Q0•NSCAR•EWCAR•TM40选用选用D触发器触发器构成的控制系统,次态构成的控制系统,次态 Qn+1 =D则则可直接写出控制函数:可直接写出控制函数: D1 = Q1•Q0•TM3 + Q1•Q0•NSCAR + Q1•Q0•NSCAR•EWCAR + Q1•Q0•NSCAR•EWCAR•TM40 + Q1•Q0•NSCAR•EWCAR•TM40 + Q1•Q0•TM3 = Q0•TM3 + Q1•TM3 D0 = Q1•Q0• NSCAR•EWCAR + Q1•Q0•NSCAR •EWCAR •TM60 + Q1•Q0 •TM3 + Q1•Q0 •TM3 + Q1•Q0•NSCAR•EWCAR + Q1•Q0•NSCAR•EWCAR•TM40由由ASM图可直接写出输出函数表达式图可直接写出输出函数表达式EWGreen = Q1•Q0NSRed = Q1•Q0NSYellow = Q1•Q0EWYellow = Q1•Q0NSGreen =EWRed = ENTM60 = Q1•Q0ENTM40 =ENTM3 = Q1•Q0 Moore型电路型电路NSCAREWCAR000111EWGeen NSRed,ENTM6000ATM60TM301NSYellowEWYellow,ENTM3B01C由由ASM图可直接写出输出函数表达式图可直接写出输出函数表达式EWGreen = Q1•Q0NSRed = Q1•Q0NSYellow = Q1•Q0+ Q1•Q0 = Q1⊕Q0EWYellow = Q1•Q0 + Q1•Q0 = Q1⊕Q0NSGreen = Q1• Q0EWRed = Q1•Q0ENTM60 = Q1•Q0ENTM40 = Q1•Q0ENTM3 = Q1•Q0 +Q1•Q0=Q1 ⊕ Q0可选用D触发器触发器或JK触发器触发器及门电路构成控制系统。
NSCAREWCARTM40000111NSGreenEWRed, ENTM4011CTM301EWYellowNSYellow, ENTM310D十字路口交通灯十字路口交通灯控制器逻辑框图控制器逻辑框图模模3计数器计数器模模40计数器计数器模模60计数器计数器分频器分频器CLKCP(周期(周期1秒)秒)TM60ENTM3TM40TM3ENTM40ENTM60Q0D1D0Q1QDCLKQDCLK输出组合逻辑输出组合逻辑ENTM3ENTM40ENTM60EWREDEWGREENEWYELLOWNSREDNSGREENNSYELLOW控制组合逻辑控制组合逻辑EWCARNSCARASM图的特点图的特点 ASM图为时序电路系统提供了形式化描述方法图为时序电路系统提供了形式化描述方法在在ASM图中,每个状态框仅有一个出口(分支由图中,每个状态框仅有一个出口(分支由判断框提供),保证了无二义性,且自动满足判断框提供),保证了无二义性,且自动满足闭合性闭合性和完整性和完整性由于每个由于每个ASM块只能描述系统的一个状态,对于块只能描述系统的一个状态,对于计算机和类似的复杂数字系统来说,仅仅采用计算机和类似的复杂数字系统来说,仅仅采用ASM图图作为硬件的描述工具是不够的,因此,需要一种功能作为硬件的描述工具是不够的,因此,需要一种功能更强的形式化工具来更强的形式化工具来描述和定义描述和定义数字系统中的操作和数字系统中的操作和实现这些操作的硬件结构。
实现这些操作的硬件结构 寄存器传送语言寄存器传送语言((RTL)就是这种形式语言之一就是这种形式语言之一8.3 寄存器传送语言寄存器传送语言 寄存器传送语言寄存器传送语言(RTL)是一种用以描述数字系统各种是一种用以描述数字系统各种设备以及它们之间相互连接和相互关系的设备以及它们之间相互连接和相互关系的形式语言形式语言这是一种一种硬件描述语言硬件描述语言,可以,可以直接对操作过程和系统进行描述,直接对操作过程和系统进行描述,并可由此得到系统的硬件结构并可由此得到系统的硬件结构 寄存器传送语言中的寄存器传送语言中的 各种符号各种符号 和和 表达式表达式 都要与都要与 执行所述执行所述微操作微操作的的 寄存器寄存器 和其他和其他逻辑部件逻辑部件相对应,一旦相对应,一旦脱离了具体的寄存器和其他逻辑部件,这些符号和表达式脱离了具体的寄存器和其他逻辑部件,这些符号和表达式便失去了它的意义便失去了它的意义目前,存在着各式各样的寄存器传送语言,尚无统一的目前,存在着各式各样的寄存器传送语言,尚无统一的规范和标准,此节只规范和标准,此节只介绍一种最简便的寄存器传送语言介绍一种最简便的寄存器传送语言。
用寄存器传送语言描述数字系统时,寄存器的涵义是用寄存器传送语言描述数字系统时,寄存器的涵义是广泛的,它包括了所有形式的寄存器:广泛的,它包括了所有形式的寄存器:如如 移位寄存器移位寄存器 计数器计数器 存储器存储器 等计数器计数器可看作具有使存储着的信息进行加、减和移位可看作具有使存储着的信息进行加、减和移位功能的寄存器;功能的寄存器;存储器存储器可以看作是存储信息的寄存器集合可以看作是存储信息的寄存器集合这样,任何形式的这样,任何形式的时序电路时序电路都被看作寄存器都被看作寄存器 这种寄存器传送语言的语句通常包括这种寄存器传送语言的语句通常包括 控制功能控制功能和和微操作表微操作表其中:其中:控制功能控制功能确定了控制条件和微操作的时序,确定了控制条件和微操作的时序, 微操作表微操作表确定了对存储在寄存器中的信息所进行的基本确定了对存储在寄存器中的信息所进行的基本操作 控制功能控制功能可以由定时信号组成,也可以根据以前的操作结可以由定时信号组成,也可以根据以前的操作结果决定。
当控制信号为某一个二进制状态时,就启动某个操作,果决定当控制信号为某一个二进制状态时,就启动某个操作,而为另一个状态时,则禁止这种操作而为另一个状态时,则禁止这种操作 数字系统中最常见的微操作有:数字系统中最常见的微操作有:• 寄存器传送微操作寄存器传送微操作• 算术微操作算术微操作• 逻辑微操作逻辑微操作• 移位微操作移位微操作对存储在寄存器中的信息所进行的对存储在寄存器中的信息所进行的微操作与数据的类型有关微操作与数据的类型有关计算机常用的信息有计算机常用的信息有数字数据数字数据、、非数字数据非数字数据及及其他控制信息其他控制信息8.3.1 最简便的寄存器传送语言最简便的寄存器传送语言1、寄存器传送操作、寄存器传送操作 对寄存器所存信息的加工和存储称为对寄存器所存信息的加工和存储称为寄存器传送操作寄存器传送操作 在数字系统中,寄存器一般用大写字母(有时还加上数字)在数字系统中,寄存器一般用大写字母(有时还加上数字)表示例:如下图,用符号表示例:如下图,用符号A,,B,,R1,,R2,,MAR等表示寄存等表示寄存器。
如果寄存器有器如果寄存器有n位,则寄存器的各触发器按从左到右(或位,则寄存器的各触发器按从左到右(或从右到左)依次编号从右到左)依次编号寄存器框图寄存器框图A(a) 最常用的矩形框表示最常用的矩形框表示MBR121(c) 一个一个12位寄存器位寄存器 PC(H)161PC(L)98(d) 划分为高划分为高(H)、低、低(L)两字节两字节的的16位寄存器位寄存器(b) 划分成若干单元并编号划分成若干单元并编号A8A7A6A5A3A2A1A4 例1. 传送语句传送语句 A ← B A:目标寄存器:目标寄存器 B:源寄存器:源寄存器 (( 信息传送完成后,信息传送完成后,A、、B内容相同)内容相同)表示只有当传送发生的条件(控制功能)成立时,表示只有当传送发生的条件(控制功能)成立时,即即 X T1=1时,才执行传送操作如下图:时,才执行传送操作如下图:例2. 条件传送语句条件传送语句 X T1::A ← BABT11X控制电路控制电路&表示寄存器传送的基本符号表示寄存器传送的基本符号符符 号号说说 明明示示 例例字母(及数字)表示一个寄存器A,MBR,R2下标表示寄存器中的一位A2, A6括号( )表示寄存器中的一部分PC(H),MBR(OP)箭头←表示信息的传送A ← B冒号 :用于终止控制功能XT0 ::逗号 ,用于分隔同时执行的多个微操作A ← B,, B ← C方括号 [ ]用于指定寄存器字的地址MBR ← M[MAR]注:注:MAR通常表示为存储器的通常表示为存储器的地址寄存器地址寄存器。
例例3. 使同一目标寄存器接收来自两个源寄存器的使同一目标寄存器接收来自两个源寄存器的信息传送语句信息传送语句T1::C ← AT2::C ← B注意:这个语句说明控制函数注意:这个语句说明控制函数T1、、 T2是是互斥互斥的电路实现如下:电路实现如下:CB≥1 1T2T1AD0D1S0MUX多路选择器多路选择器用用字母字母M表示存储器表示存储器,字母,字母M后面的后面的方括号则指明方括号则指明给定地址的存储器给定地址的存储器 功能:信息可以从存储器读出,功能:信息可以从存储器读出, 也可以将信息写入存储器也可以将信息写入存储器 例如:例如:W::M[MAR] ← MBRR::MBR ← M[MAR] MARMBR存储器存储器RW例4. 寄存器与存储器的信息传送语句寄存器与存储器的信息传送语句2、算术操作、算术操作 寄存器寄存器 之间的算术微操作,如之间的算术微操作,如加、减、取反加、减、取反等符符 号号说说 明明F ← A+B寄存器A和B的内容相加相加结果传送到寄存器FF ← A-B寄存器A和B的内容相减相减结果传送到寄存器FB ← B对寄存器B的内容取反码取反码,结果留B中B ← B+1对寄存器B的内容取补码取补码,结果留B中F ← A+B+1寄存器A和B的内容相减相减(取补码相加取补码相加)结果传送到寄存器FA ← A+1寄存器A的内容加1,结果留A中A ← A-1寄存器A的内容减1,结果留A中基本算术微操作基本算术微操作例例1. 相加操作语句相加操作语句 T3::A ← A+B表示表示加法操作加法操作,将寄存器,将寄存器A的内容和寄存器的内容和寄存器B的内容相加,的内容相加,结果送到寄存器结果送到寄存器A。
实现这行语句需要实现这行语句需要A、、B两个寄存器,以两个寄存器,以及执行加法运算的逻辑部件(如并行加法器),其逻辑框图及执行加法运算的逻辑部件(如并行加法器),其逻辑框图如下:如下:BA并行加法器并行加法器T3例例2. 相减操作语句相减操作语句 T3::A ← A+B +1表示表示加法操作加法操作,将寄存器,将寄存器A的内容和寄存器的内容和寄存器B的的补码补码相相加,这是一个加,这是一个减法微操作减法微操作,运算结果送到寄存器,运算结果送到寄存器A实现这行语句需要这行语句需要A、、B两个寄存器,以及执行补码加法运算的两个寄存器,以及执行补码加法运算的逻辑部件,其逻辑框图如下:逻辑部件,其逻辑框图如下:BA并行加法器并行加法器T3变变 补补3、逻辑操作、逻辑操作 对寄存器内的每一位信息进行的二进制微操作,对寄存器内的每一位信息进行的二进制微操作,因此这每一位信息当作一个二进制变量来处理因此这每一位信息当作一个二进制变量来处理逻辑微操作逻辑微操作符符 号号说说 明明F ← A寄存器寄存器A的所有位按位的所有位按位求反求反,结果送寄存器,结果送寄存器FF ← A∨∨B寄存器寄存器A和和B的的对应位相对应位相“或或”,结果送寄存器,结果送寄存器FF ← A∧∧B寄存器寄存器A和和B的的对应位相对应位相“与与”,结果送寄存器,结果送寄存器FF ← A⊕ ⊕B寄存器寄存器A和和B的的对应位相对应位相“异或异或”,结果送寄存器,结果送寄存器F例例. T1 ++ T2 ::A ← A ++ B,,C ← D∨∨E表示:表示:控制功能控制功能为两个控制变量为两个控制变量 T1、、 T2相相“或或”。
当当T1 ++ T2 =1时,寄存器时,寄存器A和和B的内容的内容相加相加,结果,结果送寄存器送寄存器A,, 而寄存器而寄存器D和和E的对应位相的对应位相“或或”,结果送寄存器,结果送寄存器C符号符号“++”有两种涵义,当它在微操作中出现时,表示有两种涵义,当它在微操作中出现时,表示 算术加微操作算术加微操作;; 当它在控制功能中出现时,表示当它在控制功能中出现时,表示 “或或”操作操作4、移位操作、移位操作 在寄存器之间数据的在寄存器之间数据的移位移位微操作,也可以表示微操作,也可以表示算术算术、、逻辑逻辑微操作和微操作和控制功能控制功能移位微操作移位微操作符符 号号说说 明明A ← ShlA寄存器寄存器A左移一位左移一位A ← ShrA寄存器寄存器A右移一位右移一位例例1. W1:: A ← ShlA W2:: B ← ShrB当寄存器当寄存器右移右移时,时,最左边最左边的触发器从串行输入端接收信息,的触发器从串行输入端接收信息,当寄存器当寄存器左移左移时,时,最右边最右边的触发器从串行输入端接收信息。
的触发器从串行输入端接收信息符号符号Shl和和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)表示:当控制函数表示:当控制函数 P=1 时,时, 如果如果 if 后面括号内的后面括号内的 条件满足条件满足,, 则,执行则,执行 then 后面括号内的微操作后面括号内的微操作1,, 否则,执行否则,执行else后面括号内的微操作后面括号内的微操作2例例 T2:: if (C=0) then (F← 1) else (F ← 0) 它与下面两个语句是等价的:它与下面两个语句是等价的: C T2:: F ← 1 C T2:: F ← 0例 串行加法器的逻辑框图如下所示,使用寄存器传串行加法器的逻辑框图如下所示,使用寄存器传送语言描述图示的串行加法器的工作送语言描述图示的串行加法器的工作串行加法器的逻辑框图串行加法器的逻辑框图An• • •A1uBn• • •B1v0全加器全加器AiBiCi-1SiCCi设:设:寄存器寄存器A中的被加数中的被加数 U= un un-1 • • • u2 u1 寄存器寄存器B中的加数中的加数 V= vn vn-1 • • • v2 v1工作过程:工作过程:置进位触发器置进位触发器C的初始状态的初始状态C0为为0;当第一个时钟;当第一个时钟信号信号T1作用时,全加器完成最低位作用时,全加器完成最低位u1和和v1相加,并将和数相加,并将和数S1送入寄存器的最高位送入寄存器的最高位A,寄存器,寄存器A和和B同时右移一位;同时右移一位;例例 串行加法器的逻辑框图如下所示,使用寄存器传串行加法器的逻辑框图如下所示,使用寄存器传送语言描述图示的串行加法器的工作。
送语言描述图示的串行加法器的工作串行加法器的逻辑框图串行加法器的逻辑框图当寄存器当寄存器A和和B右移一位后,送到全加器的是被加数右移一位后,送到全加器的是被加数A和加数和加数B的新的最低位的新的最低位u2和和v2 ,若此次运算有进位,若此次运算有进位C1发生,则进位触发发生,则进位触发器器C置为置为1当第二个时钟信号当第二个时钟信号T2作用时,全加器完成作用时,全加器完成u2、、v2和进位和进位C1相加,相加,和数和数S2送入寄存器的最高位送入寄存器的最高位A,寄存器,寄存器A和和B又同时右移一位,又同时右移一位,并将新的进位并将新的进位C2送入触发器送入触发器CAn• • •A1uBn• • •B1v0全加器全加器AiBiCi-1SiCCi例 串行加法器的逻辑框图如下所示,使用寄存器传串行加法器的逻辑框图如下所示,使用寄存器传送语言描述图示的串行加法器的工作送语言描述图示的串行加法器的工作串行加法器的逻辑框图串行加法器的逻辑框图这样,通过寄存器移位、整个串行相加过程,使全加器依次对这样,通过寄存器移位、整个串行相加过程,使全加器依次对被加数和加数的每一位被加数和加数的每一位ui 、、 vi连同前一位的进位连同前一位的进位Ci-1逐位相加。
逐位相加用寄存器传送语言描述整个串行加法器的工作,微操作序列:用寄存器传送语言描述整个串行加法器的工作,微操作序列:An• • •A1uBn• • •B1v0全加器全加器AiBiCi-1SiCCi串行加法器的逻辑框图串行加法器的逻辑框图T1:: An← A1⊕⊕B1⊕⊕C0,, C← (A1∧∧B1 )∨∨(A1∧∧C0 )∨∨(B1∧∧C0 ) A ← ShrA,,B ← ShrB,,Bn ← 0T2:: An← A1⊕⊕B1⊕⊕C0,, C← (A1∧∧B1 )∨∨(A1∧∧C0 )∨∨(B1∧∧C0 ) A ← ShrA,,B ← ShrB,,Bn ← 0Tn:: An← A1⊕⊕B1⊕⊕C0,, C← (A1∧∧B1 )∨∨(A1∧∧C0 )∨∨(B1∧∧C0 ) A ← ShrA,,B ← ShrB,,Bn ← 0An• • •A1uBn• • •B1v0全加器全加器AiBiCi-1SiCCi8.3.2 基本数字系统设计举例基本数字系统设计举例下面通过例子介绍信息下面通过例子介绍信息 处理单元和控制单元的设计方法处理单元和控制单元的设计方法。
例例1. 试设计一个累加器,该累加器能执行如下表所列出的试设计一个累加器,该累加器能执行如下表所列出的一组微操作一组微操作控制变量控制变量微操作微操作名称名称P1P2P3P4P5P6P7P8P9A←A+BA←0A←AA←A∧∧BA←A∨∨BA←A⊕ ⊕BA←ShrAA←ShlAA←A+1If(A=0)then(Z=1)加加清清 0取反取反与与或或异或异或右移右移左移左移加加 1检测检测 0注:注:累加器是信息处理累加器是信息处理单元中一个特殊的寄存单元中一个特殊的寄存器,它能执行多种微操器,它能执行多种微操作功能:作功能:加法微操作加法微操作、逐次累加并暂存累加和逐次累加并暂存累加和、 并行接收并行接收、 并行输出并行输出、 暂存暂存、 移位移位这这些些控控制制变变量量是是互互斥斥的的累加器的结构累加器的结构累加器由累加器由寄存器寄存器A和和组合逻辑电路组合逻辑电路组成,如下框图:组成,如下框图:组合逻辑电路组合逻辑电路寄存器寄存器AB数据输入数据输入控制变量控制变量寄存器寄存器A既可作为既可作为加数加数寄存器,又可作为寄存器,又可作为和数和数寄存器决定累加器微操作的各个控制变量是互斥的,在任何给定决定累加器微操作的各个控制变量是互斥的,在任何给定时间内只有一个控制变量被选通,产生相应的微操作。
时间内只有一个控制变量被选通,产生相应的微操作累加器的结构累加器的结构为简化累加器的设计,为简化累加器的设计,假设:累加器由假设:累加器由n个相同的单元个相同的单元组成,每个单元包含了执行各种微操作所需的逻辑电路,组成,每个单元包含了执行各种微操作所需的逻辑电路,只要完成一个单元的各部分电路设计,就可以将它们综合只要完成一个单元的各部分电路设计,就可以将它们综合成累加器的一个成累加器的一个典型单元典型单元,然后用若干个典型单元组成一,然后用若干个典型单元组成一个完整的累加器(迭代设计)个完整的累加器(迭代设计) 控制控制变量变量组合逻组合逻辑电路辑电路A0B0 数据数据输入输入寄存器寄存器A0边界边界输入输入级联级联输出输出组合逻组合逻辑电路辑电路A1B1 数据数据输入输入寄存器寄存器A1级联级联输入输入级联级联输出输出组合逻组合逻辑电路辑电路AiBi数据数据输入输入寄存器寄存器Ai级联级联输入输入级联级联输出输出累加器的一个典型单元的设计累加器的一个典型单元的设计1. “加加”微操作微操作这部分电路的工作用状态真值表描述如下这部分电路的工作用状态真值表描述如下:现态现态输入输入次态次态输出输出AiBi Ci-1Ain+1Ci000011110 00 11 01 10 00 11 01 10110100100010111假如假如寄存器寄存器A采用采用JK 触发器触发器,则列出的激励表如下:,则列出的激励表如下:全加器全加器AiBi 数据数据输入输入寄存器寄存器Ai控制控制变量变量Ci-1Ci累加器的一个典型单元的设计累加器的一个典型单元的设计1. “加加”微操作微操作JK 触发器触发器的的“加加”微操作的微操作的激励表激励表如下:如下:现态现态输入输入次态次态激励变量激励变量输出输出AiBi Ci-1Ain+1Ji KiCi000011110 00 11 01 10 00 11 01 1011010010 d1 d1 d0 dd 0d 1d 1d 000010111用用卡诺图卡诺图化简,则如下:化简,则如下:全加器全加器JBi 数据数据输入输入寄存器寄存器Ai控制控制变量变量Ci-1CiKJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计1. “加加”微操作微操作JK 触发器触发器的的“加加”微操作的微操作的激励表激励表如下:如下:现态现态输入输入次态次态激励变量激励变量输出输出AiBi Ci-1Ain+1Ji KiCi000011110 00 11 01 10 00 11 01 1011010010 d1 d1 d0 dd 0d 1d 1d 000010111Ai BiCi-1Ji11ddddAi BiCi-1Kid1ddd1Ai BiCi-1Ci1111全加器全加器JBi 数据数据输入输入寄存器寄存器Ai控制控制变量变量Ci-1CiKJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 1. “加加”微操作微操作激励函数激励函数 Ji 、、 Ki 和输出函数和输出函数 Ci 的表达式:的表达式:Ai BiCi-1Ji11ddddAi BiCi-1Ki11ddd1Ai BiCi-1Ci1111Ji = Bi Ci-1 + Bi Ci-1Ki = Bi Ci-1 + Bi Ci-1 = Ji Ci = Ai Bi + Ai Ci-1 + Bi Ci-1 全加器全加器JBi 数据数据输入输入寄存器寄存器Ai控制控制变量变量Ci-1CiKJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 1. “加加”微操作微操作激励函数激励函数 Ji 、、 Ki 和输出函数和输出函数 Ci 的表达式:的表达式:Ji = Bi Ci-1 + Bi Ci-1Ki = Bi Ci-1 + Bi Ci-1 = Ji Ci = Ai Bi + Ai Ci-1 + Bi Ci-1 由于由于“加加”微操作微操作是由控制变量是由控制变量P1启启动的,即仅当动的,即仅当P1=1时激励函数才能影时激励函数才能影响触发器的状态:响触发器的状态:Ji = Bi Ci-1 P1 + Bi Ci-1 P1Ki = Bi Ci-1 P1 + Bi Ci-1 P1 = Ji Ci = Ai Bi + Ai Ci-1 + Bi Ci-1 全加器全加器JBi 数据数据输入输入寄存器寄存器Ai控制控制变量变量Ci-1CiKJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 2. “清清 0”微操作微操作组合组合逻辑逻辑J寄存器寄存器Ai 控制控制变量变量P2KJiKiCCLK控制变量控制变量P2使寄存器使寄存器A中所有触发器全中所有触发器全部清部清 0,即仅当,即仅当P2=1时激励函数能使时激励函数能使JK触发器触发器复位:复位:Ji = 0Ki = P2 Q Qn+1J K0 00 d0 11 d1 0d 11 1d 0* *累加器的一个典型单元的设计累加器的一个典型单元的设计 3. “取反取反”微操作微操作控制变量控制变量P3使寄存器使寄存器A中所有信息取反,中所有信息取反,即仅当即仅当P3=1时激励函数能使时激励函数能使JK触发器触发器变变反(计数):反(计数):Ji = P3Ki = P3 组合组合逻辑逻辑J寄存器寄存器Ai 控制控制变量变量P3KJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 4. “与与”微操作微操作控制变量控制变量P4使寄存器使寄存器Ai与与Bi实现实现逻辑逻辑“与与”运算,并将结果存入触发器运算,并将结果存入触发器Ai ,这,这部分电路的工作用状态真值表描述如下:部分电路的工作用状态真值表描述如下:组合组合逻辑逻辑JBi 数据数据输入输入寄存器寄存器Ai控制变控制变量量P4KJiKiCCLK现态现态输入输入次态次态AiBi Ain+1001101010001寄存器寄存器A采用采用JK 触发器触发器,则列出的激励表如下:,则列出的激励表如下:累加器的一个典型单元的设计累加器的一个典型单元的设计 4. “与与”微操作微操作现态现态输入输入次态次态激励函数激励函数AiBi Ain+1Ji Ki0011010100010 d0 dd 1d 0AiBiJiddKi1ddAiBiJi = 0Ki = Bi P4组合组合逻辑逻辑JBi 数据数据输入输入寄存器寄存器Ai控制变控制变量量P4KJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 5. “或或”微操作微操作控制变量控制变量P5使寄存器使寄存器Ai与与Bi实现实现逻辑逻辑“或或”运算,并将结果存入触发器运算,并将结果存入触发器Ai ,这,这部分电路的工作用状态真值表描述如下:部分电路的工作用状态真值表描述如下:现态现态输入输入次态次态AiBi Ain+1001101010111寄存器寄存器A采用采用JK 触发器触发器,则列出的激励表如下:,则列出的激励表如下:组合组合逻辑逻辑JBi 数据数据输入输入寄存器寄存器Ai控制变控制变量量P5KJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 5. “或或”微操作微操作现态现态输入输入次态次态激励函数激励函数AiBi Ain+1Ji Ki0011010101110 d1 dd 0d 0KiddAiBiJi = Bi P5Ki = 0AiBiJidd1组合组合逻辑逻辑JBi 数据数据输入输入寄存器寄存器Ai控制变控制变量量P5KJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 6. “异或异或”微操作微操作控制变量控制变量P6使寄存器使寄存器Ai与与Bi实现实现逻辑逻辑“异或异或”运算,并将结果存入触发器运算,并将结果存入触发器Ai ,这部分电路的工作用状态真值表描述,这部分电路的工作用状态真值表描述如下:如下:现态现态输入输入次态次态AiBi Ain+1001101010110寄存器寄存器A采用采用JK 触发器触发器,则列出的激励表如下:,则列出的激励表如下:组合组合逻辑逻辑JBi 数据数据输入输入寄存器寄存器Ai控制变控制变量量P6KJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 6. “异或异或”微操作微操作现态现态输入输入次态次态激励函数激励函数AiBi Ain+1Ji Ki0011010101100 d1 dd 0d 1Ji = Bi P6Ki = Bi P6AiBiJidd1KiddAiBi1组合组合逻辑逻辑JBi 数据数据输入输入寄存器寄存器Ai控制变控制变量量P6KJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 7. “右移右移”微操作微操作控制变量控制变量P7使寄存器使寄存器A内的信息右移内的信息右移一位,即将触发器一位,即将触发器Ai+1存入触发器存入触发器Ai,则,则对对JK 触发器触发器的激励函数如下:的激励函数如下:Ji = Ai+1 P7Ki = Ai+1 P7组合组合逻辑逻辑J寄存器寄存器Ai 控制控制变量变量P7KJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 8. “左移左移”微操作微操作控制变量控制变量P8使寄存器使寄存器A内的信息左移内的信息左移一位,即将触发器一位,即将触发器Ai-1存入触发器存入触发器Ai,则,则对对JK 触发器触发器的激励函数如下:的激励函数如下:Ji = Ai-1 P8Ki = Ai-1 P8组合组合逻辑逻辑J寄存器寄存器Ai 控制控制变量变量P8KJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 9. “加加 1”微操作微操作控制变量控制变量P9使寄存器使寄存器A内的数据内的数据加加 1,即将寄存器,即将寄存器A的所有触发器构成的所有触发器构成同步加同步加 1 计数器计数器,则对,则对JK 触发器触发器的激励函数如的激励函数如下:下:Ji = Ki = Qi-1•Qi-2• ··· •Q1 ( i ≠1) —— 进位进位传递函数传递函数J1 = K1 = 1 —— 最低位呈计数态最低位呈计数态组合组合逻辑逻辑J寄存器寄存器Ai 控制控制变量变量P9KJiKiCCLK累加器的一个典型单元的设计累加器的一个典型单元的设计 9. “加加 1”微操作微操作当当P9 =1时,启动时,启动“加加 1”微操作微操作:J1 = K1 = P9 = E1Ei +1= Ai Ei Ji = Ki = EiJA1KJ1K1CCLK控制变控制变量量P9&E1E2JAiKJiKiC&EiEi+1JAnKJnKnC&EnEn+1累加器的一个典型单元的设计累加器的一个典型单元的设计 10. “检测检测 0 ”微操作微操作JAnKC&ZnZn+1JAiKC&ZiZi+1Z2JA1KC&Z1 = 1当寄存器当寄存器A的所有触发器均为的所有触发器均为0时,输出变量时,输出变量Z为为1。
该微操作该微操作与控制变量(时钟序列)无关与控制变量(时钟序列)无关Z 1 = 1Z i +1= Ai Z i Z = Z n+1控控制制变变量量微操作微操作名称名称逻辑函数表达式逻辑函数表达式P1P2P3P4P5P6P7P8P9A←A+BA←0A←AA←A∧∧BA←A∨∨BA←A⊕ ⊕BA←ShrAA←ShlAA←A+1If(A=0)then(Z=1)加加清清 0取反取反与与或或异或异或右移右移左移左移加加 1检测检测 0Ji = Ki = BiCi-1P1+BiCi-1P1 , Ci = AiBi+AiCi-1+BiCi-1Ji = 0 , Ki = P2Ji = P3 , Ki = P3Ji = 0 , Ki = Bi P4Ji = Bi P5 , Ki = 0Ji = Bi P6 , Ki = Bi P6Ji = Ai+1 P7 , Ki = Ai+1 P7Ji = Ai-1 P7 , Ki = Ai-1 P7J1 = K1 = P9 = E1 , Ei +1= Ai Ei , Ji = Ki = EiZ 1 = 1 , Z i +1 = Ai Z i , Z = Z n+1累加器的一个典型单元的设计累加器的一个典型单元的设计 综合上述综合上述10种微操作,由于它们的控制变量是种微操作,由于它们的控制变量是互斥的,互斥的,因此在任何时刻只有一个控制变量在起作用因此在任何时刻只有一个控制变量在起作用,故可以将所有,故可以将所有微操作的函数表达式微操作的函数表达式“或或”起来起来,构成一个典型单元的逻辑,构成一个典型单元的逻辑表达式。
表达式组合组合逻辑逻辑JBi 数据数据输入输入寄存器寄存器Ai控制变控制变量量KJiKiCCLKJi = (Bi Ci-1 P1 + Bi Ci-1 P1 ) + (P3) + (Bi P5) +(Bi P6) + (Ai+1 P7) + (Ai-1 P8) + Ei Ci = Ai Bi + Ai Ci-1 + Bi Ci-1 Ki = (Bi Ci-1 P1 + Bi Ci-1 P1 ) + (P2) + (P3) + (Bi P4) + (Bi P6) + (Ai+1 P7) + (Ai-1 P8) + EiEi+1 = Ai EiZi+1 = Ai Zi控控制制变变量量微操作微操作名称名称逻辑函数表达式逻辑函数表达式P1P2P3P4P5P6P7P8P9A←A+BA←0A←AA←A∧∧BA←A∨∨BA←A⊕ ⊕BA←ShrAA←ShlAA←A+1If(A=0)then(Z=1)加加清清 0取反取反与与或或异或异或右移右移左移左移加加 1检测检测 0Ji = Ki = BiCi-1P1+BiCi-1P1 , Ci = AiBi+AiCi-1+BiCi-1Ji = 0 , Ki = P2Ji = P3 , Ki = P3Ji = 0 , Ki = Bi P4Ji = Bi P5 , Ki = 0Ji = Bi P6 , Ki = Bi P6Ji = Ai+1 P7 , Ki = Ai+1 P7Ji = Ai-1 P7 , Ki = Ai-1 P7J1 = K1 = P9 = E1 , Ei +1= Ai Ei , Ji = Ki = EiZ 1 = 1 , Z i +1 = Ai Z i , Z = Z n+1累加器的一个典型单元的设计累加器的一个典型单元的设计组合组合逻辑逻辑JBi 数据数据输入输入寄存器寄存器Ai控制变控制变量量KJiKiCCLK累加器的一个典型单元的逻辑电路图累加器的一个典型单元的逻辑电路图Ji = (Bi Ci-1 P1 + Bi Ci-1 P1 ) + (P3) + (Bi P5) +(Bi P6) + (Ai+1 P7) + (Ai-1 P8) + Ei EiP8Ai-1&&&&P7Ai+1P6BiP5P31≥1Ci-11&&P1寄存器AiJiKiJKCCLK累加器的一个典型单元的逻辑电路图累加器的一个典型单元的逻辑电路图寄存器寄存器AiJiKiJKCCLKEiP8Ai-11&&&&&&&P7Ai+11P6BiP5P31P4P2≥1≥1Ci-11&&P1Ki = (Bi Ci-1 P1 + Bi Ci-1 P1 ) + (P2) + (P3) + (Bi P4) + (Bi P6) + (Ai+1 P7) + (Ai-1 P8) + Ei累加器的一个典型单元的逻辑电路图累加器的一个典型单元的逻辑电路图寄存器AiJiKiJKCCLKEiP8Ai-11&&&&&&&P7Ai+11P6BiP5P31P4P2≥1≥1Ci-11&&P1≥1&&&CiCi = Ai Bi + Ai Ci-1 + Bi Ci-1 累加器的一个典型单元的逻辑电路图累加器的一个典型单元的逻辑电路图寄存器AiJiKiJKCCLKEiP8Ai-11&&&&&&&P7Ai+11P6BiP5P31P4P2≥1≥1Ci-11&&P1≥1&&&AiCiEi+1&Ei+1 = Ai Ei累加器的一个典型单元的逻辑电路图累加器的一个典型单元的逻辑电路图寄存器AiJiKiJKCCLKEiP8Ai-11&&&&&&&P7Ai+11P6BiP5P31P4P2≥1≥1Ci-11&&P1≥1&&&AiCi&ZiZi+1Ei+1&Zi+1 = Ai Zi累加器的一个典型单元的逻辑电路图累加器的一个典型单元的逻辑电路图寄存器AiJiKiJKCCLKEiP8Ai-11&&&&&&&P7Ai+11P6BiP5P31P4P2≥1≥1Ci-11&&P1≥1&&&AiCi&ZiZi+1Ei+1&Zi+1CiAiEi+1ZiCi-1Ai-1Ai+1BiEi一个典型单元一个典型单元的逻辑框图的逻辑框图用用 n 个典型单元构成一个个典型单元构成一个 n 位累加器(迭代设计)。
位累加器(迭代设计)控制变量控制变量微操作微操作名称名称逻辑函数表达式逻辑函数表达式P1P2P3P4P5P6P7P8P9A←A+BA←0A←AA←A∧∧BA←A∨∨BA←A⊕ ⊕BA←ShrAA←ShlAA←A+1If(A=0)then(Z=1)加加清清 0取反取反与与或或异或异或右移右移左移左移加加 1检测检测 0Ji = Ki = BiCi-1P1+BiCi-1P1 , Ci = AiBi+AiCi-1+BiCi-1Ji = 0 , Ki = P2Ji = P3 , Ki = P3Ji = 0 , Ki = Bi P4Ji = Bi P5 , Ki = 0Ji = Bi P6 , Ki = Bi P6上图所示上图所示的是一个的是一个 4 位累加位累加器的框图器的框图Z5C4A4E5Z4C3A3 A5B4E4Z4C3A3E4Z3C2A2 A4B3E3Z3C2A2E3Z2C1A1 A3B2E2Z2C1A1E2Z1C0A0 A2B1E1B4B3B2B1CLKP1~P8CinCout用用 n 个典型单元构成一个个典型单元构成一个 n 位累加器(迭代设计)。
位累加器(迭代设计)控制变量控制变量微操作微操作名称名称逻辑函数表达式逻辑函数表达式P1P2P3P4P5P6P7P8P9A←A+BA←0A←AA←A∧BA←A∨BA←A⊕BA←ShrAA←ShlAA←A+1If(A=0)then(Z=1)加清 0取反与或异或右移左移加 1检测 0Ji = Ki = BiCi-1P1+BiCi-1P1 , Ci = AiBi+AiCi-1+BiCi-1Ji = 0 , Ki = P2Ji = P3 , Ki = P3Ji = 0 , Ki = Bi P4Ji = Bi P5 , Ki = 0Ji = Bi P6 , Ki = Bi P6Ji = Ai+1 P7 , Ki = Ai+1 P7上图所示上图所示的是一个的是一个 4 位累加位累加器的框图器的框图Z5C4A4E5Z4C3A3 A5B4E4Z4C3A3E4Z3C2A2 A4B3E3Z3C2A2E3Z2C1A1 A3B2E2Z2C1A1E2Z1C0A0 A2B1E1B4B3B2B1CLKP1~P8右移串行输入右移串行输出CinCout用用 n 个典型单元构成一个个典型单元构成一个 n 位累加器(迭代设计)。
位累加器(迭代设计)控制变量控制变量微操作微操作名称名称逻辑函数表达式逻辑函数表达式P1P2P3P4P5P6P7P8P9A←A+BA←0A←AA←A∧BA←A∨BA←A⊕BA←ShrAA←ShlAA←A+1If(A=0)then(Z=1)加清 0取反与或异或右移左移加 1检测 0Ji = Ki = BiCi-1P1+BiCi-1P1 , Ci = AiBi+AiCi-1+BiCi-1Ji = 0 , Ki = P2Ji = P3 , Ki = P3Ji = 0 , Ki = Bi P4Ji = Bi P5 , Ki = 0Ji = Bi P6 , Ki = Bi P6Ji = Ai+1 P7 , Ki = Ai+1 P7Ji = Ai-1 P7 , Ki = Ai-1 P7上图所示上图所示的是一个的是一个 4 位累加位累加器的框图器的框图Z5C4A4E5Z4C3A3 A5B4E4Z4C3A3E4Z3C2A2 A4B3E3Z3C2A2E3Z2C1A1 A3B2E2Z2C1A1E2Z1C0A0 A2B1E1B4B3B2B1CLKP1~P8右移串行输入左移串行输入右移串行输出左移串行输出CinCout用用 n 个典型单元构成一个个典型单元构成一个 n 位累加器(迭代设计)。
位累加器(迭代设计)控制变量控制变量微操作微操作名称名称逻辑函数表达式逻辑函数表达式P1P2P3P4P5P6P7P8P9A←A+BA←0A←AA←A∧BA←A∨BA←A⊕BA←ShrAA←ShlAA←A+1If(A=0)then(Z=1)加清 0取反与或异或右移左移加 1检测 0Ji = Ki = BiCi-1P1+BiCi-1P1 , Ci = AiBi+AiCi-1+BiCi-1Ji = 0 , Ki = P2Ji = P3 , Ki = P3Ji = 0 , Ki = Bi P4Ji = Bi P5 , Ki = 0Ji = Bi P6 , Ki = Bi P6Ji = Ai+1 P7 , Ki = Ai+1 P7Ji = Ai-1 P7 , Ki = Ai-1 P7J1 = K1 = P9 = E1 , Ei +1= Ai Ei , Ji = Ki = Ei上图所示上图所示的是一个的是一个 4 位累加位累加器的框图器的框图Z5C4A4E5Z4C3A3 A5B4E4Z4C3A3E4Z3C2A2 A4B3E3Z3C2A2E3Z2C1A1 A3B2E2Z2C1A1E2Z1C0A0 A2B1E1B4B3B2B1CLKP1~P8右移串行输入左移串行输入P9加 1 进位右移串行输出左移串行输出CinCout用用 n 个典型单元构成一个个典型单元构成一个 n 位累加器(迭代设计)。
位累加器(迭代设计)控制变量控制变量微操作微操作名称名称逻辑函数表达式逻辑函数表达式P1P2P3P4P5P6P7P8P9A←A+BA←0A←AA←A∧BA←A∨BA←A⊕BA←ShrAA←ShlAA←A+1If(A=0)then(Z=1)加清 0取反与或异或右移左移加 1检测 0Ji = Ki = BiCi-1P1+BiCi-1P1 , Ci = AiBi+AiCi-1+BiCi-1Ji = 0 , Ki = P2Ji = P3 , Ki = P3Ji = 0 , Ki = Bi P4Ji = Bi P5 , Ki = 0Ji = Bi P6 , Ki = Bi P6Ji = Ai+1 P7 , Ki = Ai+1 P7Ji = Ai-1 P7 , Ki = Ai-1 P7J1 = K1 = P9 = E1 , Ei +1= Ai Ei , Ji = Ki = EiZ 1 = 1 , Z i +1 = Ai Z i , Z = Z n+1上图所示上图所示的是一个的是一个 4 位累加位累加器的框图器的框图1ZZ5C4A4E5Z4C3A3 A5B4E4Z4C3A3E4Z3C2A2 A4B3E3Z3C2A2E3Z2C1A1 A3B2E2Z2C1A1E2Z1C0A0 A2B1E1B4B3B2B1CLKP1~P8右移串行输入左移串行输入P9加 1 进位右移串行输出左移串行输出CinCout例例2. 试设计一个能对两个原码表示的定点二进制数相乘试设计一个能对两个原码表示的定点二进制数相乘的乘法器控制单元。
的乘法器控制单元设:两个二进制数均为设:两个二进制数均为 n 位位原码,其中最左位是符号位原码,其中最左位是符号位硬件配置:硬件配置:运算规则:运算规则:积的符号积的符号AS = BS⊕ ⊕ QS,,积的数值由积的数值由部分积和被乘数逐次累加并右移获得部分积和被乘数逐次累加并右移获得,积长,积长2n位位BS寄存器寄存器 B被乘数AS寄存器寄存器 A乘积数QS寄存器寄存器 Q乘数Q1qm(乘)控制控制逻辑逻辑C进位计数器计数器 P相加和右移的次数当当qm =1时,时,启动乘法启动乘法操作过程操作过程运算规则:“移位移位—相加相加”算法举例10111×× ) 100111011110111000001011100000110110101修修改改算算法法101111001110111010111101111000101100010101000101001000101101111101101010110110101算法:被乘数算法:被乘数——左移左移右移,得到右移,得到第第1个个 部分积部分积乘数第乘数第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)101111001110111010111101111000101100010101000101001000101101111101101010110110101右移,得到右移,得到第第1个个 部分积部分积乘数第乘数第1位为位为1乘数第乘数第2位为位为1被乘数与部分积累加被乘数与部分积累加右移,得到右移,得到第第2个个 部分积部分积乘数第乘数第3位为位为0,直接右,直接右移,得到移,得到第第3个个 部分积部分积乘数第乘数第4位为位为0,直接右,直接右移,得到移,得到第第4个个 部分积部分积乘数第乘数第5位为位为1被乘数与部分积累加被乘数与部分积累加右移,得到右移,得到第第5个个 部分积,部分积,也是最后的结果也是最后的结果算法:逐次累加被乘数算法:逐次累加被乘数——右移右移启动初始状态0qm1AS ← BS⊕ ⊕QSA←0, C←0,P←k0Q11P←P-1A←A+B, C←Cout P←P-1AQ←ShrAQC C←0P10二进制数相乘的二进制数相乘的ASM图图启动初始状态0qm1AS ← BS⊕ ⊕QSA←0, C←0,P←k0Q11P←P-1A←A+B, C←Cout P←P-1AQ←ShrAQC C←0P10启动初始状态0qm1AS ← BS⊕ ⊕QSA←0, C←0,P←k0Q11P←P-1A←A+B, C←Cout P←P-1AQ←ShrAQC C←0P10yA 00yB 01yC 10yC 10yD 11寄存器的微操作序列:寄存器的微操作序列:T0 :初始状态:初始状态T1 :: AS ← BS⊕ ⊕QS ,,A←0, C←0,,P←kQ1 T2 :: A←A+B,,C←Cout P←P-1Q1 T2 :: P←P-1T3 :: AQ ← ShrCAQ ,,C←0启动初始状态0qm1AS ← BS⊕ ⊕QSA←0, C←0,P←k0Q11P←P-1A←A+B, C←Cout P←P-1AQ←ShrAQC C←0P10 00 011010 11乘法器的初始状态为乘法器的初始状态为T0 ,,当乘法运算控制变量当乘法运算控制变量qm =1时,进入状态时,进入状态T1,对进位,对进位触发器触发器C、寄存器、寄存器A 、计、计数器数器P置初值,然后进入乘置初值,然后进入乘法操作。
法操作乘法控制器的状态真值表乘法控制器的状态真值表现现 态态输输 入入现现 态态输输 出出 y2 y1qm Pzero Q1y2n+1 y1n+1T0 T1 T2 Q1T2 T30 00 00 11 01 01 11 10 d /— d1 d dd d dd d 0d d 1d 0 dd 1 d0 00 11 01 11 11 00 01 0 0 0 01 0 0 0 00 1 0 0 00 0 1 0 00 0 1 1 00 0 0 0 10 0 0 0 1注:注: Pzero = 1当计数器当计数器P的内容为的内容为0时,否则为时,否则为Pzero = 0;; L = Q1 T2T0 :初始状态:初始状态T1 :: AS ← BS⊕ ⊕QS ,,A←0, C←0,,P←kQ1 T2 :: A←A+B,,C←Cout P←P-1Q1 T2 :: P←P-1T3 :: AQ ← ShrCAQ ,,C←08.4 简易计算机设计简易计算机设计计算机是最典型、最常用、也是最复杂的数字系统。
现代计算机的结构遵循 冯冯 • 诺依曼计算机诺依曼计算机 的定义,即由五大部件五大部件组成:运算器运算器ALU(Arithmetic Logical Unit 算术逻辑部件算术逻辑部件);;控制器控制器CU(Control Unit);;存储器存储器RAM(Random Access Memory随机存取存储随机存取存储器器);;输入设备输入设备和 输出设备输出设备(Input/Output) ,合起来简称为输入输出设备输入输出设备,或 I/O设备设备,也称为外部设备、外围设外部设备、外围设备备8.4.1 简易计算机结构简易计算机结构8.4 简易计算机设计简易计算机设计由于运算器和控制器在逻辑关系和电路结构上联系十分密切,尤其在大规模集成电路制作工艺出现后,往往将运算器和控制器制作在同一芯片上,称为中央处理运算器和控制器制作在同一芯片上,称为中央处理器器(Central Processing Unit),简称简称CPU 现代计算机可认为是由 CPU、存储器存储器 和 I/O设备设备这三大部件三大部件组成,其中由CPU和主存合起来,被称为主机主机结构如图所示:8.4.1 简易计算机结构简易计算机结构主机主机CPU1. 现代计算机的三大部件的结构现代计算机的三大部件的结构数据流数据流指令流指令流控制信号控制信号反馈信号反馈信号存储器存储器运算器运算器 (中心中心)控制器控制器输入设备输入设备输出设备输出设备2. 计算机的各部件基本功能计算机的各部件基本功能•CPU的基本功能:根据程序执行所期望的信息处理, 其中:ALU执行算术逻辑运算,CU则根据程序从存储从存储器读出器读出并执行指令和数据,以执行执行要求的运算和操作。
•存储器存储器的基本功能:计算机存储存储指令、数据和信息的空间•输入设备输入设备的基本功能:将指令、数据和信息输入输入到计算机•输出设备输出设备的基本功能:将处理后的结果由计算机输出输出出来3. 计算机的指令系统计算机的指令系统•每种计算机都有其独特的指令系统独特的指令系统•所谓指令指令就是用以表示计算机微操作序列微操作序列的二进制代二进制代码码它决定CPU应该执行什么样的具体操作所以指令系统完备与否完备与否和功能的强弱功能的强弱体现了计算机整体性能整体性能的优劣•计算机设计中最基本最基本的问题是如何选择和设计出一个完备的、使用方便的指令系统4. 计算机的工作原理计算机的工作原理•指令和数据都存储在存储器存储器中•控制器控制器每次从存储器取出取出一条指令,它决定CPU应该执行什么样的具体操作解释解释其含义,并据此产生产生一系列功能来执行这条指令•不同指令有不同字长、寻址方式、不同的操作,则所对应的指令周期也长短不同•每个指令周期划分为若干个机器周期机器周期,每个机器周期划分为若干个节拍节拍,一个节拍通常对应一个时钟周期时钟周期T,时钟周期是执行微操作的最小时间单位最小时间单位•处理一条指令所包含的操作序列称为一个指令周期一个指令周期。
指令周期指令周期 = 取指周期取指周期 + 执行周期执行周期 取指周期:将指令从存储器读出取指周期:将指令从存储器读出 执行周期:指令译码,取操作数、完成操作执行周期:指令译码,取操作数、完成操作5. 计算机的设计过程计算机的设计过程两个阶段:系统设计系统设计和逻辑设计逻辑设计•系统设计系统设计:涉及系统的技术指标和总的性能,确定设计目 标、基本结构方案和指令系统•逻辑设计逻辑设计:将计算机结构的描述用逻辑电路来实现8.4.2 举例:设计一台简易计算机举例:设计一台简易计算机1. 首先是系统设计系统设计阶段:系统包括1个存储器、7个寄存器、 2个译码器•存储器存储器:256个字节,每个字8位; 存储地址寄存器MAR<==存储器的地址地址; 存储缓冲寄存器MBR <==读出或写入的内容内容, 若读出的为:指令指令 = 操作码部分操作码部分 +地址部分地址部分 ↓ ↓ 指令寄存器IR 保留在MBR ==> MAR 若读出的为:操作数操作数 ==> 寄存器A、、R•程序计数器PC:存放的是后续指令的地址。
•操作译码器:对每个操作码提供一个相应的输出变量qi •时序译码器:提供计算机时序信号t1 到t8 8 个时钟信号•时序计数器T :为计算机提供时序信号的计数器一台简易计算机的配置框图一台简易计算机的配置框图程序计数器PC地址寄存器MAR缓冲寄存器MBR存储器MM256 ×8寄存器 A寄存器 R指令寄存器IR操作译码器q1q2q3时序译码器t0t1t2t7时序计数器T七七个个寄寄存存器器的的功功能能符号符号位数位数名称名称功能功能MARMARARPCIRT8888888存储地址寄存器存储缓冲寄存器寄存器 A寄存器 R程序计数器指令寄存器时序计数器保存存储器地址保存存储器字的内容处理数据寄存器处理数据寄存器保存指令地址保存指令操作码产生时序信号指令系统指令系统:要将数据格式数据格式与指令格式指令格式结合起来考虑指令字:指令字:由几部分组成,每个部分有特定的解释其中,指令的开头部分是操作码操作码操作码操作码操作码操作数操作数操作码操作码操作数地址操作数地址隐含式直接操作数式直接地址式操作码:操作码:确定某种特定操作的二进制代码,如:加、减、移位、取反等操作操作码的位数:操作码的位数:n 位,表示了2n 种不同的操作。
操作数:操作数:给出指令操作的对象,可以是具体的操作数操作数,也可以是操作数存放的地址存放的地址,表示从哪儿取操作数、以及将操作结果存储在哪个目的地指令字的格式指令字的格式用长方形表示 如下给出三种指令格式:简易计算机的三条指令简易计算机的三条指令操作码操作码记忆符号记忆符号说明说明功能功能000000010000001000000011MOV RLDI OPRDLDA ADRS将寄存器R的内容送入寄存器A将操作数OPRD置入寄存器A将地址ADRS中的操作数置入寄存器 AA←RA←(OPRD)A←M[ADRS]由这三条指令编写的一段程序:地址地址存储器存储器功能说明功能说明2500000001操作码 = 1A←R3500000010操作码 = 2A←操作数443600101100操作码 = 44(00101100)2=444500000011操作码 = 3A← 地址70之中4601000110操作数地址 = 70的操作数,即A←操作数287000011100操作数 = 28(00011100)2=28用寄存器传送语言进行描述用寄存器传送语言进行描述 操作码送入IR后,由操作译码器对其译码,产生操作信号q1、、q2、、q3、、…。
计算机的基本程序运行如下:所有指令的取指令周期都是共同的;但取指令以后的微操作取决于操作码的译码结果,即操作译码器的输出信号q1、、q2、、q3、、…决定第一步:取指令周期取指令周期时序译码器输出的时序信号t0、 t1和t2用作实现取指令实现取指令微操作的控制,取指令微操作序列为:传送指令地址读出操作码, PC + 1指向下一条指令传送操作码,准备译码 t0::MAR←PC t1::MBR←M[MAR] ,,PC←PC+1 t2::IR←MBR用寄存器传送语言进行描述用寄存器传送语言进行描述计算机的基本程序运行如下:第二步:执行指令周期执行指令周期根据操作译码器的输出信号q1、、q2、、q3、、…执行实现指令实现指令功能功能的微操作 第一条指令“MOV R”的操作码00000001送入IR后,使操作译码器译码产生操作信号q1=1,则执行该指令的微操作:由于程序计数器 PC 在t1作用期间已经加1,使它保存了下一条指令的地址q1 t3::A←R ,,T←0 即当q1 t3=1时,寄存器R的内容送入A;且使时序计数器T清清0,再从t0开始新的取指周期q1= IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0用寄存器传送语言进行描述用寄存器传送语言进行描述计算机的基本程序运行如下:第二步:执行指令周期执行指令周期。
第二条指令“LDI OPRD”的操作码00000010送入IR后,使操作译码器译码产生操作信号q2=1,则执行该指令的微操作:在读取了操作数后,将该操作数保存在寄存器A中,又使PC在返回取指周期取指周期前自动加1,指向下一条指令的地址q2 t3::MAR←PC 即当q2 t3=1时,操作数地址送入MAR,因为在存储器中操作数是紧挨着操作码的,即指向的存储单元q2 t4:: MBR←M[MAR] ,,PC←PC+1 读操作数, 使 PC 加加1q2 t5::A←MBR ,,T←0 传送操作数,转入取指周期q2= IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0用寄存器传送语言进行描述用寄存器传送语言进行描述计算机的基本程序运行如下:第二步:执行指令周期执行指令周期第三条指令“LDA ADRS”的操作码00000011送入IR后,使操作译码器译码产生操作信号q3=1,则执行该指令的微操作:在存储器中,操作数地址ADRS是紧挨着操作码的(在q3 t4作用时取出),而在ADRS中保存的依旧是操作数的地址,据此地址读出操作数(在q3 t6作用时取出) 。
q3 t3::MAR←PC 即当q3 t3=1时,操作数地址的地址送入MARq3 t4:: MBR←M[MAR] ,,PC←PC+1 读操作数的地址, 使 PC 加加1q3 t5:: MAR ←MBR 传送操作数的地址q3 t6:: MBR←M[MAR] 读操作数q3 t7::A←MBR ,,T←0 传送操作数,转入取指周期q3= IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0用寄存器传送语言进行描述用寄存器传送语言进行描述通过对简易计算机的三条指令的分析,写出相应的控制控制功能功能和微操作微操作,如下:控制功能控制功能:微操作微操作取指令周期取指令周期t0::MAR←PCt1::MBR←M[MAR] ,,PC←PC+1t2::IR←MBR执行指令周期执行指令周期MOVq1 t3::A←R ,,T←0LDIq2 t3::MAR←PC q2 t4:: MBR←M[MAR] ,,PC←PC+1q2 t5::A←MBR ,,T←0LDAq3 t3::MAR←PCq3 t4:: MBR←M[MAR] ,,PC←PC+1q3 t5:: MAR ←MBR q3 t6:: MBR←M[MAR]q3 t7::A←MBR ,,T←0用寄存器传送语言进行描述用寄存器传送语言进行描述对每种微操作,将有关的控制功能综合在一起,用xi表示,得到微操作表,如下:控制功能控制功能:微操作微操作取指令周期取指令周期t0::MAR←PCt1::MBR←M[MAR] ,,PC←PC+1t2::IR←MBR执行指令周期执行指令周期MOVq1 t3::A←R ,,T←0LDIq2 t3::MAR←PC q2 t4:: MBR←M[MAR] ,,PC←PC+1q2 t5::A←MBR ,,T←0LDAq3 t3::MAR←PCq3 t4:: MBR←M[MAR] ,,PC←PC+1q3 t5:: MAR ←MBR q3 t6:: MBR←M[MAR]q3 t7::A←MBR ,,T←0微操作表微操作表x1 = t0 + q2t3 + q3t3::MAR←PC用寄存器传送语言进行描述用寄存器传送语言进行描述通过对简易计算机的三条指令的分析,写出相应的控制控制功能功能和微操作微操作,如下:控制功能控制功能:微操作微操作取指令周期取指令周期t0::MAR←PCt1::MBR←M[MAR] ,,PC←PC+1t2::IR←MBR执行指令周期执行指令周期MOVq1 t3::A←R ,,T←0LDIq2 t3::MAR←PC q2 t4:: MBR←M[MAR] ,,PC←PC+1q2 t5::A←MBR ,,T←0LDAq3 t3::MAR←PCq3 t4:: MBR←M[MAR] ,,PC←PC+1q3 t5:: MAR ←MBR q3 t6:: MBR←M[MAR]q3 t7::A←MBR ,,T←0微操作表微操作表x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR 用寄存器传送语言进行描述用寄存器传送语言进行描述通过对简易计算机的三条指令的分析,写出相应的控制控制功能功能和微操作微操作,如下:控制功能控制功能:微操作微操作取指令周期取指令周期t0::MAR←PCt1::MBR←M[MAR] ,,PC←PC+1t2::IR←MBR执行指令周期执行指令周期MOVq1 t3::A←R ,,T←0LDIq2 t3::MAR←PC q2 t4:: MBR←M[MAR] ,,PC←PC+1q2 t5::A←MBR ,,T←0LDAq3 t3::MAR←PCq3 t4:: MBR←M[MAR] ,,PC←PC+1q3 t5:: MAR ←MBR q3 t6:: MBR←M[MAR]q3 t7::A←MBR ,,T←0微操作表微操作表x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1用寄存器传送语言进行描述用寄存器传送语言进行描述通过对简易计算机的三条指令的分析,写出相应的控制控制功能功能和微操作微操作,如下:控制功能控制功能:微操作微操作取指令周期取指令周期t0::MAR←PCt1::MBR←M[MAR] ,,PC←PC+1t2::IR←MBR执行指令周期执行指令周期MOVq1 t3::A←R ,,T←0LDIq2 t3::MAR←PC q2 t4:: MBR←M[MAR] ,,PC←PC+1q2 t5::A←MBR ,,T←0LDAq3 t3::MAR←PCq3 t4:: MBR←M[MAR] ,,PC←PC+1q3 t5:: MAR ←MBR q3 t6:: MBR←M[MAR]q3 t7::A←MBR ,,T←0微操作表微操作表x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = t1 + q2t4 + q3t4 + q3 t6 = x3 + q3 t6:: MBR←M[MAR] 用寄存器传送语言进行描述用寄存器传送语言进行描述通过对简易计算机的三条指令的分析,写出相应的控制控制功能功能和微操作微操作,如下:控制功能控制功能:微操作微操作取指令周期取指令周期t0::MAR←PCt1::MBR←M[MAR] ,,PC←PC+1t2::IR←MBR执行指令周期执行指令周期MOVq1 t3::A←R ,,T←0LDIq2 t3::MAR←PC q2 t4:: MBR←M[MAR] ,,PC←PC+1q2 t5::A←MBR ,,T←0LDAq3 t3::MAR←PCq3 t4:: MBR←M[MAR] ,,PC←PC+1q3 t5:: MAR ←MBR q3 t6:: MBR←M[MAR]q3 t7::A←MBR ,,T←0微操作表微操作表x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR 用寄存器传送语言进行描述用寄存器传送语言进行描述通过对简易计算机的三条指令的分析,写出相应的控制控制功能功能和微操作微操作,如下:控制功能控制功能:微操作微操作取指令周期取指令周期t0::MAR←PCt1::MBR←M[MAR] ,,PC←PC+1t2::IR←MBR执行指令周期执行指令周期MOVq1 t3::A←R ,,T←0LDIq2 t3::MAR←PC q2 t4:: MBR←M[MAR] ,,PC←PC+1q2 t5::A←MBR ,,T←0LDAq3 t3::MAR←PCq3 t4:: MBR←M[MAR] ,,PC←PC+1q3 t5:: MAR ←MBR q3 t6:: MBR←M[MAR]q3 t7::A←MBR ,,T←0微操作表微操作表x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R 用寄存器传送语言进行描述用寄存器传送语言进行描述通过对简易计算机的三条指令的分析,写出相应的控制控制功能功能和微操作微操作,如下:控制功能控制功能:微操作微操作取指令周期取指令周期t0::MAR←PCt1::MBR←M[MAR] ,,PC←PC+1t2::IR←MBR执行指令周期执行指令周期MOVq1 t3::A←R ,,T←0LDIq2 t3::MAR←PC q2 t4:: MBR←M[MAR] ,,PC←PC+1q2 t5::A←MBR ,,T←0LDAq3 t3::MAR←PCq3 t4:: MBR←M[MAR] ,,PC←PC+1q3 t5:: MAR ←MBR q3 t6:: MBR←M[MAR]q3 t7::A←MBR ,,T←0微操作表微操作表x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = q1t3+q2t5+q3t7 = x6 + x5:: T←0用寄存器传送语言进行描述用寄存器传送语言进行描述通过对简易计算机的三条指令的分析,写出相应的控制控制功能功能和微操作微操作,如下:控制功能控制功能:微操作微操作取指令周期取指令周期t0::MAR←PCt1::MBR←M[MAR] ,,PC←PC+1t2::IR←MBR执行指令周期执行指令周期MOVq1 t3::A←R ,,T←0LDIq2 t3::MAR←PC q2 t4:: MBR←M[MAR] ,,PC←PC+1q2 t5::A←MBR ,,T←0LDAq3 t3::MAR←PCq3 t4:: MBR←M[MAR] ,,PC←PC+1q3 t5:: MAR ←MBR q3 t6:: MBR←M[MAR]q3 t7::A←MBR ,,T←0微操作表微操作表x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = x6 + x5:: T←0x8 = t2:: IR←MBR2. 其次是逻辑设计逻辑设计阶段:根据所写出的微操作表微操作表,选用D触发器构成的寄存器,实现逻辑电路。
如下:微操作表微操作表x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = x6 + x5:: T←0x8 = t2:: IR←MBR组合组合逻辑逻辑简易计算机逻辑图简易计算机逻辑图x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = x6 + x5:: T←0x8 = t2:: IR←MBRPCAIR操作译码器操作译码器q1q2q3t0t1T时序译码器时序译码器t7x8x1x2x3x4x5x6x7MARMBRMM地址R简易计算机逻辑图简易计算机逻辑图x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = x6 + x5:: T←0x8 = t2:: IR←MBRPCt0t1T时序译码器时序译码器t7AR组合组合逻辑逻辑x8x1x2x3x4x5x6x7≥1≥1& && &≥1≥1置入1IR操作译码器操作译码器q1q2q3MARMBRMM地址简易计算机逻辑图简易计算机逻辑图x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = x6 + x5:: T←0x8 = t2:: IR←MBRPCAt0t1T时序译码器时序译码器t7组合组合逻辑逻辑x5x6x7IR操作译码器操作译码器q1q2q3x8x1x2x3x4加1R≥1≥1& && &≥1≥1置入1IR操作译码器操作译码器q1q2q3MARMBRMM地址简易计算机逻辑图简易计算机逻辑图x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = x6 + x5:: T←0x8 = t2:: IR←MBRPCt0t1T时序译码器时序译码器t7IR操作译码器操作译码器q1q2q3读置入组合组合逻辑逻辑x8x1x2x3x4加1≥1≥1& && &≥1≥1置入1IR操作译码器操作译码器q1q2q3MARMBRMM地址ARx5x6x7≥1≥1& && &≥1≥1置入1简易计算机逻辑图简易计算机逻辑图x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = x6 + x5:: T←0x8 = t2:: IR←MBRPCt0t1T时序译码器时序译码器t7IR操作译码器操作译码器q1q2q3读置入组合组合逻辑逻辑x5x6x7x8x1x2x3x4加1≥1≥1& && &≥1≥1置入1IR操作译码器操作译码器q1q2q3MARMBRMM地址 AR清01加1简易计算机逻辑图简易计算机逻辑图x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = x6 + x5:: T←0x8 = t2:: IR←MBRPCIR操作译码器操作译码器q1q2q3读置入加1MARMBRMM地址 AR≥1≥1& && &≥1≥1置入1组合组合逻辑逻辑x5x6x7x8x1x2x3x4≥1≥1& && &≥1≥1置入1IR操作译码器操作译码器q1q2q3t0t1T时序译码器时序译码器t7≥1≥1& && &≥1≥1置入1清01加1简易计算机逻辑图简易计算机逻辑图x1 = t0 + q2t3 + q3t3:: MAR←PCx2 = q3t5:: MAR←MBR x3 = t1 + q2t4 + q3t4:: PC←PC+1x4 = x3 + q3 t6:: MBR←M[MAR] x5 = q2t5 + q3t7:: A←MBR x6 = q1t3:: A←R x7 = x6 + x5:: T←0x8 = t2:: IR←MBRPCt0t1T时序译码器时序译码器t7IR操作译码器操作译码器q1q2q3读置入组合组合逻辑逻辑x5x6x7x8x1x2x3x4加1≥1≥1& && &≥1≥1置入1IR操作译码器操作译码器q1q2q3MARMBRMM地址 AR置入简易计算机逻辑图简易计算机逻辑图PCt0t1T时序译码器时序译码器t7组合组合逻辑逻辑x8x1x2x3x4x5x6x7≥1≥1& && &≥1≥1置入1IR操作译码器操作译码器q1q2q3加1R A清01加1置入MARMBRMM地址≥1≥1& && &≥1≥1置入1读置入⊕⊙↑↓←→↖↗↙↘≈≡≠≤≥<>≮≯∷±+-×÷/∫∮∧∨∑∏∪∩∈∵∴≌∽√≦≧㏒㏑。
