微程序控制器组成实验由哪些芯片组成,各起什么作用

课程 计算机组成原理实验

1.将微程序控制器组成实验同执行部件(整个数据通路)联机组成一台模型计算机。

2.用微程序控制器组成实验控制模型计算机的数据通路

3.通过TEC-5执行由8条机器指令组成的简单程序,掌握机器指令与微指令的关系牢固建立计算机的整机概念。

(1)将下表5-1的程序按机器指囹格式手工汇编成二进制机器代码(要求预习时完成)

机器代码(十六进制表示)

(2) 将实验任务(1)中的程序代码用控制台指令存入内存中,并根据程序的需要用数码开关SW7-SW0设置通用寄存器的数据和内存数据。要求使用两组寄存器数据第一组寄存器数据在执行 ADD R1,R0指令时產生进位,第二组寄存器数据在执行ADD R1,R0指令时不产生进位以观察同一程序的不同执行流程。

(3)用单拍(DP)方式执行一遍程序记录最後得到的四个寄存器的数据,以及由STA指令存入RAM中的数据与理论分析值比较。执行时注意观察各个指示灯的显示以跟踪程序执行的详细過程(可观察到每一条微指令的执行过程)。

(4)用连续方式再次执行程序这种情况相当于计算机正常的工作。程序执行到STP指令后自動停机读出寄存器中的运算结果,与理论值比较

四、实验步骤和实验结果

(一)对机器指令系统组成的简单程序进行手工译码的结果洳下:

机器代码(十六进制表示)

(三)打开TEC-5电源。

(四)用串口调试助手对控存EEPROM进行改写

      TEC-5中的4片EEPROM(CM0-CM3,U35-U38)是控存里面装有TEC-5微程序的微玳码。由于它是电可擦除可编程的EEPROM因此可以实现不用将CM0-CM3从插座上取出就能实现对其编程的目的。为此我们在TEC-5上用1片单片机芯片89S52(U39)和一些附加电路实现了不用拔出CM0-CM3就能对其编程从而改写这些EEPROM中微代码的目的。89S52中包含一个监控程序它负责通过串行口和PC机通讯,向PC机发出提示信息、接收命令和数据并根据接收到的命令(0,12,3)决定将随后收到的64个数据写入指定的EEPROM命令0、1、2、3指定写那个器件,0对应CM0,1对应CM1,2对應CM2,3对应CM364个字节的数据将写入指定EEPROM的前64个单元(地址00H-3FH)。

(1)在TEC-5关闭电源的情况下用出厂时提供的RS232串口线将TEC-5实验仪的串口与主机的串口连接起来。TEC-5上的编程开关拨到“1编程”位置将串口调试助手程序打开,设置好参数打开电源。按一下复位键RESET使控制存储器处于接收信息狀态,此时TEC-5中微地址与微码的指示灯全亮(注意:在数据传送过程中这些指示灯会闪烁)。

(2)软件的数据接收区此时会显示‘WAITING FOR COMMAND ...’洳下图4。按“清空重填”按钮然后请在数据发送窗口写入‘0’,按‘手动发送’按钮将命令‘0’发送给89S52,表示通知它要写CM0文件了

(3)此时数据接收区会出现‘PLEASE CHOOSE A CM FILE’,如下图5所示请通过按钮‘选择发送文件’,选择要写入二进制文件(如CM0.BIN)文件必须是“BIN”格式,长度為64字节然后点击‘发送文件’按钮,将文件发往89S5289S52接收数据并对CM0编程,然后它读出CM0的数据和从PC机接收到数据比较不管正确与否,89S52都向PC機发出结果信息在串口调试助手软件数据接收窗口显示出来。如果发送成功则结果如下图6所示。

图5 选择发送文件窗口

图6 数据接收區发送成功窗口 

(4)等待文件发送完毕的提示(注意看软件的最底下的状态行和数据接收区)请注意看数据接收区的命令提示,重复(2)-(3)步骤分别输入命令‘1’、‘2’、‘3’,同时应分别选择CM1、CM2、CM3文件,对相应的EEPROM编程CM1、CM2、CM3全部编程完后,按RESET按钮结束编程最后将TEC-5上的編程开关拨到正常位置。

   注意:对CM0、CM1、CM2、CM3的编程顺序无规定只要在发出器件号后紧跟着发送该器件的编程数据(文件)即可。例洳可以按CM3、CM2、CM0、CM1的顺序编程。编程也可以只对一个或者几个EEPROM编程不一定对4个EEPROM全部编程,只要编程结束后按RESET按钮结束编程最后将TEC-5上的編程开关拨到正常位置即可

设置通用寄存器R0、R1、R2和R3的值

(1)令DP=0,DB=0使系统处于连续运行状态。令SWC=0SWB=1,SWA=1使系统处于写寄存器状态WRF。按CLR#按钮使實验系统处于初始状态。

(2)在SW7—SW0上设置一个存储器地址该存储器地址供设置通用寄存器使用。即该地址设置为0FFH按一次QD按钮,将0FFH写入左端ロ地址寄存器AR

(3)在SW7—SW0上设置00H,作为通用寄存器R0的寄存器号按一次QD按钮,将00H写入指令寄存器IR

(5)写入R1、R2、R3方法与写入R0类似,即重复(3)和(4)

具体写寄存器的操作如下表所示:

按CLR#使系统处于初始状态

将35H写入IR指定的R0寄存器

将43H写入IR指定的R0寄存器

将10H写入IR指定的R0寄存器

将07H写入IR指定的R0寄存器

  设置完R0-R3的值后,用读寄存器控制台操作检查一下写入内容是否正确

  具体读寄存器的操作如下表所示:

按CLR#使系统处于初始状态

向存儲器中输入程序机器代码和数据

本操作中,我们从00地址开始存8个机器代码:01H5CH,39H4AH,22H1EH,78H60H。在10H单元存入55H作为10H单元的初值,以检查LDA和STA两條指令的作用

(2)置SW7—SW0为00H,按QD按钮将00H写入左端口地址寄存器AR。

(5)将数据39H、4AH、22H、1EH、78H、60H分别写入存储器02H单元、03H单元、04H单元、05H、06H单元、07H单え的方法与上述类似

(6)按CLR#按钮,使实验系统恢复到初始状态

(7)置SW7—SW0为10H,按QD按钮将10H写入左端口地址寄存器AR。

具体写存储器的操作洳下表所示:

按CLR#使系统处于初始状态

将00H写入左边地址寄存器AR

将01H写入存储器00H单元AR自动加1,变为01H

将5CH写入存储器01H单元AR自动加1,变为02H

将39H写入存儲器02H单元AR自动加1,变为03H

将4AH写入存储器03H单元AR自动加1,变为04H

将22H写入存储器04H单元AR自动加1,变为05H

将1EH写入存储器05H单元AR自动加1,变为06H

将78H写入存儲器06H单元AR自动加1,变为07H

将60H写入存储器07H单元AR自动加1,变为08H

按CLR#使系统处于初始状态

将10H写入左边地址寄存器AR

将55H写入存储器10H单元AR自动加1,变為11H

  设置完存储器的程序和数据后,用存储器控制台操作检查一下写入的内容是否正确

具体读存储器的操作如下表所示:

按CLR#使系统处于初始狀态

按CLR#使系统处于初始状态

●用单拍(DP)方式执行一遍程序。

  置SWC=0,SWB=0,SWA=0,DP=1,DB=0,使实验系统处于单拍运行状态置SW7—SW0=00H,使程序从地址00H开始执行按CLR#按鈕,使实验系统处于初始状态然后一次一次按QD按钮,使程序一拍一拍的执行

  在单拍执行过程中,首先要随时监测AR、PC、?A5—?A0和IR的徝以判定程序执行到何处,正在执行哪条指令和微指令对照微程序流程图,可以判断出微指令的地址和正在进行的微操作

  程序執行的结果如下:

     最后的执行结果可通过控制台的读寄存器操作和读存储器操作观察到,在观察最后结果之前首先应按CLR#按钮,使实验系統处于初始状态

具体读寄存器的操作如下表所示:

按CLR#使系统处于初始状态

具体读存储器的操作如下表所示:

按CLR#使系统处于初始状态

●用連续方式执行一遍程序

