欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机组成原理与体系结构课程设计毕业设计论文.docx

    • 资源ID:17217033       资源大小:441.76KB        全文页数:21页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机组成原理与体系结构课程设计毕业设计论文.docx

    1、计算机组成原理与体系结构课程设计毕业设计论文 基本模型机设计与实现一实验目的1深入理解基本模型计算机的功能、组成知识;2深入学习计算机各类典型指令的执行流程;3学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法。4在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。5定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握微程序的设计方法,学会编写二进制微指令代码表。6通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。实验课件参考:/CMPUT_EXPMT/Experiments/Expmt6 / 实验6-

    2、1.ppt实验示例参考:/CMPUT_EXPMT/Experiments/Expmt5 / DEMO_5_1_CPU二实验原理本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(最高4位二进制数为操作码):1在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。实验中,计算机数据通路的控制将由微过程控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。2指令格式(1)

    3、指令格式采用寄存器直接寻址方式,其格式如下:位 7654 3210功能OP-CODErsrd其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:Rs或rd选定的寄存器000110R0R1R2助记符机器指令码Addr地址码功能说明INADD addrSTA addrOUT addrJMP addr0 0H1 0H XX H2 0H XX H3 0H XX H4 0H XX H“INPUT”中的数据R0R0+addr -R0R0 - addraddr - BUSaddr PC其中IN为单字长(8位二进制),其余为双字长指令,XX H 为addr对应的十六进制地址码。为了向RAM

    4、中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。图6-1 数据通路框图1,存储器读操作(KRD):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“0 0”时,可对RAM连续手动读入操作。2,存储器写操作(KWE):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“0 1”时,可对RAM连续手动写操作。3、启动程序(RP):下载实验程序后按总清除按键(CLR)后,控制台SWA、SWB为“1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。SWBSWA控制台指令001011读内存(KRD)写内存(KWE)启动程序

    5、(RP)根据以上要求设计数据通路框图,如图5-1所示。表6-1 24位微代码定义:24232221201918171615 14 1312 11 10987654321S3S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0 表6-2 A、B、C各字段功能说明:A字段B字段C字段151413选择121110选择987选择000000000001LDRi001RS-B001P(1)010LDDR1010010011LDDR2011011100LDIR100100P(4)101LOAD101ALU-B101LDAR110LDAR110PC-B110LDPC24位微代码中各信号的

    6、功能(1) uA5uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。(2) S3、S2、Sl、S0:由微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。(3) M:微程序控制输出的ALU操作方式选择信号端。M0执行算术操作;Ml执行逻辑操作。(4) Cn:微程序控制器输出的进位标志信号,Cn0表示ALU运算时最低位有进位,Cn1则表示无进位。 (5)WE:微程序控制器输出的RAM控制信号。当/CE0时,如WE0为存储器读;如WE1为存储器写。 (6) A9、A8译码后产生CS0、CS1、CS2信号,分别作为SW_B、RAM、LED

    7、的选通控制信号。(7) A字段(15、14、13)译码后产生与总线相连接的各单元的输入选通信号(见表6-1)。(8) B字段(12、11、10)译码后产生与总线相连接的各单元的输出选通信号。(9) C字段(9、8、7) 译码后产生分支判断测试信号P(1)P(4)和LDPC信号。系统涉及到的微程序流程见图6-2。当执行“取指令”微指令时,该微指令的判断测试字段为P(1)测试。由于“取指令”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支(见图6-2左图)。用指令寄存器的高4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定地址单元。控制台操作为P(4)测试(见图

    8、6-2右图),它以控制台信号SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控制存储器的一个微地址单元,随意填写。注意:微程序流程图上的微地址为8进制!当全部微程序设计完毕后,应将每条微指令代码化,表6-2即为图6-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。表6-2 二进制微代码表微地址微指令S3 S2 S1 S0 M CN WE A9 A8ABCUA5UA0000181100000000110000001000100000100ED820000000011101101100000100200C048

    9、0000000011000000010010000300E0040000000011100000000001000400B0050000000010110000000001010501A20600000001101000100000011006919A011001000110011010000000010700E00D000000001110000000001101100010010000000000010000000000011100ED830000000011101101100000111200ED870000000011101101100001111300ED8E000000001110

    10、1101100011101400ED9600000001111011011001011015038201000000110000010000000011600E00F0000000011100000000011111700A0150000000010100000000101012001ED920000000111101101100100102101ED940000000111101101100101002200A01000000000101000000001000023008001000000001000000000000001240620110000011000100000000100012

    11、5070A010000011100001010000000012600D181000000001101000110000001指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试“P(1)”,通过节拍脉冲T4的控制,以便识别所要求的操作。 指令译码器: 根据指令中的操作码强置微控制器单元的微地址,使下一条微指令指向相应的微程序首地址。实验中LCD液晶显示屏可以用来显示模型机CPU中各组成单元的内容。将B100_C.sof文件下

    12、载到实验台后,按系统复位键,LCD液晶显示屏即显示CPU中各组成单元的内容。其功能说明如下:LCD液晶显示屏功能说明图6-4 LCD液晶显示屏名称作 用名称作用IN输入单元INPUTDR1暂存器DR1OUT输出单元OUTPUTDR2暂存器DR2ALU算术逻辑单元PC程序计数器BUS内部数据总线AR地址寄存器R0寄存器R0RAM程序/数据存储器R1寄存器R1IR指令寄存器R2寄存器R2MC微程序控制器图6-3 模型计算机电路原理图实验程序1: 说明:1、指令IN为单字节指令,指令码:00,其功能是将输入口IN的数据送到寄存器R0;2、指令ADD 0AH为双字节指令,指令码:100A,其功能是将R

    13、0中的数据加上RAM地址0AH中的数据(34H);3、指令STA 0BH为双字节指令,指令码:200B,其功能是将R0中的数据送到RAM的0BH地址单元中;4、指令OUT0BH为双字节指令,指令码:300B,其功能是将RAM的0BH地址单元中的数据送到OUT输出口上;5、指令JMP 12H 为双字节指令,指令码:4012,其功能是将其操作码下一地址单元(08H)的数据作为转跳地址。三实验步骤1微程序的输入:根据表6-2所对应的二进制微代码,编辑LPM_ROM配置文件ROM_11.mif(参考demoD_cpu5文件夹中的同名文件),并将其保存在与实验电路b100_c.bdf工程所在的文件夹中,

    14、与实验电路b100_c.bdf一同编译后,得到下载文件b100_c.sof。下载配置文件bus_c.sof下载到实验系统。实验板上的时钟clock0选择输入频率为1.5MHz。图6-3是示例原理图,详见b100_c.bdf。2输入模型机的程序(示例工程文件是b100_c.bdf )(一)手动写入(1)使用控制台KWE和KRD微程序将机器指令程序(“实验程序1”:按地址输入指令代码,如地址00、01、02、03、04分别对应指令码00、10、0A、20、0B)装入模型机CPU的程序RAM(LPM_RAM_DQ)中,并进行检查。根据图6-2控制台微程序流程图,在微指令的控制下,依次输入机器指令代码

    15、:1 以下将数据35、C4依次装入00、01地址为例:选择实验模式NO.0,输入数据显示于数码2、1上;2 将控制开关SWB、SWA(键4、键3)设置为:0、1;模型机的复位控制信号RST(键8)=1; 机器指令代码的数据输入由键2、键1输入,先键入35,再按两次键7,即0-1-0,产生一个写入正脉冲,这时观察右上液晶屏上的输入端口IN=35;PC=00(当前将要输入的地址);MC=018110微指令。 再按两次键7(地址寄存器加1),根据图5-2控制台微程序流程图,进入到KWE(01)分支,进入并执行了微地址“21”中的操作,这时控制此操作的微指令码MC=01ED94,PC自动加1,PC=1

    16、。 按键7,再产生一个脉冲,进入并执行了微地址“24”中的操作;观察液晶,数据35进入总线BUS=35,35进入RAM=35,此时微指令码MC=062011,此时将机器指令代码数据写入了LPM_RAM中; 此后每当出现MC=062011时,即可利用键2,键1输入待写入RAM的数据,此时如C4,连续按键7,再产生2个脉冲,即将C4写入RAM,PC加1,微指令码变成MC=062011; 重复的步骤,将“实验程序1”的全部机器指令代码输入RAM。图6-2 微程序流程图(注,图中的DR1应改为DR0, DR2应改为DR1)(2)以下是检查RAM中的内容。当全部机器指令代码输入模型机后,在微指令的控制下

    17、,依次检查LPM_RAM中已输入的机器指令代码。步骤如下:1 按复位键8=0,使模型机中的PC复位; 2 将控制开关SWB、SWA(键4、键3)设置为:0、0;3 复位信号RST(键8)=1; 4 按键7,每两个2次单步运行(产生2个正脉冲),可读出LPM_RAM中以写入的数据;根据图6-1的CPU部件和信息流程,对于读出的每一数据,仔细观察液晶上显示的MIC、PC、AR、IN、BUS、RAM、DR0、DR1的数据变化。重复以上步骤,依次检查LPM_RAM中已输入的机器指令代码。(二)自动配置LPM_RAM 如果程序量大,手动输入效率太低,可以在计算机上编译好代码文件,并随同模型CPU设计文件

    18、一同编译进SOF下载文件中,直接下载进入FPGA。(1)在QuartusII环境下,打开工程文件b100_c.bdf,修改b100_C.bdf中LPM_RAM_DQ的参数,将初始化文件LPM_FILE设置为:“./5_ram.mif”;打开“5_ram.mif”(在示例中已有此文件),根据“实验程序1”,在5_ram.mif中输入全部机器指令代码(示例中已经输入)。(2)将工程文件重新编译后,下载到实验台中,即完成LPM_RAM的配置。(3)根据以上的方法,复位信号RST(键8)=1;将控制开关SWB、SWA(键4、键3)设置为:0、0,按键7,每两个2次单步运行(产生2个正脉冲),检验配置进

    19、入FPGA中的程序代码。(三)执行程序(1)按1次系统复位键8,并置键8为高电平,使CPU允许正常工作;(2)控制开关(键4、键3)设置为SWB、SWA=1,1,处于程序执行方式,观察图6-1控制台:RP(11);(3)通过键2、键1输入运算数据,如56H,按4次单步键7,产生2个脉冲,执行2条微指令,进入到图6-1控制台的RP(11),此时的微指令地址是“23”,微指令码MC=008001;IN=56H(4)再用键7产生1个脉冲,执行1条微指令,微程序流程进入图6-2左的“运行微程序”的最上块:此时PC=00送地址寄存器AR=00,PC自动加1,PC=01,MC=00ED82,IN=56;注

    20、意,1、实验箱上数码管7、6显示的是下一节拍将要执行的微指令的微地址码;2、数码管3显示的是进位情况,有进位,LED3显示1,无进位LED3显示0。(5)键7产生1个脉冲,执行微指令MC=00C048(图6-2),RAM中的第一条指令码00进入BUS,再由BUS进入指令寄存器IR=00。键7再进1个脉冲,进入MC=001001,执行指令IN,送数INR0=56;(6)键7产生1个脉冲,执行完IN指令后,返回到初始端,执行微指令MC=00ED82;(7)键7产生2个脉冲后,执行微指令MC=00ED83,即执行ADD指令的第1步:PC送AR=02,PC+1=03,这时RAM中在02地址的0AH进入

    21、BUS=0A;(8)键7产生1个脉冲,执行微指令MC=00E004,即执行ADD指令的第2步:BUS数据送AR=0A,由实验程序1可知,0A是ADD指令的加数的间接地址,而在地址0A中放有34H, 最后完成的加法是34+56;(9) 键7产生1个脉冲, MC=00B005,执行ADD的第3步:将RAM中0A地址的数据34送BUS,再送DR1=34H。注意,此时指令寄存器IR中仍放有ADD的操作码10H,PC=03指向下一条指令STA;(10)键7产生1个脉冲,MC=01A206,执行ADD的第4步(微地址是05),R0送DR0=56;(11)键7产生1个脉冲,MC=919A01,执行ADD的最

    22、后一步,DR0+DR1=8AH,通过总线BUS(=8A),送R0=8AH。键7再产生1个脉冲,返回到初始端,执行微指令MC=00ED82;(12)键7产生2个脉冲,MC=00ED87,执行STA指令;键7再两2个脉冲后,和8A被写入RAM,地址单元是0B。键7一个脉冲后,返回到初始端,执行微指令MC=00ED82;(13)键7产生2个脉冲,MC=00ED8E,执行OUT指令;此时OUT的功能是将RAM中指定地址的数据送到输出口“OUT”处(见图6-2和液晶屏)。此时PC=7,AR=6;(14)键7产生1个脉冲,MC=00E00F,首先BUS中地址0BH被锁进AR,于是RAM中对应地址0BH的数

    23、据8AH被送入BUS。键7再产生1个脉冲,MC=00A015,BUS中的数据8AH被锁进DR0;(15)键7产生1个脉冲,MC=070A01,进入OUT指令的最后一步;8AH从DR0送入OUT口;(16)键7产生1个脉冲,返回到初始端,执行微指令MC=00ED82;(17)键7产生2个脉冲,MC=00ED96,指令寄存器IR=40操作码,开始执行JMP指令,此时PC=9,AR=8,故RAM中此地址的12H进入BUS=12H。注意PC!BUS的数据12H将进入PC成为下一条指令的执行地址;(18)键7产生1个脉冲,MC=00D181,RAM=12,BUS=12,AR=08H,PC=12,IR=4

    24、0开始执行JMP指令。(19)键7产生1个脉冲,返回到初始端,执行微指令MC=00ED82;RAM=00(下一条指令码)。结束!(四)EAB在系统读写使用在系统EAB读写工具对模型CPU中的存放微程序的ROM和存放程序与数据的RAM进行观察和改写(图6-3)。(五)用嵌入式逻辑分析仪了解CPU运行情况可以利用实验系统上的液晶屏上的数据显示和嵌入式逻辑分析仪同时了解CPU的每一单步运行情况(图6-4)。注意,图6-4的嵌入式逻辑分析仪设置情况:采用时钟使用CPU的工作时钟(CLK1=1.5MHz),采样深度64位,触发位置:Pre.,触发信号用单步控制信号:STEP;触发方式:上升沿。左侧的观察

    25、信号,data1是ALU;data2是RAM;P10是AR;P12是IR;CPU运行的逻辑分析仪波形数据如图6-5所示。图6-3用在系统EAB读写工具对FPGA中的ROM和RAM进行观察和改写图6-4 嵌入式逻辑分析仪设置情况六、实验要求1实验之前应认真准备,写出实验步骤和具体设计内容;2实验前应掌握所有控制信号的作用;3掌握在QuartusII环境下,采用图形编辑方法的设计技术;4掌握在微程序控制下机器指令的写入、读出、和程序执行方法;5掌握LPM_RAM的配置方法,实现对机器指令输入;6掌握微程序的设计方法,学会编写二进制微指令代码表。7掌握对LPM_ROM的配置方法,实现微指令代码表的输

    26、入。7、通过液晶屏,观察各相关寄存器、ALU、DR1、PC、IR、AR、BUS等内容的变化情况,根据表6-2微程序控制流程,单步跟踪微程序的执行情况。通过INPUT(键2、键1)输入运算数据,跟踪程序的执行情况,并详细记录每条微指令执行后,相关单元输出数据的变化情况,依次执行机器指令,从而验证所设计的正确性。在完成基本验证实验后,根据这5条指令,自行设计程序、输入和调试,记录实验数据。图6-5 嵌入式逻辑分析仪采样波形数据七实验报告1实验的原理,实验步骤和具体实验结果; 2实验中遇到的主要问题和分析解决问题的思路;3通过实验,自己的学习经验和切身体会,以及对教学实验的意见和建议。八思考题实验题

    27、1若要修改算术逻辑单元ALU的功能,应如何用VHDL语言来实现?如何编程、如何用计算机进行功能仿真、时序仿真?如何通过GW48实验系统进行硬件功能验证?通过具体实验来回答。2用VHDL语言设计程序计数器单元PC。 3用VHDL语言设计地址寄存器单元AR。4用VHDL语言设计指令译码器单元IR。 5将整个模型CPU都用用VHDL进行表达。6除了已有的IN、ADD、STA、OUT、JMP指令外,再设计减法指令SUB、带进位加ADDC、逻辑与AND、逻辑或OR和异或XOR共10条指令,编写相应微程序流程图,写出微程序代码表和相应的mif文件,并配置进LPM_ROM中;编写由宏程序代码组成的3个程序,

    28、并用此CPU完成相应的程序功能。7适当修改ALU181.VHD,使之对不同操作产生的进位都能保留(锁存)。实验操作说明: 下载B100_C.SOF;选模式0,按一次复位键;8位数据in7.0由键2、键1输入(此值显示于键对应的数码管上);SWB,SWA由键4,键3控制工作模式:模式00KRD(读出);模式01KWR(写入);模式11RP(程序执行)。RST1 模型CPU复位,键8控制,低电平有效。工作时应置高电平。STEP 键7控制,单步执行键;Clock0 选择1.5MHz,是CPU工作时钟。通过LCD液晶显示屏观察“基本模型机CPU”中各基本工作单元的内容。8将图6-6结合硬件实验详细说明

    29、此CPU对“实验程序1”的执行过程和图中各信号的含义及不同节拍下变化的原因和结果,如d0_7.0、PC、AR、DR1、DR2、R0、CO、T4.T1、uA、bus7.0等等。图6-6 模型CPU执行“实验程序1”的仿真波形图(注。其中的DR1,DR2分别表示液晶屏上的DR0/DR1)九图6-1中各信号的功能说明(1) uA5uA0 微程序控制器的微地址输出信号。 (2) IR7一IR5 指令寄存器IR7、IR6、IR5输出信号,输入至微程序控制器作为修改微地址的控制信号。 (3) CLK1时钟信号源,输入频率为612MHz。(4) T1T4时序信号发生器提供的四个标准输出信号,可以采用单拍或连续两种方式输出。(5) s3、s2、sl、s0、由微


    注意事项

    本文(计算机组成原理与体系结构课程设计毕业设计论文.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开