计算机组成原理与体系结构课程设计报告_第1页
计算机组成原理与体系结构课程设计报告_第2页
计算机组成原理与体系结构课程设计报告_第3页
计算机组成原理与体系结构课程设计报告_第4页
计算机组成原理与体系结构课程设计报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理与体系结构课程设计报告基本模型机设计与实现实验目的深入理解基本模型计算机的功能、组成知识;深入学习计算机各类典型指令的执行流程;学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法。在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握微程序的设计方法,学会编写二进制微指令代码表。通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。实验原理1在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制

2、信号,实现特定的功能。实验中,计算机数据通路的控制将由微过程控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。2指令格式本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(最高4位二进制数为操作码):(1)指令格式位76543210功能OP-CODErsrd采用寄存器直接寻址方式,其格式如下:其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:Rs或rd选定的寄存器00R001R110R2助记符机器指令码Addr地

3、址码功能说明IN0OH“INPUT”中的数据一R0ADDaddr10HR0+addrSTAaddr20HOUTaddr30HJMPaddr40Hdr其中IN为单字长(8位二进制),其余为双字长指令,XXH为addr对应的十六进制地址码。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。存储器读操作(KRD):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“00”时,可对RAM连续手动读入操作。存储器写操作(KWE):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“01”时,可对RAM连续手动写操作。根据以上要求设计

4、数据通路框图,如图5-1所示。SWBSWA控制台指令00读内存(KRD)01写内存(KWE)11启动程序(RP)启动程序(RP):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“11”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。表6-124位微代码定义:242322212019181716151413121110987654321S3S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0表6-2A、B、C各字段功能说明:字段字段字段151413选择121110选择987选择000000000001LDRi001RS-B001P(1)010LD

5、DR1010010011LDDR2011011100LDIR100100P(4)101LOAD101ALU-B101LDAR110LDAR110PC-B110LDPC24位微代码中各信号的功能(1)uA5uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。(2)S3、S2、SI、S0:由微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。(3)M:微程序控制输出的ALU操作方式选择信号端。M=0执行算术操作;M=1执行逻辑操作。(4)Cn:微程序控制器输出的进位标志信号,Cn=0表示ALU运算时最低位有进位,Cn=1则表示无进位。(5

6、)WE:微程序控制器输出的RAM控制信号。当/CE=0时,如WE=0为存储器读;如WE=1为存储器写。(6)A9、A8译码后产生CS0、CS1、CS2信号,分别作为SW_B、RAM、LED的选通控制信号。(7)A字段(15、14、13)译码后产生与总线相连接的各单元的输入选通信号(见表6-1)。(8)B字段(12、11、10)译码后产生与总线相连接的各单元的输出选通信号。(9)C字段(9、8、7)译码后产生分支判断测试信号P(1)P和LDPC信号。系统涉及到的微程序流程见图6-2。当执行“取指令”微指令时,该微指令的判断测试字段为P(1)测试。由于“取指令”微指令是所有微程序都使用的公用微指令

7、,因此P(l)的测试结果出现多路分支(见图6-2左图)。用指令寄存器的高4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定地址单元。控制台操作为P(4)测试(见图6-2右图),它以控制台信号SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控制存储器的一个微地址单元,随意填写。注意:微程序流程图上的微地址为8进制!当全部微程序设计完毕后,应将每条微指令代码化,表6-2即为图6-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。表6-2二进制微代码表微地址微指令S3S2S1S0MCNWEA9A8ABC

8、UA5-UA0000181100000000110000001000100000100ED820000000011101101100000100200C0480000000011000000010010000300E0040000000011100000000001000400B0050000000010110000000001010501A20600000001101000100000011006619A011001000110011010000000010700E01A000000001110000000001101100010010000000000010000000000011101E

9、D830000000111101101100000111201A2210000000110100010001000011301ED960000000111101101100101101401A2150000000110100010000101011501ED9C000000111101101100111001601EDA20000000011101101101000101700A0150000000010100000000101012001ED920000000111101101100100102101ED940000000111101101100101002200A0100000000010

10、10000000010000230080010000000010000000000000012406201100000110001000000001000125099A010000100110011010000000012600E01700000000111000000001011127399A19001110011001101000011001310382010000001110000010000000013200A09B00001010000010100000000133C19A011100000110011010000000013400E01D0000000011100000000111

