计算机组成原理实验报告.docx_第1页
计算机组成原理实验报告.docx_第2页
计算机组成原理实验报告.docx_第3页
计算机组成原理实验报告.docx_第4页
计算机组成原理实验报告.docx_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 静态随机存取存贮器实验一. 实验目的了解静态随机存取存贮器的工作原理;掌握读写存贮器的方法。二. 实验内容实验仪的存贮器MEM单元选用一片静态存贮器6116(2K8bit)存放程序和数据。CE:片选信号线,低电平有效,实验仪已将该管脚接地。OE:读信号线,低电平有效。WE:写信号线,低电平有效。A0.A10: 地址信号线。I/O0.I/O7:数据信号线。CEOEWE功能1不选中6116001读010写000不确定SRAM6116功能表存贮器挂在CPU的总线上,CPU通过读写控制逻辑,控制MEM的读写。实验中的读写控制逻辑如下图:读写控制逻辑M_nI/O用来选择对MEM还是I/O读写,M_nI/O = 1,选择存贮器MEM;M_nI/O = 0,选择I/O设备。nRD = 0为读操作;nWR = 0为写操作。对MEM、I/O的写脉冲宽度与T2一致;读脉冲宽度与T2+T3一致,T2、T3由CON单元提供。存贮器实验原理图存贮器数据信号线与数据总线DBus相连;地址信号线与地址总线ABus相连,6116的高三位地址A10.A8接地,所以其实际容量为256字节。数据总线DBus、地址总线ABus、控制总线CBus与扩展区单元相连,扩展区单元的数码管、发光二极管上显示对应的数据。IN单元通过一片74HC245(三态门),连接到内部数据总线iDBus上,分时提供地址、数据。MAR由锁存器(74HC574,锁存写入的地址数据)、三态门(74HC245、控制锁存器中的地址数据是否输出到地址总线上)、8个发光二极管(显示锁存器中的地址数据)组成。T2、T3由CON单元提供,按一次CON单元的uSTEP键,时序单元发出T1信号;按一次uSTEP键,时序单元发出T2信号;按一次uSTEP键,时序单元发出T3信号;再按一次uSTEP键,时序单元又发出T1信号,按一次STEP键,相当于按了三次uSTEP键,依次发出T1、T2、T3信号。其余信号由开关区单元的拨动开关模拟给出,其中M_nI/O应为高(即对MEM读写操作)电平有效,nRD、nWR、wMAR、nMAROE、IN单元的nCS、nRD都是低电平有效。三. 实验过程和图片1、连线说明: CBus单元:M_nIO、nRD、nWR、nINTA(JP42)开关区单元:K15.K12(JP92)存贮器MEM单元:A0.A7(JP72)ABus单元:A00.A07(JP56)存贮器MEM单元:D0.D7(JP73)DBus单元:D0.D7(JP53)存贮器MEM单元:M_nRD、M_nWR(JP71)CBus单元:nM_RD、nM_WR (JP44)MAR单元:D0.D7(JP14)iDBus单元:iD0.iD7(JP38)MAR单元:wMAR、nMAROE(JP13)开关区单元:K7、K6(JP96)IN单元:IN0.IN7(JP101)iDBus单元:iD0.iD7(JP37)IN单元:nCS、nRD(JP100)开关区单元:K1、K0(JP99)扩展区单元: JP65ABus单元:A00.A07(JP55)扩展区单元: JP63DBus单元:D0.D7(JP54)扩展区单元:JP67CBus单元:nM_RD、nM_WR (JP50) 注意:nINTA(K12)置“1”,使中断响应信号不干扰读写存贮器。2、打开实验仪电源,按CON单元的nRST按键,复位 3、给6116的00H、01H、02H、03H、04H、05H地址单元写入数据11H、22H、33H、44H、55H、61H。由前面的存贮器实验原理图中可以看出,IN单元的8个拨动开关提供数据和地址,因此先提供地址,具体操作步骤为:(1)禁止对存贮器6116的读写(nWR = 1,nRD = 1);(2)IN单元的拨动开关给出8位地址数据,IN单元的nCS=0、nRD=0,允许IN单元输出;(3)MAR单元的nMAROE = 0,允许MAR中锁存的地址数据输出到地址总线上;wMAR = 0,允许写MAR,按CON单元的STEP键一次,依次发出T1、T2、T3信号,在T3的下降沿,IN单元给出的地址数据锁存到MAR中。再写数据:(1)禁止对存贮器6116的读写(nWR = 1,nRD = 1)、MAR的写(wMAR = 1);(2)IN单元的拨动开关给出8位数据,IN单元的nCS=0、nRD=0,允许IN单元输出;(3)允许对6116写(M_nIO = 1,nRD = 1, nWR = 0),按uSTEP键三次,在T2的下降沿,数据写入6116中。写存贮器的流程图如下(以向00地址单元写入11H为例)写存贮器流程图4、从6116的00H、01H、02H、03H、04H、05H地址单元读出数据,观察上述各单元中的内容是否与前面写入的一致。与写操作类似,先给出地址,再禁止IN单元输出数据(nRD、nCS至少一个=1),最后进行读操作:(1)使6116处于读状态(M_nIO = 1,nRD = 0, nWR = 1),(2)按uSTEP键三次,在T2、T3信号有效时,6116向数据总线输出数据。读存贮器的流程如下(以从00地址单元读出11H为例):读存储器流程图如果实验仪、PC联机操作,则可通过软件中的数据通路图来观测实验结果,方法是:打开软件,在星研软件的工具条中选择“存贮器实验”,打开存贮器实验的数据通路图。数据通路图进行上面的手动操作,点击工具条上单节拍或单周期命令图标,数据通路图会反映当前对存贮器所做的操作,借助于数据通路图,仔细分析对SRAM的读写过程。四. 实验体会通过这次实验,我基本掌握了有关静态随机存储器RAM 工作特性及数据的读写方法。这次的实验虽然连线比较简单,但是操作比较复杂,其原理也很丰富。同样的我们在接口串行成功后,进行了实验步骤的操作。根据书本上提供的数据我们进行了输入,并得到了正确的结果。而为了充分验证它,并进一步了解它的原理,我跟组员也进行了一些创新,进行了不同的输入,然后通过书本原理计算结果,发现都与实验结果相同。这让我们更清楚的知道了有关静态随机存储器RAM 工作特性及数据的读写方法,有了很深刻的印象。由于一次一次的实验,我们对某些原来步熟悉的元件也有了一定的认识,知道它某些方面的用途,以及在特定实验中的作用。相信这些对以后的学习和实验都会有很大的帮助。实验二 系统总线和具有基本输入输出功能的总线接口实验一. 实验目的1.理解总线的概念及其特性;掌握控制总线的功能和应用。2.掌握中断控制信号线的功能和应用;掌握在系统总线上设计中断控制信号线的方法。二. 实验内容由于存储器和输入、输出设备最终是要挂接到外部总线上,所以需要外部总线提供数据信号、地址信号以及控制信号。在该实验平台中,外部总线分为数据总线、地址总线、和控制总线,分别为外设提供上述信号。外部总线和CPU内总线之间通过三态门连接,同时实现了内外总线的分离和对于数据流向的控制。地址总线可以为外部设备提供地址信号和片选信号。由地址总线的高位进行译码,系统的I/O地址译码原理见下图(在地址总线单元)。 由于使用A6、A7进行译码,I/O地址空间被分为四个区,如表所示:I/O地址译码原理图A07 A06片 选地址范围00IO_nCE000-3F01IO_nCE140-7F10IO_nCE280-BF11IO_nCE3C0-FFI/O地址空间分配CPU通过读写控制逻辑,控制MEM和I/O设备的读写。实验中的读写控制读写控制逻辑M_nIO用来选择对MEM还是I/O读写,M_nIO = 1,选择存贮器MEM;M_nIO = 0,选择I/O设备。nRD = 0为读操作;nWR = 0为写操作。对MEM、I/O的写脉冲宽度与T2一致;读脉冲宽度与T2+T3一致,T2、T3由CON单元提供。在理解读写控制逻辑的基础上我们设计一个总线传输的实验。实验所用总线传输实验框图如下图所示,它将几种不同的设备挂至总线上,有存贮器、输入设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。三. 实验过程和图片1、根据挂在总线上的几个基本部件,设计一个简单的流程:输入设备将一个数打入R0寄存器。输入设备将另一个数打入地址寄存器。将R0寄存器中的数写入到当前地址的存储器中。将当前地址的存储器中的数通过OUT单元用LED数码管显示。2、连线说明:CBus单元:M_nIO、nRD、nWR、nINTA(JP42)开关区单元:K5.K12(JP92)ALU单元:rR0、wR0开关区单元:K9、K8ALU单元:IN0.IN7(JP22)iDBus单元:JP37MAR单元:nMAROE、wMAR(JP13)开关区单元:K11、K10(JP94)MAR单元:D0.D7(JP14)iDBus单元:iD0.iD7(JP38)存贮器MEM单元:A0.A7(JP72)ABus单元:A00.A07(JP56)存贮器MEM单元:D0.D7(JP73)DBus单元:D0.D7(JP53)存贮器MEM单元:M_nRD、M_nWR(JP71)CBus单元:nM_RD、nM_WR (JP44)IN单元:IN0.IN7(JP101)DBus单元:D0.D7(JP52)IN单元:nRDCBus单元:nIO_RD(JP49)IN单元:nCS扩展区单元:GNDOUT单元:nWR(JP68)CBus单元:nIO_WR(JP48)OUT单元:nCS扩展区单元:GNDOUT单元:JP69DBus单元:D0.D7(JP54)OUT单元:JP70扩展区单元:JP65注意:nINTA(K12)置“1”,使中断响应信号不干扰读写存贮器。3、具体操作步骤图示如下:在星研软件的工具条中选择“简单模型机实验”,打开简单模型机实验的数据通路图。(1)拨动开关区单元开关:M_nIO = 1、nRD = 1、nWR = 1、nINTA = 1、rR0 = 1、wR0 = 1、wMAR = 1;nMAROE = 0(允许地址寄存器MAR输出到地址总线)(2) 打开实验仪电源(3)通过输入设备(IN单元)将数据55H写入R0寄存器将IN单元置01010101,wR0 = 0,允许写寄存器R0,M_nIO = 0、nRD = 0、nWR = 1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,T2、T3时刻IN单元输出数据,在T3的下降沿IN单元输出的数据写入R0。wR0 = 1,结束写R0操作(4)读R0中数据写入存贮器MEM的15H单元将IN单元置00010101,wMAR = 0,允许写MAR,M_nIO = 0、nRD = 0、nWR = 1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T3的下降沿IN单元输出的数据写入地址寄存器MAR。wMAR = 1,结束写MAR操作。rR0 = 0,允许读寄存器R0;M_nIO = 1、nRD = 1、nWR = 0,允许写存贮器;点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T2的时刻完成对存贮器的写入操作。rR0 = 1, M_nIO = 1、nRD = 1、nWR = 1,结束写MEM操作。(5)将当前地址的存贮器中数据读出,写入R0寄存器中。将IN单元置00010101,wMAR = 0,允许写MAR,M_nIO = 0、nRD = 0、nWR = 1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T3的下降沿IN单元输出的数据写入地址寄存器MAR。wMAR = 1,结束写MAR操作。wR0 = 0,允许写寄存器R0;M_nIO = 1、nRD = 0、nWR = 1,允许读存贮器;点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,T2、T3时刻MEM单元输出数据,在T3的下降沿MEM单元输出的数据写入R0。wR0 = 1,M_nIO = 1、nRD = 1、nWR = 1,结束写R0操作。(6)读R0寄存器,数据写入OUT单元,用数码管显示数据。rR0 = 0, 允许读寄存器R0;M_nIO = 0、nRD = 1、nWR = 0,允许写I/O设备;点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T2的下降沿,R0寄存器输出的数据写入OUT单元。rR0 = 1、M_nIO = 1、nRD = 1、nWR = 1,结束本次操作。四. 实验体会1、存储器和输入、输出设备最终是要挂接到外部总线上,因此需要外部总线提供数据信 号、地址信号以及控制信号。 2、外部总线和 CPU 内总线之间通过三态门连接,同时实现了内外总线的分离和对于数据流向的控制。 而地址总线可以为外部设备提供地址信号和片选信号。 3.为了实现对于 MEM 和外设的读写操作,还需要一个读写控制逻辑,使得 CPU 能控制 MEM和 I/O 设备的读写 4、WR=0,RD=1,IOM=0时 E0 灭,表示存储器读功能信号有效。 WR=1,RD=0,IOM=0) 连续按动开关ST,当指示灯显示为 T3 时刻时,E1 灭,表示存储器写功能信号有效。 WR=0,RD=1,IOM=1时,E2 灭,表示 I/O 读功能信号有效。 WR=1,RD=0,IOM=1)时,观察扩展单元数据指示灯,指示灯显示为 T3 时刻时,E3 灭,表示 I/O 写功能信号有效。 5、在接线时为了方便,可将管脚接到 CON 单元闲置的开关上,若开关打到 1,等效于接到VCC;若开关打到0,等效于接到GND。实验三 具有中断控制功能的总线接口实验&具有DMA控制功能的总线接口实验一. 实验目的DMA控制信号线的功能和应用;掌握在系统总线上设计 DMA控制信号线的方法。二. 实验内容直接存贮器传送DMA是指将外设的数据不经过CPU直接送入存贮器,或者,从存贮器不经过CPU直接送往外围设备。一次DMA传送只需要执行一个DMA周期,能够满足一些高速外设数据传输的需要。现在流行的ARM类CPU,内部集成有多个DMA控制器,允许SD卡、USB、CAN、串口、AD、DA等与存贮器之间通过DMA方式传输数据,可以大大减少占用CPU的时间。DMA控制器(简称DMAC)传输数据时,需要占用总线,总线的控制权需要在CPU和DMAC之间切换,这就需要控制总线提供相应的信号,实现这种切换,避免总线竞争。外设需要DMA传输时,向DMAC提出请求,DMAC通过控制总线HOLD信号向CPU提出DMA请求;CPU在当前总线周期结束时,响应DMA请求:释放总线控制权,发出有效HLDA信号给DMAC;DMAC接受总线控制权,开始DMA传输,传送完毕后,撤销HOLD信号,释放总线控制权;CPU收回总线控制权,同时使HLDA信号失效。实验原理图如上图所示,CPU在每个机器周期的T3时刻结束时锁存DMA请求HOLD,如果有DMA请求,生成有效的HLDA信号,(1)锁住CPU时钟信号,使T1、T2、T3均无效,冻住CPU(2)释放控制总线、数据总线、地址总线,外部总线都处于高阻状态;DMAC接受总线控制权,等DMA传输完毕,撤消HOLD信号;CPU在每个时钟周期,检查HOLD信号,监测到无效的HOLD的信号后,(1)CPU输出时钟信号,使CPU可以继续工作(2)收回控制总线、数据总线、地址总线控制权。在本实验中,检查U36(74HC245,CPU内外数据总线缓冲器)、U37(74HC245,CPU内外地址总线缓冲器)的OE脚,判断CPU是否失去数据总线、地址总线的控制权;通过检查CBus单元的nIO_RD、nIO_WR、nM_RD、nM_WR信号,检查CPU对控制总线的控制权。三. 实验过程和图片1、连线说明: CBus单元:JP47(nIO_RD、nIO_WR、nM_RD、nM_WR、HOLD、HLDA)扩展区单元:JP67CBus单元:HOLD(JP50)开关区单元:K0(JP99)2、具体操作步骤如下:(1)打开实验仪电源,将开关区单元的K0置为0,按CON单元的nRST按键,CBus单元的nIO_RD、nIO_WR、nM_RD、nM_WR、HOLD、HLDA输出“1”、“1”、“1”、“1”、“0”、“0”,前四个信号分别点亮扩展区的DS159、DS160、DS161、DS162指示灯。用万用表测量U36、U37的19脚(OE),应该都是低电平。(2)将开关区单元的K0(HOLD)置为1,连续按动CON单元的uSTEP键,发现在T3结束时,HLDA信号点亮DS164,表示CPU响应DMA请求,T1、T2、T3均输出无效的低电平信号,再按uSTEP键,也没反应,表示CPU已锁住时钟信号;CBus单元的nIO_RD、nIO_WR、nM_RD、nM_WR对应的DS159、DS160、DS161、DS162指示灯均熄灭,表示这几个控制信号均处于高阻状态(因为扩展区的排针上接有下拉电阻,高阻信号接到这些排针上,变为低电平,所以指示灯熄灭);测量U36、U37的19脚(OE),应该都是高电平,说明CPU与外部总线已隔断。(3)将开关区单元的K0(HOLD)置为0,撤消DMA请求,按动CON单元的uSTEP键一次,发现HLDA信号对应的指示灯DS164熄灭,表示CPU输出无效的HLDA信号(低电平);T1输出高电平,T2、T3输出低电平信号,表示CPU时钟已开始正常工作;CBus单元的nIO_RD、nIO_WR、nM_RD、nM_WR对应的DS159、DS160、DS161、DS162指示灯点亮,表示CPU已输出这几个控制信号;测量U36、U37的19脚(OE),应该都是低电平,说明CPU已收回外部总线控制权。四. 实验体会1CPU的响应包括两方面: (1)让出总线控制权 (2)将有效的HALD信号加到DMAC上,通知DMAC可以 使用总线进行数据传输。 2.CPU在收到无效的HOLD信号时,一方面使HALD无效,另一方面,重新开始控制总线,实现正常运行。 3在每个机器周期的T4时刻根据,HOLD信号来判断是否有DMA请求,如果有,则产生有效的HALD信号。 HALD信号一方面锁死CPU的时钟信号,使CPU保持当前状态,等待DMA操作的结束。 另一方面使控制缓冲、数据缓冲、地址缓冲都处于高阻状态,隔断CPU与外总线的联系,将外总线交由DMAC控制。 4、当 HALD 信号无效时,总线上输出的存储器读信号 XMRD 为有效态“0”,当 HALD 信号有效时,总线上输出的存储器 读信号 XMRD 为高阻态。 5、XMRD 为低时,相应的指示灯E0 灭。使用电压表测量数据总线和地址总线左侧的芯片74LS245的使能控制信号(第19脚),发现电压为低,说明数据总线和地址总线与 CPU 连通。 6、按动开关ST,发现控制总线单元的时钟信号指示灯T1T4保 持不变,说明CPU的时钟被锁死。此时XMRD为高阻态,相应的指示灯E0亮。实验四 基本运算器实验一. 实验目的了解运算器的组成结构;掌握运算器的工作原理。二. 实验内容运算器原理图运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器 B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),控制信号S3.S0、CN_I决定哪个部件工作、对操作数进行何种运算,S3.S0通过多路选择开关选择这个部件的结果作为ALU的输出;如果运算影响进位标志FC、零标志FZ、正负标志位FS,在T3状态的下降沿,结果分别锁存到FC、FZ、FS ;I是中断允许标志位。ALU中所有模块集成在一片 CPLD中。逻辑运算部件由逻辑门构成,较为简单,后一节有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是88位桶形移位器,这样,可以使所有的移位操作都可以一次完成。下图是一个44位桶形移位器所有的输入通过交叉开关与所有的输出端相连。如右移2位,第2条对角线(右移2)上的2个交叉开关接通,即第3位(in3)右移至第1位(out1),第2位(in2)移至第0位(out0)。又如右环移1位,第3条对角线(右移1)和第7条对角线(左3,3=4-1)同时有效,即可方便地实现右环移。逻辑左移/右移只须把没连接的输出位同时充以“0”即可实现;算术右移也只须把没连接的输出位用符号位填充即可。运算器部件由一片CPLD实现。ALU的输出通过三态门连到CPU内部数据总线(iDBus)上,另外还有指示灯标明进位标志FC、零标志FZ、正负标志FS。请注意:图中T1、T2、T3、nRST已与CON单元相连,其它信号都来自于ALU单元的排针上。实验仪所有单元的T1、T2、T3、nRST已与控制台(CON)单元的T1、T2、T3、nRst连接,nRst提供复位信号;T1、T2、T3是一个微指令周期的三个节拍,高电平有效,瞬间只有一个信号有效,初始状态T1、T2、T3都是低电平。wA(允许写暂存器A)、wB(允许写暂存器B)、rALU(允许ALU结果输出到内部数据总线(iDBus)上),都是低电平有效。暂存器A和暂存器B的数据能在 LED灯上实时显示,原理如下图: 进位标志FC、零标志FZ、正负标志FS、内部数据总线 iD7iD0的显示原理与此类似;B、寄存器R0-3、堆栈寄存器SP、标志寄存器PSW(含FC、FZ、FS、I)共用R_0.R_7八个发光二极管,通过Select按键选择,按键上方的发光二极管指示R_0.R_7显示那个寄存器的值。ALU功能表运算类型S3 S2 S1 S0CN_I功能逻辑运算00000F = A (直通)00001F = B (直通)0001XF = A + B (或)(FZ)0010XF = A * B (与)(FZ)0011XF = A B (异或)(FZ)0100XF = /A (取反)(FZ)移位运算01010F = A 不带进位循环右移B(取低3位)位(FZ)1F = A 算术右移一位(FZ)01100F = A 逻辑右移一位(FZ)1F = A 带进位循环右移一位(FC,FZ)01110F = A 逻辑左移一位(FZ)1F = A 带进位循环左移一位(FC,FZ)算术运算10000F = A + B(FC,FZ,FS)1F = A + B + FC(FC,FZ,FS)10010F = A - B(FC,FZ,FS)1F = A - B - FC(FC,FZ,FS)10100F = A + 1(FZ)1F = NEG A (取补)(FZ)1011XF = A - 1(FZ)其它1100X置FC = CN_I(FC)1101X置I = CN_I(I)1110(保留)1111(保留)S3、S2、S1、S0、CN_I为控制信号,FC-进位标志,FZ-零标志,FS-正负标志,I-中断允许标志;表中功能栏内的FC、FZ、FS表示当前运算会影响到该标志。三. 实验过程和图片1、连线说明: ALU单元:S0.S3(JP18)开关区单元:K20.K23(JP89)ALU单元:wA、wB、rALU、CN_I(JP19)开关区单元:K15.K12(JP92)ALU单元:ALU_D0.ALU_D7(JP25)扩展区单元:JP62ALU单元:IN0.IN7(JP22)开关区单元:K0.K7(JP97)2、打开实验仪电源,按CON单元的nRST按键,将ALU的A、B、FC、FZ、FS、I清零;如果EXEC键上方指示灯不亮,请按一次EXEC键,点亮指示灯,表示实验仪在运行状态。3、给暂存器A赋初值(1)拨动开关区单元的K7.K0开关,形成二进制数01011000(或其它值);指示灯亮,表示该位是1,灭为0。(2)拨动开关区单元K15(wA)、K14(wB)、K13(rALU)、K12(CN_I)开关,赋wA=0(允许写A)、wB=1(禁止写B)、rALU=1(不允许ALU输出)、CN_I=0,按CON单元的STEP按键一次,产生一个T1的下降沿,将二进制数01011000写入暂存器A中,ALU单元的A_7A_0 LED上显示A中的值 4、给暂存器B赋初值(1)拨动开关区单元的K7.K0开关,形成二进制数10101011(或其它值)。(2)赋wA=1(禁止写A)、wB=0(允许写B)、rALU=1(不允许ALU输出)、CN_I=0,按CON单元的STEP按键一次,产生一个T2的下降沿,将二进制数10101011写入暂存器B中,ALU单元的R_7R_0 LED上显示B中的值5、赋wA=1(禁止写A)、wB=1(禁止写B)、rALU(K10)=0,按uSTEP键,进入T3节拍,节拍DS169DS168T1、T2、T3无效(T1=0、T2=0、T3=0)00T1(T1=1、T2=0、T3=0)01T2(T1=0、T2=1、T3=0)10T3(T1=0、T2=0、T3=1)11说明:1-亮;0-灭当rALU(K13)=0,如果S3S2S1S0的值是0000时,T2、T3节拍时,允许ALU结果输出;S3S2S1S0的值是其它数值,T3节拍时,允许ALU结果输出,显示于扩展区的二位数码管、DS94.DS101的LED上。6、根据后边的“运算结果表”,改变K20(S0)、K21(S1)、K22(S2)、K23(S3)、K12(CN_I)的值,观察并记录运算器的输出。例如:S0=0,S1=0,S2=0,S3=0,ALU的D7_D0 = 58H;FC、FZ、FS、I不变。注意:只有按CON单元的STEP按键一次,产生一个T3的下降沿,ALU才将标志位FC、FZ、FS、I写入标志寄存器PSW中,才能在ALU单元的FZ、FC、FS、I指示灯上看到结果。如果实验仪、PC联机操作,则可通过软件中的数据通路图来观测实验结果,方法是:打开软件,在星研软件的工具条中选择“运算器实验”,打开运算器实验的数据通路图。进行上面的手动操作,点击工具条上单节拍或单周期命令图标,数据通路图会反映当前运算器所做的操作。数据通路图重复上述操作,并完成下表。然后改变A、B、CN_I的值,验证 FC、FZ、FS、EI的锁存功能。运算结果表运算类型ABS3 S2 S1 S0CN_I结果逻辑运算58AB00000ALU=(58) FC=( 0)FZ=( 0) FS=( 0)58AB00001ALU=(AB) FC=(0 )FZ=(0 ) FS=(0 )58AB0001XALU=(FB) FC=( 0)FZ=(0 ) FS=(0 )58AB0010XALU=( 08 ) FC=(0 )FZ=( 0) FS=(0 )58AB0011XALU=( F3 ) FC=(0 )FZ=( 0) FS=( 0)58AB0100XALU=(A7 ) FC=(0 )FZ=( 0) FS=( 0)移位运算58AB01010ALU=( 0B ) FC=(0 )FZ=( 0) FS=(0 )58AB01011ALU=(2C ) FC=(0 )FZ=( 0) FS=( 0)58AB01100ALU=( 2C ) FC=( 0)FZ=(0) FS=( 0)5858ABAB0110(FC=0)1ALU=( 2C ) FC=(0 )FZ=( 0) FS=( 0)0110(FC=1)ALU=( 2C ) FC=(0 )FZ=(0) FS=(0 )58AB01110ALU=( B0 ) FC=(0 )FZ=( 0) FS=(0 )5858ABAB0111(FC=0)1ALU=( B0 ) FC=(0 )FZ=( ) FS=( )0111(FC=1)ALU=( B0 ) FC=(0 )FZ=( 0) FS=(0 )算术运算58AB10000ALU=( 03 ) FC=(1 )FZ=(0 ) FS=( 0)5858ABAB1000(FC=0)1ALU=( 04 ) FC=(1 )FZ=(0 ) FS=(0 )1000(FC=1)ALU=( 04 ) FC=(1 )FZ=( 0) FS=( 0)58AB10010ALU=( AD ) FC=(1 )FZ=( 0) FS=(1 )5858ABAB1001(FC=0)1ALU=(AC ) FC=(1 )FZ=( 0) FS=( 1)1001(FC=1)ALU=( AC ) FC=( 1)FZ=( 0) FS=( 1)58AB10100ALU=(59 ) FC=(0 )FZ=(0 ) FS=( 0)58AB1ALU=( 58 ) FC=(0 )FZ=(0 ) FS=(0 )58AB1011XALU=(57) FC=(0 )FZ=( 0) FS=( 0)其它58AB1100XFC=( 00)58AB1101XEI=( 00)四. 实验体会熟悉了整个实验系统的基本结构,了解了该实验装置按功能分成几大区,学会何时操作各种开关、按键。最重要的是通过实验掌握了运算器工作原理,熟悉了算术逻辑运算的运算过程以及控制这种运算的方法,了解了进位对算术与逻辑运算结果的影响,对时序是如何起作用的没太弄清楚,相信随着后续实验的进行一定会搞清楚的。实验五 微程序控制器实验一. 实验目的(1) 掌握微程序控制器的组成原理。 (2) 掌握微程序的编制、写入,观察微程序的运行过程。二. 实验内容微程序设计思想是由剑桥大学的M.V.Wilkes教授首先提出的,为每一条机器指令编写一个微程序,每一个微程序包含一条或几条微指令,每一条微指令对应一个或几个控制各部件动作的微操作指令。然后把这些微程序存到一个控制存贮器中,用寻找用户程序机器指令的方法寻找每个微程序中的微指令。由于这些微指令是以二进制代码形式表示的,每位代表一个控制信号,因此,逐条执行每一条微指令,也就相应地完成了一条机器指令的全部操作;由于控制信号是以二进制代码的形式出现的,因此只要修改微指令的代码,就可改变操作内容,便于调试、修改、甚至增删机器指令,有利于计算机仿真。微程序控制器原理框图微程序控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由CON单元来提供,分为三拍T1、T2、T3。微程序控制器的组成见下图,采用四片6116或2816作为微存贮器,微命令寄存器32位,用四片8D触发器(74HC574)组成。在取指周期的T2下降沿,读取的8位指令数据锁存到指令寄存器(IR)中;T3时刻,根据IR、状态条件(例如:进位标志位、零标志位等),译码生成该机器指令对应的微地址(该机器指令对应uM的首地址),送入微地址寄存器(uPC);如果不在取指周期,uPC的微地址来自于微指令寄存器的低8位(该机器指令对应的后续微地址);在T3的下降沿,将控制存贮器中输出的微指令锁存到微指令寄存器中。微程序控制器原理图CON单元有一组按键,与开关区的拨动开关组合,可用来对存贮器MEM、控制存贮器uM读写操作:EXEC按键上方有一指示灯,复位后,指示灯亮,表示实验仪处于运行状态,STEP键、uSTEP键、iSTEP键、PULSE键有效;按一次EXEC键,实验仪切换到编辑状态,ADDR键、+1键、-1键、uM/M键、nRD键、nWR键有效;再按一次EXEC键,实验仪又切换到运行状态。如果在编辑状态时,使用按键,修改过MEM或uM的地址、数据,从编辑状态切换到运行状态后,请按一次nRST复位键,使实验仪回复初始设置(复位PC、uPC、微程序控制器等)。以向uM的00H单元中写入44332211为例,对控制存贮器进行写入的具体操作步骤如下:(1)如果EXEC键上方指示灯熄灭,表示实验仪在uM、MEM编辑状态,转第二步;否则,按一次EXEC键,使EXEC键上方指示灯熄灭(2)如果uM/M键上方指示灯亮,表示处于uM编辑状态,直接转第三步;否则,按uM/M键一次,使uM/M键上方指示灯点亮(3)IN单元开关给出uM的首地址(00000000),按一次ADDR键,uPC单元的8个发光二级管全熄灭(1:点亮,0:熄灭)(4)IN单元开关给出该控存单元数据的低八位(00010001),按一次nWR键,低八位数据写入6116/2816的同时,打入uM7-0对应的锁存器中,uM单元的uM0、uM4灯点亮,uM1-3、uM5-7指示灯熄灭(5)按一次+1键,准备写该控存单元的15-8位;IN单元开关给出数据(00100010),按一次nWR键,15-8数据写入另一片6116/2816的同时,打入uM15-8对应的锁存器中,uM单元的uM9、uM13灯点亮,uM8、uM10-12、uM14-15指示灯熄灭(6)按一次+1键,准备写该控存单元的23-16位;IN单元开关给出数据(00110011),按一次nWR键,23-16位数据写入另一片6116/2816的同时,打入uM23-16对应的锁存器中,uM单元的uM16、uM17、uM20、uM21灯点亮,uM18、uM19、uM22、uM23指示灯熄灭(7)按一次+1键,准备写该控存单元的最高8位;IN单元开关给出数据(01000100),按一次nWR键,最高8位数据写入最后一片6116/2816的同时,打入uM31-24对应的锁存器中,uM单元的uM26、uM30灯点亮,uM24-25、uM27-29、uM31指示灯熄灭如果再按一次+1键,uPC+1,uM单元uPC7-uPC0显示当前地址(00000001)编辑完成后进行校验。以校验00H单元为例,对于控制存贮器uM进行校验的具体操作步骤如下:(1)确认EXEC键上方指示灯熄灭;uM/M将上方指示灯点亮(2)IN单元开关给出uM的首地址(00000000),按一次ADDR键,uPC单元的8个发光二级管全熄灭(1:点亮,0:熄灭)(3)按一次nRD键,从6116/2816(低八位)读出数据,打入uM7-0对应的锁存器中,uM7-0指示灯显示数据(00010001) (5)按一次+1键,准备读该控存单元的15-8位;按一次nRD键,从另一片6116/2816(中八位)读出数据,打入uM15-8对应的锁存器中,uM15-8指示灯显示数据(00100010)(6)按一次+1键,准备读该控存单元的23-16位;按一次nRD键,从另一片6116/2816(高八位)读出数据,打入uM23-16对应的锁存器中,uM23-16指示灯显示数据(00110011)(6)按一次+1键,准备读该控存单元的31-24位;按一次nRD键,从另一片6116/2816(最高八位)读出数据,打入uM31-24对应的锁存器中,uM31-24指示灯显示数据(01000100)如果再按一次+1键,uPC+1,uM单元uPC7-uPC0显示当前地址(00000001)如果按一次-1键,uPC-1,uM单元uPC7-uPC0显示当前地址(00000000);按nRD或nWR键一次,对uM31-24(最高八位)对应的芯片操作;继续按-1键,依次对高八位、中八位、低八位对应的芯片操作;减至低8位后,再按动-1键一次,微地址uPC会自动减一,继续对下一个单元的操作。如校验的微指令出错,则返回输入操作,修改该单元的数据后再进行校验,直至确认输入的微代码全部准确无误为止,完成对微指令的输入。微指令字长共 32位,控制位顺序如下表:微指令格式位3130292827262524232221信号名iEndwAwBwIRSP_nOErRDirRirALUA字段wPSW位20191817161514131211-8信号名CN_IrPCPC+1nMAROEnPCOEnINTAnWRnRDM_nIOS3.S0位7-0信号名uM_PC7.uM_PC0A字段2322选择00NOP01wRi10wPC11wMAR其中uM_PC7.uM_PC0为8位后续微地址,A为译码字段,由二个控制位译码出多位。本实验用到的控制位:wA:写暂存器A。wA低电平,在T1的下降沿,将iDBus上数据写到暂存器A。wB:写暂存器B。wB低电平,在T2的下降沿,将iDBus上数据写到暂存器B。wIR:写指令寄存器IR。wIR为低电平,在T2的下降沿,将iDBus上数据写到IR。rRDi:读通用寄存器。rRDi低电平,在T1时刻,通用寄存器中数据输出到内部数据总线iDBus上。rRi: 读通用寄存器。rRi低电平,在T2时刻,通用寄存器中数据输出到内部数据总线iDBus上;在T3时刻,如果rALU信号为高电平,通用寄存器中数据也输出到iDBus上。rALU:允许ALU结果输出到iDBus上。rALU低电平,在T3时刻,ALU的运算结果输出到iDBus上,这时rRi、nRD只在T2时刻有效,T3时刻让出iDBus。wRi:写通用寄存器。wRi低电平,在T3的下降沿,将iDBus上数据写到通用寄存器中。CN_I、S3.S0:控制ALU执行何种操作,详细请参阅基本运算器实验M_nIOnRDnWR有效期读I/O(nIO_RD)001T2,T3(rALU=1)写I/O(nIO _WR)010T2本系统上的指令译码规则:机器码IR7.IR0译码输出地址IR_A7.IR_A0微地址范围IR_A7.IR_A0说明00-7FH00001,IR6.IR408H-0FH80-9FH00110, IR4.IR230H-37HA0-DFH00,IR6.IR2,010H-2FHB8-BFH译码为1EHE0-EFH010,IR3.IR0,040H-5FHF0-F3H04H-07H04H-07HF8-FFH00111,IR2.IR038H-3FH指令译码电路在IR单元的CPLD中实现本实验只使用了微控器产生的部分控制信号;除了ALU、通用寄存器R0、指令寄存器IR、指令译码电路外,还要用到IN和OUT单元,由微控器出来的信号M_nIO、nWR和 nRD三个信号控制,所以对这两个单元的读写信号还应先经过译码,其译码原理如下图:读写控制逻辑IR单元原理图R0原理图 OUT单元原理图扩展区电路(辅助电路)同时使用二位数码管、8个发光二极管显示8位数据使用二位数码管显示8位数据使用8个发光二极管最多显示8位数据本实验安排了四条机器指令,分别为ADD(0000 0000)、IN(1010 1000)、OUT(10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论