欢迎来到天天文库
浏览记录
ID:12432569
大小:4.86 MB
页数:9页
时间:2018-07-17
《基于重叠和流水线技术的cpu结构实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机组成原理实验指导书119实验十一、基于重叠和流水线技术的CPU结构实验一、实验目的:1.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程;2.掌握重叠和流水线结构的工作原理及实现方法;3.定义五条机器指令,编写相应微程序并具体上机调试。二、实验设备:EL-JY-II型计算机组成原理实验系统一套,排线若干。三、模型机结构:图11-1模型机结构框图计算机组成原理实验指导书119图中运算器ALU由U7—U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由
2、U5、U6两片74LS273构成。微控器部分控存由U13—U15三片2816构成。除此之外,CPU的其它部分都由EP1K10集成(其原理见系统介绍部分)。存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H—FFH。输出设备由底板上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74LS244构成,当DIJ-G为低电平时将16位开关状态送上数据总线。在键
3、盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低8位有效。四、工作原理重叠技术的原理为:程序开始执行时,先将若干条指令取入一个先进先出(FIFO)的指令队列。然后在指令译码的同时,从FIFO队列中取出下一条指令,打入指令寄存器,使得“取指令”和“执行指令”具有时空上的并行性。流水线技术是建立在重叠技术的基础上。
4、本实验采用二级流水线结构,其原理为:使取指和指令译码同时进行,当上一条指令执行完成后,不再进行下一条指令的取指,而直接进入译码、执行过程,如次循环。在本实验中当PC指针为“00000001”时,先将第一条指令由RAM读出并打入指令寄存器,然后顺序取出第2、3、4、5条指令的操作码送入FIFO队列。本实验与其它实验不同的是:本实验指令译码过程中P1测试和P2测试同时有效(对应于F3字段为“011”),以指令寄存器的I7—I2作为测试条件,产生5路分支,占用5个固定的微地址单元。同时PC指针加1,并将
5、FIFO队列中的第一个数据(即下一条指令)取出打入指令寄存器。当上一条指令执行完成后,直接返回到译码阶段。以上这些操作均由EP1K10实现,有兴趣的读者可查看随机工程文件total_2.gdf。在24位微指令中,F1、F2、F3三个字段的编码方案如表11-2:计算机组成原理实验指导书119F1字段F2字段F3字段151413选择121110选择987选择000LDRi000RAG000P1001LOAD001ALU-G001AR010LDR2010RCG010P3011自定义011自定义011P1
6、P2100LDR1100RBG100P2101LAR101PC-G101LPC110LDIR110299-G110P4111无操作111无操作111无操作表11-2系统涉及到的微程序流程见图11-2(图中各方框内为微指令所执行的操作,方框外的标号为该条微指令所处的八进制微地址)。当全部微程序流程图设计完毕后,应将每条微指令代码化,表11-3即为将图11-2的微程序流程按微指令格式转化而成的微代码表。图11-2(a)计算机组成原理实验指导书119图11-2(b)五、实验参考代码本实验采用的微代码如下
7、:微地址(八进制)微代码(十六进)00007F9001005B5B02015BD9040029C5059403D9计算机组成原理实验指导书11910010FD911011F4120005B5221005B5422014FD723005B5A2401CFD82706F3D030FF73D131006EE032011F4133016FDC34017FDD35017FDE36017FDF37017FC241005B4842005B494502F1D946018FD9510041C4表11-3实验微指令代
8、码表本实验机器指令代码如下:地址(十六进制)机器指令(十六进制)助记符000000010048INAx,kIN020005MOVBx,01H030001040094ADDAx,Bx计算机组成原理实验指导书119000044OUTDISP,Ax010008JMP00H020000表11-4实验机器指令表注:其中MOV、JMP为双字长(32位),其余为单字长指令。对于双字长指令,第一字为操作码,第二字为操作数;对于单字长指令只有操作码,没有操作数。上述所有指令的操作码均为低8位有效,高
此文档下载收益归作者所有