logo资料库

计算机组成原理基本实验指导.pdf

第1页 / 共65页
第2页 / 共65页
第3页 / 共65页
第4页 / 共65页
第5页 / 共65页
第6页 / 共65页
第7页 / 共65页
第8页 / 共65页
资料共65页,剩余部分请下载后查看
TH-union
计算机组成原理基本实验指导
表一 基本指令汇总表
表二 扩展指令汇总表
2. 教学计算机的微程序控制器的设计和实现
基本指令的微程序入口地址映射表
扩展指令的微程序入口地址映射表
16位微程序控制器可编程器件逻辑表达式
SCC_GAL的表达式:
基本指令微程序流程图
TH-union 计算机组成原理基本实验指导 杨西珊 李志平 关桂霞 编 首都师范大学 2006 年 03 月
目 录 TH-union 计算机组成原理实验系统概述 一、H-union 教学计算机系统概述 ……………………………………………… 1 二、H-union 教学计算机的主要功能部件…………………………………………1 三、H-union 教学计算机的指令系统介绍…………………………………………3 基 本 实 验 实验一、教学计算机认识与简单汇编程序设计实验…………………………… 9 实验二、运算器部件实验(1) ……………………………………………………14 实验三、运算器部件实验(2) ……………………………………………………18 实验四、存储器部件扩展实验……………………………………………………19 实验五、教学计算机指令系统与汇编程序设计实验……………………………23 实验六、组合逻辑控制器部件实验………………………………………………26 实验七、微程序控制器部件实验…………………………………………………37 实验八、多级中断实验……………………………………………………………53 附录: 16 位机基本指令执行流程表 16 位机基本指令微程序表 0
1
TH-union 计算机组成原理实验系统概述 一、TH-union 教学计算机系统概述 TH-Union 教学机由清华大学计算机系研制、并且已经通过教育部主持的成果 鉴定,重点用于计算机组成原理和计算机系统结构等课程的教学实验过程。它的 功能设计和实现技术,都紧紧地围绕着对课程教学内容的覆盖程度和所能完成的 教学实验项目的质量与水平来进行安排。其突出特点是: (1)硬件、软件的基本配置比较完整; (2)体现出的知识与技术能覆盖相关课程主要教学内容; (3)支持的教学实验项目多且水平高; (4)硬件系统的实现兼有中小规模集成度的半导体器件、大规模可编程门 阵列器件两种方案。 软件:监控程序、汇编语言支持、解释 BASIC 语言。 硬件:运算器、控制器(多种实现:微程序或组合逻辑控制器) 主存储器,总线,接口, 输入设备,输出设备 硬件电路:中小规模逻辑器件或大规模可编程器件实现 图 1.1 实际的教学计算机系统 从图 1.1 可以看到,该计算机硬件系统组成中,功能部件是完整齐备的,运 算器、控制器、存储器、计算机总线、输入输出接口等配备齐全,还可以连接通 用微机作为仿真终端执行输入输出操作,同时实现了微程序和组合逻辑两种方案 的控制器。从 CPU 的具体设计和实现技术区分,既支持用中小规模芯片实现 CPU 的方案,也支持大规模现场可编程 FPGA 门阵列器件实现 CPU 的方案,体现了现 代电子设计技术在 CPU 系统设计方面应用的最新水平。 从计算机组成原理课程教学实验的角度看,该计算机软件系统组成也是完整 的,支持简单的高级语言 BASIC(包括浮点运算指令和基本函数运算功能),汇 编语言(支持基本伪指令功能)和二进制的机器语言,配有自己的监控程序以及 PC 机仿真终端程序等。 二、TH-union 教学计算机的主要功能部件 作为教学和教学实验使用的计算机,其结构和组成设计要比较好地体现出尽 可能多的主要教学内容,包括功能部件划分清晰,设计合理,它们之间连接关系 适当规范等。 2
以下是硬件的各主要部分的说明: 1.运算器:在选用中小规模逻辑器件实现的 CPU 系统中,运算器部件设计 选用了 4 片位片结构的运算器芯片 AM2901,该芯片内含功能比较合理的 ALU,双 端口控制读出、单端口控制写入的 16 个寄存器,和完成乘除法运算的乘商寄存 器等功能部件,从而构成 16 位字长的运算器。运算器除了完成全部的算术运算 与逻辑运算外,还完成几种寻址方式的实际地址计算,另外它也是主要的数据、 地址传送的通路。特别要说明一点,堆栈指针 SP 和控制器中的程序计数器 PC, 都是选用这里的几个通用寄存器实现的,主要目的是为了节省器件。 2.控制器:控制器分别用微程序方式与组合逻辑方式两种方案实现,通过 一个开关简单地完成两种控制器之间的切换。在选用器件时,微程序方案中选用 了美国 AMD 公司的微程序定序器 AM2910 芯片,控制存储器选用只读存储器芯片 +现场可编程序的 MACH 器件实现。组合逻辑方案中,控制信号形成部件选用现 场可编程序的 MACH 器件,这对简化控制器的逻辑设计与实现至关重要,也有利 于学生进一步了解和学习数字系统设计自动化的新知识。 3.主存储器:在教学计算机存储器部件设计中,出于简化设计和容易实现 的目的,选用静态存储器芯片实现内存储器系统,包括了 8K 字只读存储器 ROM 和 2K 字随机读写存储 RAM 两部分。ROM 芯片用来存放监控程序, RAM 芯片用 来存放用户程序和数据,以及用作监控程序临时数据和堆栈区。另外还配置 2 个 存储器芯片插座,可方便地完成主存储器的扩展实验。 存储器扩展时,用户可以任选 28C64 或与其兼容的 EEPROM 芯片,也可以使 用 6116 或 6164 的 SRAM 芯片中的一种使用,但这几种芯片的管脚定义不完全兼 容,为了能在 1 个芯片插座上兼容多种存储器芯片,可通过跳线插针的设置来实 现不同芯片的存储器扩展。 教学计算机的内存地址空间分配关系如下: 0000H~1FFFH:监控程序; 2600H~27FFH:监控程序临时数据和堆栈; 2000H~25FFH:用户区,可存放用户的程序和数据; 4000H~FFFFH:用户扩展区,可存放用户的程序和数据; 4.总线部件:实现了单总线结构,数据总线、地址总线和控制总线比较简 单,保证教学机的正常运行并体现出总线设计的基本原理。 数据总线,它的一端直接与主存储器芯片和 IO 接口芯片的数据线引脚相 连,用于完成对这些芯片在进行读写操作时的数据传送。 地址总线,用于 CPU 系统向主存储器或者 I/O 接口提供地址信息。16 位的主 存储器地址中的最高 3 位被连接到产生片选信号的 3-8 译码器,低 13 位地址被 连接到相应芯片的地址线引脚,用于选择每个芯片内的 8K 个存储单元。而对于 小于 8K 容量的存储器芯片则根据需要连接所需的地址引脚。 3
控制总线,用于给出总线周期的类型和一次读、写操作是否结束的信号。在 教学计算机中,由于使用的系统时钟频率特别低,一个 CPU 周期一定可以完成 CPU 与主存或者串行接口的读写操作,不必判断读写操作是否完成,只需给出总 线周期的类型即可,故 CPU 给出的控制信号由/MIO、REQ 和/WE 组成。 5.接口线路:教学计算机提供了串行接口(INTEL 8251),可以接入 PC 机作 为教学计算机的仿真终端完成输入输出操作。 串口的数据端口地址(数据缓冲寄存器)为 80H,而状态或命令端口(命令 状态寄存器)地址为 81H。 特别注意在输入输出操作中,其状态寄存器的最低位若是 1,则表示串行口 中的数据已经输出完毕,可以向串行口送入输出的下一个字符。(若不检查前一 个字符是否已经从串行口送走,就向串口传送输出的下一个字符,会造成输出的 错误)。若不检查该位状态,有可能造成输出错误。 串行口状态寄存器的次低位若是 1,表明键盘输入的字符已送入数据缓冲寄 存器,CPU 可以读这个字符了。若不检查该位的状态就直接读接口中的数据,会 造成输入错误。 6.中断处理:支持 3 级中断并允许中断嵌套,可以完成常规的中断处理操 作,中断优先级编码与排队,中断响应和现场切换等。 三、TH-union 教学计算机的指令系统 1.指令功能和指令格式的设计 合理地确定一台计算机的指令系统,无论对计算机厂家还是对最终用户来说 都是十分重要的,它密切关系到计算机设计与实现的复杂程度和生产成本、计算 机使用的难易程度和运行效率。对主要用于教学和教学实验目的的计算机,确定 其指令系统,更多地应关注它在教学过程中的作用和使用方法,至少应解决好以 下几个问题。 (1) 指令格式和功能的典型性。做到指令格式和功能有良好的典型性,同 学比较容易接受,讲课时更容易完整地讲解清楚这套指令系统和控制器的设计, 也有利于教学内容的整体安排。 (2) 适当靠拢 RISC 的设计思想,做到尽可能小的指令集,简化的寻址方 式。这样做不仅使教学计算机的结构简化,实现简单,也易于实现指令流水。 (3) 指令系统要有一定的完备程度,给出的指令格式适当规范,指令分类 合理,指令执行步骤容易理解,符合人们通常的编程使用习惯。总之,有较好的 易学易用性。确保选用这套指令系统,能方便地设计教学计算机的配套软件。 (4) 更高的可扩充性,即为学生添加各种新的指令留下比较充足的余地, 为此可以把完整的系统中指令划分为必备的(约 30 条)基本指令(设计者已经 实现)和待扩展的(约 20 条)保留指令(留给实验者设计实现)两大类;在扩 4
展新的指令时,实现手段要适当简单,但要有比较多的设计内容和选择余地,以 便更好地培养学生的创新意识和开创能力,有利于深化教学内容。 (5) 符合教学计算机的特定要求。对 16 位字长的计算机,指令的操作码部 分可以选择为固定长度;再结合我们所选用的运算器器件 Am2901 芯片内含 16 个 通用寄存器的特点,寄存器寻址方式需要使用 4 位的形式地址。如果需要,还可 以指定 16 个通用寄存器中的几个为专用寄存器,以便最大程度地简化教学机硬 件组成,简化指令执行流程的设计。 遵照上述思路,最终确定了教学计算机指令系统的具体组成和指令格式。指 令格式如图 1.2 所示。从图中可以看到,指令中包括单字指令和双字指令,第一 个指令字的高 8 位是指令操作码字段,低 8 位和双字指令的第二个指令字是操作 数地址字段,分别有 3 种用法。 8 位 4 位 4 位 操作码 DR SR IO 端口地址 / 相对偏移量 立即数 / 直接内存地址 / 变址偏移量 图 1.2 16 位教学机的指令格式 1 表示扩展指令; 0 X 表示 A 组, 1 0 表示 B 组, 1 1 表示 C、D 组; 其中 8 位指令操作码(记作“IR15~IR8”),各位的含义如下: IR15、IR14 用于区分指令组: IR13 用于区分基本指令和扩展指令:0 表示基本指令 IR12 用于简化控制器的实现,暂定该位的值为 0; IR11~IR8 用于区分同一指令组中的不同指令(最多 16 条); IR11 还用于区分 C、D 组指令(每组最多 8 条): 0 表示 C 组 1 表示 D 组。 第一个指令字中的操作数地址字段可以给出: 4 位的通用寄存器编号(DR 代表目的寄存器,SR 代表源寄存器); 8 位的 I/O 端口地址; 8 位的相对变址的偏移量。 第二个指令字用于给出: 16 位的立即数; 16 位的直接内存地址; 16 位的变址偏移量。 5
2.指令系统的分类情况 按不同的分类标准,可以把 16 位机的指令划分成不同的指令类型。例如: 从指令长度区分:有单字指令和双字指令,也允许定义和使用 3 字指令。 从操作数的个数区分:有双操作数指令、单操作数指令和无操作数指令。 从使用的寻址方式区分:有采用寄存器寻址、寄存器间接寻址、立即数寻 址、直接寻址、变址寻址、相对寻址、堆栈寻址等多种基本寻址方式的不同类别 指令。 从指令功能区分:有算术和逻辑运算类指令、读写内存类指令、输入/输出 类指令、转移指令、子程序调用和返回类指令,还有传送、移位、置进位标志和 清进位标志等指令。 JRS、JRNS、JMPR SHL、SHR、JR、JRC、JRNC、JRZ、JRNZ 依照指令的执行步骤,可以把教学计算机的指令划分为如下 4 组: A 组:基本指令 ADD、SUB、AND、OR、XOR、CMP、TEST、MVRR、DEC、INC、 A 组:扩展指令 ADC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、CI、 B 组:基本指令 JMPA、LDRR、STRR、PUSH、POP、PSHF、POPF、MVRD、IN、 C 组:扩展指令 CALR、LDRA、STRA、LDRX、STRX D 组:基本指令 CALA D 组:扩展指令 IRET 这种分类办法,是为了突出指令执行步骤的划分结果,有利于讲解控制器设 OUT、RET 计技术。 A 组指令完成的是通用寄存器之间的数据运算或传送,或其它几项特殊的操 作,在取指之后可一步完成。 B 组指令完成的是一次内存或 I/O 读、写操作,在取指之后可两步完成,第 一步把要使用的地址传送到地址寄存器 AR 中,第二步执行内存或 I/O 的读、写 操作。 C 组指令在取指之后可三步完成,其中 CALR 指令在用两步完成一次写内存之 后,第三步执行寄存器之间的数据传送;而其它指令在第一步置地址寄存器 AR, 第二步读内存(即取得一个内存单元的地址)并传送到地址寄存器 AR,第三步执 行另外一次读、写内存的操作。 D 组指令完成的是两次读、写内存操作,在取指之后可四步完成。 十六位字长的教学计算机系统,实现了上面 4 组中的 29 条基本指令,用于 支持教学机的监控程序和简单的汇编语言程序设计。保留了其余 19 条扩展指 令,供学生在教学实验中进行扩展,即完成对这些指令的设计与调试,当然,还 可以扩展另外一些指令。 3.指令的汇编助记符 6
分享到:
收藏