基于流水线技术构成模型计算机的实验.docx
组成原理课程设计报告题目基卜流水线技术构成模型计算机的实验学生姓名学号专业班级指导老师设计日期指导老师评阅意见:评阅成绩:签名:目录一.课程设计的目的2二.课程设计的内容21、RSlC处理器设计的一般原那么22、本实验中RISC处理器指令系统的定义23、基于RSlC处理器的流水方案设计原理3三、大规模集成电路CPLD器件内部设计6四、课程设计的连线6五、课程设计的步骤7六、性能评价7七、附录(10页T6页)或参考资料8八、课程设计总结(心得)8一、课程设计的目的1、在掌握RSlC处理器构成的模型机实验根底上,进一步将其构成一台具有流水功能的模型机。2,RSIC处理器的五条根本指令为例,并编写相应的微程序,掌握流水概念。二、课程设计的内容1、RSIC处理器设计的一般原那么:A.确定指令系统时,只选用使用频率很高的那些指令,在此根底上增加少量能有效支持操作系统和高级语言实现及其它功能的最有用指令。B.大大减少系统采用的寻址方式种类,一般不超过两种,简化指令格式,使之限制在12种之内,并让全部指令都具有相同的长度。C.所有指令都在一个机器周期内完成。D.扩大通用通用存放器个数,尽可能减少访存操作,所有指令中只有存(STORE)、取(LOAD)指令才可访问,其它指令的操作一律都在存放器间进行。E.为了提高执行速度,大局部指令都采用硬联控制实现,少量采用微程序实现。2,本实验中RlSC处理器指令系统的定义A.选用使用频率比较高的五条根本指令:MOV、ADD>STORE,LOAD、JMPB.寻址方式采用存放器寻址及直接寻址两种方式。C.指令格式采用单字节及双字节两种格式:4 3 21 0B.RS 或 Rd存放器00RO1Rl0R2773、指令锁存及译码水方案 通路图M 廿 JP Jl AX_IALrB指令分析控制里 T7Liy.尸<E, I、意图4 3 2 1 0 3么选中不同存放器:Rd存放器0001DRODRl,LX译码器、LOAD> JMP三条指令为双 A为存或取数的直接地址;在分析结 果锁存 及译码S3木实 饕牛噌 啾作效形方一S分析冰,劣 KZIZ 二码产4S执行S。也丽M期结氟丁域暹尹J、冶将指令解I时间工体翅宿号,而滔令的机行。LDDR是J DRl三的LD血2 |*1S受取指、译码、操作数形成AI.OAD蹊存指Ro-B刀 Vl HH I ITTJ 丁 力,£我采用了 PC专用:245RI_BR2_BLOADD结果指令执行控制件, 译码、 数,在r,一,就会译码出执行部 5一条指令的分析。以上 执行指4其它周期两个部件都E勺, ldaci PC专用通路是为WR访存指令预取操作数地址而用,暂存器是有来暂存操作数地址,设计两级暂存可以防止连续两条访存指令带来的冲突。如果是一级暂存,在分析第一条访存指令时,在T3时刻将操作数地址存入暂存。在下一周期里执行该访存指令,同时分析第二条访存指令,第一条访存指令的操作数地址要在T4时刻才用到,但是T3时刻已经被分析的第二条访存指令的操作数地址复盖,这样就起了冲突。两级暂存可解决这问题。“指令执行部件"采用实验线路板上的“低8位运算器模块"和"存放器堆模块"两个单元。下面介绍一下流水方案的逻辑实现。将一个机器周期分成四个节拍,分别为T1、T2、T3,T4o首先在Tl时刻的上沿,程序计数器PC将操作码地址打入地址存放器ARPC->AR);然后在T2时刻的上沿,PC+1并且将指令的操作码打入指令存放器;如果是单字节指令,如MoV、ADD指令,到此已经完成了指令的预取及分析,如果是双字节指令,如STORE、LOAD指令(JMP指令除外),在T3时刻的上沿选中PC专用通路,将操作数地址打入暂存1中保存,JMP指令那么将转移地址直接打入PC中;在T4时刻的上沿,PC+1(JMP指令那么不加1)并且将暂存1的数据打入暂存2中保存;在T4的下沿将控制信号锁存。这时双字节指令的预取及分析也完成。在下一个机器周期的T4时刻完成指令的执行。“指令分析部件"同时预取分析下一条指令。C,本实验的指令系统如下:MOVnnnnn1JMPOOlOTCAnSTOREDaLp!5LUJ"土,Jl地址(三)00010203405060711口AOlOORsA3 0LOAE8000MOV03MOV10ADDI4 0STOR8220JMPb记符说明)80,RO80>R0RO,DRlR0->DRlR0,DR2R0->DR20)R1,DR2,RODR1+DR2->R0ERO,82RO->8200O()H->PC08001本实验除“指令指令执行部件"为实验线路板上的“低8位运算器模块"和“存放器堆模块"两个单元电路构成外,其余全部由一片CPLD(1032E)芯片设计,输入设备、输出设备、RAM及时序仍由实验板提供。在木实验设计中,00H-7FH为存储器地址,80H为输入单元端口地址,82H为输出单元端口地址。三、大规模集成电路CPLD器件内部设计详细设计文件见随机软件四、课程设计的连线拔掉Jl,J3,J4,J6,J9,J13,J14,J15,J18,J20-J22,J24短路块83连Jl(alub中间)9连J3(LDDR1)10连J4(LDDR2)26连J13(LDRO)29连J14(R0_B)34连J6(SWB)32连J9(CE)35连J24(LEDB)33连J18(OUTWR)4连CLR短路片J23插左边J15(AR插左边JlO插右边36-39连KZTl(TSI-TS4)53-60连D7-D0(EXJ3左边为高位)45-52连EXAl(A7-AO左边为高位)3-8连SJ2(S3-CN)11-18连(B7-B0)MBUS连BUS4REGBUS连BUS6ALUBUS连BUSlALUOl连BUS2五、课程设计的步骤1、按实验接线连好实验线路:2、“运行控制"开关置运行状态,“运行方式"开关置连续或单步都可;3、在联机状态下,将实验程序的机器码写入存储器,具体操作先将EXAl拨掉,然后将EXJl与BUSl相连,再装载源程序LSX,最后恢复到先前状态。4、拨动总清开关(0->1),按CPLD区RESETl键,使PC计数器清零,程序首地址为OOH;5、运行,从数据输入开关输入数据,数码管上为输出结果。其运行结果如下:A,执行清零后的效果图为:B、输入0()()00101后数码管上显示出结果的效果图为:C、输入OO(K)1001后数码管显示出结果的效果图为:六、性能评测1、本实验在精简指令处理器的根底上以流水方案实现模型机功能,除第一个机器周期预取指令外,其它每个机器周期都有结果输出,与以前的基于RSIC处理器构成的模型机相比大大提高了执行效率,前面基于RSIC处理器的实验没有指令预取部件和执行部件的概念,在遇到访内指令时它需要两个机器周期才能完成。2本实验流水方案清晰,易于理解。由于该实验是流水的原理性实验,故指令系统也比较简单。七、附录与参考资料I、【DVCC系列】常德:湖南文理学院计算机学院2023北京:清华大学出版社,2006北京:高等教育出版社,1999计算机组成原理及系统结构教学实验系统2、王爱英主编计算机组成与结构(第四版)3、唐朔飞主编计算机组成原理(第二版)4、谭浩强主编计算机组成原理实验指导北京:清华大学出版社,20045、在网上查找相关资料(见附录)八、课程设计总结(心得)总的来说,本次课程设计是很成功的。通过几天的上机操作,初步掌握了RSlC处理器构成的模型机实验,进一步理解了RSlC处理器的五条根本指令,特别是对于流水线技术有了一定的认识,同时也在程序设计中也发现了不少问题:A:相关RSIC处理器的知识不是很了解B:不能够自己独立的编写代码C:不能灵活的运用理论知识来解决实际问题,知识学得比较死板D:对相关的知识理解的不够深刻E:操作时有点粗心,连线太多,很容易连错F:动手操作能力不是很好G:在操作中遇到的问题时不能够自己独立的找出原因并且进行相应的修改。但是在老师和同组成员的共同努力下,最终还是到达了很好的效果。在这次组成原理的课程设计中让我学会了很多东西:1、做事要认真,细心而且还要有耐心由于我们这一组的题目很难做,需要连接的线路很多,一根线连接错误都会导致结果出不来,而且检查起来也比较难。每一步都必须很细心,而且还要有足够的耐心,出现问题时,要认真的查找问题的原因:是否线路没连好,联机是是否按照指导书操作的等。2、要正确的认识自己通过这次课程设计,让我看到了自己在很多方面的缺乏,有很多根本的原理,知识点不理解,也不能自己独立的编写代码,和那些优秀的学生还是有一定的差距的,在以后的学习生活中要正确、客观的对自己定位,不能好高鹫远、也不能过高的的评价自己。只有能筋正确的认识到自己的缺乏,并且不断地改正,一定能够有所提高的。3、要有合作精神通过分组进行本次设计让我们更加相信团队的力量,小组成员分工合作,有的查资料,有的连接线路,有的看实验指导书,遇到问题时,成员们互相帮组共同解决,大大的提高了工作效率。4、做事要有恒心,要不怕失败在这次课程设计中,我们这组的失败次数最多,单单我一个人就连接了十几次线路,还有其他成员也操作了很屡次,由于实验指导书中的线路连接写的不是很清楚,我们只有在老师的指导下对很多能到达最终效果的可能进行尝试,虽然失败很屡次,但是每取得一点进步都能给我们带来很大的动力以上便是在这次课程设计中的感受,我相信这将对我以后的学习、生活都有很大的影响。希望能够通过自己的不断努力把这门课程学的更好、更透彻,而且在其他的课程中也应该这样。附录:流水CPU1 .流水线的工作原理传统的计算机系统是基于冯诺伊曼的体系结构,采用的是串行处理。这种计算机的主要特点是:计算机的各个操作(如读/写存储器,算术或逻辑运算,I/O操作)只能串行顺序地执行,即任一时刻只能进行一个操作。如一条指令的指令构成包括取指令、分析指令和执行指令。如按四个周期完成一条指令,其执行过程如下:取指令I,指令译码I.取指令I1运算I.取指令L但是计算机的串行执行速度慢,不能充分发挥CPU的性能,我们考虑到计算机在指令周期目的不同阶段,其功能是由不同的组成器件完成的,这样我们可以设计使它们并行执行,以通过计算机的执行速度。从广义上讲,并行性有着两种含义:一是同时性,指两个以上事件在同一时刻发生:二是并发性,指两个以上事件在同一时间间隔内发生。计算机的并行处理技术可贯穿于信息加工的各个步骤和阶段,概括起来,主要有三种形式:时间并行、空间并行和时间并行+空间并行。(1)时间并行时间并行是指时间重叠,在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个局部,以加快硬件周围而赢得速度。(2)空间并行空间并行是指资源重复,在并行性概念中引入空间因素,以"数量取胜"为原那么来大幅度提高计算机的处理速度。空间并行技术主要表达在多处理器系统和多计算机系统。(3)时间并行+空间并行时间并行+空间并行指时间重叠和资源重复的综合应用,既采用时间并行性,又采用空间并行性。例如,奔腾CPU采用了超标量流水技术,在一个机器周期中同时执行两条指令,因而既具有时间并行性,又具有空间并行性。2.流水CPU的组成(1)流水计算机的系统组成图5-27示出了现代流水计算机的系统组成原理示意图。图5-27流水计算机的系统组成原理示意图其中CPU按流水线方式组织,通常由三大局部组成:指令部件、指令队列、执行部件。这三个功能部件可以组成一个3级流水线。执行部件可以具有多个算术逻辑运算部件,这些部件本身又用流水线方式构成。由图5-27可见,当执行部件正在执行第I条指令时,指令队列中存放着1+1,1+2,I+k条指令,而与此同时,指令部件正在取第I+k+1条指令。为了使存储器的存取时间能与流水线的其他各过程段的速度相匹配,一般都采用多体交叉存储器。执行段的速度匹配问题,通常采用并行的运算部件以及部件流水线的工作方式来解决。一般采用的方法包括:D将执行部件分为定点执行部件和浮点执行部件两个可并行执行的局部,分别处理定点运算指令和浮点运算指令;2)在浮点执行部件中,又有浮点加法部件和浮点乘/除部件,它们也可以同时招待不同的指令;3)浮点运算部件都以流水线方式工作。(2)流水CPU的时空图计算机的流水处理过程非常类似于工厂中的流水装配线。为了实现流水,道德把输入的任务(或过程)分割给一系列子任务,并使各子任务能在流水线的各个阶段并发地执行。当任务连续不断地输入流水线时,在流水线的输出端便连续不断地吐出执行结果,从而实现了子任务级的并行性。下面通过时空图来证明这个结论。图5-28(a)表示流水CPU中一个指令周期的任务分解。假设指令周期饮食四个子过程:取指令(IF)、指令译码(ID)、执行运算(EX)、结果写回州B),每个子过程称为过程段(三),这样,一个流水线由一系列串联的过程段组成。各个过程段之间设有高速缓冲存放器,以暂时保存上一个过程段子任务处理的结果。在统一的时钟信号控制下,数据从一个过程段流向相邻的过程段。图5-28(b)表示非流水计算机的时空图。对非流水计算机来说,上一条指令的四个子过程全部执行完毕后才能开始下一条指令。因此,每隔4个机器时钟周期才有一个输出结果。图5-28(C)表示流水计算机的时空图。对流水计算机来说,上一条指令与下一条指令的四个子过程在时间上可以重叠执行。因此,当流水线满载时,每一个时钟周期就可以输出一个结果。直观比较后发现:流水计算机在8个单位时间中执行了5条指令,而非流水计算机在8个单位时间中仅执行了2条指令。显然,流水技术的应用,使计算机的速度大大提高了。图5-28(d)表示超标量流水计算机的时空图。从数学概念讲,标量是指单个量,而向量是指一组标量。一股的流水计算机因只有一条指令流水线,所以称为标量流水计算机。所谓超标量流水,是指它具有两条以上的指令流水线。如图5-28(d)所示,当流水线满载时,每一个时钟周期可以执行2条指令。显然,超标量流水计算机是时间并行技术和空间并行技术的综合应用。PentiUm微型机就是一个超标量流水计算机。(a)一个指令流水线过程段(b)非流水线时空图(C)标量流水线时空图(d)超标量流水线时空图图5-28流水线时空图(3)流水线分类及注意问题一个计算机系统可以在不同的并行等级上采用流水线技术。常见的流水线形式有:指令流水线、算术流水线和处理机流水线。1)指令流水线是指指令步骤的并行。将指令流的处理过程划分为取指令、译码、取操作数、执行、写回等几个并行处理的过程段。目前,几乎所在地有的高性能计算机都采用了指令流水线。2)算术流水线算术流水线是指运算操作步骤的并行。如流水加法器、流水乘法器、流水除法器等。现代计算机中己广泛采用了流水的算术运算器。3)处理机流水线处理机流水线又称为宏流水线,是指程序步骤的并行。由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。数据流从第一台处理机输入,经处理后被送入与第二台处理机相联的缓冲存储器中。第二台处理机从该存储器中取出数据进行处理,然后传送给第三台处理机,如此串联下去。随着高档微处理器芯片的出现,构造处理机流水线将变得容易了。处理机流水线应用在多机系统中。要使流水线具有良好的性能,必须使流水线畅通流动,不发生断流。但由于流水过程中会出现以下三种相关冲突,实现流水线的不断流是困难的,这三种相关是资源相关、数据相关和控制相关。RISC简介RISC(reducedinstructionsetcomputer»精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MlPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)O因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。纽约约克镇IBM研究中心的JohnCocke证明,计算机中约20%的指令承当了80%的工作,于1974年,他提出RISC的概念。第一台得益于这个发现的电脑是1980年IBM的PC/XT。再后来,IBM的RISCSyStem/6000也使用了这个思想。RISC这个词本身属于伯克利加利福尼亚大学的一个教师DaVidPattersonoRISC这个概念还被用在SUn公司的SPARC微处理器中,并促成了现在所谓的MIPS技术的建立,它是SiIiConGraphics的一局部。许多当前的微芯片现在都使用RlSC概念。RISC概念已经引领了微处理器设计的一个更深层次的思索。设计中必须考虑到:指令应该如何较好的映射到微处理器的时钟速度上(理想情况下,一条指令应在一个时钟周期内执行完);体系结构需要多"简单.";以及在不诉诸于软件的帮助下,微芯片本身能做多少工作等等。除了性能的改良,RISC的一些优点以及相关的设计改良还有:如果一个新的微处理器其目标之一是不那么复杂,那么其开发与测试将会更快。使用微处理器指令的操作系统及应用程序的程序员将会发现,使用更小的指令集使得代码开发变得更加容易。RISC的简单使得在选择如何使用微处理器上的空间时拥有更多的自由。比起从前,高级语言编译器能产生更有效的代码,因为编译器使用RISC机器上的更小的指令集。除了RISC,任何全指令集计算机都使用的是复杂指令集计算(CISC).RISC典型范例如:MIPSR3000、HP-PA8000系列,MotorolaM88000等均属于RISC微处理器。RISC主要特点RISC微处理器不仅精简了指令系统,采用超标量和超流水线结构;它们的指令数目只有几十条,却大大增强了并行处理能力。如:1987年SUnMiCrOSyStem公司推出的SPARC芯片就是一种超标量结构的RISC处理器。而SGI公司推出的MIPS处理器那么采用超流水线结构,这些RISC处理器在构建并行精简指令系统多处理机中起着核心的作用。RISC处理器是当今UNIX领域64位多处理机的主流芯片性能特点一:由于指令集简化后,流水线以及常用指令均可用硬件执行;性能特点二:采用大量的存放器,使大局部指令操作都在存放器之间进行,提高了处理速度;性能特点三:采用缓存一主机一外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因从存储器存取信息而放慢处理速度。应用特点;由于RISC处理器指令简单、采用硬布线控制逻辑、处理能力强、速度快,世界上绝大局部UNIX工作站和效劳器厂商均采用RISC芯片作CPU用。如原DEC的AIPha21364、IBM的PowerPCG4,HP的PA-8900、SGl的R12000A和SUNMicrosystem公司的UltraSPARCIo运行特点:RISC芯片的工作频率一般在400MHZ数量级。时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。单一指令周期容纳多部并行操作。在RISC微处理器开展过程中。曾产生了超长指令字(VLIW)微处理器,它使用非常长的指令组合,把许多条指令连在一起,以能并行执行。VLIW处理器的根本模型是标量代码的执行模型,使每个机器周期内有多个操作。有些RISC处理器中也采用少数VLIW指令来提高处理速度。RISCCPU1. RISC(精简指令系统计算机)设计思想的起源20世纪80年代计算机工艺开展迅猛,而传统计算机设计思想己跟不上工艺技术的要求,微程序设计技术遇到了如下主要问题:(1)半导体主存储器的速度己经和微程序存储器相比较,一个机器周期不再等于假设干个微周期,而且随着大容量半导体存储器价格日益下跌,以至形成了编写微程序的"微程序设计语言:(2)现有计算机的指令系统过于复杂,微存储器的微码多达几百位,使微程序设计很容易出错,庞大的微程序设计也越来越复杂,以至形成了编写微程序的"微程序设计语言*(3)在微程序计算机中,平均每条指令至少要34个微周期,而一些简单的指令只与一条微指令的操作相当,完全不必靠程序控制部件来实现,只需用很简单的硬布线逻辑实现,而且在一个主存周期内即可完成(而不是几个微周期)。这里,己经孕育着RISC的根本思想,即一个机器周期实现一条根本指令。精简指令系统计算机设计思想主要来源于三个方面:一是由于VLSl工艺的迅速开展改变了传统计算机设计思想:二是通过对指令系统运行效率的分析与统计,得出2080%定律;三是重新评价一个计算机系统中硬件与软件之间复杂性的优化程度,即在系统设计时,应在硬件与软件之间取得折衷,平衡负责整个系统的复杂性。2. RISC的特点第一台RISC(精简指令系统计算机)于1981年在美国加洲大学伯克利分校问世。它是在继承了CISC(复杂指令系统计算机)的成功技术,并在克服了CISC机器缺点的根底上开展起来的。尽管众多厂家生产的RISC处理器实现手段有所不同,但是RISC概括的3个根本要素是普遍认同的。这3个要素是:(1)一个有限的简单的指令集;3. )CPU配备大量的通用存放器;(3)强调对指令流水线的优化。RISC的目标决不是简单的缩减指令系统,而是使处理器的结构更简单,更合理,具有更高的性能和执行效率,并降低处理器的开发本钱。