计算机组成原理课程设计硬布线控制器的设计与实现.docx
- 文档编号:25238691
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:24
- 大小:129.45KB
计算机组成原理课程设计硬布线控制器的设计与实现.docx
《计算机组成原理课程设计硬布线控制器的设计与实现.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计硬布线控制器的设计与实现.docx(24页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计硬布线控制器的设计与实现
硬布线控制器的设计与调试
教学目的、任务与实验设备
教学目的
熟练掌握实验5和硬布线控制器的组成原理与应用。
复习和应用数据通路及逻辑表达式。
学习运用ISP(在系统编程)技术进行设计和调试的基本步骤和方法,熟
悉集成开发软件中设计调试工具的使用,体会ISP技术相对于传统开发技术的
优点。
教学任务
按给定的数据格式和指令系统,在所提供的器件范围内,设计一台硬布线
控制器控制的模型计算机。
根据设计图纸,在通用实验台上进行组装,并调试成功。
在组装调试成功的基础上,整理出设计图纸和其他文件。
实验设备
微操作控制信号·····CnC1结果反馈信息指B1硬布线控制器指令(组合逻辑网络)令Bn译寄码ispLSI1032E-70LJ84存模器块
T1W1T1W4启动
TJ停止节拍脉冲节拍电位/时钟发生器SKIP复位硬布线控制器结构方框图
计算机组成原理实验系统一台-4TEC
直流万用表一只
器件,则需要一台ISP)ispLSI1032。
采用集成电路建议使用ISP芯片(一片
作设计、编程和下载使用。
ispEXPERT)机运行设计自动化软件(例如PC
总体设计思路(描述指令系统,给数据通路)
条机器指令。
实验设计中采用12采用与模型计算机相同的指令系统,即
条指令93条机器指令,只保留该指令系统的子集:
去掉中断指令后的。
采用的数据通路和微程序控制器方案相同。
·数据通路图和数据通路控制信号
DBUS
CINSS2T4CEL#CER端口指令口端数据S1ALUALU_BUSLRW(T3)口端A口端BS0RAMLDAR1(T4)LDDR1(T3)LDDR2(T3)AR1_INCLDAR2(T2)AR1AR2DR2DR1M3MUX3M1M2MUX2MUX1DBUSLDPC(T4)RS_BUS#IAR_BUS#PCPC_ADDLDIARIARALU2PC_INCRD0、RS0RD1、RS1端口B端口ARFWR0、WR1WRD(T2)LDR4(T2)R4LDER(T4)ERM4MUX4DBUSSW_BUS#WR0、WR1RD0RD1、RS0、RS1控SW7—SW0制器控制..LDIR(T4)信IR.INTQ、C号
图4数据通路总体图2.
控制器的设计思路
硬布线控制器能够实现控制功能,关键在于它的组合逻辑译码电路。
译码
电路的任务就是将一系列有关指令、时序等的输入信号,转化为一个个控制信
号,输出到各执行部件中。
根据硬布线控制器的基本原理,针对每个控制信号S,可以列出它的译码
函数S=f(Im,Mi,Tk,Bj)其中Im是机器指令操作码译码器的输出信号,
Mi是节拍信号发生器的节拍信号,Tk是时序信号发生器的时序信号,Bj是状
态条件判断信号。
在TEC—4计算机组成原理实验系统中,因为时序信号Tk(T1—T4)已经直接
输送给数据通路,所以译码电路不需Tk作为输入。
又因为机器指令系统比较简
单,操作码只有4位,不需要专门的操作码译码器,因此Im直接就是操作码,
即指令寄存器的IR4—IR7信号。
Mi的来源就是时序模块的节拍信号,例如
W4—W1。
Bj的信号包括:
1.来自数据通路中运算器ALU的进位信号C;
2.来自控制台的开关信号SWC、SWB、SWA;
3.其他信号。
其中C、SWC、SWA和SWB信号在微程序控制器中同样存在,不用加以解释。
由
于硬布线控制器设计和微程序控制器设计的不同需求和特点以及控制器的设计
方案的不同,可能需要其他信号,也可能不需要其他信号,根据设计方案而定。
每个控制信号的函数式都是上述输入信号的逻辑表达式,因此可以用各种组合
逻辑构造电路网络,实现这些表达式的逻辑功能。
理论上,只要对所有控制信
号都设计出译码函数,这个硬布线控制器的方案也就得到了。
根据要求,列出所需的控制台指令和机器指令
控制台指令名称
指令功能
指令格式
SWC
SWB
SWA
KRR
读寄存器堆方式
1
0
0
KRD
读双端口存储器方式
0
0
1
KWE
写双端口存储器方式
0
1
0
KLD
加载寄存器堆方式
0
1
1
PR
启动程序方式
0
0
0
机器指令名称
助记符
指令功能
指令格式
3
R7
R6
R5
R4
R3
R2
R1
R0
法加
ADDRd,Rs
Rd+Rs->Rd
0
0
0
0
RS1
RS0
RD1
RD0
法减
SUBRd,Rs
Rd-Rs->Rd
0
0
0
1
RS1
RS0
RD1
RD0
法乘
MULRd,Rs
Rd*Rs->Rd
0
0
1
0
RS1
RS0
RD1
RD0
逻辑与
ANDRd,Rs
Rd&Rs->Rd
0
0
1
1
RS1
RS0
RD1
RD0
数存
Rd,[Rs]STA
Rd->[Rs]
0
1
0
0
RS1
RS0
RD1
RD0
数取
Rd,[Rs]LDA
[Rs]->Rd
0
1
0
1
RS1
RS0
RD1
RD0
无条件转移
[Rs]JMP
[Rs]->PC
1
0
0
0
RS1
RS0
RD1
RD0
条件转移
DJC
C=1PC+D->PC
1
0
0
1
D3
D2
D1
D0
停机
STP
暂停运行
0
1
1
0
X
X
X
X
:
老师提供的控制台指令流程图
4.
ST
1000101000101100001100000100101100011001W1KRR2KRD2PR2KWE2KRD1KLD1PR1KLD2KWE1KRR1SW-BUS#SKIPSKIPSKIPSW-BUS#CEL#SKIPSKIPSW-BUS#CEL#LRW=1CEL#CEL#LRW=0TJLRW=0LRW=0SKIPSKIP
CERCERLDIRLDIRW2SKIPTJSW-BUS#W3LDER
RS-BUS#AR1-INCAR1-INCWRDSW-BUS#SW-BUS#SW-BUS#SW-BUS#SW-BUS#TJTJLDAR1M4=1LDAR1LDAR1LDAR1TJLDR4SSTOM3=1M3=1SSTOLDPCLDAR2TJLDAR2W4SSTOSSTOSSTOTJTJ
控制台指令流程图
在这个控制台里,我们将控制台指令KRR,KRD,KWE,KLD,PR分别拆分为
KRR1,KRR2,KRD1,KRD2,KWE1,KWE2,KLD1,KLD2和PR1,PR2。
每个小指令分别占用
W1-W4四个节拍。
分2次执行完成。
5.
控制台控制信号作用:
控制信号
信号作用
信号有效条件
C
在加法运算和减法运算时产生的进位信号
T4上升沿
ALU_BUS
允许运算结果送往数据总线
1
LDDR1
A端口数据M1=0时DR1接收寄存器堆
T3下降沿
数据DBUS时DR1接收数据总线M1=1
LDDR2
B端口数据时DR2接收寄存器堆M2=0
T3下降沿
数据DBUS时M2=1DR2接收数据总线
WRD
控制双端口寄存器堆RF的写操作
1且T2上升沿
RS_BUS#
上DBUS端口数据是否能送控制RF的B
0
LDER
上的数据打入暂存寄存器ERDBUS将
1且T4上升沿
SW_BUS#
DBUSSW7-SW0将数据送往
0
CEL#
选中双端口存储器左端口RAM
0
LRW
左端口读操作允许RAM
1且T3上升沿
允许RAM左端口写操作
0且T3上升沿
CER
上INSRAM右端口读出数据并放到指令总线
1
禁止右端口操作
0
LDAR1
AR1DBUS将数据打入地址寄存器
1且T4上升沿
AR1_INC
的值加1AR1
1且T4上升沿
LDAR2
PCAR2M3=0时的数据从程序计数器打入
1且T2下降沿
打入DBUS的数据从AR2M3=1时
LDR4
时M4=1打入DBUS的数据从R4
1且T2下降沿
R4M4=0时打入IR0-IR3的数据从
PC_ADD
PC+D位相加即4低IR和PC完成ALU2
1
PC_INC
PC+1
1
LDPC
的地址DBUS接收来自PC程序计数器
1且T4上升沿
LDIR
的指令打入指令寄存器RAM将来自IR
1且T4上升沿
S2,S1,S0
选择运算器ALU的运算类型
1
设计方案
设计硬布线控制器的控制流程,也就是解决Mi、Im、Bj如何起作用的问题。
设
计微程序控制器时可以使用流程图,设计硬布线控制器同样可以使用流程图。
微程序控制器的控制信号以微指令周期为时间单位,硬布线控制器以节拍为时
间单位,两者本质上是一样的,1拍和1个微指令周期都是从时序T1的上升沿
到
T4的下降沿的一段时间。
在微程序控制流程图中,1个执行框代表1个微指令
6.
周期,而在硬布线控制流程图中,1个执行框就代表1拍。
执行一条机器指令所需的微指令数目,在硬布线控制器中相当于机器指令所需
的节拍数。
决定执行一条指令需要的节拍数,要根据所有指令而定。
既不能只
考虑某些需要最多节拍的指令,也不能只考虑节拍数最少的指令,一般要根据
大多数机器指令所需的节拍数而定,设计才比较合理。
在本实验中,由于选用
4拍对大多数指令就够用,所以节拍发生器产生4个节拍信号(W1—W4)。
统一
用4拍执行1条机器指令后,对于所需节拍较少的的指令,例如JMP指令只用
2拍(忽略中断),剩下2拍就无事可做了。
这在可行性上当然没有问题,但在
性能上就打了折扣,因为多余的节拍都浪费掉了。
为减少浪费,在时序电路中
加入了一个控制信号SKIP的输入,该信号的作用是使节拍发生器在任意状态下
直接跳到最后1拍(W4)。
这样,设计控制流程时,在所需节拍较少的的指令流
程的适当位置使SKIP控制信号有效,多余的节拍就可以跳过,从而提高了性能。
机器指令选用四拍以后,将一条机器指令的执行化为占用两条(或者更多)机
器指令的节拍,执行一条指令就可以占用W1、W2、W3、W4、W1、W2、W3、W4。
为了区分一条指令的两个不同阶段,我们加了个ST内部信号作为标志位,当
ST=0时,标志执行指令的前四个节拍,当ST=1时,标志执行指令的后四个节
拍。
注意到只有CLR#到来后的第四拍时ST信号才发生翻转,所以又设了一个
SSTO信号作为ST信号的触发信号。
具体实现ST-SSTO模块如下:
我们增加了一个标志位RUN,由于按CLR#按钮复
位后,实验系统的时序停止在T4,W4,ST的值为0,这样SSTO=!
ST&W4的值为1.
按QD启动按钮后,由于立即产生T1信号,在T1的上升沿使ST置1,在第一
组W1,W2,W3,W4时,ST的值为1,这是我们不希望看到的。
增加了标志位RUN后,按CLR#按钮复位,使RUN为0。
由于SSTO=!
ST*W4*RUN,
因此复位后的SSTO=0.按QD启动按钮,在T1的上升沿,使RUN=1。
根据SSTO
的布尔表达式,在W1,W2,W3时,SSTO=0,直到W4时,才使SSTO=1,由于
ST:
=CLR#*SSTO#CLR*ST,在W4过后的下一个T1的上升沿,才使ST置1,从而
将控制台操作的两种状态区分开来。
根据控制台指令设计出的硬布线控制器:
7.
1000PR2M3=0W1LDAR2CERLDIRPC-INC
IR
011010000000000100101001001101010100STPJMPMULLDAANDADDSTASUBJCW2SKIPM1=0M1=0M2=0RS-BUS#M1=0SKIPM1=0SKIPLDDR2LDDR1LDDR1LDDR1LDAR1LDDR1RS-BUS#M2=0M2=0M2=0M2=0LDAR1LDDR2LDDR2LDDR2LDDR2SKIP
ALU=A+BALU=A-BW3ALU-BUSALU=A*BALU=A&BLDERCEL#ALU-BUSALU-BUSALU-BUSLRW=1RS-BUSALU=ATJWRDCWRDLDERM4=1ALU-BUSLDERLDERLDER
WRDWRDWRDLDR4CEL#LDPCLRW=0C=0C=1M4=01W4LDR4PC-ADDLDPC
硬布线设计指令流程图
逻辑状态表:
根据硬布线指令流程图画出状态表,然后根据表格,列写出每个信号的逻辑表
达式,并写出ABEL语言的源程序:
OUTPUTST=0ST=18.
KRR1KRD1KWE1KLD1PR1KRR2KRD2KWE2KLD2
ALU_BUS
W4W4AR1_INC
W1W1W1CEL#W1
W2W2CER
W4W4W4LDAR1W4
W4W4LDAR2
LDDR1LDDR2
W3LDER
W2LDIRW2
LDPCW4
W4LDR4W1W1LRWW1M1M2W4M3M4PC_INCPC_ADDW4RS_BUS#S0S1S2W4W4W1SW_BUS#W1,W3
W1W1W1W2W1SKIPW4W1W2,W4TJW4W4WRDW4
SSTOW4W4
PR2ST=1OUTPUTJCSTPJMPANDMULSUBADDPR2LDASTA
ALU_BUSW3W3W3W3W4AR1_INC
CEL#W4W3CERW1
LDAR1W2W2
LDAR2W1
LDDR1W2W2W2W2
W2W2W2W2LDDR2W2
W3W3W3W3LDERW3W1LDIR
W4&CW4LDPCLDR4W4&CW4LRWW2M1W2M2W2W2W1M3W4&CM4W4PC_INCW1PC_ADDW4&CW2RS_BUS#S0S1S2SW_BUS#
W2W2W2SKIP
TJW4WRDW4W4SSTO
W4W3
W2W2W4
W4W1W4W4W2W2W4
W4W4
W4W4W1W1W4W4W4
W2
W2W2W2W4
9.
10.
设计的实现(ABEL-HDL)
语言源代码如下:
ABEL
DECLARATIONSComputeMODULE输入管脚3..5;PINSWC,SWB,SWA6..9;PINIR6,IR5,IR4IR7,
10..17;PINW1,W2,W3,W4,C,CLRMF,T1,输出管脚LDPC,LDER,LDDR2,LDIR,CER,LDAR1,LDAR2,LDDR1,ALU_BUS,AR1_INC,CEL,29..41;LDR4,LRWPIN45..58;M1,M2,M3,M4,S0,S1,S2PINSKIP,PC_INC,PC_ADD,RS_BUS,SW_BUS,WRD,TJ,
自定义'COM';NODEISTYPEMF1,SSTO
'REG';ISTYPERUN,STNODE'COM';ISTYPEtKRR,tKRD,tKWE,tKLD,tPRNODE'COM';ISTYPEKRR1,KRD1,KWE1,KLD1,PR1,KRR2,KRD2,KWE2,KLD2,PR2NODE
'COM';ADD,SUB,MUL,AND,LDA,STA,JMP,JC,STPNODEISTYPECLK=.C.;EQUATIONSMF1=!
CLR&MF#T1&CLR;RUN:
=CLR;RUN.CLK=MF1;ST:
=CLR&SSTO#CLR&ST;ST.CLK=MF1;SSTO=!
ST&RUN&W4;指令译码部分A;tKRR=SWC&!
SWB&!
SWA;tKRD=!
SWC&!
SWB&SWA;tKWE=!
SWC&SWB&!
SWtKLD=!
SWC&SWB&SWA;tPR=!
SWC&!
SWB&!
SWA;KRR1=!
ST&tKRR;KRR2=ST&tKRR;KRD1=!
ST&tKRD;KRD2=ST&tKRD;KWE1=!
ST&tKWE;KWE2=ST&tKWE;KLD1=!
ST&tKLD;KLD2=ST&tKLD;PR1=!
ST&tPR;PR2=ST&tPR;ADD=PR2&(!
IR7)&(!
IR6)&(!
IR5)&(!
IR4);SUB=PR2&(!
IR7)&(!
IR6)&(!
IR5)&(IR4);11.
MUL=PR2&(!
IR7)&(!
IR6)&(IR5)&(!
IR4);AND=PR2&(!
IR7)&(!
IR6)&(IR5)&(IR4);LDA=PR2&(!
IR7)&(IR6)&(!
IR5)&(IR4);STA=PR2&(!
IR7)&(IR6)&(!
IR5)&(!
IR4);JMP=PR2&(IR7)&(!
IR6)&(!
IR5)&(!
IR4);JC=PR2&(IR7)&(!
IR6)&(!
IR5)&(IR4);STP=PR2&(!
IR7)&(IR6)&(IR5)&(!
IR4);数据通路管脚译码ALU_BUS=(ADD#SUB#MUL#AND)&W3#(STA&W4);AR1_INC=(KRD2#KWE2)&W4;CEL=!
((KRD2#KWE2#KLD2#KRR2)&W1#(W3&LDA)#(W4&STA));CER=(KLD2#KRR2)&W2#(W1&PR2);LDAR1=W4&(KRR1#KRD1#KWE1#KLD1)#(W2&LDA)#(W2&STA);LDAR2=W4&(KRR1#KLD1)#(PR2&W1);LDDR1=W2&(ADD#SUB#MUL#AND);LDDR2=LDDR1#(W2&STA);LDER=W3&(KLD2#ADD#SUB#MUL#AND#LDA);LDIR=CER;LDPC=W4&(PR1#JMP#(JC&C));LDR4=LDPC;LRW=W1&KRD2#W3&LDA;M1=!
LDDR1;M2=!
LDDR2;M3=W4&(KRR1#KLD1);M4=W4&(PR1#JMP);PC_INC=W1&PR2;PC_ADD=W4&JC&C;RS_BUS=!
(W2&(LDA#STA)#W4&(KRR2#JMP));SW_BUS=!
(W1&(KWE2#KLD2#KRR2)#(W3&KLD2)#(W4&!
ST));S0=SUB#STA;S1=ADD#SUB;S2=MUL;SKIP=W1&!
ST#(W1&(KRD2#KWE2))#(W2&(KRR2#STA))#W2&(JMP#JC#STP);TJ=W1&KRD2#W2&KLD2#W4&(tKRR#tKWE#tKLD)#W4&STP;WRD=W4&(KLD2#ADD#SUB#MUL#AND#LDA);
END
对程序进行编译,无误后下载到芯片。
连线,调试,验收
程序里面对管脚的定义连线ABEL连线按照
寄存器和内存单元内容:
寄存器存入内容内存单元存入内容
12.
24H60H60HR2R3
61H
61H
83H
计算结果:
内容内存单元
60H
24H
61HR0
83H0A7H
个人感想
的连线很多,虽然能够可以轻松5实验开始就很考验我们的细心与操作,实验
的连出数据通路,但是在读寄存器还有读存储器时候很容易忽略一些细节。
尤
其是寄存器的编号设置很容易忘记怎么设,导致实验进入误区,读不出来正确
的数据。
编程我们是通过参考网上的程序来完成的,虽然弄清楚怎么执行的写数据和读
数据的指令,但是跟自己一开始的思路还
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 布线 控制器 设计 实现