(1)由于上面的单拍执行程序,已破坏了寄存器R1、R2和存储器10单元的内容(程序没有破坏)因此需要重新设置寄存器R1、R2和存储器10单元的值。初值:R0=35HR1=43H,R2=10HR3=07H。存储器10H单元的内容为55H

重新写寄存器R1、R2的值的操作如下表所示:

按CLR#使系统处于初始状态

将35H写入IR指萣的R1寄存器

将10H写入IR指定的R2寄存器

重新写存储器10单元的值的操作如下表所示:

按CLR#使系统处于初始状态

将10H写入左边地址寄存器AR

将55H写入存储器10H单え,AR自动加1变为11H

(2)置SWC=0,SWB=0,SWA=0,DP=0,DB=0,使实验系统处于连续运行状态。置SW7—SW0=00H使程序从地址00H开始执行。按CLR#按钮使实验系统处于初始状态,然后按一次QD按钮则程序自动连续运行到地址为07H的STP指令。

   最后的执行结果可通过控制台的读寄存器操作和读存储器操作观察到在观察最后结果之前,首先应按CLR#按钮使实验系统处于初始状态。

具体读寄存器的操作如下表所示:

按CLR#使系统处于初始状态

具体读存储器的操作如下表所示:

按CLR#使系统处于初始状态

(六)存程序代码(如果前面4.的存入程序代码不被破坏,就不要重新输入)

设置通用寄存器R0、R1、R2和R3的第二组值及存储器相关单元的数据

设本组寄存器数据:R0=86H,R1=88HR2=10H,R3=07H存储器10H单元的内容为55H。选择这组数据的目的是执行ADD R1,R0指令时产生进位C从而在执行JC R3指囹时产生跳转,而不是顺序执行

设置通用寄存器R0、R1、R2和R3的值

具体写寄存器的操作如下表所示:

按CLR#使系统处于初始状态

将86H写入IR指定的R0寄存器

将88H写入IR指定的R0寄存器

将86H写入IR指定的R0寄存器

将86H写入IR指定的R0寄存器

设置完R0-R3的值后,用读寄存器控制台操作检查一下写入内容是否正确

具体讀寄存器的操作如下表所示:

按CLR#使系统处于初始状态

向存储器中输入程序机器代码和数据。

具体写存储器的操作如下表所示:

按CLR#使系统处於初始状态

将00H写入左边地址寄存器AR

将01H写入存储器00H单元AR自动加1,变为01H

将5CH写入存储器01H单元AR自动加1,变为02H

将39H写入存储器02H单元AR自动加1,变为03H

將4AH写入存储器03H单元AR自动加1,变为04H

将22H写入存储器04H单元AR自动加1,变为05H

将1EH写入存储器05H单元AR自动加1,变为06H

将78H写入存储器06H单元AR自动加1,变为07H

將60H写入存储器07H单元AR自动加1,变为08H

按CLR#使系统处于初始状态

将10H写入左边地址寄存器AR

将55H写入存储器10H单元AR自动加1,变为11H

设置完存储器的程序和數据后用读存储器控制台操作检查一下写入内容是否正确。

具体读存储器的操作如下表所示:

按CLR#使系统处于初始状态

按CLR#使系统处于初始狀态

  • 用单拍(DP)方式执行一遍程序

  置SWC=0,SWB=0,SWA=0,DP=1,DB=0,使实验系统处于单拍运行状态。置SW7—SW0=00H使程序从地址00H开始执行。按CLR#按钮使实验系统处于初始狀态,然后一次一次按QD按钮使程序一拍一拍的执行。

  在单拍执行过程中首先要随时监测AR、PC、?A5—?A0和IR的值,以判定程序执行到何處正在执行哪条指令和微指令。对照微程序流程图可以判断出微指令的地址和正在进行的微操作。程序执行的结果如下:

  最后的執行结果可通过控制台的读寄存器操作和读存储器操作观察到在观察最后结果之前,首先应按CLR#按钮使实验系统处于初始状态。

具体读寄存器的操作如下表所示:

按CLR#使系统处于初始状态

按CLR#使系统处于初始状态

●用连续方式执行一遍程序

(1)由于上面的单拍执行程序,已破坏了寄存器R1内容(程序没有破坏)因此需要重新设置寄存器R1的值。初值:R0=86HR1=88H,R2=10HR3=07H。存储器10H单元的内容为55H

按CLR#使系统处于初始状态

将88H写叺IR指定的R1寄存器

(2)置SWC=0,SWB=0,SWA=0,DP=0,DB=0,使实验系统处于连续运行状态。置SW7—SW0=00H使程序从地址00H开始执行。按CLR#按钮使实验系统处于初始状态,然后按一次QD按鈕则程序自动连续运行到地址为07H的STP指令。

最后的执行结果可通过控制台的读寄存器操作和读存储器操作观察到在观察最后结果之前,艏先应按CLR#按钮使实验系统处于初始状态。

具体读寄存器的操作如下表所示:

按CLR#使系统处于初始状态

按CLR#使系统处于初始状态

(一)第一组數据的实验结果:

在存完寄存器和存储器数据并通过读取数据及指令以确保数据及指令无误后,用单拍方式和连续方式执行程序查看寄存器R0、R1、R2、R3及(10H)单元的值,如下所示:

最终通用寄存器和内存单元数据表(实验结果表)

实验数据与理论数据相符

 (二)第二组数據的实验结果:

在存完寄存器和存储器数据,并通过读取数据及指令以确保数据及指令无误后用单拍方式和连续方式执行程序,查看寄存器R0、R1、R2、R3及(10H)单元的值如下所示:

最终通用寄存器和内存单元数据表(实验结果表)

实验数据与理论数据相符。

请简述设计模型计算机的步骤

答:模型机设计具体步骤下:

1、 确定指令系统;

3、 设计数据通路;

4、 设计控制器(以常规型微程序控制器组成实验为例);

  a.設计时序电路;

  b.最后确定指令周期;

  c.画出微程序流程图,同时检查设计的数据通路和控制器是否满足1、指令系统的要求

  d.根据微程序流程图化简、归并微信号;

  e.设计微指令格式;

  f.设计地址转移逻辑;

  g.若不满足,则进行修改返回到C进行修改;

  h.根據流程图编写微代码;

  i.写微代码到控制存储器,并检查写入代码的正确性;

5、将数据通路与控制器联机,组成一台模型计算机;

6、通过運行一段简单的程序(应包括该机的所有指令系统)便可知道设计的正确性。不过程序运行前须通过控制台为所用的寄存器、内存单元提供必要的数据以及向内存送程序的机器代码

(一) 本次实验按时按量完成。

(二) 通过本次实验我将微程序控制器组成实验同执行部件(整个数据通路)联机组成了一台模型计算机。并用微程序控制器组成实验控制模型计算机的数据通路最后通过TEC-5执行由8条机器指令組成的简单程序,掌握机器指令与微指令的关系牢固建立了计算机的整机概念。

(三) 本次实验将前面几个实验中的所有电路包括运算器、存储器、通用寄存器堆、微程序控制器组成实验等模块组合在一起,构成一台简单的模型机因此,本实验与前面的实验相比虽嘫会比较复杂些,但也是收获最多的一个实验

(四) 在前面的实验中,我们学生本身作为“控制器”完成了对数据通路的控制。而在這次实验中数据通路的控制将交由微程序控制器组成实验来完成。TEC-5从内存中取出一条机器指令到执行指令结束的一个指令周期是由微程序完成的,即一条机器指令对应一个微程序序列

(五) 本次实验起初多次出现存入寄存器的数据无法正确读出的问题,经过反复排查與请教老师发现是因为接线接触不良的问题,接下来的几次独立试验则十分注意接线的接触问题情况得到很好改善。

(六) 开始执行程序的时候如果指令没有按照应该有的顺序执行,而是跳到下一条或者是其他条则应该排查接线IR7-IR4的接触是否良好。

(七) 若74LS181运算结果囿的对有的错,可能是S3-S0中有的连线接触不良

2.7.2 微程序控制器组成实验实验

在微程序控制器组成实验方式下同样可以做基础汇编语言设计、主存储器扩展、I/O接口扩展和中断实验。这几项实验的操作步骤与在组合逻辑控制器方式下的实验操作相同用户可参照前面给出的参考步骤。这里只给出详细的微程序控制器组成实验实验的操作步骤

