东北大学秦皇岛分校组成原理课程设计.doc
东北大学秦皇岛分校计算机与通信工程学院计算机组成原理课程设计专业名称 计 算 机 科 学 与 技 术班级学号学生姓名指导教师设计时间 2014.12.232015.1.3课程设计任务书专业计算机与通信工程学院 学号 学生姓名(签名) 设计题目一、设计实验条件综合楼 808 实验室二、设计任务及要求1. 设计第 10 条指令ADDC MM,R;2. 设计第 35 条指令MOV MM,A;3. 设计第 44 条指令JMP MM;4. 设计主存储器 EM;5. 设计四位移位寄存器。三、设计报告的内容1. 设计题目与设计任务(设计任务书)2. 前言(绪论)设计的目的、意义等3. 设计主体(各部分设计内容、分析、结论等)4. 结束语(设计的收获、体会等)5. 参考资料四、设计时间与安排1、设计时间2 周2、设计时间安排 熟悉实验设备、收集资料 2 天设计图纸、实验、计算、程序编写调试 5 天编写课程设计报告 2 天答辩 1 天一.课程设计内容题目8 位模型机设计指令系统及主存储器设计设计内容如下1、 指令系统设计编号 助记符 机器码 1 机器码 2 功能10 ADDC A R 001001将间址存储器的值加入累加器 A中,带进位35 MOV MM A 100011 II将 A 中的值送入存储器 MM 地址中44 JMP MM 101011 MM 跳转到 MM 地址2、 模型机硬件设计题目主存储器 EM 设计功能设计一个 256*8bit 的存储器,模型机地址线 8 位,数据线 8 位。3、 逻辑电路设计题目4 位移位寄存器逻辑电路74L194 芯片D0D3并行数据输入端CR异步清零端CP上升沿有效的移位脉冲Dsr右移串行输入端Dsl左移串行输入端M0、M1工作模式控制端Q0Q3并行数据输出端功能实现左移,右移,直送功能二.系统设计1、 模型机逻辑框图2、 指令系统设计 3、 微操作控制信号1、XRD 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。2、EMWR 程序存储器 EM 写信号。3、EMRD 程序存储器 EM 读信号。4、PCOE 将程序计数器 PC 的值送到地址总线 ABUS 上MAR。5、EMEN 将程序存储器 EM 与数据总线 DBUS 接通,由 EMWR 和 EMRD 决定是将DBUS 数据写到 EM 中,还是从 EM 读出数据送到 DBUS。6、IREN 将程序存储器 EM 读出的数据打入指令寄存器 IR。7、EINT 中断返回时清除中断响应和中断请求标志,便于下次中断。8、ELP PC 打入允许,与指令寄存器 IR3、IR2 位结合,控制程序跳转。9、FSTC进位置 1,CY110、FCLC 进位置 0,CY011、MAREN将地址总线 ABUS 上的地址打入地址寄存器 MAR。12、MAROE将地址寄存器 MAR 的值送到地址总线 ABUS 上。13、OUTEN将数据总线 DBUS 上数据送到输出端口寄存器 OUT 里。14、STEN 将数据总线 DBUS 上数据存入堆栈寄存器 ST 中。15、 RRD 读寄存器组 R0-R3,寄存器 R的选择由指令的最低两位决定。16、 RWR 写寄存器组 R0-R3,寄存器 R的选择由指令的最低两位决定。17、 CN 决定运算器是否带进位移位,CN1 带进位,CN0 不带进位。18、 FEN 将标志位存入 ALU 内部的标志寄存器。19、 WEN 将数据总线 DBUS 的值打入工作寄存器 W 中。第 10 条指令 ADDC A,R指令类型算术运算指令寻址方式寄存器直接寻址,寄存器间接寻址第 35 条指令 MOV EM,A指令类型数据传送指令寻址方式存储器直接寻址,寄存器直接寻址第 44 条指令 JMP MM指令类型转移指令寻址方式存储器直接寻址20、 AEN 将数据总线 DBUS 的值打入累加器 A 中。21-23 X2 X0 X2、X1、X0 三位组合来译码选择将数据送到 DBUS 上的寄存器。 24-26 S2 S0 S2、S1、S0 三位组合决定 ALU 做何种运算。4、 指令执行流程编号助记符 功能 机器码周期总数节拍数微操作 控制信号涉及的硬件T2 PCMAR PCOE, MARENT1 EMW EMEN, EMRD ,WEN1 _FATCH_ 取指令 000000XX 010T0 WIR,PC 1PC IRENPC, MAR , EM, W,IRT5 RDBUSMAR RRD,MARENT4 EMW EMRD,EMEN,WEN10 ADDC A,R将间址存储器的值加入累加器 A 中带进位001001XX 101T3 WADBUSA S2-S0,AEN,CN1,FENR,DBUS,MAR, EM,W,A,ALU,FT7 PCMAR PCOE,MARENT6EMDBUSMARPC 1PCEMRD,MARENT5 AT AENT4 TD35 MOV EM,A将 A 中的值送入存储器 EM地址中100010XX 111T3 DDBUSEM EMWRPC, MAR, EM, DBUS, W, A, ALUT4 PC-MAR MAREN,PCOE44 JMP EM跳转到 EM 地址101011XX 100T3EM-DBUS-PCPC1-PCEMEN,ELPPC,MAR,EM,ABUS,第 10 条指令 ADDC A,R指令类型算术运算指令寻址方式寄存器直接寻址,存储器直接寻址第 35 条指令 MOV EM,A指令类型数据传送指令寻址方式存储器直接寻址,寄存器直接寻址第 44 条指令 JMP MM指令类型转移指令寻址方式存储器直接寻址流程图如下所示开始T2010T1001T0000ADDC A, R MOV EM, A JMP EMT5101 T4100T7111T4100 T3011T6110T3011T5101T4100T3011PCMAR PCOE, MARENEMWEMEN, EMRD ,WENWIR, PC1PC IREN译码或测试RMARRRD,MARENPCMARPCOE,MARENPCMARMAREN,PCOEEMWEMRD,EMEN,WENWADBUSAS2-S0,AEN,CN1,FENEMDBUS MAR,PC1PCEMRD,MARENEMDBUSPCEMWR,EMEN,ELPAT AENTDDDBUSEMEMWR三.系统实现1、 模型机实现1).存储器设计VHDL 语言entity sram isPort addr in STD_LOGIC_VECTOR 7 downto 0;地址选择信号emrd in STD_LOGIC;读信号emwr in STD_LOGIC;写信号cs in STD_LOGIC;片选信号datain in STD_LOGIC_VECTOR 7 downto 0;数据写入端dataout out STD_LOGIC_VECTOR 7 downto 0;数据读出端cp in STD_LOGIC;end sram;architecture Behavioral of sram istype memory is array0 to 255of std_logic_vector7 downto 0;定义存储空间signal data1memory;signal addr1integer range 0 to 255;beginaddr1Z;end if;end process;end Behavioral;2).四位双向移位寄存器LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY YWJCQ4 ISPORTMIN STD_LOGIC_VECTOR1 DOWNTO 0;DIN STD_LOGIC_VECTOR3 DOWNTO 0;CR,CP,DSR,DSLIN STD_LOGIC;QBUFFER STD_LOGIC_VECTOR3 DOWNTO 0;END YWJCQ4;ARCHITECTURE W OF YWJCQ4 ISBEGINPROCESSCR,CP,DSR,DSL,M,DBEGINIF CR0 THEN QQQQQQ;END CASE;END IF;END PROCESS;END W;四.系统测试1、模型机测试分析由于模型机是 8 位地址线,8 位数据线,而且存储器容量为 64k*8bit,因此只能采用有 8 位引脚却能实现 16 位地址线功能的 DRAM 芯片。 、另外,emen,emrd ,emwr是使能端,emrd 控制读存储器,emwr 控制写存储器,emen 将程序存储器 EM 与数据总线 DBUS 接通,由 emwr 和 emrd 决定试讲 DBUS 数据写到 EM 中,还是从 EM 中读出数据送到 DBUS2.硬件测试1) 、功能仿真A主存储器 EM从实验结果分析我们在 00000001 地址写入 00000101,然后读出该地址的内容。B.四位双向移位寄存器由图形分析可得如下结论CR 为 0,无论输入什么输出都是 0000;CR 为 1,CP 脉冲为上升沿,M1,.M0 为 10,则 Dsl 有效,数据左移,输出为 Qn-1 向左移一位,如图第一个上升沿,Qn-10000,左移后仍为 0000;CR 为 1,CP 脉冲为上升沿,M1,M0 为 01,则 Dsr 有效,数据右移,输出为 Qn-1 向右移一位,如图第五个上升沿,Qn-11100,右移一位,输出 0110,;CR 为 1,CP 脉冲为上升沿,M1,M0 为 11,则数据直送,输出等于输入,如图第二个上升沿,输入 d0d31100,输出为 1100。2)RTL 逻辑电路A.主存储器 EMH B. 四位双向移位寄存器 , 五.总结在设计实验内容一时,开始只设计出 5 个节拍,可是给出的是 7 个节拍,所以当时很纠结,到底该怎么办,后来经过一番讨论,想到了应该是双字节指令,第二个字节存放地址,所以应该添加一个 PC1 操作;然后再实验内容二时,之前想到的是用多个芯片设计内存,但后来发现,地址总线数为 8 条,而存储容量又得 64k*8bit,最终,在讨论中又灵机一动,想到了 DRAM 芯片,8 个引脚可以扩展成 16 个引脚,因而设计出一片 DRAM 芯片的存储器;在实验内容三上,操作过程中,输出结果一直不对,后来检查发现始终信号设置出问题了,改过来后,成功了实验二的设计经历了几番波折,但后来经过老师的指导,我们有了方向,虽然做出的实体很简单,但是也付出了很多,各种查阅资料,最终终于实现了六.心得体会说实话,刚一看到实验内容,以及那两个从未谋面的软件,还有一门从未听说过的VHDL 语言,脑袋就成浆糊了,但是,后来看进去后,分布解决整个报告,发现不是那么困难,指令系统上课也讲过,参考课本,加上上课讲的知识,顺利的完成了;接下来的实验内容二,也有课堂讲过的,只是要用到 VHDL 语言,和 xilinx 还有 modelsim 两个软件,于是展开了对 VHDL 语言的学习,通过一晚上的学习,掌握了语言的基本内容,了解了一些新数据类型及其表示方式,以及语言的结构组成,又对一门新语言有所了解,增长了知识,在对xilinx 软件和 modelsim 软件的使用上,通过询问同学及老师的讲解视频,也顺利掌握了完成本次实验的基本操作步骤,本次实验,分组进行,在实验中,我们团结协作,互相讨论,集思广益,在几个有纠纷的问题中都通过讨论最终得到了解决,让我深深体会了团队力量的强大,并且增强了团队精神,为以后工作中的团结协作打下了良好的基础。通过本次课程设计,增添了对计算机组成原理学科的理解,对它又有了新的认识,并且课程设计增添了自学能力,及对问题的解决能力,日子虽然难熬了点,但是这种忙碌的生活回忆起来还是很享受的,总之,本次课程设计收获颇丰七.参考文献(资料)1 袁静波等.计算机组成与结构.北京机械工业出版社,2011.2 付永庆 ,VHDL 语言及其应用,高等教育出版社出版 ,20053 姜立东等,VHDL 语言程序设计及应用,机械工业出版社,20104 汉泽西.EDA 技术及其应用 M. 北京北京航空航天出版社, 20045 程晓荣,翟学明,王晓霞. 计算机组成与结构M.北京中国电力出版社, 2007.