版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、硬布线控制器的设计与调试教学目的、任务与实验设备教学目的熟练掌握实验 5 和硬布线控制器的组成原理与应用。复习和应用数据通路及逻辑表达式。学习运用 ISP(在系统编程)技术进行设计和调试的基本步骤和方法,熟悉集成开发软件中设计调试工具的使用,体会ISP 技术相对于传统开发技术的优点。教学任务按给定的数据格式和指令系统,在所提供的器件范围内,设计一台硬布线控制器控制的模型计算机。根据设计图纸,在通用实验台上进行组装,并调试成功。在组装调试成功的基础上,整理出设计图纸和其他文件。实验设备微操作控制信号C1·····Cn结果反馈信息指硬布线控制器B1
2、指令(组合逻辑网络)令Bn译寄码ispLSI1032E-70LJ84存模器块W1W4T1T1启动停止节拍电位 /节拍脉冲TJ时钟发生器SKIP复位硬布线控制器结构方框图TEC 4 计算机组成原理实验系统一台直流万用表一只集成电路建议使用 ISP 芯片(一片 ispLSI1032 )。采用ISP 器件,则需要一台PC机运行设计自动化软件 ( 例如 ispEXPERT)作设计、编程和下载使用。总体设计思路(描述指令系统,给数据通路)采用与模型计算机相同的指令系统,即12 条机器指令。实验设计中采用该指令系统的子集:去掉中断指令后的3 条机器指令,只保留9 条指令 。采用的数据通路和微程序控制器方案
3、相同。·数据通路图和数据通路控制信号DBUSCS2T4S1ALUA端口ALU_BUSS0B端口LDDR1(T3)DR1DR2LDDR2(T3)M1MUX1MUX2M2RS_BUS#RS1、RS0B 端口A端口RD1、RD0WR1、WR0RFWRD(T2)ERLDER(T4)SW_BUS#SW0 SW7控制信.号.INSCEL#数据端口指令端口CERLRW(T3)RAMLDAR1(T4)AR1_INCAR1AR2LDAR2(T2)MUX3M3DBUSIAR_BUS#PCLDPC(T4)LDIARIARPC_ADDALU2PC_INCR4LDR4(T2)MUX4M4DBUSWR1、WR0
4、RD1、RD0RS1、RS0控制器C、INTQIRLDIR(T4)图4数据通路总体图2控制器的设计思路硬布线控制器能够实现控制功能,关键在于它的组合逻辑译码电路。译码电路的任务就是将一系列有关指令、时序等的输入信号,转化为一个个控制信号,输出到各执行部件中。根据硬布线控制器的基本原理,针对每个控制信号S,可以列出它的译码函数 S = f(Im,Mi,Tk,Bj) 其中 Im 是机器指令操作码译码器的输出信号,Mi 是节拍信号发生器的节拍信号,Tk 是时序信号发生器的时序信号,Bj 是状态条件判断信号。在 TEC4 计算机组成原理实验系统中,因为时序信号 Tk( T1T4)已经直接输送给数据通路
5、,所以译码电路不需 Tk 作为输入。又因为机器指令系统比较简单,操作码只有位,不需要专门的操作码译码器,因此 Im 直接就是操作码,即指令寄存器的 IR4IR7 信号。 Mi 的来源就是时序模块的节拍信号,例如W4W1。Bj 的信号包括:1. 来自数据通路中运算器 ALU的进位信号 C;2. 来自控制台的开关信号 SWC、SWB、SWA;3. 其他信号。其中 C、SWC、SWA和 SWB信号在微程序控制器中同样存在,不用加以解释。由于硬布线控制器设计和微程序控制器设计的不同需求和特点以及控制器的设计方案的不同,可能需要其他信号,也可能不需要其他信号,根据设计方案而定。每个控制信号的函数式都是上
6、述输入信号的逻辑表达式,因此可以用各种组合逻辑构造电路网络,实现这些表达式的逻辑功能。理论上,只要对所有控制信号都设计出译码函数,这个硬布线控制器的方案也就得到了。根据要求,列出所需的控制台指令和机器指令控制台指指令功能指令格式令名称SWCSWBSWAKRR读寄存器堆方式100KRD读双端口存储器方式001KWE写双端口存储器方式010KLD加载寄存器堆方式011PR启动程序方式000机器指令助记符指令功能指令格式名称3R7R6R5R4R3R2R1R0加 法ADDRd,RsRd+Rs->Rd0000RS1RS0RD1RD0减 法SUB Rd,RsRd-Rs->Rd0001RS1RS
7、0RD1RD0乘 法MULRd,RsRd*Rs->Rd0010RS1RS0RD1RD0逻辑与ANDRd,RsRd&Rs->Rd0011RS1RS0RD1RD0存 数STA Rd,RsRd->Rs0100RS1RS0RD1RD0取 数LDA Rd,RsRs->Rd0101RS1RS0RD1RD0无条件转移JMP RsRs->PC1000RS1RS0RD1RD0条件转移JC DC=11001D3D2D1D0PC+D->PC停机STP暂停运行0110XXXX老师提供的控制台指令流程图:4STW10100000100100011000010011010101
8、111001000KRR1KRD1KWE1KLD1PR1KRD2KWE2KLD2KRR2PR2SKIPSKIPSKIPSKIPSKIPCEL#SW-BUS#SW-BUS#SW-BUS#LRW=1CEL#CEL#CEL#TJLRW=0LRW=0LRW=0SKIPSKIPCERCERW2LDIRLDIRTJSKIPW3SW-BUS#LDERSW-BUS#SW-BUS#SW-BUS#SW-BUS#SW-BUS# AR1-INCAR1-INCWRDRS-BUS#LDAR1LDAR1LDAR1LDAR1M4=1TJTJTJM3=1SSTOSSTOM3=1LDR4W4LDAR2TJLDAR2LDPCSST
9、OSSTOSSTOTJTJ控制台指令流程图在这个控制台里,我们将控制台指令KRR,KRD,KWE,KLD,PR分别拆分为KRR1,KRR2,KRD1,KRD2,KWE1,KWE2,KLD1,KLD2和PR1,PR2。每个小指令分别占用W1-W4四个节拍。分 2 次执行完成。5控制台控制信号作用:控制信号信号作用C在加法运算和减法运算时产生的进位信号ALU_BUS允许运算结果送往数据总线LDDR1M1=0时 DR1接收寄存器堆 A 端口数据M1=1时 DR1接收数据总线 DBUS数据LDDR2M2=0时 DR2接收寄存器堆 B 端口数据M2=1时 DR2接收数据总线 DBUS数据WRD控制双端口
10、寄存器堆 RF的写操作RS_BUS#控制 RF 的 B 端口数据是否能送 DBUS上LDER将 DBUS上的数据打入暂存寄存器ERSW_BUS#将 SW7-SW0数据送往 DBUSCEL#选中双端口存储器 RAM左端口LRW允许 RAM左端口读操作允许 RAM左端口写操作CERRAM右端口读出数据并放到指令总线INS 上禁止右端口操作LDAR1将 DBUS数据打入地址寄存器 AR1AR1_INCAR1的值加 1LDAR2M3=0时 AR2的数据从程序计数器PC打入M3=1时 AR2的数据从 DBUS打入LDR4M4=1时 R4的数据从 DBUS打入M4=0时 R4的数据从 IR0-IR3 打入
11、PC_ADDALU2完成 PC和 IR 低 4 位相加即 PC+DPC_INCPC+1LDPC程序计数器 PC接收来自 DBUS的地址LDIR将来自 RAM的指令打入指令寄存器IRS2,S1,S0选择运算器 ALU的运算类型信号有效条件T4 上升沿1T3 下降沿T3 下降沿1 且 T2上升沿01 且 T4上升沿001 且 T3上升沿0 且 T3上升沿101 且 T4上升沿1 且 T4上升沿1 且 T2下降沿1 且 T2下降沿111 且 T4上升沿1 且 T4上升沿1设计方案设计硬布线控制器的控制流程,也就是解决 Mi、Im、 Bj 如何起作用的问题。设计微程序控制器时可以使用流程图,设计硬布线
12、控制器同样可以使用流程图。微程序控制器的控制信号以微指令周期为时间单位,硬布线控制器以节拍为时间单位,两者本质上是一样的,1 拍和 1 个微指令周期都是从时序T1 的上升沿到T4 的下降沿的一段时间。在微程序控制流程图中,1 个执行框代表 1 个微指令6周期,而在硬布线控制流程图中,1 个执行框就代表 1 拍。执行一条机器指令所需的微指令数目,在硬布线控制器中相当于机器指令所需的节拍数。决定执行一条指令需要的节拍数,要根据所有指令而定。既不能只考虑某些需要最多节拍的指令,也不能只考虑节拍数最少的指令,一般要根据大多数机器指令所需的节拍数而定,设计才比较合理。在本实验中,由于选用4拍对大多数指令
13、就够用,所以节拍发生器产生4 个节拍信号( W1W4)。统一用 4 拍执行 1 条机器指令后,对于所需节拍较少的的指令,例如JMP指令只用2拍(忽略中断),剩下 2 拍就无事可做了。这在可行性上当然没有问题,但在性能上就打了折扣,因为多余的节拍都浪费掉了。为减少浪费,在时序电路中加入了一个控制信号 SKIP 的输入,该信号的作用是使节拍发生器在任意状态下直接跳到最后 1 拍( W4)。这样,设计控制流程时,在所需节拍较少的的指令流程的适当位置使 SKIP 控制信号有效,多余的节拍就可以跳过,从而提高了性能。机器指令选用四拍以后,将一条机器指令的执行化为占用两条(或者更多)机器指令的节拍,执行一
14、条指令就可以占用 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
15、,在第一组 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,从而将控制台操作的两种状态区分开来。根据控制台指令设计出的硬布线控制器:71000PR2M3=0W1LDAR2CERLDIRPC-I
16、NCIR000000010010001101010100100010010110W2ADDSUBMULANDLDASTAJMPJCSTPM1=0M1=0M1=0M1=0RS-BUS#M2=0SKIPSKIPSKIPLDDR1LDDR1LDDR1LDDR1LDAR1LDDR2M2=0M2=0M2=0M2=0RS-BUS#LDDR2LDDR2LDDR2LDDR2LDAR1SKIPALU=A+BALU=A-BW3 ALU-BUSALU=A*BLDERALU=A&BALU-BUSCEL#ALU-BUSALU-BUSWRDWRDLRW=1ALU=ARS-BUSCTJLDERALU-BUSM4=1
17、LDERLDERLDERWRDWRDWRDCEL#LDR4LRW=0LDPCC=0 C=1M4=01W4LDR4PC-ADDLDPC硬布线设计指令流程图逻辑状态表:根据硬布线指令流程图画出状态表,然后根据表格,列写出每个信号的逻辑表达式,并写出 ABEL语言的源程序:OUTPUTST=0ST=18KRR1KRD1KWE1KLD1PR1KRR2KRD2KWE2KLD2ALU_BUSAR1_INCW4W4CEL#W1W1W1W1CERW2W2LDAR1W4W4W4W4LDAR2W4W4LDDR1LDDR2LDERW3LDIRW2W2LDPCW4LDR4W4LRWW1W1W1M1M2M3W4W4M4
18、W4PC_INCPC_ADDRS_BUS#W4S0S1S2SW_BUS#W4W4W4W4W4W1W1,W3SKIPW1W1W1W1W1W2W1W1TJW4W4W4W4W1W4W2,W4WRDW4SSTOW4W4W4W4W49ST=1PR2OUTPUTPR2 ADDSUBMULANDLDASTAJMPJCSTPW3W3W3W3W4ALU_BUSAR1_INCW3W4CEL#W1CERW2W2LDAR1W1LDAR2W2W2W2W2LDDR1W2W2W2W2W2LDDR2W3W3W3W3W3LDERW1LDIRW4W4&CLDPCW4W4&CLDR4W3W4LRWW2W2W2W2M
19、1W2W2W2W2W2M2W1M3W4W4&CM4W1PC_INCW4&CPC_ADDW2W2W2RS_BUS#S0S1S2SW_BUS#W2W2W2W2SKIPW4TJW4W4W4W4W4WRDSSTO10设计的实现( ABEL-HDL)ABEL语言源代码如下:MODULE ComputeDECLARATIONS" 输入管脚SWC, SWB, SWA PIN 3.5;IR7, IR6, IR5, IR4 PIN 6.9;MF,T1, W1,W2,W3,W4, C,CLR PIN 10.17;" 输出管脚ALU_BUS,AR1_INC,CEL, CER, L
20、DAR1,LDAR2,LDDR1,LDDR2,LDER, LDIR, LDPC,LDR4,LRW PIN 29.41;PC_INC,PC_ADD,RS_BUS,SW_BUS,WRD, SKIP, TJ, M1,M2,M3,M4,S0,S1,S2PIN 45.58;" 自定义MF1,SSTO NODE ISTYPE 'COM'RUN,ST NODE ISTYPE 'REG'tKRR,tKRD,tKWE,tKLD,tPRNODE ISTYPE 'COM'KRR1,KRD1,KWE1,KLD1,PR1,KRR2,KRD2,KWE2,KLD2,
21、PR2NODE ISTYPE 'COM'ADD,SUB,MUL,AND,LDA,STA,JMP,JC,STPNODE ISTYPE 'COM'CLK=.C.;EQUATIONSMF1=!CLR&MF#T1&CLR;RUN:=CLR;RUN.CLK=MF1;ST:=CLR&SSTO#CLR&ST;ST.CLK=MF1;SSTO=!ST&RUN&W4;" 指令译码部分tKRR=SWC&!SWB&!SWA;tKRD=!SWC&!SWB&SWA;tKWE=!SWC&SWB&
22、amp;!SWA;tKLD=!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&(!I
23、R7)&(!IR6)&(!IR5)&(IR4);11MUL=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&am
24、p;(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#KW
25、E1#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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学信学院银行招聘考试网申技巧网申简历
- 学校各种工作岗位任务模板
- 中间槽施工方案(3篇)
- 地坪维修应急预案(3篇)
- 嘎啦苹果营销方案(3篇)
- 宁波塔吊施工方案(3篇)
- 店铺线上营销方案(3篇)
- 园林工艺施工方案(3篇)
- 刺槐的施工方案(3篇)
- 少儿武术活动策划方案(3篇)
- 服装比赛活动策划方案(3篇)
- 电磁技术的应用
- 2025年计量专业案例分析(一级注册计量师)真题试卷及答案
- 广西钦州市2025-2026学年高二上学期1月月考语文试题(含答案)
- 物业前期秩序维护部培训
- 2025急性缺血性卒中血管内治疗并发症重症管理专家共识课件
- 2026年ipmpd级考试试题
- 2026年浙江机电职业技术学院单招职业技能考试备考试题带答案解析
- 义务教育道德与法治课程标准日常修订版(2022年版2025年修订)
- 2026年商丘学院单招(计算机)测试备考题库必考题
- 2025年卫生管理初级师考试真题及答案
评论
0/150
提交评论