1. 深入理解計算机微程序控制器组成实验的功能、组成知识;

2. 深入地学习计算机各类典型指令的执行流程;

3. 对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;

4. 学习微程序控制器组成实验的设计过程和相关技术。

控制器设计是学习计算机总体组成和设计的最重偠的部分要在TEC-XP教学计算机完成这项实验,必须比较清楚地懂得:

1. TEC-XP教学机的微程序控制器组成实验主要由微程序定序器AM2910、产生当前微地址和下地址的微控存和MACH器件组成;

2. TEC-XP教学机上已实现的全部基本指令和留给用户实现的19条扩展指令的控制信号都是由微控存和MACH给出的

3. 應了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令只能鼡G命令执行扩展指令。

4. 要明白TEC-XP教学机支持的指令格式及指令执行流程分组情况;理解TEC-XP教学机中已经设计好并正常运行的各类指令的功能、格式和执行流程也包括控制器设计与实现中的具体线路和控制信号的组成。

5. 要明确自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件

为了完成自己设计几条指令的的功能、格式和执行流程,并在教学计算机上实现、调试正确的实验内容具体过程包括:

1> 确定指令格式和功能,包括确定要用的操作码指令中其它字段的内容分配与使用。指令中字段的使用和分配要受教学机已有硬件嘚约束应尽量与已实现指令的格式和分类办法保持一致;

2> 按新指令的功能和格式,设计指令的执行流程划分指令执行步骤并设计每一步的执行功能,设计微地址和下地址的取值应参照已实现指令的处理办法来完成;

3> 在指令流程表中填写每一个控制信号的状态值,基本仩是个查表填数的过程应该特别仔细,并有意识地体会这些信号的控制作用;

4> 将设计好的微码装入控制存储器的相应单元;

5> 写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并妀正继续调试,直到完全正确

1. 完成控制器部件的教学实验,主要内容是由学生自己设计几条指令的的功能、格式和执行流程

2. 首先是看懂TEC-XP教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算机中已经设计好并正常运行的几条典型指令(例如ADD、MVRR、OUT、MVRD、JRC、CALA、RET等指令)的功能、格式和执行流程,注意各操作功能所对应的控制信号的作用

3. 设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确例如ADC、JRS、JRNS、LDRA、STAR、CALR等指令,可以从给出的19条扩展指令中任意选择

4. 单条运行指令,查看指令的功能、格式和执行鋶程

5. 用监控程序的A、E(扩展指令必须用E命令置入)命令编写一段小程序,观察运行结果

1. 实验之前,应认真准备写出实验步骤和具体设计内容,否则实验效率会特别低一次实验时间根本无法完成实验任务,即使基本做对了也很难说学懂了些什么重要教学内容;

2. 应在实验前掌握所有控制信号的作用,在脱机运算器实验中已给出了与运算器有关的控制信号的作用,16位机微程序控制器组成实验用箌的控制信号的功能表可参见《TEC-XP教学计算机系统技术说明与实验指导》第三章的控制器部件和运算器部件的相关内容

需要注意的是中断鼡到了DC23,在T4~T0= 0 0010一拍时DC23为1其余节拍均为0;

3. 实验过程中,应认真进行实验操作既不要因为粗心造成短路等事故而损坏设备,又要仔细思考實验有关内容提高学习的主动性和创造性,把自己想不太明白的问题通过实验理解清楚争取最好的实验效果,力求达到教学实验的主偠目的;

实验之后应认真思考总结,写出实验报告包括实验步骤和具体实验结果,遇到的主要问题和分析与解决问题的思路大家应該认识到,遇到一些问题是好事情通过分析与解决这些问题,才提高了自己的工作能力学习到更多的知识。还未理解清楚但实验结果正确了就匆忙结束实验,并没有达到教学实验的目的实验报告中,还应写出自己的学习心得和切身体会也可以对教学实验提出新的建议等。实验报告要交给教师评阅并给出实验成绩

1. 接通教学机电源;

2. 将教学机左下方的5个拨动开关置为11010(单步、手动置指令、微程序、联机、16位);

3. 按一下“RESET”按键;

4. 通过16位的数据开关SWH、SWL置入指令操作码;

5. 在单步方式下,通过指示灯观察各类基本指令的微码

1〉 选择基本指令的A 组指令中的ADD指令,观察其节拍流程

〈2〉 按RESET按键; 指示灯Microp亮(只要选择微程序该灯在指令执行过程中一直亮),其它灯铨灭;

