计算机组成原理课设基本模型机数据通路Word下载.docx
- 文档编号:19637190
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:22
- 大小:347.60KB
计算机组成原理课设基本模型机数据通路Word下载.docx
《计算机组成原理课设基本模型机数据通路Word下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课设基本模型机数据通路Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
带进位控制运算器增加进位控制部分,其中高位74LS181(U31)的进位CN4通过门UN4E、UN2C、UN3B进入UN5B的输入端D,其写入脉冲由T4和AR信号控制,T4是脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得测试所需的单脉冲。
AR是电平控制信号(低电平有效),可用于实现带进位控制实验。
从图中可以看出,AR必须为“0”电平,D型触发器74LS74(UN5B)的时钟端CLK才有脉冲信号输入。
才可以将本次运算的进位结果CY锁存到进位锁存器74LS74(UN5B)中。
(2)存储器
主存储器单元电路主要用于存放实验机的机器指令,它的数据总线挂在外部数据总线EXD0~EXD7上;
它的地址总线由地址寄存器单元电路中的地址寄存器74LS273(U37)给出,地址值由8个LED灯LAD0~LAD7显示,高电平亮,低电平灭;
在手动方式下,输入数据由键盘提供,并经一三态门74LS245(U51)连至外部数据总线EXD0~EXD7,实验时将外部数据总线EXD0~EXD7用8芯排线连到内部数据总线BUSD0~BUSD7,分时给出地址和数据。
它的读信号直接接地;
它的写信号和片选信号由写入方式确定。
该存储器中机器指令的读写分手动和自动两种方式。
手动方式下,写信号由W/R`提供,片选信号由CE`提供;
自动方式下,写信号由控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。
由于地址寄存器为8位,故接入6264的地址为A0~A7,而高4位A8~A12接地,所以其实际使用容量为256字节。
6264有四个控制线:
CS1第一片选线、CS2第二片选线、OE读线、WE写线。
其功能如表3—4所示。
CS1片选线由CE`控制(对应开关CE)、OE读线直接接地、WE写线由W/R`控制(对应开关WE)、CS2直接接+5V。
(3)部件测试过程中,各部件单元的控制信号是人为模拟产生的,而总体测试将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,测试计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
为了向主存储器RAM中装入程序或数据,并且检查写入是否正确以及能运行主存储器中的程序,必须设计三个控制操作微程序。
·
存储器读操作:
拨动总清开关后,置控制开关SWB、SWA为“00”时,按要求连线后,连续按“启动运行”开关,可对主存储器RAM连续手动读操作。
存储器写操作:
拨动总清开关后,置控制开关SWB、SWA为“01”时,按要求连线后,再按“启动运行”开关,可对主存储器RAM进行连续手动写入。
运行程序:
拨动总清开关后,置控制开关SWB、SWA为“11”时,按要求连线后,再按“启动运行”开关,即可转入到第01号“取址”微指令,启动程序运行。
上述三条控制指令用两个开关SWC、SWA的状态来设置,其定义如下:
SWB
SWA
控制台命令
1
读内存
写内存
启动程序
(4)指令寄存器
指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送到指令寄存器。
指令划分为操作码和地址码字段,由二进制构成,为了执行任何一条给定的指令,必须对操作码进行测试P
(1),通过节拍脉冲T4的控制以便识别所要求的操作。
“指令译码器”根据指令中的操作码进行译码,强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
二、总体设计
基本整机模型数据框图如图2-1所示,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
图2-1:
模型机的数据通路图
数据的通路从程序计数器PC的地址送到主存的地址寄存器,根据地址寄存器的内容找到相应的存储单元。
存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR中。
存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。
数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。
运算结果是通过三太门送到总线上。
三态门的控制时由微控制器来控制。
三、详细设计
3.1运算器的物理结构
运算器模块主要由两片74LS181、暂存器两片74LS273等构成。
其中74LS181可通过控制器相应的控制指令来进行某种运算,具体由S0、S1、S2、S3、S4、M来决定。
T4是它的工作脉冲,正跳变有效。
寄存器堆模块为实验计算机提供了2个8位通用寄存器。
它们用来保存操作数及其中间运算结果,它对运算器的运算速度、指令系统的设计等都有密切的关系。
下面是芯片74LS181的控制逻辑引脚的功能表以及逻辑引脚图如表3-1所示:
表3-1:
74LS181的控制逻辑引脚的功能表
图3-1:
74LS181的逻辑引脚图
其中各个引脚的功能如下所示:
M:
算术/逻辑运算选择输入
M=0算术运算M=1逻辑运算
Cn:
带或不带进位运算选择输入
Cn=0带进位Cn=1不带进位
S3~S0:
函数选择输入,A3~A0:
4位输入数据,B3~B0:
4位输入数据
F3~F0:
4位表示运算结果的输出,Cn+4:
进位输出
图3-2:
74LS273的引脚图
其中,Q0-Q7表示寄存器的8位数据输出,D0—D7表示向寄存器中输入8位数据的引脚,CLK是用来进行寄存器的选定操作,当其为高电位时和T4信号一起选定哪个寄存器进行数据输入。
8位运算器的结构框图如图3-3所示:
图3-3:
8位运算器的结构框图
在该运算器中,有两片74LS181组成算术和逻辑运算。
数据的来源由74LS273寄存器提供,74LS273产生8位数据,分别送入到74LS181运算器中进行相应的运算,而如何进行数据的传送是由LDDR1和LDDR2以及T4信号控制的,当LDDR1和T4都为高电平时,选定相应的寄存器来进行数据输入,同理,LDDR2和T4。
然后经过相应的运算之后将产生的结果通过总线送回到寄存器中。
整个数据的运送过程有相应的控制信号提供,S0、S1、S2、S3、S4、M都是通过控制器的相关指令来控制。
让其进行某种算数运算和逻辑运算。
整个数据和指令都是通过数据总线,控制总线和地址总线来进行传送。
3.2存储器系统的组成与说明
3.2.1存储器的详细设计
图3-4:
存储器的结构框图
说明:
该主存储器采用一级cache-存储器结构。
主要用于存放试验机的机器指令。
它的数据总线挂在外部数据总线EXD0~EXD7上;
在手动方式下,输入数据由8位数据开关KD0~KD7提供,并经一三态门74LS245(U51)连至外部数据总线EXD0~EXD7,实验时将外部数据总线EXD0~EXD7用8芯排线连到内部数据总线BUSD0~BUSD7,分时给出地址和数据。
图中信号线LDAR由开关LDAR提供,T3由试验机上时序模块电路TS3提供。
3.3指令系统的设计与指令分析
机器指令格式的设计
3.3.1数据格式
数据格式如表3-2所示:
表3-2:
数据格式
7
6543210
符号
尾数
3.3.2指令格式
模型机设计四大类指令共十条,其中包括算术指令逻辑指令,I/O指令,存算指令,取算指令,转移指令。
(1)算术指令
设计7条算术指令并用单字节表示,寻址方式采用寄存器寻址,其格式如表3-3所示:
表3-3:
算数指令格式
7654
32
10
OP-CODE
RS
DS
其中,OP-CODE为操作码,RS为源寄存器,DS目的寄存器,其规定如下所示:
RS或RD
选定的寄存器
00
01
10
R0
R1
R2
(2)访存指令及转移指令
设计2条访问指令:
即存算STA,取算LDA;
2条转移指令:
即无条件转移指令JMP,有进位跳转指令BZC,指令格式如表3-4所示:
表3-4:
访问指令及转移指令格式
76
54
32
10
00
M
RD
D
其中,OP-CODE为操作码,RD为源寄存器的地址(LAD,STA指令用),D为位移量,M为寻址模式,其定义如下所示:
寻址模式M
有效地址
说明
11
E=D
E=(D)
E=(RI)+D
E=(RD)+D
直接寻址
间接寻址
RI变址寻址
相对选址
本模型机规定变址RI为寄存器R2。
(3)I/O指令
输入IN指令和输出指令OUT指令采用单字节指令,其格式如表3-5所示:
表3-5:
I/O指令格式
32
addr
其中,addr=01时,选中输入数据开关KD0~KD7作为输入设备,addr=10选中2位数码管作为输出设备。
3.3.3指令系统
本模型机共有13条基本指令,其中算术指令7条,访存指令和程序控制指令4条,输入输出指令2条。
表3-6列出了各条指令的格式,汇编符合,指令功能。
表3-6指令格式
汇编符号
指令格式
功能
CLRrd
MOVrsrd
ADDrsrd
SUBrsrd
011100rd
0110rsrd
1000rsrd
1001rsrd
0→rd
rs→rd
rs+rd→rd
rd-rs→rd
XORrsrd
ANDrsrd
ORrsrd
1010rsrd
1o11rsrd
1100rsrd
rs异或rd→rd
rs∧rd→rd
rs∨rd→rd
LDAMDrd
STAMDrd
JMPMD
00M00rd
00M01rd
00M10rd
00M11rd
(E)→rd
rd→(E)
E→PC
当cy=1时E→PC
INaddrrd
OUTaddrrd
010001rd
010110rd
addr→rd
rd→addr
3.4微程序控制器的逻辑结构及功能
微程序控制器的结构与微指令的格式密切相关。
微程序控制器的结构框图如图3-5所示。
它由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。
微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长度,二者合在一起称为微指令寄存器。
图3-5:
微程序控制器的结构框图
1.控制存储器
ROM中存放微程序,也就是全部的微指令。
ROM的容量取决于微指令的总数。
假如控制器需要128条微指令,则微地址寄存器长度为7位。
ROM的字长取决于微指令长度。
如果微指令为32位,则ROM的字长就是32位。
实际应用中ROM可采用EPROM或E2PROM、EAROM,用户写入和修改微程序比较方便。
2.微命令寄存器
微命令寄存器暂存由控制存储器中读出的当前微指令中控制字段与测试判别字段信息,可由8D寄存器组成。
3.微地址寄存器
微地址寄存器暂存由控制存储器读出的当前微指令的下址字段信息。
它可由带RD、SD强置端的D触发器组成。
其中时钟端和D端配合用做ROM的读出打入,用SD进行下址修改。
4.地址转移逻辑
微指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在微地址寄存器中。
当微程序出现分支时通过地址转移逻辑去修改微地址寄存器内容,并按修改好的微地址读出下条微指令。
地址转移逻辑是一个组合逻辑电路,其输入是当前微指令的判别测试字段Pi、执行部件反馈的“状态条件”及时间因素T4。
5.控制时序信号
上图中标明了一个基本机器周期中的控制时序信号。
例如用上一周期的T4时间按微地址寄存器内容从ROM中读一条微指令,经过一段时间后被读出,用当前周期的T1时间打入到微指令寄存器。
T2、T3时间用来控制执行部件进行操作。
T4时间修改微地址寄存器内容并读出下一条微指令。
微控制器寄存器使用的是两片74LS273和一片74LS175构成它们从微命令存储器中读出并保存,为后续模块提供信息。
它是根据节拍信号进行读的。
地址转移部分是由一个74LS245作为6的带强制端的触发器构成寄存器和构成在强制端没有输入时使用的是从微存储器读出下一条地址。
如果强制端有输入就是强制端给定的地址。
强制端给地址主要是在分支的时候给出。
还有三个74LS138够成地址译码部分。
分别对应A,B,C字段。
微控制器的物理设计
微控制器的设计中根据其要求,使用的微控制的微控存使用的是3片2816
构成。
其中每一片使用的是256个字节并没有全使用。
这主要考虑到是整个模型机都使用的都是8位的。
三片2816实现的位扩张,构成24长度微指令。
因此根据起设计的要求物理设计的逻辑图如图3-6所示:
图3-6物理设计图
3.5微程序的设计与实现
3.5.1指令格式
微指令长共24位,其控制位顺序如表3-7所示:
表3-7:
微指令的格式
微程序
24
23
22
21
20
19
18
17
16
15
14
13
控制信号
3
2
M
CN
WE
B1
B0
A
12
9
8
6
5
4
B
C
uA5
uA4
uA3
uA2
uA1
uA0
A字段B字段C字段
对表3-7解释:
S3S2S1S0M
微运算器74LS181芯片的控制信号,详见表3-7。
微W\R信号对RAM和OUT进行写操作,高电平为写有效。
B1,B0:
为对外部设备(RAM,OUTPUT,INPUT)地址进行译码,B0B1=00时,
INPUT选中;
B0B1=01时,RAM(CE)选中;
B0B1=10的,OUTPUT选中;
B0B1=11时,外部设备不选中。
A字段:
LDRi:
寄存器输入选中,具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;
I1,I0=01时为R1;
I1,I0=10时为R2。
LDDR1:
暂存器DR1选中。
LDDR2:
暂存器DR2选中。
LDIR:
指令寄存器IR选中。
LOAD:
总线数据直接装载到PC计数器。
LDAR:
地址寄存器AR选。
B字段:
RS-B:
为源寄存器输出选中。
具体选择同指令寄存器(IR)的3,4位(I3,I2)配合,当I3,I2=00时为输入到R0寄存器;
I3,I2=01时为R1;
I3,I2=10时为R2。
RD-B:
为目的寄存器输出选中。
具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;
RI-B:
为变址寄存器选中。
本机定固定为R2。
299-B:
移位寄存器输出选中。
ALU-B:
逻辑运算单元结果输出。
PC-B:
PC计数器输出。
C字段:
P
(1):
分支判断1,和指令寄存器(IR)的高四位(IR7-IR4)作为测试条件。
可分16个分支。
P
(2):
分支判断2,和指令寄存器(IR)的三四位(IR3,IR2)作为测试条件,有4个分支。
P(3):
分支判断3,和CY或ZI作为测试条件,有两个分支。
P(4):
分支判断4,和开关SWB,SBA作为测试条件,有4个分支。
用于控制台控制区(读程序,写程序,和运行程序)。
AR:
进行算术运算时是否影响进位和判零标志的控制位。
选中时进行带进位运算。
LDPC:
为PC计数信号选中。
UA5……UA0:
为下一步微地址。
指令的后续地址的产生方法是:
在没有跳转的指令中后六位就是下一条微指令的入口地址。
在有跳转的指令根据跳转的条件微控制器根据相应的条件和地址将下地址直接送到为控制器的地址强制端得到下一条指令的地址。
微程序是按顺序在在为控存中存放在系统初始化的是时候指令是从00H地址开始的00H地址中存放的是一条跳转指令直接可以跳转到01H的中存放的就是真正在控制程序功能的指令。
机器就根据指令一条的执行。
在微控制器的控制下让机器根据指令的来进行有条不紊的工作。
为指令的入口地址的形成是根据机器指令的高四位进行判断后得出的。
每一条微指令都对应相应的一个地址。
地址的编制和每一微指令是一一对应。
不存在冲突。
3.5.2微程序流程图
根据以上的指令设计,得出的微程序流程图如图3-7所示:
在微程序流程图中总共涉及到13条机器指令它们分别是:
INOUTSTALDAJMPBZC
CLRMOVEADDSUBXORAND
OR
其中的指令的格式在上面已经介绍。
这些机器指令指令都是遵循从取址译码执行访存写回5个步骤。
在取址总它们都有相同的的操作如图中标号01H的作用是从地址指针寄存器中得到指令地址根据指令地址得出取出指令。
这个取址过程是所用的指令的需要执行的公操作。
图中在执行完公操作后又给“P
(1)”的功能就是译码。
这里的译码工作是使用微控制器的外围电路中分支的方式。
得到下一条微指令的地址。
指令中的STA、LDAJMPBZC是四条双字长的指令。
他们有四种寻址方式分别是直接、间接、变址、相对。
指令在操作地址的时候都是先得到地址然才能操作。
在这里设计的过程使用的也是同样的思想。
在指令译码的过程中对这四条指令使用的方式不是直接判断应该执行什么指令,而是先判断应该使用怎样的寻址方式先找到应该操作的主存地址再进行操作。
间接寻址的方式的STA指令如下:
第一步:
(01H)从地址指针(PC)中得到地址,送到地址寄存器(AR)中,PC自动加一。
第二步:
(02H)主存(RAM)中读出东西送到总线上,送到指令寄存器(IR)中。
第三步:
(10H)将(IR)中的内容进行译码。
判断下一条指令的地址。
第四步:
(12H)由于是STA指令是一条双子长指令。
所以在此再次执行第一步即可。
第五步:
(06H)将主存中的数据写到DR1中。
第六步:
(07H)将R2中的内容送到DR2中。
第七步:
(08H)将DR1与DR2中的数据相加后送到AR中,是STA指令操作地址。
并进行判断执行的是哪种地址。
第八步:
(20H)将相应的寄存器中的内容送到RAM中。
第九步:
回到原操作。
3.5.3微指令
微指令的格式表3-8所示:
表3-8:
微指令格式
242322212019181716
151413
121110
987
654321
微地址
S3S2S1S0MCNWEB1B0
A
B
C
uA5…Ua0
000001011
110
000010
02
000001001
100
000
001
010000
000011
00000101
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 基本 模型 数据 通路