系统结构课程设计指导

系统结构课程设计指导

ID:46261036

大小:322.82 KB

页数:12页

时间:2019-11-22

系统结构课程设计指导_第1页
系统结构课程设计指导_第2页
系统结构课程设计指导_第3页
系统结构课程设计指导_第4页
系统结构课程设计指导_第5页
资源描述:

《系统结构课程设计指导》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机系统结构课程设计指导一、课程设计的任务利用已有计算机组成原理知识,VHDL语言知识、以及对计算机系统结构的初步学习,设计一个包括指令系统、寻址方式、数据表示、寄存器组、存储系统、流水线结构等的CPUo二、设计思想利用电原理图和VHDL语言相结合的设计思想。层次结构的设计方法。三、具体步骤四、示例指令集设计汇编语句操作码功能描述指令类型ADDDR,SR00000000DR+SRTDRSUBDR,SR00000001DR-SRTDRDECDR00000010DR-1TDR算术逻辑INCDR00000011DR+l^

2、DR指令CMPDR,SR00000110DR-SR比较ANDDR,SR00000111DRandSRTDR逻辑与ORDR,SR00001000DRorSRTDR逻辑或NOTDR00001001/DRDR逻辑非XORDR,SR00001010DRxorSR->DR异或TESTDR,SR00001011DRandSR,测试SHLDR00001100逻辑左移,最低位补0,最高位移入CSHRDR00001101逻辑右移,最高位补0,最低位移入CSARDR00001110算术右移,最高位右移,同时再用白身的值填入MOVDR,S

3、R00001111SR9DR数据传送LOADDR,SR01000001[SR]TDR指令STOREDR,SR01000010SR->[DR]MOVIJR,1MM010000111MM9DR(双字指令)LOADHIMM00100000TMMTRI5高8位LOADLTMM00100001TMMTRI5低8位PUSHSR01000110SR入栈POPDR01000111出栈9DRJRADR00010000无条件跳转到ADR,ADR二原PC值+OFFSET控制转移JRCADR00010001当C=1时,跳转到ADR,ADR二

4、原PC值+OFFSET指令JRNCADR00010010当C=0时,跳转到ADR,ADR二原PC值+OFFSETJRZADR00010011当7=1时,跳转到ADR,ADR二原PC值+OFFSETJRNZADR00010100当7=0时,跳转到ADR,ADR二原PC值+OFFSETNOP11000000空操作其他HALT0001000011111111停机(JROXFFFF)概念设计指令流水的棊木思路是把每条指令划分为儿个执行步骤,这些步骤在执行过程屮使用不同的资源从而在时间上能重叠起来,提高了整体工作负载的吞吐率。

5、我们将每条指令划分为“収指”、“译码”、“执行”、“访存”、“写冋”这五个执行步骤。五级流水概念图取指1译码I执行P、访存IK写回](IF)L(ID)I(Ex)

6、/(MA)L/(WB)I图20五级流水概念图2.4.1.3时序设计五级流水的时序设计相对两级流水要复杂。在两级流水中,「h于我们对时序的精巧设计,避免了相关问题的出现,但五级流水单凭吋序安排是无法解决所有相关问题的,必须综合考虑各种情况。•结构相关的处理rh于我们的设计中不包含缓存,因此会有取指和访存的冲突,即结构相关(见下图)。图21五级流水结构相关示意图

7、当冲突发生时,必须先“访存”,将“取指”延后一个时钟周期,这样才能保证指令的正确执行。处理结构相关需要做两项工作:1)冲突检测2)取指延后。1)冲突检测只有执行访存指令(LOAD/STORE)时,才会出现冲突。因此,我们在译码时产生一个标志是否访存的信号wrMem。含义如下:wMem意义00写内存(STORE)01读内存(LOAD)IX不占川内存表16wMEM控制信号通过检查“访存阶段”的m_wrMem就可确定是否冲突。2)取指延厉在每次取指时,若有冲突,则往IR中写入空指令(NOP),并保持PC不变,使取指延后一个

8、节拍。•数据相关的处理数据相关是指在执行木条指令的过程屮,如果川到的操作数是前面指令的执行结果,则必须等待前面的指令执行完成,并把结果写回寄存器或主存Z后,本条指令才能继续执行[3]。我们采用设置专用数据通路(即傍路技术)來解决数据相关问题。但旁路技术并非一•劳永逸。若前-•指令为LOAD,而后-•指令和它数据和关,如下图所示,当下一指令的执行阶段需要数据吋,上一•指令尚未给出,这种情况是无法用旁路技术来解决的。一*Reg针对上述情况的一般处理方法是通过插入bubble使LOADZ后的两条指令拖后一个节扑I执行[4]

9、。但我们感觉这种处理过于繁琐。我们发现,如果在LOAD译码时,后面口动加一条空指令,即增加冗余,就口J以避免上述情况的出现。在这种简化处理后,我们将数据相关划分为以下三种情况。1.相邻指令数据相关举例:INCR0INCRO在此情形下,将上一指令的ALU输出经缓存后直接送回,作为ALU多路选择器的入口0—,如下图所示。►L―>—►—►—►、>LU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。