数字系统
7.1 引言用状态表的方法设计大型复杂的数字系统(有时甚至是简单的数字逻辑问题)是十分困难的,甚至是不可能的。原因是状态数大的惊人。
例:设计一个统计串行输入中1 的个数电路。
输入X0――Xn。无论用按收到序列(2n个状态)和已包含1的个数(n+1状态)规定状态,状态表十分庞大。
解决办法:利用模块化和层次化设计,将系统分隔为完成特定功能的子模块,再通过数据和控制信号对各子系统互联,构造完成预定功能的数字系统。
例:
数字系统的构成:
处理单元,也称数据通道(datapaths):执行数据处理操作。
控制单元:决定数据处理单元数据处理操作的序列。
数据通道和微操作数据通道被其含有的寄存器和存储其内的二进数据的操作所确定。
寄存器是构成数字系统的基本成分。其操作如移位、计数、清除、加载等。对寄存器中的数据的移动和处理称为寄存器传输操作(register transfer operation)。
寄存器传输操作也被称为微操作(microopertion)。其构成三要素:一套寄存器;其所执行的操作;操作的控制。
控制单元提供控制微操作序列的控制信号。当前操作的结果参与确定微操作的序列。
7.2 寄存器传输操作寄存器命名:
AR:地址寄存器。
PC:程序计数器。
IR:指令寄存器。
R2:2号寄存器。
寄存器传输,R2 R1
R2:目的寄存器。
R1:源寄存器。
条件传输,K1:R2 R1
7.3 微操作传输。2.算术。3.逻辑。4.移位。
算术操作,XK1:R1 R1+R2
XK1:R1 R1+R2+1
逻辑操作,R1 R1+R2
移位操作,R0 sr R0
R1 sl R2
4基于多路选择器、总线、三态总线 的传输
K1:R0 R1,K1 K2:R0 R2
存储器传输,Read:DR M【A2】
Write:M【AR】 DR
7.5 数据通道为提高效率和通用性,采用一组寄存器(register file)并共享一高性能操作单元(算术逻辑单元ALU (arithmetic/logic unit))。
数据通道构成:
源寄存器的内容经ALU操作,结果送至目的寄存器。在一个时钟周期内完成。
7.6 ALU
组合电路。根据功能选择执行算术逻辑运算,并给出状态指示。
7.7 控制字数据通道的选择变量控制了在任何一个时钟周期中数据通道执行的微操作,称其为控制字。
例:
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R1 R2 R3 R F=A+B+1 F W
001 010 011 0 00101 0 1
R1 R2+R3+1
7.8 流水数据通道
(pipelined datapath)
比传统结构更快。
7.9控制单元数据通道由控制信号指挥完成数据处理任务,控制单元负责按某种序列提供控制信号,以完成特定任务。
数字系统所要实现的特定功能都可以归结为一系列的寄存器的传输操作,因此,数字设计中最具挑战和创造性的工作是为达到所需目的找到硬件算法的公式化方法,以完成数据通道和控制单元的设计。
这个方法称为算法状态机(ASM—algorithmic state machines)。其类似流程图,由其可导出所需的寄存器的传输操作及操作序列,并进一步导出控制单元所需产生的状态表,作为控制单元的设计基础。
例:前例1的个数统计电路。
微程序控制器提供给数据通道的操作信号序列可设计硬件控制单元产生,也可存储于ROM中,并附加辅助电路来产生。后一种方法称微程序控制。
7.10 微处理器将高性能的数据通道和控制单元集成一体称为中央处理单元,简称CPU(Central Processing Unit)。
各种微处理器具有不同性能。
与之相配的规范化操作控制产生了指令和指令集。对指令的使用开发产生了软件。
7.11 微处理器的发展
微机:将CPU配以存储器,并设置通用总线和IO接口,经IO接口连接各种外部设备发展为通用计算机。
单片机:为适应中小控制系统的需要,将简单 的CPU和少量的ROM、RAM及IO接口集成于一片芯片中。
DSP:专用于高速数值处理。