11、013500B01E0000000010110000000111103601A21F00000001101000100001111137B99A0110111001100110100000000141059A010000010110011010000000014200E02300000000111000000010001143009001000000001001000000000001指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码段,由二进制数构成,为了执行任何给定的指令,必须对操作

12、码进行测试“P(l)”,通过节拍脉冲T4的控制,以便识别所要求的操作。指令译码器:根据指令中的操作码强置微控制器单元的微地址,使下一条微指令指向相应的微程序首地址。实验中LCD液晶显示屏可以用来显示模型机CPU中各组成单元的内容。将B100_C.sof文件下载到实验台后,按系统复位键,LCD液晶显示屏即显示CPU中各组成单元的内容。其功能说明如下:LCD液晶显示屏功能说明计算机组成原理IN00OUT00ALU00RD00R100R200DR100DR200BITS00PC00AR00RAM00IR00MC01811D图液晶显示屏作用名称作用名称IN输入单元INPUTDR1暂存器DR1OUT输出

13、单元OUTPUTDR2暂存器DR2ALU算术逻辑单元PC程序计数器BUS内部数据总线AR地址寄存器R0寄存器R0RAM程序/数据存储器R1寄存器R1IR指令寄存器R2寄存器R2MC微程序控制器i_B5RO4韦ED7_D;存匚亡D讥R1BLr化3LDR9LJ.!2_.dLDR丄,LORE.50ldrB_2LDRBL扁1LDHEf7.RO7.j7.R丄【h.0*痕7丄R27.273ICF2ICR-河_:英呂v;K1(F11_-役F11i-ai何_:妁汰v1、I1FUJ-1_厂PpieF13-Tfl222:T?CDaC列逖:CC-ilTLIi5“Ni巧、:ir:CE、也:CTCENEIK:DfRtE

14、1XC:眶TJ/CLK1T2-H5T1T3-Tfl-丄召召:L1二工吒乍S1EF二二吒兮bu:i二二!二eELED7-.BH5TCLK153遐27307-PHETCLK1E9朮Q7-3Q7.31F.f273E二H5TQ7-3Q7.31HETCLKXl|7.fQ7.31CLKH5TIRCLK幽空=5E2,:血2匚亍亦罚273273ALU1B1s?jof5t3P7.JOfnn-DHF7.coFZ二缪匚亡予刊EES泪工匸xsT.JC灯.|汕MUXul尤EZStldecodea1-|LDRI北nl匹社I:F2BLDDRZIRCLDIR曲LOADELDAR尖decodeb_._iSBWLExlk.JC旺

15、了匚_7fl7.311_图6-3模型计算机电路原理图齐HRD_Ev3BRJ_EXC:彳实验程序二FZW、吕己右一丄X!说明:1、指令IN为单字节指令,指令码:00,其功能是将输入口IN的数据送到寄存器R0;2、指令SU中的数据减去RAM地址5UHCLKCLK瞥3、指令INC为单字节指令,指令码:20,其功能是将R0中的数据自增一:.4指令CLR1DH为双字节指令,指令码:301B,其功能是将内存1DH中数据清零o叹5、指令,NOT为单字节指令,指令码:40,其功能是将R0中的数据变反;可一|6、指令AND化再为双字节指令,指令码:250巒:其功能是RO中的数据和内存单元指令LDA1CHj为双字

16、节指令,指令码:601C,其功能是将内存1CH冲数读入寄存器R0中。17Elsirjdicr社2J-110170111|70|1AH中的数据(34H);?|70|7、3LDFC丄占日:1K13|70|iqv0|(1CH)的数据相与后写入RO。I三.实验步骤16|70|1.微程序的输入:根据表6-2所对应的二进制微代码,编辑LPM_ROM配置文件ROM_11.mif(参考demoD_cpu5文件夹中的同名文件),并将其保存在与实验电路b100_c.bdf工程所在的文件夹中,与实验电路b100_c.bdf同编译后,得到下载文件b100_c.sof。下载配置文件bus_c.sof下载到实验系统。实验

17、板上的时钟clockO选择输入频率为1.5MHz。2.输入模型机的程序程序代码:地址内容功能0000IN0110SUB1A021A0320INC0430CLR1DH051D0640NOT0750AND1CH081B0960LDA1BH101B1A341B161C631D25IMSUBNOTADDLDASWRflPC-AR.4RAMaAR二PC-ARPC-10213OC:a4SrRAXQEUSBUSBAR101001001PRH4OIEDB3亞jnOlEDS?13A6ED北U占0215:151DEED9C.“401EDt2KAMaARPC-ARPC+125tJ95A3I0冋IDPC-ARPC-1

18、4淨J3E323&4卄00BD05ROktEEPR22R001RO-DR1414359A31.0亠R34RAM-R0-R0RAM4/RRAMaAR0135|)0B01ER.0M-DR2爲切1A21FRdJDRlE站ADI(DRJFQR2卜aRR4309001ROkl-R3(2)以下是检查RAM中的内容。当全部机器指令代码输入模型机后,在微指令的控制下,依次检查LPM_RAM中已输入的机器指令代码。步骤如下:按复位键8=0,使模型机中的PC复位;将控制开关SWB、SWA(键4、键3)设置为:0、0;复位信号RST(键8)=1;按键7,每两个2次单步运行(产生2个正脉冲),可读出LPM_RAM中以

19、写入的数据;根据图6-1的CPU部件和信息流程,对于读出的每一数据,仔细观察液晶上显示的MIC、PC、AR、IN、BUS、RAM、DR0、DR1的数据变化。重复以上步骤,依次检查LPM_RAM中已输入的机器指令代码。(二)自动配置LPM_RAM如果程序量大,手动输入效率太低,可以在计算机上编译好代码文件,并随同模型设计文件一同编译进下载文件中,直接下载进入。(1)在QuartusII环境下,打开工程文件bl00_c.bdf,修改bl00_C.bdf中LPM_RAM_DQ的参数,将初始化文件LPM_FILE设置为:“./5_ram.mif;打开“5_ram.mif(在示例中已有此文件),根据“实

20、验程序”,在5_ram.mif中输入全部机器指令代码(示例中已经输入)。(2)将工程文件重新编译后,下载到实验台中,即完成LPM_RAM的配置。(3)根据以上的方法,复位信号RST(键8)=1;将控制开关SWB、SWA(键4、键3)设置为:0、0,按键7,每两个2次单步运行(产生2个正脉冲),检验配置进入FPGA中的程序代码。(三)执行程序()按次系统复位键8并置键为高电平,使允许正常工作;()控制开关(键4、键3)设置为SWB、SWA=1,1,处于程序执行方式,观察图6-1控制台:RP(11);()通过键2、键1输入运算数据,如56H,按4次单步键7,产生2个脉冲,执行2条微指令,进入到图6

21、-1控制台的RP(11),此时的微指令地址是“23”,微指令码MC=008001;IN=56H()再用键7产生1个脉冲,执行1条微指令,微程序流程进入图6-2左的“运行微程序”的最上块:此时PC=00送地址寄存器AR=OO,PC自动加1,PC=01,MC=00ED82,IN=56;注意,1、实验箱上数码管7、6显示的是下一节拍将要执行的微指令的微地址码;2、数码管3显示的是进位情况,有进位,LED3显示1,无进位LED3显示0。()键7产生1个脉冲,执行微指令MC=00C048(图6-2),RAM中的第一条指令码00进入BUS,再由BUS进入指令寄存器IR=00。键7再进1个脉冲,进入MC=0

22、01001,执行指令IN,送数INR0=56;()键7产生1个脉冲,执行完指令后,返回到初始端,执行微指令键7产生2个脉冲后,执行微指令中在地址的进入;键7产生1个脉冲,执行微指令i即执行指令的第步:送,即执行指令的第步:数据送是指令的加数的间接地址,而在地址中放有最后完成的加法是()键7产生1个脉冲,意,此时指令寄存器中仍放有(0键7产生1个脉冲,()键7产生1个脉冲,,执行的第步:将中地址的数据送的操作码,指向下一条指令;i执行的第步(微地址是5送;i执行的最后一步,通过总线i这时,由实验程序可知,再送。注,送。键7再产生1个脉冲,返回到初始端,执行微指令()键7产生2个脉冲,执行指令;键7产生1个脉冲后,R0中的22H被送入寄存器DR1中,键7一个脉冲后,进入微指令MC=059A01,DR1进行运算加一后送回RO,此时R0=23H,键7产生一个脉冲,返回到初始端,执行微指令()

温馨提示

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

评论

0/150

提交评论