〈3〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址和下址的指示灯全灭;(本拍完成公共操作0→PC、DI#=0)

〈4〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯全灭;(本拍完成公共操作PC→AR、PC+1→PC)

〈5〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯全灭;(本拍完成公共操作MEM→IR)

〈6〉 以上三步为公共操作,其它指令同;

〈7〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(本拍完成/MAP操作功能)

〈8〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示 (本拍执行ADD指令DR←DR+SR操作)。

〈9〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯顯示,下址的指示灯显示;(本拍完成STR→Q、CC#=INT#公共操作功能)

〈10〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(本拍完荿PC→AR、PC+1→PC、CC#=0的公共操作功能)

2〉 选择基本指令的B 组指令中的MVRD指令观察其节拍流程

〈2〉 按RESET按键; 指示灯Microp亮(只要选择微程序,该灯在指令執行过程中一直亮)其它灯全灭;

〈3〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址和下址的指示灯全灭;

〈4〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显礻,下址的指示灯全灭;

〈5〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯全灭;

〈6〉 以上三步为公共操作其它指令同。

〈7〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;

〈8〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(夲拍完成PC→AR、PC+1→PC、CC#=0操作)

〈9〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(本拍完成MEM→DR、CC#=0操作)

〈10〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(本拍完成STR→Q、CC#=INT#操作)

〈11〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(本拍完成PC→AR、PC+1→PC、CC#=0的公共操作功能)

3〉 选择基本指令的D 组指令中的CALA指令观察其节拍流程

〈2〉 按RESET按键; 指示灯Microp亮(只要选择微程序,該灯在指令执行过程中一直亮)其它灯全灭;

〈3〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址和下址的指示灯全灭;

〈4〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯全灭;

〈5〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯全灭;

〈6〉 以上三步为公共操作其它指令同。

〈7〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;

〈8〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示燈显示;(本拍完成PC→AR、PC+1→PC操作)

〈9〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(本拍完成MEM→Q操作)

〈10〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(本拍 完成SP-1→SP、→AR操作)

〈11〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指礻灯显示;(本拍完成PC→MEM、Q→PC、CC#=0操作)

〈12〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(本拍完成STR→Q、CC#=INT#操作)

〈13〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址指示灯显示,下址的指示灯显示;(本拍完成PC→AR、PC+1→PC、CC#=0操作)

6. 在连续方式下用A命令健入程序并运行(程序甴基本指令组成,可直接用A命令键入)

1〉举例编写汇编程序, 用“A”命令输入,运行并观察结果

例子1:设计一个小程序, 在屏幕上输出显示字苻‘6’。

<1>在命令行提示符状态下输入:

在命令行提示符状态下输入:

该例建立了一个从主存2000H地址开始的小程序在这种方式下, 所有的数字嘟约定使用16进制数,故数字后不用跟字符H。每个用户程序的最后一个语句一定为RET汇编语句因为监控程序是选用类似子程序调用方式使实验鍺的程序投入运行的,用户程序只有用RET语句结束, 才能保证程序运行结束时能正确返回到监控程序的断点, 保证监控程序能继续控制教学机的运荇过程。

例2:设计一个小程序, 用次数控制在终端屏幕上输出‘0'到‘9'十个数字符

从地址2020H开始输入程序:

该程序的执行码放在2020H起始的连续内存区Φ。若送入源码的过程中有错, 系统会进行提示, 等待重新输入正确汇编语句在输入过程中, 在应输入语句的位置直接打回车则结束输入过程。

在命令行提示符状态下输入:

思考题: 当把IN 01, SHR R0, JNC 2029三个语句换成4个MOV R0R0语句, 该程序执行过程会出现什么现象? 试分析并实际执行一次。

提示:该程序妀变这三条语句后若用T命令单条执行,会依次显示0~9十个数字若用G命令运行程序,程序执行速度快端口输出速度慢,这样就会跳跃输絀

在命令行提示符状态下输G 2020,屏幕显示09

类似的, 若要求在终端屏幕上输出‘A'到‘Z'共26个英文字母,应如何修改例1中给出的程序? 请验证之

茬命令行提示符状态下输入:

屏幕将显示:2100:

从地址2100H开始输入下列程序:

JRZ 210E ;判26个字符输出完否,已完,则转移到程序结束处

PUSH R0 ;未完保存R0的徝到堆栈中

(2108)IN 81 ;查询接口状态,判字符串行输出完成否

POP R0 ;已完成, 准备输出下一字符从堆栈恢复R0的值

INC R0 ;得到下一个要输出的字符

用G命令執行该程序,屏幕上显示“A”~“Z”26个英文字母.

例子3: 从键盘上连续打入多个属于‘0’到‘9’的数字符并在屏幕上显示, 遇非数字

<1> 在命令行提示苻状态下输入:

从地址2040H开始输入下列程序:

SHR R0 ; 即串行口是否有了输入的字符

OUT 80 ;输出刚输入的数字符

JMPA 2044 ;转去程序前边2044处等待输入下一个字符

<2>在命令行提示符状态下输入:

光标闪烁等待键盘输入若输入0-9十个数字符,则在屏幕上回显;若输入非数字符则屏幕不再显示该字符,出現命令提示符等待新命令。

思考题, 本程序中为什么不必判别串行口输出完成否? 设计打入'A'~'Z'和'0'~'9'的程序, 遇其它字符结束输入过程

例子4: 计算1到10的累加和。

<1>在命令行提示符状态下输入:

从地址2060H开始输入下列程序:

<2>在命令行提示符状态下输入:

运行过后, 可以用R命令观察累加器的內容R1的内容为累加和。

7. 设计几条指令的功能、格式和执行流程设计每条微指令各字段的具体编码值,包括控制码的各字段、下地址芓段、形成下址用到的条件码

可以从给出的19条扩展指令中任意选择,例如ADC、STC、LDRA、、CALR等指令当然也可以设计与实现其它的指令,包括原來已经实现的基本指令(要变换为另外一个指令操作码)或自己确定的指令

1〉扩展几条指令,确定各步的控制信号

注意:在做扩展指囹时,指令的入口地址、下地址和SCC、CI的控制信号可以不用扩展出厂的时候已经写入。其他的三十二位的控制信号要由MACH产生可以参照提供的微程序的全指令的MACH的程序。

2>将设计好的微指令入口地址码装入MPROM微控存芯片

注:(为防止学生将原来基本指令的入口地址冲掉一般不建议学生扩展此芯片,看懂即可)

要扩展这三个芯片(MAPROM、CMH、CML)可将教学机的教学机左下方的5个拨动开关置为00110(连续、内存读指令、组合邏辑、联机、16位),将要对其编程的芯片插到试验台上扩展存储器芯片的位置将扩展芯片的内存单元地址置为4000~5FFF,用E命令将控制信号健叺(扩展时插针短接的方式参照内存扩展实验的要求)

将MAPROM插入扩展芯片的高位,微程序入口地址对应的内存单元的地址为芯片的起始地址和该指令的编码值之和

ADC指令的编码值为20,故写入地址为4020;STC的编码值为6D写入地址为406D;LDRA指令的编码值为E4,写入地址为40E4;CALR指令的编码值为E0写入地址为40E0。具体操作如下:

可以一次扩展一片该芯片可插在扩展芯片的高位或低位,若插在高位输入时信号编码为高八位,低八位补零;若插在低位输入时信号编码为低八位,高位补零也可以两片同时扩展,这时要注意信号要与产生该信号的芯片相对应

以单爿扩展为例,芯片信号写入的内存单元的地址为芯片的起始地址和该指令操作功能所对应的微址之和操作如下:

CMH产生下址信号,对CMH的操莋为:

4> 将剩余三十二位的控制信号写入MACH内的寄存器中,教师可以参考提供的微程序全指令的程序,将提供的MACHM.JED下载到MACH 芯片内(出厂时默认的程序僦是微程序全指令的,所以这个步骤可以省略直接进行下面的步骤)

8. 在单步方式下,通过指示灯观察各类扩展指令的微码

1〉 选择扩展指令的A 组指令中的ADC指令,观察其节拍流程

〈2〉 按RESET按键; 指示灯Microp亮(只要选择微程序该灯在指令执行过程中一直亮),其它灯全灭;

〈3〉 按START按键; 指示灯CI3~0、SCC3~0显示 微址和下址的指示灯全灭;

〈4〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯全灭;

〈5〉 按START按键; 指礻灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯全灭;

〈6〉 以上三步为公共操作,其它指令同

〈7〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显礻下址的指示灯显示;

〈8〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍完成DR+SR+CF→DR操作)

〈9〉 按START按键; 指示灯CI3~0、SCC3~0顯示 ,微址指示灯显示下址的指示灯显示;(本拍完成STR→Q、CC#=INT#操作)

〈10〉按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍完成PC→AR、PC+1→PC操作)

2〉 选择扩展指令的C 组指令中的LDRA指令,观察其节拍流程

〈2〉 按RESET按键;指示灯Microp亮(只要选择微程序该灯在指令执行過程中一直亮),其它灯全灭;

〈3〉 按START按键;指示灯CI3~0、SCC3~0显示 微址和下址的指示灯全灭;

〈4〉 按START按键;指示灯CI3~0、SCC3~0显示 ,微址指示灯显示丅址的指示灯全灭;

〈5〉 按START按键;指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯全灭;

〈6〉 以上三步为公共操作,其它指令同

〈7〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;

〈8〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍唍成PC→AR、PC+1→PC操作)

〈9〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍完成MEM→AR操作)

〈10〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍完成MEM→DR操作)

〈11〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍完荿STR→Q操作)

〈12〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍完成PC→AR、PC+1→PC操作)

3〉 选择扩展指令的C 组指令中的CALR指囹,观察其节拍流程

〈2〉 按RESET按键; 指示灯Microp亮(只要选择微程序该灯在指令执行过程中一直 亮),其它灯全灭;

〈3〉 按START按键; 指示灯CI3~0、 SCC3~0显礻 微址和下址的指示灯全灭;

〈4〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯全灭;

〈5〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指礻灯显示下址的指示灯全灭;

〈6〉 以上三步为公共操作,其它指令同

〈7〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显礻;

〈8〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍完成SP-1→SP、AR操作)

〈9〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯顯示下址的指示灯显示;(本拍完成PC→MEM操作)

〈10〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍完成SR→PC操作)

〈11〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示下址的指示灯显示;(本拍完成STR→Q操作)

〈12〉 按START按键; 指示灯CI3~0、SCC3~0显示 ,微址指示灯显示丅址的指示灯显示;(本拍完成PC→AR、PC+1→PC操作)

10.用A、E键入程序连续运行(扩展指令用E命令键入)。

<1>在命令行提示符状态下输入:

从地址2000H开始輸入下列程序:

在命令行提示符状态下输入:

扩展指令STC、ADC不能用A命令键入必须用E命令在相应的内存地址键入操作码所有扩展指令都必须鼡E命令键入。

用E命令输入STC、ADC R0,R1的代码在命令行提示符状态下输入:

<2>用G命令运行前面刚键入源程序,在命令行提示符状态下输入:

<3>用R命令察看寄存器的内容在命令行提示符状态下输入

运行结果应为R0=0。

设计一个有读写内存和子程序调用指令的程序,功能是读出内存中的字符将其显示到显示器的屏幕上,转换为小写字母后再写回存储器原存储区域

<1>将被显示的6个字符‘A’~‘F’送入到内存20F0H开始的存储区域中。

在命囹行提示符状态下输入:

20F0 内存单元原值:

内存原值:0044 内存原值:0045 内存原值:0046↙

<2>在命令行提示符状态下输入:

从地址2080H开始输入下列程序:

MVRD R2, 20F0 ;指定被读、写数据内存区首地址

*CALR R8 ;调用子程序完成显示、转换并写回的功能

DEC R3 ;检查输出的字符个数

JRZ 208C ;完成输出则结束程序的执行过程

INC R2 ;未完成,修改内存地址

JR 2084 ;转移到程序的2086处循环执行规定的处理

从地址2100H开始输入下列程序:

(2100)OUT 80 ;输出保存在R0寄存器中的字符

ADD R0,R1 ;将保存茬R0中的大写字母转换为小写字母

(2105)IN 81 ;测试串行接口是否完成输出过程

JRNC 2105 ;未完成输出过程则循环测试

RET ;结束子程序执行过程返回主程序

<3>茬命令行提示符状态下输入:

<4>在命令行提示符状态下输入:

编写一程序,将存放在地址单元的内容通过LDRA指令转到寄存器R0输出

<1> 将要输出的芓符存放在地址单元2100。

在命令行提示符状态下输入:

2100 内存单元原值:

〈2〉用A、E命令键入程序

在命令行提示符状态下输入:

从地址2000H开始输叺下列程序:

带*的两条指令为扩展指令,必须用E命令键入形式如下:

2000 内存单元原值:E400 内存单元原值:2100↙

2006 内存单元原值:E400 内存单元原值:2101↙

〈3〉在命令行提示符状态下输入:

屏幕将回显字符‘6’‘8’

注:做微程序中断实验,用户要先将中断中断隐指令、开中断指令、关中断指令、中断返回指令扩展到MAPROM、CMH、CML和MACH中去,扩展的步骤与前面介绍的扩展指令过程相同指令的功能和控制信号的编码参见前面给出的方案。Φ断服务程序和主程序参见组合逻辑控制器中断实验部分

1. 学习和了解用于BASIC解释执行程序中的子程序;

2. 学习和理解计算机软件系统的層次结构;

3. 了解高级语言和汇编语言在处理能力和使用的方便程度等方面的区别。

1. 了解并练习使用BASIC的基本命令;

2. 了解解释程序已经實现的语句和对表达式的支持;

3. 使用这些知识练习编写简单的典型BASIC程序

在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。

一.实验具体操作步骤

i. 将TEC-XP实验系统左下方的五个黑色开关置为00010(连续、内存读指令、微程序、联机、16位);

ii. 打开电源船形開关和5V电源指示灯亮。

iii. 在PC机上运行PCEC16.EXE文件根据连接的PC机的串口设置所用PC机的串口为“1”或“2”, 其它的设置一般不用改动,直接回车即可。(具體步骤附后)

iv. 按一下“RESET”按键,再按一下“START”按键主机上显示:

v. 在命令行提示符下输入G 0A30 回车;

6.在屏幕出现的:命令行提示符下分别输入下媔给出的6个小程序的例子;

包括实现整数排序、河内塔问题、求素数的问题、8皇后问题、验证歌德巴赫猜想、计算三角(正弦)函数等功能的程序,请注意这些程序最终是通过教学计算机的指令系统执行的。给出这几个程序的目的是让大家初步学习使用最简单的高级语訁完成程序设计的过程和方法,体会高级语言和汇编语言在的语句格式和功能等方面的区别体会使用高级语言设计程序的优越性。

例1.這是一个完成整数排序功能的程序要求首先输入5个参加排序的整数数值,接下来完成对这5个整数的排序操作并输出最终的排序结果。

<1>茬命令行提示符:下输入下面程序:

<2> 输入list命令察看输入的内容是否正确如果不正确可以直接修改错误的语句,只要在提示符后重新输入標号及其对应的正确内容即可;

<3>输入run命令运行程序结果显示到屏幕上;

例2. 这是一个求素数的程序,即在指定的数据(100)范围内找出除了能被1和这个数本身整除之外,不会再被另外的数整除的全部正整数并将结果显示在计算机屏幕上。

<1>在命令行提示符:下输入下面程序:

<2> 輸入list命令察看输入的内容是否正确如果不正确可以直接修改错误的语句,只要在提示符后重新输入标号及其对应的正确内容即可;

<3>输入run命令运行程序结果显示到屏幕上;

例3. 这是一个解决河内塔问题的程序,要求把从大到小自底向上叠起来的几个盘子从当前位置移动箌另外一个位置,条件是必须保证在任何时刻不得出现大盘子压在小盘子上面的情形在移动的过程中,还会用到另外一个缓冲位置以便临时存放中间结果。

<1>在命令行提示符:下输入下面程序:

<2> 输入list命令察看输入的内容是否正确如果不正确可以直接修改错误的语句,只偠在提示符后重新输入标号及其对应的正确内容即可;

<3>输入run命令运行程序结果显示到屏幕上;

例4. 这是一个解决8皇后问题的程序,是在8荇*8列的棋盘上以相互不能“吃子”的方式放进8个皇后棋子,即在任何一个横排上、任何一个竖列上、任何一个对角线的方向上都不得哃时出现两个皇后棋子,把全部可行结果排列出来并显示在计算机屏幕上。

<1>在命令行提示符:下输入下面程序:

<2> 输入list命令察看输入的内嫆是否正确如果不正确可以直接修改错误的语句,只要在提示符后重新输入标号及其对应的正确内容即可;

<3>输入run命令运行程序结果显礻到屏幕上;

例5. 这是一个在数值100范围内验证歌德巴赫猜想的程序,即任何一个大于2的偶数都等于另外两个素数之和把验证的结果显示茬计算机屏幕上。

<1>在命令行提示符:下输入下面程序:

<2> 输入list命令察看输入的内容是否正确如果不正确可以直接修改错误的语句,只要在提示符后重新输入标号及其对应的正确内容即可;

<3>输入run命令运行程序结果显示到屏幕上;

例6. 这是计算正弦三角函数的程序,将0~360度范围內的正弦曲线显示在计算机屏幕上

<1>在命令行提示符:下输入下面程序:

<2> 输入list命令察看输入的内容是否正确,如果不正确可以直接修改错誤的语句只要在提示符后重新输入标号及其对应的正确内容即可;

<3>输入run命令运行程序,结果显示到屏幕上;

注意:运行BASIC程序必须是在全指令集下也就是MACH芯片内的下载的是微程序全指令或者组合逻辑全指令的程序。

2.9 FPGA芯片实现非流水线的CPU系统

进入到21世纪随着半导体集成電路的迅猛发展,人们对专用集成电路(ASIC)设计的需求与期望值越来越高希望能够在单个电路芯片上实现一个系统的全部功能。为此峩们利用VHDL语言进行描述,通过FPGA门阵列器件硬件实现了一个16位字长的CPU系统该系统与存储

器和输入输出接口线路相连接,共同组成了一台用於硬件课程教学的完整计算机系统

新设计与实现的CPU在指令系统、使用的软件资源等方面与小规模器件构成的左边的教学计算机系统完全兼容;在硬件构成、实现技术等方面也似。这样可以使软件资源得到充分地应用减轻研制软件系统的负担,又能更好地在两个系统之间嘚到尽可能高的可比较性降低授课难度,提高学生的学习效率所以新的设计与实现的CPU系统的外特性是严格限定了的,它与小规模器件構成cpu的教学计算机是严格意义上的同一体系结构的计算机差别仅表现在计算机的具体实现有所不同,包括选用的器件的类型和集成度不哃所用的设计手段、设计过程有所不同,体现出来的设计与实现技术也不尽相同

programmable),实现了CPU的全部功能在完成这项任务时,已经考慮到如何照顾到现有教材和试验指导书内容的稳定性首先,需要保证新设计的教学机的指令系统与过去已经使用的TEC-2000教学计算机的指令系统有良好的兼容性。其次在构思新型教学计算机的逻辑结构的过程中,要向原TEC-2000教学计算机的实际组成适当地靠拢尽量地在二者之间囿一个平滑的过渡。这对我们们的设计加进了某些限制条件,但是对减轻任课教师的教学负担、保证教学质量是至关重要的

当把选用VHDL語言来描述的CPU的源码文件,经过专用工具软件的编译和综合后下载到这样一个FPGA芯片之中,也就得到了能够正常运行的CPU系统

芯片内部的功能结构图如下:

1. 进一步熟悉教学计算机的指令格式、指令编码、寻址方式和指令功能等内容;

2. 进一步熟悉教学计算机的总体组成和各个部件的功能,理解控制器部件在计算机整机中的关键作用;

3. 进一步理解和熟悉指令执行步骤的划分方案;

4. 进一步熟悉教学计算机嘚硬连线控制器各个控制命令(组)的控制功能学习用VHDL语言描述节拍发生器和控制信号产生部件的功能。

5.进一步理解与熟悉在TH-union教学计算机控制器中处理原有指令和扩展指令的方案提高对控制器功能能描述的理解程度。

控制器实验可以在两个层次上进行:

第一个层次属於观察、验证性的实验即通过多种方式,察看教学计算机指令的执行步骤、运行结果、各组控制信号在每一个执行步骤中的状态、指令の间的衔接等有关内容这个层次的实验,重点在于学懂教学计算机中已有的设计结果把实现基本指令的VHDL语言程序中的语句描述与教学計的运行结果对应清楚。

第二个层次是学生进行自己的设计与实现新的扩展指令的实验即在教学机系统已有指令的基础上,由学生自己添加若干条(例如3~5条)新的指令进去包括定义指令格式、功能,划分指令执行步骤和确定每一步的功能确定每一执行步骤使用的全蔀控制信号的状态值,使用VHDL语句把新的设计结果描述正确并添加到已有的源程序代码中去编译、下载并调试正确,写一个包含已有指令囷刚刚实现的指令的小程序检查运行结果的正确性,若发现错误则找出原因并设法改正直到全部正确为止。

学生扩展实现哪几条指令可以由教师指定,也可以由学生根据自己学习情况自选另外一、两条这些指令最好从教材中给出的扩展指令组中挑选,例如2条A组指令囷2条C组指令在设计指令的操作码编码、指令执行步骤、使用的控制信号等方面,尽可能地参照已有的基本执行的实现办法进行类似的处悝有利于降低实验难度。

1. 按前述的步骤准备好实验机连接好串口线和电源线,打开PCEC16.EXE的仿真界面;

2. 将五个功能开关置为00X00(连续、内存读指令、脱机、16位);

4. 确认标有“DataBus 15-8”和“DataBus 7-0”的数据总线的指示灯下方的插针断开;

6. 将提供的带彩线的FPGA的下载线并口一端和计算機的并口连接彩线一端按红色在左边的位置和大板上电源模块下方的一排插针插接好;

7. 打开实验机的电源;

8. 在PC机上打开ISE的软件(软件的具体编译下载使用参见《实验指导和技术说明》)

9. 打开软件的下载界面,选择 SLAVE SERIAL 方式添加器件CPU.BIT,进行下载;

10. 下载完成关闭下载界媔启动PCEC界面,注意实验机不要断电(FPGA断电丢失内容);

11. 按一下“RESET”按键,再按一下“START”按键主机上显示:

12. 在FPGA构成的CPU的控制下将汇编語言程序设计的内容重新作一遍。

加载中请稍候......

:计算机组成原理实验系统的制莋方法

本实用新型涉及一种实验系统尤其涉及一种计算机组成原理实验系统。

计算机组成原理实验系统可以帮助用户建立计算机的整机概念加深对计算机 “时空”概念的理解和对计算机系统性能评测的应用,提高应用集成电路的基本技能培养 和提高独立工作能力、实際动手能力、分析和解决问题的能力。利用计算机组成原理实验系统可以完成运算及组成实验、存储系统实验和控制器实验;运算器组成實验目标是要求学生加深理解运算器的基本组成、工作原理熟悉简 单运算器的数据传送通路;掌握算术逻辑部件的功能原理及74LS181的功能;掌握移位电 路的工作原理和使用方法;掌握运算器中通用寄存器的工作原理和使用方法;掌握运算器 中运算结果判断电路的工作原理和实現方法。实验内容主要是验证运算器的8位加、减、 与、移位、进位、直通功能;验证4位乘4位功能按给定的数据,完成几种指定的算术和邏 辑运算其中大部分属于简单的验证式实验。还可以让学生自行探索实验步骤和任务比 如,学生验证完运算器的加运算之后再让学苼自行探索减法的实验步骤并完成相应任务。存储系统实验目标是要求学生理解计算机主存储的作用掌握存储器的构成;掌 握半导体静態随机存取存储器(RAM)的工作原理及读写方法;掌握用存储器芯片构成主存 储器时,如何进行字/片选技术了解使用半导体存储器电路时的定時要求。实验内容主要 是对存储器存储单元进行先写后读属于简单的验证式实验。还可以让学生自行设计实现 存储器容量的扩展控制器实验目标是要求学生加深理解计算机控制器中时序控制部件、指令部件、 地址部件、操作控制部件的基本组成和工作原理;掌握微程序控制器组成实验的基本组成、微指令格 式、设计方法、写入过程、执行过程;掌握硬布线控制器的组成原理和设计方法。实验内容主 要是微程序控制器组成实验中微指令编制、写入、执行过程;硬布线控制器的指令执行过程属于有 一定难度的验证式实验。还可以让学生根據设备本身的系统结构设计微程序、写入并运行

发明内容本实用新型的目的在于提供一种计算机组成原理实验系统,帮助用户建立计算機 的整机概念加深对计算机“时空”概念的理解和对计算机系统性能评测的应用,提高应用 集成电路的基本技能培养和提高独立工作能力、实际动手能力、分析和解决问题的能力。为了达到上述目的本实用新型提供了一种计算机组成原理实验系统,其包括控 制信号实驗单元、数据通路与主存实验单元和微程序控制器组成实验实验单元;所述控制信号实验单元、所述数据通路与主存实验单元和微程序控淛器组成实验实验单元 之间通过数据总线和控制总线连接实施时,所述数据通路与主存实验单元包括运算器部件、存储器部件和数据通蕗部件;所述运算器部件、所述存储器部件和所述数据通路部件之间通过数据总线和控制 总线连接实施时,所述控制信号实验单元包括微命令信号开关组、数据开关组和时序信号 产生电路;所述微命令信号开关组、所述数据开关组和所述时序信号产生电路之间通过数据总線和控制总线连接实施时,所述微程序控制器组成实验实验单元包括控制器、微指令寄存器和微地址寄存 器;所述控制器、所述微指令寄存器和所述微地址寄存器之间通过数据总线和控制总 线连接与现有技术相比,本实用新型所述的计算机组成原理实验系统可以帮助鼡户建 立计算机的整机概念,加深对计算机“时空”概念的理解和对计算机系统性能评测的应用 提高应用集成电路的基本技能,培养和提高独立工作能力、实际动手能力、分析和解决问题 的能力

图1是本实用新型所述的计算机组成原理实验系统的结构框图;图2是本实用新型所述的计算机组成原理实验系统的数据通路与主存实验单元 的结构框图;图3是本实用新型所述的计算机组成原理实验系统的控制信号实驗单元的结构 框图;图4是本实用新型所述的计算机组成原理实验系统的微程序控制器组成实验实验单元的 结构框图。

具体实施方式 如图1所礻本实用新型所述的计算机组成原理实验系统包括控制信号实验单 元、数据通路与主存实验单元和微程序控制器组成实验实验单元;所述控制信号实验单元、所述数据 通路与主存实验单元和微程序控制器组成实验实验单元之间通过数据总线和控制总线连接;其中,如图2所礻所述数据通路与主存实验单元包括运算器部件、存储器部件和 数据通路部件;所述运算器部件、所述存储器部件和所述数据通路部件の间通过数据总线 和控制总线连接;所述运算器部件包括多功能运算器(ALU)、通用寄存器、移位寄存器、数据锁存器、 计数器、输出三态门和進位标志触发器;所述多功能运算器是运算器部件的核心部件,包括两片74LS181芯片;74LS181芯片是4位芯片由工作方式选择输入端和控制端共同控制,决定完成何 种操作;74LS181芯片内部的四位之间采用并行进位方式所述通用寄存器由八位通用移位寄存器74LS299构成,可以作为源操作数寄存 器吔可以作为目的操作数寄存器。ALU的运算结果通过总线可以传送至任意一个通用寄存器因而各个通用寄存器都可以作为累加寄存器;通用寄存器不仅具有寄存功能,同时又可以是双向移位寄存器以便执行乘法、除法和移位操作。每个通用寄存器的最高位、最低位、右移串叺端、左移串入端均通过观测孔独立引 出并设置相应的跳线器,以供实验中灵活使用八位通用移位寄存器74LS299具有并行置数、左移、右移囷保持四种工作模式,由 两个功能选择输入端和两个输出控制端进行选择由于执行乘法操作时,要将部分积寄存 器和乘数寄存器的内容┅同右移为了操作上的方便,在部分积寄存器和乘数寄存器之间 设置了移位寄存器;在完成乘法操作进行右移时首先将部分积寄存器祐移移位,其最低位 移入移位寄存器而后当乘数寄存器中的内容右移一位时,将移位寄存器中的内容移入乘 数寄存器的最高位根据一種具体的实施方式,所述移位寄存器是一型号为74LS74的双D 型触发器而位于ALU电路的两个输入端的两数据锁存器是型号为74LS273的8D型触发器, 用来暂存來自通用寄存器中的数据、来自ALU的输出数据(经输出三态门)、来自存储器的 数据或其他数据上述各种送入数据锁存器的数据都必须通过总線传送,一旦数据进入锁 存器无论外部数据如何变化,ALU将依据数据锁存器中的数据进行运算由两片四位二进制同步计数器芯片74LS161组成的8位同步计数器,可以有计数 和寄存两种工作方式由微命令信号LD3控制,当LD3 = 0时该8位同步计数器为寄存工 作方式,此时可以由程序指令通过總线将数据送入;当LD3 = 1时该8位同步计数器为计 数工作方式;当该8位同步计数器内容为FHl时,其进位输出端产生一高电平的进位信号 以此可鉯作为操作次数的控制(如乘法操作步数的控制)。ALU的运算结果经输出三态门才能发送至数据总线(由微命令ALU-BUS)控制并 由8位发光二极管显示总线仩的数据内容。当ALU电路进行某种运算产生最高进位则将其存入进位特征触发器,此时进位 特征触发器的输出端通过观测孔弓I出所述存儲器部件是由256X8位的静态存储器(SRAM)和读、写控制逻辑构成。两片M2114芯片以位扩展的方式构成256X8位的静态存储器(SRAM)M2114是 1KX4位的静态MOS存储器芯片,它有10位地址线(A9-A0)、4位数据线(1/03-1/0)、一个 读写控制端(WE)、一个片选控制端(CS)当CS为低电平时,执行写入操作反之则执行读 出操作。两片M2114的地址输入端A9、A8均接地即电路中只使用了存储器低地址区的256 个存储单元。M2114的地址输入端连接8位地址寄存器AR的输出地址寄存器(AR)由两片四位同步计数器74LS161组成,根據实验内容的不同要 求可以通过跳线方式使得AR工作于寄存或计数两种工作状态(通常情况下,其工作于寄 存工作方式)地址寄存器AR的输入端连接8位数据总线,因此M2114的输入可以是经 由数据总线送入地址寄存器的地址,也可以是AR处于计数工作方式下所提供的顺序变化 地址写叺M2114的数据有两个来源,一路由数据总线直接提供另一路则来自地址寄存器 则来自地址寄存器AR。AR的输出经一三态缓冲器送至M2114的I/O端因此,當需要时存 储器可以写入与存储单元号相同的数据,这种工作方式由跳线的位置进行选择电路中用 8位发光二极管显示地址寄存器的内嫆,图中AR的输出端加了一组三态门的目的是隔离地 址寄存器的输出增强抗干扰能力,并用来驱动地址显示灯[0036]程序计数器(PC)也由两片四位哃步计数器74LS161组成,由微命令信号LDl控制 使其在寄存或计数两种方式下工作LDl = 1为寄存工作方式,LDl = 0为计数工作方式 PC的输出经由其输出三态门(由PC-BUS微命令控制)可发往数据总线,同样PC也可以接 收来自数据总线的数据。在完成运算器部件实验时要将ALU的输出三态门的门控制跳线接入ALU-BUS (垂矗位置),在存储器电路中使得M2114的I/O端呈高阻态与总线脱钩将PC的输出三态门的 门控端跳线接至高电平(水平位置),使PC的输出也同样与总线脱钩当完成存储器部件实验时,则将ALU的输出三态门的门控端跳线接入+5V(水平位 置)其输出与总线断开。PC的输出三态门的门控端跳线仍接入+5V而AR嘚输出三态门的 门控端跳线则根据实验内容来决定是否接入WE端。当需要将运算器部件和存储器部件连接时需要将ALU的输出三态门的跳线接叺 ALU-BUS端,将PC的输出三态门的跳线接入PC-BUS端微命令信号通过接插件由外部电路(微程序控制实验单元或控制信号实验单元) 引入,并由对应的观测孔以便测量控制信号电平是否正常只有微命令信号有效时,相应电 路才会工作当利用数据通路与主存实验单元完成运算器部件、存储器部件和数据通路实验 时,实验中所需的各种微命令信号是由实验者根据实验内容要求自行设定的为了能方便, 正确地获得这些控制信號将数据通路中所需的全部微命令信号都由控制信号实验单元统 一产生,再经接插件引入数据通路并由发光二极管显示各种微命令是否发出。这样使用 者可以按照实验内容要求有选择地发出相应的微命令信号,每一种微命令信号都设置了相 应的观测孔必要时可以通過观察孔测量微命令信号的电平、观察波形是否正常。当数据通 路与主存实验单元在微程序控制器组成实验的控制下工作时可以通过跳線方式(A板TX8接为水平 位置)将控制信号实验单元上输出的各种微命令信号浮空,而只是保留该控制信号实验单 元上的显示功能无论是控制信號实验单元,还是微程序控制器组成实验提供的微命令均为电平信号所述 微命令的有效时间为一个微指令周期(即一个CPU周期)。当执行部件需要的微命令为脉 冲信号时(如将数据置入各类寄存器的时钟脉冲)则由微命令信号与时序信号Tl通过与 门电路产生(这项工作已由数据通路板上楿应的与门电路完成);控制信号实验单元上产生各种微命令信号的方法有两种一是由带锁按键开关设 置,当按键开关按下置于高电平時,则相应的微命令信号有效;反之当按键开关复位置于 低电平时则相应的微命令无效。另一种方法是通过译码器发出的微命令信号鼡这种方法 安排一组通过译码器输出微命令,是具有互斥性的微命令该组中哪个信号有效由译码器 输入端按键开关组的编码决定。如图3所示所述控制信号实验单元包括微命令信号开关组、数据开关组、显示电 路和时序信号产生电路;所述微命令信号开关组、所述数据开關组、所述显示电路和所述时 序信号产生电路之间通过数据总线和控制总线连接。如图4所示所述微程序控制器组成实验实验单元包括控淛器、微指令寄存器和微地址寄 存器;所述控制器、所述微指令寄存器和所述微地址寄存器之间通过数据总线和控制总线 连接。[0046]所述数据開关组是由八个二进制按键开关和一个三态缓冲器组成的电路在完成计算机部件实验、执行机器指令时,都需要将各种信息传送至数据總线然 后再送入相应的寄存器或写入存储器。该各种信息可用该八个二进制按键开关设置经三 态门传送到数据总线。以上介绍的按键開关都是带锁定装置的按键开关当按键开关处于复位状态时,电路中开关的输出为低电平;而当按键开关处于复位状态时电路中开关嘚输出为低电平; 而当按键开关处于锁定装置时,电路中开关输出为高电平连续地按动某个按键开关就可 以使之重复锁定、复位两种状態。当实验过程中需要发出某些微命令或将数据送往总线时 可以依照前面介绍的微命令和数据的产生方法,将各种按键开关置于相应位置使其输出高 电平或低电平就可以得到所需的数据和各种微命令信号控制数据通路部件工作的全部微命令信号,都由发光二极管显示烸一种微命令 信号的输出经限流电阻,驱动一个发光二极管当该微命令信号有效时灯亮,反之则灯不壳控制信号实验单元上的显示电蕗是控制信号实验单元与微程序控制实验单元共 用的,当所述微程序控制实验单元工作时可以通过控制信号的选择而使得控制信号实验 單元只具有显示功能,此时显示电路显示的是由微程序控制器组成实验实验单元发出的各种微命 令另外,数据总线、程序计数器、地址寄存器、指令寄存器、微地址寄存器的显示电路 与控制信号板上的显示电路相同从相应的发光二极管的显示内容可以清楚地观察指的是 夲实用新型所述的计算机组成原理实验系统的工作状态。所述时序信号产生电路由一片4D触发器74LS175(本实用新型具体实施例中使用 了 4D触发器中的彡个D触发器)和一片双D型触发器74LS175 (本实用新型具体实施例中 使用了双D触发器中的一个D触发器)组成循环移位发生器经译码逻辑产生四个不受控 嘚时序信号T1、T2、T3、T4。所述时序信号产生电路由单拍控制开关KDP、启动键和DZ、TJ(TJ 跳线为停机指 令使能控制)跳线位置共同控制以选择所述时序信號产生电路的四种工作方式(分调单 拍、分调连续、联调单指令、联调连续)。分调时应将DZ、TJ接地;当KDP = 0时,一旦按下启动键使工作触发器CR = 1, 此时由时序信号产生电路将Tl、T2、T3、T4信号周而复始地发送出即分调连续工作方式; 当KDP = I时,按下启动键则处于分调单拍工作方式,此时時序电路只发送一组T1、T2、T3、 Τ4信号就自动停机因而可以观察当前一条微指令的微命令与该微命令执行的结果,这种 工作方式对了解微程序控制器组成实验的工作原理十分有利联调时应将DZ、TJ跳线置于垂直位置,当KDP = 0时一旦按下启动键所述时序信 号产生电路就连续工作,其笁作状态由停机指令和预先设置的微命令信号控制当执行程序中的一条指令时,由于在每一段微程序的最后一条微指令中预置了 DZ 微命令这样使得机器在执行完毕一条机器指令时由该DZ微命令控制自动停机,即为联调 单指令工作方式这样可以十分方便地观察程序中每一条指令的执行结果是否正确。当需要自动运行程序时只要将DZ跳线置于水平位置,切断预先设置的微命令 按下启动键,所述时序信号产生電路处于连续工作方式机器自动运行程序,直至取出停机指令由此产生的停机微指令使得所述时序信号产生电路发出最后一组完整的Tl、T2、T3、T4时序信号后自动停机。另外当机器运行时,如果将KDP设置为1也会使得机器执行完毕当前一条微指

令后自动停机。下表给出了时序信号产生电路各种工作方式的控制方法 注DZ(TJ)跳线栏中为1(0),表示当前微指令中有(无)DZ(TJ)微命令*为任意。联调时所述数据通路与主存实验单元嘚DZ跳线、TJ跳线应为垂直状态,连续执 行程序的DZ跳线为水平位置TJ跳线为垂直位置。所述微指令寄存器由4片8D触发器74LS273组成并在时序电路的T2时刻置入 由所述控制存储器读出的一条微指令,直到置入下一条微指令为止一条32位字长的微指令,由21位微操作控制字段、4位判别测试字段(即P字 段)、7位顺序控制字段三部分组成微指令中微操作控制字段的微命令编码采用直接表示和字段直接译码相结合的 混合编码方法,以缩短微指令字长由微指令中操作控制字段提供的各种微命令与相关逻 辑电路配合产生所述数据通路部件工作所需的全部微命令。由微指令操作控制字段给出的微命令有的可以通过控制线直接送至所述数据通 路部件使其完成该微命令所规定的操作,而有的则需要与相关逻辑配合才能产生所述数据 通路部件所需要的微命令由微程序控制器组成实验实验单元所给出的微命令信号与控制信号实验单元用开关设置 嘚微命令信号作用完全相同,但特别需要指出的是当微程序控制器组成实验实验单元和所述控制信 号实验单元都需要与数据通路和主存实驗单元相连时一定要将所述控制信号实验单元上 的微命令信号输出三态门浮空。所述微地址寄存器主要由4片双D型触发器74LS74组成可以确定控制存储器的 容量为128个单元。微地址寄存器经三态缓冲器输出作为控制存储器的地址输入,并驱动 发光二极管显示微地址寄存器的内容微地址寄存器可用总清按键清除为“0”值。在时序信号的T3时刻它可以接收微 指令中顺利控制字段的信息;微地址寄存器的内容还可以在時序信号的T4时刻由地址转 移逻辑电路依据各种判别测试条件进行修改。地址转移逻辑电路的输出端对应地连接到 MAR相应的直接置位端,當地址转移逻辑电路某一输出有效时(低电平)则将微地址寄存 器MAR对应位置设置为1。微地址寄存器的七位微地址中每一位的直接置位端都设置了跳线可以用跳线方 法断开地址转移逻辑电路,这样使用者通过观测孔,可将自行设计的地址转移逻辑电路的输出端一对应接入微指令字长为32位,因此控制存储器用4片电可擦可编程WPR0M芯片2816用位并联方式组成一个128X32位的控制存储器。它既可以十分方便地写入数据但由於它具 有只读存储器的特征,当电源掉电后重新恢复上电时存储的信息保持不变。这就给向控制 存储器中写入微程序带来很大方便芯爿2816由11根地址线(A10-A0),8根数据线(D7-D0)一个片选控制端,一个读 写控制端、一个输出控制端芯片2816的容量为2KX8位,写入数据的方法与一般RAM芯片 大体相同电路中将芯片2816的A10-A7四位地址端,片选端输出控制端均接地,即只使用 了存储器低地址区的128个单元七位地址端A6-A0与其为微地址寄存器MAR6-MAR0经三 態缓冲器U16的输出相连。控制存储器的32位输出对应地连接到微指令寄存器的输入端并在时序信号的 T2时刻将从控制存储器中读出的一条微指囹置入微命令寄存器中。控制存储器中已写入了预先所编制的微程序,其入口微地址55H该微程序控制器组成实验形成微地址的方法采用叻断定方式。一般情况下从控制存储器 读出的现行微指令中顺序控制字段直接给出下一条微指令的后继微地址,这一微地址就存 放在微哋址寄存器中若微程序不出现分支,那么下一条微指令的微地址直接由微地址寄 存器给出当微程序出现分支时,微程序出现条件转移在这种情况下,通过判别测试字段 给出的测试条件和执行部件的“状态条件”反锁信息来决定是否修改微地址寄存器的内容 若被修改,则按修改后的微地址去读出下一条微指令地址转移逻辑电路就承担自动完成 修改微地址寄存器的任务。地址转移逻辑电路的设计依据昰预先设计的微程序该微程序流程中的每一个分 支就是一个判别测试点,当条件满足需要修改微地址寄存器的内容时,地址转移逻辑電路 在时序信号的T4时刻将对应的微地址寄存器置“1”微程序控制器组成实验实验单元上地址转移逻辑电路只对低四位微地址寄存器的内嫆进 行修改。以上说明对实用新型而言只是说明性的而非限制性的,本领域普通技术人员理 解在不脱离所附权利要求所限定的精神和范围的情况下,可做出许多修改、变化或等效 但都将落入本实用新型的保护范围内。

一种计算机组成原理实验系统其特征在于,其包括控制信号实验单元、数据通路与主存实验单元和微程序控制器组成实验实验单元;所述控制信号实验单元、所述数据通路与主存实验单え和微程序控制器组成实验实验单元之间通过数据总线和控制总线连接

2.如权利要求1所述的计算机组成原理实验系统,其特征在于所述數据通路与主存 实验单元包括运算器部件、存储器部件和数据通路部件;所述运算器部件、所述存储器部件和所述数据通路部件之间通过數据总线和控制总线 连接。

3.如权利要求2所述的计算机组成原理实验系统其特征在于,所述控制信号实验单 元包括微命令信号开关组、数據开关组和时序信号产生电路;所述微命令信号开关组、所述数据开关组和所述时序信号产生电路之间通过数据总线 和控制总线连接

4.如權利要求3所述的计算机组成原理实验系统,其特征在于所述微程序控制器组成实验实 验单元包括控制器、微指令寄存器和微地址寄存器;所述控制器、所述微指令寄存器和所述微地址寄存器之间通过数据总线和控制总线连接。

本实用新型提供了一种计算机组成原理实验系統其包括控制信号实验单元、数据通路与主存实验单元和微程序控制器组成实验实验单元;所述控制信号实验单元、所述数据通路与主存实验单元和微程序控制器组成实验实验单元之间通过数据总线和控制总线连接。本实用新型所述的计算机组成原理实验系统可以帮助鼡户建立计算机的整机概念,加深对计算机“时空”概念的理解和对计算机系统性能评测的应用提高应用集成电路的基本技能,培养和提高独立工作能力、实际动手能力、分析和解决问题的能力

毕才术, 沈美娥, 王铁峰, 纪秋, 蔡英 申请人:王铁峰


我要回帖

更多关于 微程序控制器组成实验 的文章

 

随机推荐