1、1电子信息学院实 验 报 告 书课 程 名 : 计算机组成原理 题 目: 实验类别 【验证】 班 级: 学 号: 姓 名: 评语:实验态度:认真( ) 一般( ) 差( )实验结果:正确( ) 部分正确( )错( )实验理论:掌握( ) 熟悉( ) 了解( ) 不懂( )操作技能:强( ) 一般( ) 差( )实验报告:好( ) 一般( ) 差( )成绩: 指导教师: 曾宪文 批阅时间: 年 月 日2目 录第一章 实训任务概述 21.1 实训目的 .21.2 实训任务 2第二章 设计内容 42.1 指令的执行流程 42.1.1“异或”指令 42.1.2 读取指令 42.1.3 “ADD”指令
2、42.2 储存器 42.3 运算器 52.4 硬件系统 52.4.1 计算机硬件组成 52.4.2 采用门电路设计一个 8 位的全加器电路 .62.4.3 定点补码加减法装置逻辑框图 .72.5 模型机综合实验 72.5.2 转移实验 7第三章 图表格式 83.1“异或”指令 833.2 读取指令 83.3“ADD ”指令 93.4 储存器 103.5 设计计算机运算器 113.6 了解计算机硬件系统 173.6.1 8 位全加器 .173.6.2 定点补码加减法逻辑图 .173.7 运算器的逻辑组成及设计模型及综合实验 .183.7.1 移位/取反实验 183.7.2 转移实验 20第四章
3、个人总结 224.1 主要结论 224.2 对实训的认识 22参考文献 23致 谢 244第一章 课设任务概述1.1 课设目的通过本周的课设,使我们对计算机组成与体系结构这门课有一个更深入的了解。主要要了解计算机的硬件组成、微操作以及储存器中的地址变换等。将我们在课堂上所学的理论知识应用于实践。1.2 课设任务1、参考给出的或者课本上的计算机的硬件(应有中断功能)组成,写出完成下面给定的指令格式的指令的执行流程;(1)累加器内容完成“异或”运算“异或” 指令的指令格式操作码 DR SR(2)把一个内存单元中的内容读到所选择的一个累加器中。操作码 DR SR(3)以下五条机器指令为选做题目,给出
4、指令执行流程(选做要求:(组号 mod 5)+1=红色题目编号):IN(输入) 、ADD(二进制加法) 、STA (存数) 、OUT(输出) 、JMP(无条件转移) ,其指令格式如下:助记符 机器指令码 说明IN 0000 0000 “INPUT DEVICE”中的开关状态R0ADD addr 0001 0000 R0+addr R0STA addr 0010 0000 R0 addrOUT addr 0011 0000 addr BUS5JMP addr 0100 0000 addrPC2、以下三道为选做题目(选做要求:(组号 mod 3)+1=红色题目编号)某机器中,已知配有一个地址空间为
5、(00001FFF) 16的 ROM 区域,现在用几个 SRAM 芯片(8K8 位)形成一个 16K16 位的 RAM 区域,起始地址为2000H。假设 SRAM 芯片有 CS 和 WE 控制端,CPU 地址总线 A15A0 ,数据总线为 D15D0 ,控制信号为 R / W(读 / 写) ,MREQ(当存储器读或写时,该信号指示地址总线上的地址是有效的) 。要求:(1) 满足已知条件的存储器,画出地址码方案。(2) 画出 ROM 与 RAM 同 CPU 连接图。要求用 128K16 位的 SRAM 芯片设计 512K16 位的存储器,SRAM 芯片有两个控制端:当 CS 有效时该片选中。当
6、W/R=1 时执行读操作,当 W/R=0 时执行写操作。用 64K16 位的EPROM 芯片组成 128K16 位的只读存储器。试问:。数据寄存器多少位?地址寄存器多少位?共需多少片 EPROM?画出此存储器组成框图。某机器中,已知配有一个地址空间为 0000H-3FFFH 的 ROM 区域。现在再用一个 RAM 芯片(8K8)形成 40K16 位的 RAM 区域,起始地址为 6000H,假定 RAM 芯片有 和 信号控制端。CPU 的地址总线为 A15-A0,数据总线为 D15-D0,控制信号为 R/ (读/写), (访存),要求:(1) 画出地址译码方案。(2) 将 ROM 与 RAM 同
7、 CPU 连接。3、设计计算机运算器(包括逻辑框图与指令系统,以及各指令的微程序流程图)4、了解计算机的硬件系统。就计算机的某些硬件组成部分,说明对其认识。(1)采用门电路设计一个 8 位的全加器电路 6(2)定点补码加减法装置逻辑框图5、运算器的组成及设计模型机综合实验。第二章 设计内容2.1 指令的执行流程2.1.1“异或”指令“异或” 指令的指令格式操作码 DR SR(DR:数据寄存器 SR:源寄存器)这条指令实现将目标寄存器 DR 的内容与源 寄存器 SR 的内容相异或并将结果存入目标寄存器 DR 的功能。2.1.2 读取指令操作码 DR SR把源寄存器 SR 中的内容读到目标寄存器
8、DR 中。2.1.3 “ADD”指令 以下五条机器指令为选做题目,给出指令执行流程(选做要求:(组号 mod 5)+1=红色题目编号):IN(输入) 、ADD(二进制加法) 、STA (存数) 、OUT(输出) 、JMP(无条件转移) ,其指令格式如下:助记符 机器指令码 说明ADD addr 0001 0000 R0+addr R072.2 储存器要求用 128K16 位的 SRAM 芯片设计 512K16 位的存储器,SRAM 芯片有两个控制端:当 CS 有效时该片选中。当 W/R=1 时执行读操作,当 W/R=0 时执行写操作。用 64K16 位的EPROM 芯片组成 128K16 位的
9、只读存储器。试问:。数据寄存器多少位?地址寄存器多少位?共需多少片 EPROM?此存储器组成框图。2.3 运算器设计计算机运算器(包括逻辑框图与指令系统,以及各指令的微程序流程图) 。指令系统是指计算机系统所有指令的集合,微程序是指实现一条机器指令功能的微指令序列,微指令是指实现一定操作功能的一组微命令,微命令对应着相应的微操作。这次课程设计我们设计了 TRA、JIA、JIAN、YU、HUO 等微指令。2.4 硬件系统2.4.1 计算机硬件组成了解计算机的硬件系统。就计算机的某些硬件组成部分,说明对其认识。答:构成计算机的一般有“5 大部分” ,分别为:运算器、控制器、储存器、输入设备和输出设
10、备。(1)运算器8运算器用来实现算术运算和逻辑运算。主要由:算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。算术逻辑运算单元(ALU)的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作。计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。与 Control Unit 共同组成了 CPU 的核心部分。(2)控制器控制器根据指令的功能产生相应的控制信号,控制其它部分的工作以便实现指令的功能。主要由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命
11、令的“决策机构” ,即完成协调和指挥整个计算机系统的操作。控制器工作的实质就是解释程序,它每次从存储器读取一条指令,经过分析译码,产生一系列操纵计算机其他部分工作的控制信号(操作命令) ,发想各个部件,控制各部件动作,是整个机器连续,有条不紊地运行。高级计算机中的控制器可以改变某些指令的顺序,以改善性能。对所有 CPU 而言,一个共同的关键部件是程序计数器,它是一个特殊的寄存器,记录着将要读取的下一条指令的存储器中的位置。(3)储存器存储器用来存放数据和程序。主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它采用具有两种稳定
12、状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。记忆元件的两种稳定状态分别表示为“0”和“1” 。日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。(4)输入设备用于把原始数据和处理这些数据的程序输入到计算机中。是计算机与用户或其他设备通信的桥梁。输入设备是用户和计算机系统之间进行信息交换的主要装置之一。键盘,鼠标,摄像头,扫描仪,光笔,手写输入板,游戏杆,语音输入装置等都属于输入设备。输入设备(InputDevice)是人或外部与计算机
13、进行交互的一种装置,用于把原始数据和处理这些数的程序输入到计算机中。计算机能够接收各种各样的数据,既可以是数值型的数据,也可以是各种非数9值型的数据,如图形、图像、声音等都可以通过不同类型的输入设备输入到计算机中,进行存储、处理和输出。(5)输出设备用于数据的输出。是计算机的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种计算结果数据或信息以数字、字符、图像、声音等形式表示出来。常见的有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。2.4.2 采用门电路设计一个 8 位的全加器电路 图 2.4.2.1 1 位全加器输入 输出Ai Bi Ci
14、-1 Si Ci100 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1Si=AiBiCi-1Ci=AiBi+(AiBi)Ci-12.4.3 定点补码加减法装置逻辑框图进行加减运算时,最少要有两个数据寄存器,存放加数和被加数。还要设置一个实现加法运算的全加器。运算结果通常放在被加数寄存器中,所以被加数寄存器又叫累加寄存器。定点补码加减法装置的逻辑框图如图 3-3 所示,其中 A 寄存器为累加寄存器,用于存放被加数或被减数以及运算结果;B 寄存器为接收数据寄存器,用于接收由主存读出的数据,存放加数或减数;
15、Q 为加法器,实现加法运算。加法器的数据输入端有两个,分别接收 A 寄存器和 B 寄存器的数据,加法过程中相邻各位间的进位关系在内部已逐位连好,图-中未表示出来。加法器最低位之进位 Cn+1 单独引出,以便实现变补运算时,末位加 1 的需要。加法器的 B 数据输入端用于在加法运算时送入 B 的值,由 B 寄存器的触发器 Q 端输出;在做减法运算时,实际上送入加法器的数据是 B 的反码,加法器末位再加 1,即实现送入(-B)补码的要求,B 的反码由 B 寄存器触发器之反向端引出。加法器的 B 输入端实际上是两路输入,由二选一的与或门实现。在做加法运算时,加法装置需要 3 个控制信号,全加器 Q
16、有 2 个输入端,11A 输入端需要控制器送来 AQ 的信号,把 A 寄存器的内容送入 Q,B 输入端需要控制器送来 BQ 的信号,把 B 寄存器内容送入 Q,加法结果存入 A 寄存器还需要 QA 的控制信号,才能完成加法运算。当然,这里假定 A 寄存器已经放入被加数,B 寄存器已经放入加数。2.5 模型机综合实验2.5.1 实验数据:01H图 2.5.1 移位/取反实验源程序2.5.2 转移实验实验数据:01H图 2.5.2 转移实验源程序第三章 实现结果3.1“异或”指令启动12译码图 3-1.“异或”指令3.2 读取指令译码PC-AR-ABUSDBUS-DR-IRPC+1-PCIR-AR
17、-ABUSDUBS-DR-ALUALU-AC启动PC-AR-ABUSDBUS-DR-IRPC+1-PCIR-AR-ABUS13图 3-2. 读取指令3.3“ADD ”指令DUBS-DR-AC译码或测试IRARABUS,DBUS-DR1,R0-DR2PC ARABUSDBUSDRIRPC+1 PC启动14图 3-3.“ADD”指令3.4 储存器 1.存储器的总容量为:512k16 位(SRAM)+128k16 位(EPROM)=640K16位。 数据寄存器为 16 位 。2.因为 210=1024k640k,所以地址寄存器为 20 位。3.所需 EPROM 芯片数为(128K2B )/(64K
18、2B)=2(片)设存储器地址空间分配如下:128K512KROM 与 RAM 同 CPU 连接图:EPROMSRAMDR1-ALU,DR2-ALU,DR1+DR2-R015图 3.4.1 ROM 与 RAM 同 CPU 连接图163.5 设计计算机运算器图 3.5.1 运算器逻辑框图图 3.5.2 设计的指令17图 3.5.3 设计出的指令对应的微程序指令流程图:图 3.5.4 TRA A,#*指令流程图18图 3.5.5、3.5.6 将立即数 01H 转入累加器 A图 3.5.7 JIA A,#*指令流程图19图 3.5.8、3.5.9 累加器 A 中的值加 01H 存入累加器 A图 3.5
19、.10 JIAN A,#*指令流程图20图 3.5.11、3.5.12 累加器 A 中值减 01H 存入累加器 A图 3.5.13 YU A,#*指令流程图21图 3.5.14、3.5.15 累加器 A 中值和 02H 相与存入累加器 A图 3.5.16 HUO A,#*指令流程图22图 3.5.17、3.5.18 累加器 A 中值和 03H 相或存入累加器 A3.6 了解计算机硬件系统3.6.1 8 位全加器图 3.6.1.1 8 位全加器233.6.2 定点补码加减法逻辑图图 3.6.2.1 定点补码加减法逻辑图3.7 运算器的逻辑组成及设计模型及综合实验3.7.1 移位/取反实验图 3.
20、7.1 程序运行跟踪结果图24图 3.7.2、3.7.3 立即数 01H 存入累加器 A图 3.7.4、3.7.5 不带进位右移累加器 A图 3.7.6、3.7.7 带进位左移累加器 A25图 3.7.8、3.7.9 累加器 A 内容取反图 3.7.10 输出累加器 A 内容3.7.2 转移实验图 3.7.11 程序运行跟踪结果图26图 3.7.12、3.7.13 立即数 01H 存入累加器图 3.7.14、3.7.15 累加器减图 3.7.16 累加器 A 减 127图 3.7.17、3.7.18 无进位且 A=0 跳到程序 02 地制,执行累加器 A 减 1图 3.7.19、3.7.20
21、有进位且 A0 跳到程序 02 地址,执行累加器 A 减 1图 3.7.21、3.7.22 无进位且 A0 无条件跳转到程序开始,执行立即数 01H 存入累加器 A第四章 个人总结4.1 主要结论在这次的课程设计当中我们设计了解决存储器扩展,涉及计算机运算器,了解定点补28码的基础理论知识。4.2 对实训的认识在本次课设中,让我对一部分的计算机内部元件的基本工作原理能够有更深的了解与认识,了解有关执行过程、存储器、运算器、硬件系统、微程序、微指令等知识的原理和流程。研究了有关计算机各个部件的功能和相应的关系及作用。必须一提的是在课设的过程中遇到了很多的困难,很多时候,我们都需要老师和更多的同学
22、讲解帮助。在此,十分有必要向闫俊英老师和众多提供帮助的同学表示感谢。同时我们发现在有的时候很多知识在大家的互动下能够相互补充。本次实训遇到的困难很多,比较困难的事的是在做设计计算机运算器的问题上,虽然题目较明确的给出了对内容图表的要求,但是要做到真正的整体能够理解顺畅是很困难的,它牵扯到指令和 CPU 等章节的很多内容,相互交叉连贯。后来在答辩的时候也确切的暴露出了这个弱点,很多东西特别是细节方面是很大的弱项。通过这段的实训使我深刻明白了自己对有关计算机组成中很多东西理解十分的不透彻不连贯。不过也确实明白了很多以前没有明白的知识,对我来说是一次很大的知识补充。参考文献1 计算机组成原理 主编 石磊,副主编 卫琳 石云 王战红,清华大学出版社, 2012 年 2 月第三版。2计算机组成原理 主编 白中英, 科学出版社,2008 年 1 月第四版。3计算机组成原理 主编 罗克露 ,副主编 雷航,廖建明,陆鑫,刘辉等,高等教育出版社,2010 年 7 月第一版。 29致 谢感谢学校提供的课设的机会,让我们在实践中培养动手能力;感谢曾老师在课设中给予的指导。