《2022年计算机组成课程方案任务书》由会员分享,可在线阅读,更多相关《2022年计算机组成课程方案任务书(18页珍藏版)》请在金锄头文库上搜索。
1、个人资料整理仅限学习使用课 程 设 计课程名称:计算机组成原理设计题目:一个非常简单的CPU 的设计学院:信息工程与自动化专业:计算机科学与技术年级: 08级 1 班学生姓名:张桥指导教师:李凌宇日期:2018-9-9教 务 处 制课 程 设 计 任 务 书信息工程与自动化学院计算机专业 081年级学生姓名:张桥课程设计题目:一个简单的CPU 的设计课程设计主要内容:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 18 页个人资料整理仅限学习使用设计一台完整的计算机。首先要确定该计算机的功能和用途。在设计中根据功能和用途确定指令系统,定
2、义数据通路,设计每条指令的执行流程,要求利用微程序进行设计,每人至少要求4 条 CPU指令,可以自己选择;在设计中要求画出指令系统的格式并说明各位的意义;要求画出数据通路并定义微操作信号;要求画出微程序流程图。设 计 指 导 教 师 签字):教案基层组织负责人 签字):年月日一台模型计算机的设计一、教案目的、任务与实验设备融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间空间”概念的理解,从而清晰地建立计算机的整机概念。二、数据格式和指令系统本模型机是一个8 位定点二进制计算机,具有四个通用寄存器:R0R3,能执行11 条指
3、令,主存容量为 256KB 。1 数据格式数据按规定采用定点补码表示法,字长为8 位,其中最高位第 7 位)为符号位,小数点位置定在符号位后面,其格式如下:数值相对于十进制数的表示范围为:1X1272 指令格式及功能由于本模型机机器字只有8 位二进制长度,故使用单字长指令和双字长指令。LDR Ri ,D 格式 7 4 3 2 1 0 0 0 0 0 Ri 不 用D 功能:RiMD )精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 18 页个人资料整理仅限学习使用(2)STR Ri,D 格式 7 4 3 2 1 0 0 0 0 1 Ri
4、不 用D 功能:MD ) Ri )(3)ADD Ri ,Rj 格式 7 4 3 2 1 0 0 0 1 0 Ri Rj 功能:Ri Ri ) Rj)(4)SUB Ri, Rj 格式 7 4 3 2 1 0 0 0 1 1 Ri Rj 功能:Ri Ri ) Rj)(5)AND Ri ,Rj 格式 7 4 3 2 1 0 0 1 0 0 Ri Rj 功能:Ri Ri ) Rj)(6)OR Ri,Rj 格式 7 4 3 2 1 0 0 1 0 1 Ri Rj 功能:Ri Ri ) Rj)(7)MUL Ri ,Rj 格式 7 4 3 2 1 0 0 1 1 0 Ri Rj 功能:Ri Ri ) Rj)
5、(8)转移指令格式 7 4 3 2 1 0 0 1 1 1 条件不 用D 功能:条件码 00 无条件转移 PC D 01 有进位转移 PC D 10结果为 0 转移 PC D 11结果为负转移 PC D IN Ri, Mj 格式 7 4 3 2 1 0 1001 Ri Mj 其中 Mj为设备地址,可以指定四种外围设备,当Mj=01 时,选中实验箱的二进制代码开关。功能:Ri Mj) OUT Ri,Mj 格式 7 4 3 2 1 0 1010 Ri Mj 当 Mj=10 时,选中实验箱的显示灯。功能: Mj) Ri HALT 选定 CPU 中所使用的产要器件;(2 根据指令系统、选用的器件和设计
6、指标,设计指令流的数据通路;(3 根据指令系统、选用的器件和设计指标,设计数据流的数据通路。计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结构也就不样,因此数据通路的设计是至关重要的。所谓数据通路的设计,也就是确定机器各逻辑部件相对位置的总框图。数据远路的设计,目前还没有非常标准的方法。主要是依据设计者的经验,并参考现有机器的三种典型形式 对指令系统中的各条指令进行分析,得出所需要的指令周期与操作序列,以便决定各器件的类型和数量。 (2 构成一个总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得
7、由指令系统所包涵的数据通路都能实现,并满足技术指标的要求。 (3 检验全部指令周期的操作序列,确定所需要的控制点和控制信号。 (4 检查所设计的数据通路,尽可能降低成本,简化线路。以上过程可以反复进行,以便得到一个较好的方案。图 1 给出了一个没有考虑乘法除法指令操作的总框图参考方案,注意,在此方案确定之后,应该检查所选用的各个器件是否满足数据通路的要求。实际上,数据通路的设计与器件的选择应同时进行而不能分离地工作。其次,接入总线的器件都要有三态输出,以便与总线连接。另外,在信息传送过程中应当注意器件原码和反码输出的配合关系。图 1 所示的方案采用单总线结构,使用的许多器件都是三态输出,这种方
8、案便于总线的连接和扩展,但缺点是指令和数据的传送都要经过总线,因此对总线的使用权就要分配得当。另外,执行算术逻辑指令时,先将第一个操作数由通用寄存器Ri送至缓冲寄存器DR1,然后再由通用寄存器Rj取第二个操作数送至缓冲寄存器 DR2,之后送往ALU 进行运算。显然,执行条算术逻辑指令的时间相应要长一些。图 1 模型机数据通路框图四、微程序控制器数据通路框图旦确定,指令流与数据流的通路也就随之最后确定,因而运算器和控制器的大部分结构也就确定下来了。图 1中各功能器件上还标注了控制点及其控制信号这些控制信号就是微程序控制器进行设计的依据。1微指令格式微指令格式建议采用水平型微指令,微命令编码采用直
9、接表示法和分段直接译码法相结合的混合表示法,以缩短微指令长度。后继地址采用断定方式。微指令格式如下:控制字段判别字段下址字段同学们应根据本模型的具体情况来确定各字段的长度。2 微程序控制器IRPCAR微程序控制器时序产生器RAM2568LDARLDPCLDIRRDWELDPCBUSDR2DR1LDR0I/O R3R2R1R0LDR3LDR2LDR1LDDR1LDDR2ALUALU BUSBUSS2S1M-1S3S0精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 18 页个人资料整理仅限学习使用根据微指令和微程序的长度,确定控制存储器需选
10、用几片EPROM2716 )用位扩展方式组成。3微程序设计将机器的全部指令系统采用微指令序列实现的过程,叫做微程序设计。一条机器指令对应一个微程序,11条机器指令应当对应11个微程序。微指令格式确定后,微程序的横向设计在于正确地选择数据通路,纵向设计在于确定后继微指令地址事实上,微程序设计的关键在于纵向设计,即如何确定下一条微指令的地址。通常的做法是先确定微程序分支处的微地址,因为微程序分支处需要进行判别测试。这些微地址确定以后,就可以在一个“微地址表”中把相应的微地址单元填进去,以免后面的设计中重复使用而未发现,以致造成设计错误。五、输入输出输入输出是人机联系的重要手段,输入可采用开关、键盘
11、等方式,输出可采用字符显示或打印输出等方式。考虑到成本与设备因素,本模型机采用最简单的二进制开关输入和发光二极管显示的方法,换句话说,本模型机中只使用两种“外部设备”:一种是二进制代码开关,它作为输入设备;另一种是发光二极管,它作为输出设备。本设计为了节省器件,输入输出时可以不设置专门的数据缓冲寄存器。例如输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也就不变。输出时,将输出数据送到数据总线BUS 上,驱动发光二极管进行显示。如果采用正规的输入输出方法,可采用相应的器件构成接口电路。实习经验首先因设计出ALU 计算器模块、 R4R0 零时寄存器选择模块、数据通路模
12、块、存储器模块、计数器模块,最后在根据之前设计所需的信号与结果设计安排cpu 控制模块,这样的设计思路清晰,省时省力。而我在实验室采取了完全相反的步骤,先设计了cpu 控制模块,最后根据控制模块设计其他模块,使得其他模块无法正常匹配cpu 模块,不断地修正cpu 模块,前后重写代码4 次之多严重影响了实验进程。此经验教训应当谨记。实验步骤:实验步骤会按照正确的顺序进行,即将cpu控制模块的设计放在最后,先说明其他模块的设计。ALU 计算模块:设计思想:预算模块要求5 种运算,并且运算数据要求补码表示范围在1X127先将 AND 运算和 OR 运算的电路图做出来,这个比较简单:运算:OR 运算:
13、精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 18 页个人资料整理仅限学习使用接着是加减法器的设计。加减法器:设计思想:符号浮点数的加减法与符号幅值的加减法相似,但两个有重要区别,首先由于有几个需要特别表示,因此浮点数加法算必须明确地检测出操作数的是否为0,正负无穷,或NaNnot a number),移位,对齐,相加减的方法能处理大部分浮点数的加减法。但它只能对规格化的浮点数进行处理,当操作数为0,正负无穷,或 NaN 时,浮点数算法必须作特殊处理。所以,我们可以从符号加减法器开始,然后对结果进行修改,使之成为符号浮点加减法器。但是
14、后来发现maxplusII 中有加减器的运算模块,设置好初值后可以直接拿来使用,原件及具体设置如下:原件:初值设置:只有三处需要设置:打开 cout 输出。LPM_RERERSENTATION= ” SIGNED ”表示操作数为符号数。LPM_WIDTH=8 表示操作数为8 位。有符号8位操作数Cout 有效精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 18 页个人资料整理仅限学习使用乘法器设计:同样在 maxplusII 中找到了乘法器原件,设置初值后便可直接使用。具体设置及如下:需要改动的地方有三处:LPM_REPRESENTAT
15、ION= ” SIGNED ”设置运算为符号赋值运算。LPM_WIDTHA=8 输入操作数A 为 8 位。LPM_WIDTHB=8 输入操作数B 为 8 位。LPM_WIDTHS=16 输出结果为16 位,此处的值必须与输入值相匹配。由于该 cpu 只显示 8 位值,所以我只取成法器输出结果的高8 位结果。最终 ALU :由于设计的需要,必须在每次预算执行前对运算方式进行存储,这样可以节省8 个重复的cpu 状态,同时,为了选择正确的结果输出,需要一个选择器进行筛选。在 maxplusII 中发现多路选择器件LPM_MUX ,设置初值后可以直接取用;电路及初值设置如下:有符号运算有符号运算位操
16、作数位输出结果必须与操作数相匹配精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 18 页个人资料整理仅限学习使用LPM,_MUX初值设置:LPM_SIZE=4 4 路输入选择LPM_WIDTH=8 8 位结果输出数据通路模块:数据通路模块的作用是控制数据在总线上的传输,包括个寄存器的载入、释放,ALU运算器操作数输入、结果的输出等部分R4R1 选择模块:选择模块的功能在这个实验中很重要,其可以大量减少cpu 控制模块的状态设置,选择器最基础的功能有根据指令的要求确定特定的临时寄存器的释放和载入。同时根据设计的需要,还要有存储备选数据的能
17、力,避免被总线的上的数据影响最终的选择结果。设计思路:有四个临时寄存器,可以由两位决定二进制值决定各个寄存起的编号,可由24 译码器实现此功能。选择器要能起到选择正确顺序是临时寄存器工作的作用,所以要有控制端控制第一顺序操作的临时寄存器和第二时间操作的临时寄存器该 cpu 对寄存器的操作最多只有两个操作步)。最后要决定对所选的临时寄存器是载入还是释放,或者既不载入也不释放。根据这一思路设计的选择模块如下:运算方式存储器结果选择器运算器位结果输出路输入选择精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 18 页个人资料整理仅限学习使用载入
18、选择:释放选择:设计思路:根据实验的要求,数据通路需要一个ALU 运算模块,两个数据寄存器,其功能是保存操作数并将得到的操作数直接送入ALU 预算模块进行预算。4 个零时寄存器R4R1,一个数据选择模块,控制外部数据输入的计数器。设计图下:存储预选值选择寄存器操作顺序选择是否进行操作选择置有效置有效精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 18 页个人资料整理仅限学习使用存储器模块:存储器模块的作用即存储程序指令和程序需要的各项数据,以及在恰当的时机读出个指令和数据。包括一个 PC计数器 program counter)一个 AR
19、 寄存器 adress register),一个内存芯片AR PC+1 Ri-M AR-M DR1-Ri Ri-ALU DR2-Rj DR1-Ri Ri-ALU DR2-Rj DR1-Ri Ri-ALU DR2-Rj DR1-Ri Ri-ALU DR2-Rj DR1-Ri Ri-ALU DR2AR PC+1 PC+1 PC-M Ri-M MAR PC+1 ALU-IR AR-M ALU-IR ALU-IR ALU-IR ALU-IR M-Ri TETCH2 Ri-M AR-M FETHC2 FETHC2 R CLAR PC+1 PC-P CB-IR CL VARIABLE OUT26.0:NO
20、DE。 IN4.0:NODE 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 18 页个人资料整理仅限学习使用BEGIN IN=(S,IR7,IR6,IR5,IR4。 TABLE IN=OUT。 B00000 =B010010000000000010000000001。-SW-PC 1% B00001 =B100010000000000111000000010。-PC-AR PC+1 2% B00010 =B110010000000010010011010000。-RAM-IR% %CHUSHI 3% B10000 =B010010
21、000000000010000000110。%CLCTB100010000000000111000010011 。%ARB110010000000010110000010110 。%ARB111010000010010010000000001 。%MB010010000000000010000000110。%CLCTB100010000000000111000011111 。%ARB110010000000010110000011011 。 %ARB110110000100001010000000001 。%RiB010010000000000010000000111。%ALU_SB11011
22、1111101000010000000011 。 %DR1B110111110100100010000010111 。 %DR2B111001110010000010000000001 。%RiB110110111101000010000000011 。 %DR1B110110011101000010000000011 。%DR1B110110101101000010000000011 。%DR1B110110001101000001000000011 。%DR1B100010000000000111000100101。%ARB110010000000010000000000001。%PCB110010000000000011000000001。%PC+1% %JUMP 19% B11001 =B010010000000000010000001010。%CLCTB011010000000000010000000001。%Ri-Mi% %IN 20%精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 18 页