计算机系统实验2015_第1页
计算机系统实验2015_第2页
计算机系统实验2015_第3页
计算机系统实验2015_第4页
计算机系统实验2015_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、陈智勇陈智勇. . 计算机原理课程设计计算机原理课程设计( (第二版第二版). ). 西安电子科技大学出版社西安电子科技大学出版社, 2014.6, 2014.6 计算机系统实验时间安排 第一周四上午1-4节,9106上课(东区) 第二周四上午1-4节,5407实验(花江校区) 第三周四上午1-4节,5407实验(花江校区) 第四周四上午1-4节,5407实验(花江校区) 计算机系统实验计算机系统实验 1 1、实验的题目、实验的题目 2 2、实验完成的内容、实验完成的内容 3 3、实验的基本要求、实验的基本要求 4 4、实验的具体步骤、实验的具体步骤 5 5、考核方式、考核方式 6 6、典型、

2、典型VHDLVHDL程序分析程序分析 7 7、注意事项、注意事项 1、实验的题目、实验的题目 A A类(成绩为类(成绩为“优优”) 题目:设计一个流水线微处理器(三级流水线)题目:设计一个流水线微处理器(三级流水线) 输入一个无符号整数输入一个无符号整数n n,求,求1 1到到n n之间所有奇数的平方和并输之间所有奇数的平方和并输 出显示。出显示。 B B类或类或C C类类 题目:设计一台嵌入式题目:设计一台嵌入式CISCCISC模型计算机模型计算机 采用定长CPU周期、联合控制方式,并运行能完成一定功能 的机器语言源程序进行验证,机器语言源程序功能如下: B B类(最高成绩为类(最高成绩为“

3、优优”) 连续输入连续输入5 5个有符号整数(个有符号整数(8 8位二进制补码表示)存入位二进制补码表示)存入RAMRAM的的 连续存储区域,再从连续存储区域,再从RAMRAM中依次读出这中依次读出这5 5个数,求最大负数的绝个数,求最大负数的绝 对值并输出显示。对值并输出显示。 C C类(最高成绩为类(最高成绩为“良良”) 输入一个无符号整数输入一个无符号整数n n,求,求1 1到到n n之间所有奇数的平方和并输之间所有奇数的平方和并输 出显示。出显示。 说明:数据从外部输入。说明:数据从外部输入。 1、实验的题目、实验的题目 (范例)(范例)求求1 1到任意一个整数到任意一个整数N N之间

4、的所有奇数之和之间的所有奇数之和 并输出显示,和为单字长并输出显示,和为单字长 说明:说明:N N从输入总线上输入,和从输出总线上输出,从输入总线上输入,和从输出总线上输出, 循环显示计算结果。循环显示计算结果。 2、实验完成的内容、实验完成的内容 1.完成系统的总体设计,画出模型机数据通路框图; 2.设计微程序控制器(CISC模型计算机)的逻辑结构 框图; 3.设计机器指令格式和指令系统; 4.设计时序产生器电路; 5.设计所有机器指令的微程序流程图; 6.设计操作控制器单元; 在CISC模型计算机中,设计的内容包括微指令格 式(建议采用全水平型微指令)、微指令代码表(根 据微程序流程图和微

5、指令格式来设计)和微程序控制 器硬件电路(包括地址转移逻辑电路、微地址寄存器、 微命令寄存器和控制存储器等。具体电路根据微程序 控制器的逻辑结构框图、微指令格式和微指令代码来 设计)。 2、实验完成的内容、实验完成的内容 7.设计模型机的所有单元电路,并用VHDL语言(也可 使用GDF文件-图形描述文件)对模型机中的各个部 件进行编程,并使之成为一个统一的整体,即形成顶 层电路或顶层文件; 8.由给出的题目和设计的指令系统编写相应的汇编语 言源程序; 9.根据设计的指令格式,将汇编语言源程序手工转换 成机器语言源程序,并将其设计到模型机中的ROM中去; 10.使用EDA软件进行功能仿真,要保证

6、其结果满足题 目的要求;(其中要利用EDA软件提供的波形编辑器, 选择合适的输入输出信号及中间信号进行调试。) 11.器件编程,并在EDA实验平台上进行操作演示。 3、实验的基本要求、实验的基本要求 该实验作为一门独立的课程,要求学生掌握流水流水 线微处理器的组成和工作原理;线微处理器的组成和工作原理;CISC模型机的组成和 工作原理(CISC模型机可以是任何计算机组成原理教 材上的结构图,建议选用计算机原理课程设计(第 二版)教材上的CPU结构图),学会Altera MAX+ plus 或Quartus EDA软件的使用,能用EDA软件 设计一个能完成一定功能的流水线微处理器或模型计 算机,

7、并通过功能仿真和在EDA实验平台上运行一个程 序来验证模型机设计的正确性。 4、实验的具体步骤(、实验的具体步骤(1) 一、完成系统的总体设计一、完成系统的总体设计 4、实验的具体步骤(、实验的具体步骤(1) 4、实验的具体步骤(、实验的具体步骤(1) 说明:范例中,所有寄存器部件的时钟控制信号设计为上升沿有效。说明:范例中,所有寄存器部件的时钟控制信号设计为上升沿有效。 4、实验的具体步骤(、实验的具体步骤(1) 注意一:在注意一:在EDA软件设计时,所有的输出总线不能直接连接,需增加多路选择器。软件设计时,所有的输出总线不能直接连接,需增加多路选择器。 注意二:在注意二:在EDAEDA软件

8、设计时,软件设计时,RAMRAM的数据总线设计为单独的输入总线与输出总线。的数据总线设计为单独的输入总线与输出总线。 注意三:在注意三:在RAM设计时,需增加设计时,需增加RAM的读写信号和片选信号,在微指令格式和微程序控制器时也必须同时考的读写信号和片选信号,在微指令格式和微程序控制器时也必须同时考 虑虑 4、实验的具体步骤(、实验的具体步骤(2) 二、设计微程序控制器的逻辑结构框图二、设计微程序控制器的逻辑结构框图 说明:说明: 在在T4T4内形成微指令的微地址,并访问控制存储器,在内形成微指令的微地址,并访问控制存储器,在 T2T2的上升沿到来时,将读出的微指令打入微指令寄存器,的上升沿

9、到来时,将读出的微指令打入微指令寄存器, 即图中的微命令寄存器和微地址寄存器。即图中的微命令寄存器和微地址寄存器。 4、实验的具体步骤(、实验的具体步骤(3) 三、设计机器指令格式和指令系统三、设计机器指令格式和指令系统 Rs或或Rd选定的寄存器选定的寄存器 00R0 01R1 10R2 11R3 模型机规定数据的表示采用定点整数补码表示,单字长为模型机规定数据的表示采用定点整数补码表示,单字长为8 8位,其格式如下:位,其格式如下: 7 76 5 4 3 2 1 06 5 4 3 2 1 0 符号位符号位尾数尾数 4、实验的具体步骤(、实验的具体步骤(4) 四、设计时序产生器电路四、设计时序

10、产生器电路 4、实验的具体步骤(、实验的具体步骤(5) 五、设计微程序流程图五、设计微程序流程图 微程序控制器的设计过程 (1)根据微处理器结构图、指令格式和功能设计所有机 器指令的微程序流程图,并确定每条微指令的微地址和后继 微地址; (2)设计微指令格式和微指令代码表; (3)设计地址转移逻辑电路; (4)设计微程序控制器中的其它逻辑单元电路,包括微 地址寄存器、微命令寄存器和控制存储器; (5)设计微程序控制器的顶层电路(由多个模块组成)。 4、实验的具体步骤(、实验的具体步骤(5) 五、设计微程序流程图(续)五、设计微程序流程图(续) 4、实验的具体步骤(、实验的具体步骤(6) 六、六

11、、设计操作控制器单元(即微程序控制器)设计操作控制器单元(即微程序控制器) (1)设计微指令格式和微指令代码表 CISC模型机系统使用的微指令采用全水平型微指令,字长为24位,其中微 命令字段为16位,P字段为2位,后继微地址为6位,其格式如下: CLRLOADLDPC功能功能 0 0 将将PCPC清清0 0 1 10 0 BUS-PCBUS-PC 1 11 10 0不装入,也不计数不装入,也不计数 1 11 1 PC+1PC+1 程序计数器程序计数器PCPC的功能表的功能表 寄存器选择寄存器选择 算术逻辑运算单元算术逻辑运算单元ALUALU的功能表的功能表 S1S0功能功能 00(AC)+(

12、DR) 01(AC)-(DR) 10(AC)+1 具体功能根据实际情况设计具体功能根据实际情况设计 4、实验的具体步骤(、实验的具体步骤(6) 六、六、设计操作控制器单元(续)设计操作控制器单元(续) CS_DRD_D功能功能 1 1 不选择不选择 0(0() )0 0 写写 0(0() )1 1读读 RAMRAM的功能表的功能表 CISC模型机中RAM芯片的读写操作时序图 4、实验的具体步骤(、实验的具体步骤(6) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOG

13、IC_UNSIGNED.ALL; ENTITY RAM IS PORT( CS_D,RD_D:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END RAM; ARCHITECTURE A OF RAM IS TYPE MEMORY IS ARRAY(0 TO 31) OF STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS(CS_D) VARIAB

14、LE MEM:MEMORY; BEGIN IF(CS_DEVENT AND CS_D=0) THEN IF(RD_D=0) THEN -写RAM MEM(CONV_INTEGER(ADDR(4 DOWNTO 0):=DIN; ELSIF(WR=1) THEN -读RAM DOUT=MEM(CONV_INTEGER(ADDR(4 DOWNTO 0); END IF; END IF; END PROCESS; END A; 4、实验的具体步骤(、实验的具体步骤(6) 范例设计时的微指令列表范例设计时的微指令列表 4、实验的具体步骤(、实验的具体步骤(6) (2 2)设计地址转移逻辑电路)设计地址转

15、移逻辑电路 地址转移逻辑电路是根据微程序流程图中的棱形框部分及地址转移逻辑电路是根据微程序流程图中的棱形框部分及 多个分支微地址,利用微地址寄存器的异步置多个分支微地址,利用微地址寄存器的异步置“1”1”端,实现端,实现 微地址的多路转移。微地址的多路转移。 由于微地址寄存器中的触发器异步置由于微地址寄存器中的触发器异步置“1”1”端低电平有效,端低电平有效, 与与A5A5A0A0对应的异步置对应的异步置“1”1”控制信号控制信号SE5SE5SE0SE0的逻辑表达的逻辑表达 式为:(式为:(A4A4的异步置的异步置“1”1”端端SE4SE4实际未使用)实际未使用) (3 3)设计微程序控制器中

16、的其它逻辑单元电路,包括微地址)设计微程序控制器中的其它逻辑单元电路,包括微地址 寄存器、微命令寄存器和控制存储器;寄存器、微命令寄存器和控制存储器; (4 4)设计微程序控制器的顶层电路(由多个模块组成)。)设计微程序控制器的顶层电路(由多个模块组成)。 4、实验的具体步骤(、实验的具体步骤(7) 七、设计单元电路七、设计单元电路 设计模型机中的所有单元电路,并用VHDL语言(也可使用GDF 文件-图形描述文件)对模型机中的各个部件进行编程,并使 之成为一个统一的整体,即形成顶层电路。 具体设计方法详见教材第3章。 范例对应的顶层电路图。范例对应的顶层电路图。 4、实验的具体步骤(、实验的具

17、体步骤(8) 八、编写汇编语言源程序八、编写汇编语言源程序 由给出的题目(范例)和设计的指令系统编写相应的汇编语言源程序。 算法思想为:采用R0寄存器存放从开关输入的任意一个整数,R1存放 准备参加累加运算的奇数,R2存放累加和,用一个循环程序实现如下: IN1 R0 功能:从开关输入任意一个整数nR0 MOV R1,1 将立即数1R1(R1用于存放参与运算的奇数) MOV R2,0 将立即数0R2(R2用于存放累加和) L1: CMP R0,R1 将R0的整数n与R1的奇数进行比较,锁存CY/FC和ZI/FZ JB L2 小于,则转到L2处执行 ADD R1,R2 否则,累加求和;并将R1的

18、内容加2,形成下一个奇数 INC R1 INC R1 JMP L1 跳转到L1处继续执行 L2: OUT1 R2 输出累加和 JMP L2 循环显示 4、实验的具体步骤(、实验的具体步骤(9) 九、编写机器语言源程序九、编写机器语言源程序 根据设计的指令格式,将汇编语言源程序手工转换成机器语言源程序, 并将其设计到模型机中的ROM中去。 与2.3.8中汇编语言源程序对应的机器语言源程序如下: 助记符 地址(十六进制) 机器代码 功能 IN1 RO 00 00000000 (SW) R0 MOV R1,1 01 00010001 1R1 02 00000001 MOV R2,0 03 00010

19、010 0R2 04 00000000 L1: CMP R0,R1 05 00100001 (R0)-(R1),锁存标志 JB L2 06 00110000 L2PC 07 00001101 ADD R1,R2 08 01000110 (R1)+(R2)R2 INC R1 09 01010001 (R1)+1R1 INC R1 0A 01010001 (R1)+1R1 JMP L1 0B 01100000 L1PC 0C 00000101 L2: OUT1 R2 0D 01111000 (R2)LED JMP L2 OE 01100000 L2PC 0F 00001101 4、实验的具体步骤(

20、、实验的具体步骤(10) 十、编译和功能仿真十、编译和功能仿真 在完成第1步至第9步的所有设计后,使用EDA软件对模型计算机(顶层电 路)进行编译,编译通过后再进行功能仿真,其中要利用EDA软件 提供的波形编辑器,选择合适的输入输出信号及中间信号进行调试,要保证 仿真的结果满足题目的要求。 若编译的过程中出现错误或仿真的结果不正确,要分析错误的原因,找 出问题所在,这可能会修改到2.3.1至2.3.9中的任何一个或多个设计步骤。 助记符 地址(十六进制) 机器代码 IN1 RO 00 00000000 MOV R1,1 01 00010001 02 00000001 MOV R2,0 03 0

21、0010010 04 00000000 L1: CMP R0,R1 05 00100001 JB L2 06 00110000 07 00001101 ADD R1,R2 08 01000110 INC R1 09 01010001 INC R1 0A 01010001 JMP L1 0B 01100000 0C 00000101 L2: OUT1 R2 0D 01111000 JMP L2 OE 01100000 0F 00001101 实验的具体步骤(实验的具体步骤(11) 十一、器件编程(若有实验条件)十一、器件编程(若有实验条件) 5、考核方式(、考核方式(1) 为考核学生的实际动手能

22、力,避免高分低能现象,同时也为了避免实验 报告的抄袭现象的出现,拟采用如下考核方式: 1.动手能力占60%;动手能力的考核主要包括:设计题目的难易程度、 设计进度的快慢、实验设备的完好率、设计的最后结果(在实验台上能正确 运行机器语言源程序),以及回答问题(或答辩)的正确性等。 答辩内容:答辩内容: 在微程序流程图中,能指出任何一个在微程序流程图中,能指出任何一个CPUCPU周期内完成的操作及所需的周期内完成的操作及所需的 控制信号,并能说出设计时这些控制信号是高电平有效,还是低电平有效;控制信号,并能说出设计时这些控制信号是高电平有效,还是低电平有效; 调试与仿真;调试与仿真; 指令的微程序

23、流程图;指令的微程序流程图; 其它理论知识。其它理论知识。 2.实验报告占30%;实验报告的考核主要包括:设计题目的难易程度、 设计原理的正确性、报告书写是否认真、是否有抄袭现象等。 若实验报告为抄袭,总评成绩将直接给不及格。若实验报告为抄袭,总评成绩将直接给不及格。 5、考核方式(、考核方式(2) 实验报告的内容包括: (1)实验的题目(设计一台嵌入式CISC模型机;设计一个流水线微处设计一个流水线微处 理器理器); (2)CISC模型机数据通路框图;流水线微处理器的总体框架;流水线微处理器的总体框架; (3)操作控制器的逻辑框图;流水线微处理器采用的关键技术;流水线微处理器采用的关键技术;

24、 (4)模型机(流水线微处理器)(流水线微处理器)的指令系统和所有指令的指令格式; (5)所有机器指令的微程序流程图;所有机器指令的所有机器指令的CPUCPU操作流程图;操作流程图; (6)嵌入式CISC模型计算机(流水线微处理器)(流水线微处理器)的顶层电路图; (7)汇编语言源程序; (8)机器语言源程序; (9)机器语言源程序的功能仿真波形图及结果分析; (10)故障现象和故障分析; (11)心得体会; (12)软件清单,含各个部件的VHDL源程序(.vhd)或图形描述文件 (.gdf)。 3.平时表现占10%。平时表现的考核主要包括:考勤、学习态度等。 6、VHDL程序结构及含义(程序

25、结构及含义(1) P20【程序3-1】-组合逻辑电路 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ALU IS PORT( A: IN STD_LOGIC_VECTOR(7 DOWNTO 0); B: IN STD_LOGIC_VECTOR(7 DOWNTO 0); S1,S0: IN STD_LOGIC; BCDOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ; CF,ZF: OUT

26、STD_LOGIC ); END ALU; ARCHITECTURE A OF ALU IS SIGNAL AA,BB,TEMP:STD_LOGIC_VECTOR(8 DOWNTO 0); BEGIN PROCESS BEGIN IF(S1=0 AND S0=0) THEN -执行加法运算 AA=0 BB=0 TEMP=AA+BB; BCDOUT=TEMP(7 DOWNTO 0); CF=TEMP(8); IF (TEMP=100000000 OR TEMP=000000000) THEN ZF=1; ELSE ZF=0; END IF; 6、VHDL程序结构及含义(程序结构及含义(2) EL

27、SIF(S1=0 AND S0=1) THEN -执行比较或减法运算 BCDOUT=A-B; IF(AB) THEN CF=1; ZF=0; ELSIF(A=B) THEN CF=0; ZF=1; ELSE CF=0; ZF=0; END IF; ELSIF(S1=1 AND S0=0) THEN -执行加1运算 AA=0 TEMP=AA+1; BCDOUT=TEMP(7 DOWNTO 0); CF=TEMP(8); IF (TEMP=100000000) THEN ZF=1; ELSE ZF=0; END IF; ELSE BCDOUT=00000000 ; CF=0; ZF=0; END IF; END PROCESS; END A; 6、VHDL程序结构及含义(程序结构及含义(3) P24【

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论