数字系统数据通道.docx
《数字系统数据通道.docx》由会员分享,可在线阅读,更多相关《数字系统数据通道.docx(11页珍藏版)》请在冰豆网上搜索。
数字系统数据通道
第七章数字系统
DIGITALSYSTEM
用时序电路状态表的设计方法设计大型复杂的数字系统(有时甚至是简单的数字逻辑问题)是十分困难的,甚至是不可能的。
原因是状态数大的惊人。
例:
设计一个统计串行输入中1的个数电路。
统计结果
输入X0――Xn。
无论用按收到序列或已包含1的个数(n+1状态)规定状态,状态表都将十分庞大。
解决办法:
利用模块化和层次化设计。
N=15
N:
统计个数。
Z:
1个数。
CR:
清0。
C1、C2:
计数。
X:
输入。
CP:
系统时钟。
数字系统的任务是完成复杂的数字数据处理,采用模块化、层次化方法,即将系统分隔为完成特定功能的子系统,再通过数据和控制信号将各子系统互联以完成预定对的数据处理是构建大型数字系统的基本思想。
在大部分数字系统中,将系统分为两部分:
1.数据通道:
执行数据处理操作。
2.控制单元:
决定操作时序。
在数字系统中,数据通道和控制单元是层次化设计的顶层。
数据通道与控制单元关系:
控制输入
控制信号:
二进制,激活各种对应数据处理操作。
为激活一操作序列,控制单元向数据通道发出序列控制信号,并依次接收对应产生状态信号。
状态信号描述数据通道数据处理状态情况,控制单元根据状态信号决定所需执行的操作及次序。
数据通道和控制单元还和系统的其它部分交互,如:
数据输入、输出,控制输入、输出。
7-1数据通道和寄存器传输
数据通道完成数据处理任务。
被处理数据寄存于寄存器中。
处理逻辑(组合电路,例完成加、减、与、或等)将寄存于寄存器中的数据加工,结果再存于寄存器中。
因此,数据通道主要由处理逻辑和寄存器堆构成。
根据数据处理的不同要求,可构建各种功能的数据通道。
当构建好完成特定功能的数据通道后,所谓执行数据处理动作即是将数据在寄存器之间或寄存器与存储器之间传输移动,所以,对于数据通道而言,寄存器传输即对应数据处理。
用寄存器传输符号描述基本的数据处理动作,称之为微操作。
实现数据在寄存器之间移动的硬件基础是多路选择器和共享传输总线。
本节以计算机的数据通道为例说明数据处理逻辑设计,其基本原理适用于所有数字系统数据通道设计。
控制字是数据通道与控制单元之间的纽带。
以计算机数据通道为媒介,介绍利用控制字的概念对控制单元进行设计。
计算机数据通道设计的讨论是计算机设计的基础之一。
7-1-1数据通道和操作
数据通道构成模块:
寄存器、计数器、解码器、多工器、总线、运算器、触发器、基本门。
所谓数据通道概念的内涵,就是构成数据通道的基本成分寄存器,以及对储存在寄存器中的二进数据之操作。
对寄存器中数据的操作有数据在寄存器之间的移动、计数、清0、加载等。
由于数据在寄存器间的移动的同时便完成了数据处理操作,这种对应数据通道数据处理的操作被称为寄存器传输操作。
数字系统实现寄存器传输操作必须包含三要素:
1.系统存在一套寄存器。
2.对存于寄存器中数据所要执行的操作。
3.对系统操作序列的监控。
对寄存器可执行多种基本操作:
加载、计数、加、减、移动。
对寄存器数据所执行的基本操作被称为微操作。
微操作例:
将一寄存器的内容加载进另一寄存器;将两寄存器的内容相加;将一寄存器的内容加1…。
计数器可执行加载与加1微操作,双向移位寄存器可执行左右移微操作。
通常,微操作在一个时钟周期中完成。
微操作的结果可能代替寄存器中的原数据,也可传输到其它寄存器,而原寄存器中数据保持不变。
控制单元对数据通道提供控制信号实现微操作。
当前所执行操作的结果能够对控制单元以后发出的控制信号产生影响,从而对数据通道的微操作及其序列进行控制。
用寄存器传输语言(RTL)对寄存器传输描述,描述操作对象及操作内容。
类似HDL。
7-1-2寄存器传输操作
寄存器命名:
(根据其功能)
AR:
地址寄存器。
PC:
程序计数器。
IR:
指令寄存器。
R2:
2号寄存器。
寄存器传输符号表示:
R2R1
R2:
目的寄存器。
R1:
源寄存器。
条件寄存器传输及硬件实现:
K1:
R2R1
LOAD
寄存器与存储器传输:
DRM【AR】
寄存器传输操作与硬件结构相对应,在一个时钟周期中完成。
7-1-3微操作
对寄存器或存储器中数据的基本操作分4类:
1.传输操作:
将数据由一个寄存器传输到另一寄存器。
2.算术操作:
将寄存器中数据执行算术运算。
3.逻辑操作:
将寄存器中数据执行逻辑运算。
4.移动操作:
将寄存器中数据进行移动。
传输微操作不改变数据,其它微操作可能产生新数据。
在数字系统中,利用基本微操作构建操作序列以完成复杂操作。
各种微操作的符号表示及对应硬件逻辑。
算术微操作:
符号表示
描述
R0R1+R2
R2R2
R2R1+1
R0R1+R2+1
R1R1+1
R1R1-1
R1、R2的内容相加传送至R0
R2的内容1’补返回R2
R2的内容2’补返回R2
R1-R2,结果送R0
计数加
计数减
每种微操作都与执行操作的寄存器及数据处理数字逻辑硬件相对应。
例:
X·K:
R1←R1+R2
X·K:
R1←R1+R2+1
V
C:
进位。
V:
溢出。
X选择操作(加、减),K加载结果进R1。
◆关于溢出:
(p143)
对于无符号数加减,检测最高位进、借位C,C=1,结果溢出。
对于有符号数加减,检测V=
,C=1,结果溢出,结果包含n+1位,实际结果是右边n位,第n+1位是符号位。
例:
进位01进位:
10
+7001000110-7010111010
+8001010000-8010110000
+15010010110-15001101010
逻辑微操作:
符号表示
描述
R0R1
R0R1∧R2
R0R1∨R2
R0R1+R2
逻辑反(1‘补)
逻辑与
逻辑或
逻辑异或
移动微操作:
类型
符号表示
源R2(移前)
目的R1(移后)
左移
右移
R1slR2
R1srR2
10011110
11100101
00111100
01110010
7-1-4基于多路选择器的传输
K1:
R0R1,/K1·K2:
R0R2
K2
7-1-5基于总线的传输
单总线传输:
L0
寄存器传输
选择S1S0加载L2L1L0
R0R2
R0R1,R2R1
10001
01101
三态总线传输:
L2
存储器传输:
Read:
DRM【A2】
Write:
M【AR】DR
7-1-6数据通道
在计算机系统中,不采用对微操作单独设置对应寄存器和处理逻辑的方式,而采用寄存器堆共享操作单元ALU的构建方式,可实现多种微操作。
寄存器传输操作在一个时钟周期内完成,源寄存器的内容被ALU处理,结果转送至目的寄存器。
将这种形式的数据通道和控制单元二部分结合,便构成计算机处理器CPU。
数据通道中的寄存器堆和多功能处理器通过总线互联,完成各种微操作。
7-1-7算术逻辑单元ALU
执行一套基本的算术、逻辑微操作的组合电路。
FS
V
C
N
Z
FS
操作
00000
00001
00010
00011
00100
00101
00110
00111
01000
01010
01100
01110
10000
10100
11000
F=A
F=A+1
F=A+B
F=A+B+1
F=A+B
F=A+B+1
F=A-1
F=A
F=A∧B
F=A∨B
F=A+B
F=A
F=B
F=srB
F=slB
FS:
操作码。
A、B:
数据输入。
F:
数据输出。
V:
溢出,C:
进、借位,N:
负,Z:
0。
7-1-8数据通道
Memory
7-1-9控制字
数据通道中的选择变量控制着在任一给定时钟数据通道所进行的操作。
假设上述数据通道中寄存器堆中的寄存器数为8,则数据通道共有17位控制输入。
这些控制输入的组合值被称为控制字。
控制字根据功能分为7个部分,每个部分称为域,用符号代表。
寄存器域:
AA-选择输出A总线寄存器,3位。
BA-选择输出B总线寄存器,3位。
DA-选择输入D总线寄存器,3位。
FS域:
控制微操作功能,5位。
MB域:
对B总线接入BA指定寄存器内容或常数选择,1位。
MD域:
对D总线接入功能单元输出或数据入选择,1位。
RW域:
决定DA选择寄存器是否写入,1位。
控制字格式:
161514131211109876543210
DA
AA
BA
M
B
FS
M
D
R
W
DA,AA,BA
Functioncode
MB
Functioncode
FS
Functioncode
MD
Functioncode
RW
Functioncode
R0000
R1001
R2010
R3011
R4100
R5101
R6110
R7111
Register0
Constant1
F=A
F=A+1
F=A+B
F=A+B+1
F=A+B
F=A+B+1
F=A-1
F=A
F=A∧B
F=A∨B
F=A+B
F=A
F=B
F=srB
F=slB
00000
00001
00010
00011
00100
00101
00110
00111
01000
01010
01100
01110
10000
10100
11000
Function0
Data1
Nowrite0
Write1
控制字编码:
例:
R1←R2+R3+1
域
符号
码
DA
R1
001
AA
R2
010
BA
R3
011
MB
Register
0
FS
F=A+B+1
00101
MD
Function
0
RW
Write
1
例:
R4←slR6
域
符号
码
DA
R4
100
AA
-
000
BA
R6
110
MB
Register
0
FS
F=slB
11000
MD
Function
0
RW
Write
1
操作
DA
AA
BA
MB
FS
MD
RW
R1←R2+R3+1
R1
001
R2
010
R3
011
Register
0
F=A+B+1
00101
Function
0
Write
1
R4←slR6
R4
100
-
000
R6
110
Register
0
F=slB
11000
Function
0
Write
1
R7←R7+1
R1←R0+2
Ddtaout←R3
R4←Ddtain
R5←0
作业:
完成操作的符号描述与二进控制字