《计算机组成原理》实践第5部分:实验计算机设计(基础)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一 前言
FD-CES为实验者开发调试一台实验
计算机提供了一系列功能模块,这里逐一 介绍它们的组成和使用。
二 运算器模块
运算器模块(ALU)主要由累加器A(74198)运算器 ALU(74181x2)、累加器暂存器ACT(74377)、暂 存器TMP(74373)、输出缓冲器BUFFER(74245), 以及进位产生线路、累加器判零线路等构成。 为便于构造不同的运算器结构,该模块在累加器
如果选择单累加器无寄存器的运算器结构,那么,
就应该将寄存器堆模块读控制信号RR固定接高电平。
四 指令部件模块
通常,指令部件由指令寄存器、程序计数器和
指令译码器三部分组成。其中,指令寄存器用来存
放计算机当前执行的指令码,其基本组成是操作码 和操作数地址码;程序计数器也即指令地址寄存器, 用来存放下一条指令或下一指令字节的地址码,平 时处于加1计数状态,当遇到转移指令且转移条件 满足时接收转移地址;指令译码器用来翻译操作码, 以产生相应的控制信号。
组合,但有实际逻辑意义的组合为以下几种(L表示
置左、R表示置右):
(1).KA、KB、KC 、KR置为R、L、L、R,这种组
则它简化为如图6-5(e)。
合的运算器结构如图6-5(a)。如果不使用寄存器堆,
(2).KA、KB、KC 、KR置为L、R、R、R,这种 组合的运算器结构如图6-5(b)。如果不使用寄存
OT接地,使其直通,若OT接+5V,则TMP输出高阻态。
输出缓冲器BUFFER采用三态传输器件74245,由OB信号
控制,OB为“0”,BUFFER开通,此时其输出等于其输入;当
OB为“1”,BUFFER不通,此时其输出呈高阻。
保持等功能,具体由X0、X1、SR、SL决定。CA是它的工作 脉冲,正跳变有效。累加器A的主要使用方法见表6-1。
器堆,则它简化为如图6-5(f)。
(3).KA、KB、KC 、KR置为R、L、L、L,这种
组合的运算器结构如图6-5(c)。
(4).KA、KB、KC 、KR置为L、R、R、L,这种
组合的运算器结构如图6-5(d)
பைடு நூலகம்
图6-5中这六种运算器结构各有其特点。 (a)和(b)均是多累加器的运算器结构,特点 是工作灵活、编程方便,但运算速度较慢。 (c)、(d)都是单累加器多寄存器的运算器结 构,(d)的特点是运算速度快,(c)的特点是 工作灵活,可以方便地实现对寄存器的移位, 适用于用硬件乘除部件的计算机。
图6-3是进位发生线路
图6-3 进位发生线路
图6-3中的74153(U14)是双四选一数据 选择器。该模块将74153按上图连接,实际
上第一组四选一仅对ALU的进位输出Cn+4进行
倒相,第二组四选一才根据选择参数SA、SB 来决定其输出2Y的值,见表6-2。当进位触 发器7474(U19)的接数脉冲CP正跳变时,CY 等于2Y。
的输入端、累加器暂存器的输入端,以及输出缓冲器
BUFFER的输入端,都设有数据通路选择开关。
1. 运算器模块逻辑框图和符号说明
图6-1是运算器模块逻辑框图。
图6-1 运算器模块
2. 运算器模块的组成和工作原理
该模块主要由算术逻辑单元ALU、累加器A,累加器暂存 器ACT,暂存器TMP、缓冲器BUFFER以及进位产生线路和 累加器A判零线路等组成。 算术逻辑ALU是由两片74181(U17、U18)构成,它是运
表6-4 寄存器堆模块的使用方法
为便于构造不同的运算器结构,寄存器 堆模块上设置了一组数据选择开关即KRH、 KRL(以下简称KR)。它控制寄存器堆的数据
输出通路:KB置下(左),寄存器堆输出到运算
器模块中的ALU的B端;KB置上(右),寄存器 堆输出到内部数据总线IDB。
3. 运算器结构
运算器模块上的开关KA、KB、KC以及寄存器堆 模块上的开关KR的不同组合,决定了实验计算机的 运算器结构。 从理论上讲, KA、KB、KC和KR可有16种不同
寄存器堆模块(REG)的设置,为实验仪
提供了四个8位通用寄存器。它对运算器结 构、运算速度、指令系统的设计等都有密
切的关系。本节主要介绍寄存器堆模块本
身的工作原理和使用方法。
1.寄存器堆模块框图和器件排列图 图6-4使寄存器堆模块逻辑图和器件排列图。
图6-4 寄存器堆模块逻辑框图
2. 寄存器堆模块的工作原理和使用方法
1.指令部件模块逻辑框图和符号说明
图6-6是指令部件模块(I-PC)逻辑框图和器件排 列图。指令部件模块符号说明:
图6-6 指令部件模块逻辑框图
2. 指令部件模块的工作原理
由图6-6可见,本模块主要包含指令寄
存器和程序计数器,指令译码部分需用户 设计构造。下面分别介绍模块中的指令寄
存器和程序计数器的工作原理和使用方法。
须由IR1提供,这点在设计指令格式时应予以注意。
对于双字节指令,IR1存放指令的第一字节,
IR2存放指令的第二字节。第一字节可纯为指令操 作码,也可包含寄存器选择码和操作数地址码高3
位,视具体指令而定。
当OI为低电平,IR1的低3位通过74244(U1)
连IAB10~IAB8、IR2的输出连IAB7~IAB0。
(2).累加器移位功能的使用 累加器除具有接数和保持功能外,还具有 移位功能,为此指令系统可设置带进位或不带
进位的移位指令。不带进位移位指令控制较简
单,带进位的移位指令控制比较复杂,因为要
保证累加器A和进位发生线路同步执行。
表6-3列出了各种移位操作及所需控制。
表6-3 累加器位移功能的使用
三 寄存器堆模块
该模块由两片74670(U12,U13)组成,提供4 个8位的寄存器。它们可作为运算器中的通用寄存 器R0~R3使用,也可作为累加器A0~A3使用。 74670是一个4x4存储矩阵,每个存储单元是
个D触发器,它的输出带三态控制。当它的写控制
端GW为“0”时,可对矩阵的某个字的4个存储单元 进行并行写人,具体写哪个字由WA、WB决定。
为I7~I0被直接引出,以供使用。
IR2(U10)是三态输出的8位寄存器。当它的接 数控制脉冲端CL出现电平正跳变时接数,当它的输
出控制OI为低电平输出,OI为高电平时IR2输出呈
高阻。
由于模块仅将IR1的状态(I7~I0)引出,故无论
单字节或双字节指令,不仅操作码必须由IR1提供,
而且对于寄存器堆操作类指令,寄存器选择段也必
表6-2 SA,SB的输出控制关系
3. 运算器模块的使用
(1).三组数据开关的使用 为便于构造不同的运算器结构,运算器模块 上设置了三组数据通路选择开关。它们是: KAH、KAL(以下简称KA) KBH、KBL(以下简称KB) KCH、KCL(以下简称KC)
开关KA用于选择累加器A的输入。KA置左,使
的P、T端,PC2的进位出C接入PC3的P、T端。且将
PC1的P、T端作为“P+1”信号引出。由于运行状态时
写PC=0、RO=1,故只要控制LP=0(使74163的
LOAD为高电平)、CLR=1、“P+1”=1,便使PC为计数
状态,每当工作脉冲CK电平负跳变(PC的CLK端电平 正跳变),PC便计数加1,如图6-9。
直接加在ALU的A组输入端参加运算。
暂存器TMP采用三态输出锁存器74373。当它的接数控 制端CT为高电平时,接收内部数据总线IDB上的信息;当它 的输出控制端OT为低电平时,其所存信息加到ALU的B组输 入端参加运算。在构造运算器时,若只需控制TMP的输出,
则可将CT接+5V;若不需TMP暂存信息,则可将CT接+5V、
根据本模块的指令寄存器结构特点设计的指令 系统,指令条数至多可达256条(当IR1为纯操作码
时);指令长度可为单字节或双字节;指令属性可为
M型(存储器型)、RR型(寄存器-寄存器)、MR型(存 储器-寄存器型)等等。
(2).程序计数器 指令部件模块中的程序计数器共11位, 分PC1(PC0~3)、PC2(PC4~7)、PC3(PC8~
累加器输入来自IDB;KA置右,使累加器A的输入
来自ALU。
开关KB用于选择缓冲器BUFFER的输入。KB置 左,BUFFER 的输人来自累加器;KB置右,使 BUFFER的输人来自ALU。 开关KC用于选择累加暂存器ACT的输入。KC置 左,使ACT的输入来自内部数据总线IDB;KC置右, 使ACT的输入来自累加器A。
当它的读控制端GR为“0”时,可对矩阵的某个字的
4个存储单元进行并行读出,具体读哪个字由RA、
RB决定。
模块把这两片74670的GR、GW分别相连,使
它们构成4个8位长的寄存器,合并后的GR、GW
分别作为寄存器堆的读控制信号RR、写控制信号 WR被弓l出。模块把这两片74670的WA、RA连 在一起,作为信号A引出;把这两片的WB、RB连 在一起,作为信号B引出。表6-4列出了寄存器堆 模块的使用方法。
图6-7 “写PC”和“SR”的时间关系
SR使运行触发器(U25)R0为“1”。由于"写PC“ 为"0"、RF为"1"。
与“SR”不同时为高电平,故当“写PC”为“1”时RO仍
图6-8时PC启动逻辑示意图
图6-8 PC启动逻辑图
当RF为“1”时,加在74157的B组输入端上的 OAB信息(控制台设置的启动地址)被送到PC的数据 输入端D。由于"写PC“="1"时RO="0"、RF="1",
故此时PC的接数控制LOAD为低电平,若PC的清零
端CLR为高电平,则当“写PC”电平下跳时,PC的工
作脉冲端CLK电平便上跳变,它把启动地址接入PC。
启动地址可为000~3FF中任一个。
b.运行时PC的工作情况
(a)每当需要取下条指令或取指令的下一宇节时,应
控制PC为计数状态。模块将PC1的进位出C接入PC2
算器的核心。它可以对两个8位二进制数进行多种算术或逻辑
运算,具体由74181的功能控制条件M,S3,S2,S1,S0决 定。两个参加运算的数分别来自ACT和TMP(或Ri),运算结果 可以直接送到累加器A或经BUFFER送到累加器A,以便进行 移位操作或参加下次运算。
累加器暂存寄存器ACT采用74377,CG为低电平且接数 控制脉冲CC电平正跳时,ACT接数。ACT的输出不受控制地
图6-9 运行时PC的计数逻辑
PC的高3位和低8位的状态可分别通过控制传送
门74244(U1)和74245(U2)送到内部地址总线IAB,
见图6-10。其传送控制信号为忧PCO,低电平有效。
图6-10 PC的输出
(b).程序运行中遇跳转指令时应控制PC为接数状态,使PC
接收指令寄存器中的转移地址。图6-11是PC运行时的接数 逻辑图。 由图2-11可知,执行跳转指令时应使信号OI为低电平
累加器A采用74198(20),它具有并行接数、左移、右移、
表6-1 累加器A使用法
图6-2是累加器A判零线路
图6-2 累加器A判零线路
此线路利用内存模块中的与门7411(U21) 对或非门7427(U22)的三个输出组合,产生 ZD信号。ZD为1表示累加器A当前的内容为 零。当ZC电平正跳时ZD状态被存人触发器 7474(U19),信号Z是它的输出。
10),由U5、U4、U3三片可预置数的4位
二进制同步计数器74163构成。它具有接
数、计数、清零等功能。下面分别介绍程
序计数器在停机状态启动时的工作过程:
a.停机状态时PC的工作情况 停机状态启动时,由控制台的“写PC”信 号使PC接收外部地址总线OAB上由控制台键 入的启动地址。 停机状态时按控制台上的启动键STRT, 可产生“写PC”和“SR ”两个脉冲信号,其时 间关系如图6-7。
图6-5 运算器结构
如果将读寄存器堆模块控制信号RR固定接高电 平,使寄存器堆数据端呈高阻态,则不论开关KR置 左或置右,均不能使用本寄存器堆,运算器结构都 是单累加器无寄存器的,见图6-5的(e)、(f)。这种
运算器结构简单,但不能实现多累加器或多寄存器
的指令,故适宜于简单的指令系统。也就是说,你
(1).指令寄存器
指令部件模块中的指令寄存器共16位,分IR1 和IR2,用来接收和寄存内部数据总线IDB上的指 令信息。IR1采用74377,IR2采用74374,它们
都是8位的寄存器,但工作方式不同。当IR1(U11)
的接数控制端GI为低电平且它的接数控制脉冲端
CI出现电平正跳变时接数,它的输出不受控制,作
相关文档
最新文档