页数:100页文件大小:5.26 MB来源: 计算机组成原理ppt课件
本课件系统介绍TEC-2000系列教学计算机的研制目的、教学内容与指导思想,依次讲解计算机硬件系统组成、运算器与控制器、主存储器、串行接口与总线等硬件组成,并说明监控程序等软件配置与九类教学实验项目的安排要求。
TEC-2000教学计算机系统
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现教学计算机的硬件组成、软件配置与支持的教学实验。
计算机的系统结构、组成与实现计算机系统结构,程序设计者所看到的计算机系统的属性,是计算机的外特性,概念性结构和功能特性,研究计算机系统的硬、软件的功能划分和接口关系。计算机组成,计算机各功能部件的内部构造和相互之间的联系(部件配置、相互连接和作用),强调各功能部件的性能参数相匹配;实现机器指令级的各种功能和特性,是计算机系统结构的逻辑实现。
计算机实现,计算机组成的物理实现,即把一台完成逻辑设计的计算机真正地制作出来,解决各部件的物理结构,器件选择,电源供电、通风与冷却、装配与制造工艺等各个方面的问题。三者各自包括不同内容,彼此又有密切的联系。
一.教学计算机系统的研制目的(1)为了更好地贯彻理论联系实际要求,也为了更好地培养学生的实验动手能力和创新意识,我们专门研制出8位和16位两种字长,硬、软件配置比较合理的教学计算机系统,既为计算机组成原理课讲课提供了实例内容,又为教学实验解决了实验设备,这是课程教学改革的重要举措。几年来我们总结自己的教学实践经验和该教学计算机在全国推广应用的效果已充分证明,学好用好这台计算机的组成与设计知识,对提高课程教学水平很重要。
在教学过程中,要讲解计算机组成的基本原理和总体概念,又用教学计算机的组成、设计与实现的具体实例,来深化所学知识。此外,希望在整个教学过程中,同学对理论联系实际,增强工程观点,培养动手能力和增强创新意识等这样一些问题,有更深切的体会,更加有意识地加强在这样一些方面的锻炼与提高。
教学计算机系统的研制目的(2)。
教学内容
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现运算器、控制器、存储器与输入输出设备的互连关系。
再详细分一点说,可以分成3个层次给出课程的有关知识和技术内容:(1)重点讲解简单、完整、单台计算机的基本组成原理和内部运行机制,(2)适当说明当前最流行的一些新计算机中广泛采用的新技术、新工艺,(3)顺便了解当前国内外计算机组成领域最新研究成果和发展应用趋势。第一个层次的教学内容属于原理性的基础知识,是重点部分,其特点是内容相对稳定,同学可以动手实践。
同学在学习过这些原理知识的基础上,可以通过教学实践环节,完成指定的教学实验题目,或者完成带有一定研究型的工程设计项目来加深对教学内容的理解程度,增长研究、开创性工作、通过实践获取知识的能力,从知识和能力两个方面全面提高学生的素质。第二个层次体现的是教学内容的先进性,其特点是技术性较强,内容变化相对较快,由于设备条件的限制,同学难以动手实践,更多的是通过课堂教学来学习,并适当布置一些作业,重点锻炼学生的逻辑思维和创新能力。
第三个层次体现的是教学内容的前沿性,其特点是技术性上明显的不成熟性,有些甚至处于原理方案或者还只是一种思路,主要目的在于扩展学生的眼界和思考问题所站的高度。这部分内容不作为评定成绩的必要要求。
教学内容(2)。
计算机硬件系统组成
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现运算器、控制器、存储器与输入输出设备通过总线和接口互连成整机。
输入设备输出设备入出接口
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现运算器、控制器、存储器与输入输出设备通过总线和接口互连成整机。
运算器计算机硬件系统组成(3)运算器部件是计算机中进行数据加工的部件,其主要功能包括:1.执行数值数据的算术加、减、乘、除等运算,执行逻辑数据的与、或、非等逻辑运算,由一个被称为ALU的线路和乘商寄存器完成。2.暂时存放参加运算的数据和中间结果,由多个通用寄存器来承担。
3.运算器通常也是数据传输的通路。
控制器运算器计算机硬件系统组成(4)控制器是计算机中控制执行指令的部件:一.正确执行每条指令1.首先是取来一条指令,2.接着分析这条指令,3.再按指令格式和功能执行这条指令二.保证指令按程序中规定的序列自动连续地执行。三.对各种异常情况和请求及时响应和处理。
说到底,控制器要向计算机各功能部件提供每一时刻协同运行所需要的控制信号。
外存设备主存储器高速缓存控制器运算器计算机硬件系统组成(5)由高速缓冲存储器、主存储器、外存储器所组成的多级(层)存储器系统,是计算机中用于存储程序和数据的系统。这三级存储器各自的功能分工、所用的存储介质的工作原理和特性各不相同。
将作为三个部分分别讲解。
输入设备外存设备主存储器高速缓存控制器运算器计算机硬件系统组成(6)输入设备是向计算机中送入程序和数据的、有一定独立功能的设备。通过接口和总线与计算机主机连通,用于人—机交互联系,如计算机键盘和鼠标等。
计算机硬件系统组成
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现运算器、控制器、存储器与输入输出设备通过总线和接口互连成整机。
计算机硬件系统组成
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现运算器、控制器、存储器与输入输出设备通过总线和接口互连成整机。
输入设备输出设备入出接口
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现运算器、控制器、存储器与输入输出设备通过总线和接口互连成整机。
三.教学指导思想(1)教学内容强调以计算机硬件部件和整机系统知识为主的同时,还必须适当兼顾与硬件关系最密切的基础软件知识学习。那种把计算机组成原理完全作为纯硬件课来处理,是陈旧的认识和过时的做法,不符合当今计算机科学研究和教育发展的潮流。
处理好硬、软件相关知识的结合,将有助于提高课程学习的质量和水平。
教学指导思想(2)为了更好地做到理论联系实际,更好地培养学生的实验动手能力和创新意识,我们专门研制出8和16位的硬、软件配置比较合理,资料相对齐全的教学计算机系统,为讲课提供实例内容,为教学实验提供实验设备,有利于更深入地学习计算机各功能部件和整机系统。引入“计算机整机系统的设计与实现工程研究项目”是课程教学改革的重要举措。
控制器功能与组成
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
TEC-2000教学计算机系统
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现教学计算机的硬件组成、软件配置与教学实验安排。
TEC-2000机系统概述TEC-2000教学计算机系统,在借鉴TEC-2机已有应用经验的基础上完全重新设计,2000年初完成。教学机的主要逻辑线路(含扩展实验部分)在一块印制电路板上给出,不再使用外接的PC机电源,不必再外接支持扩展实验的几块电路板。
成本降低,使用和携带也更方便,TEC-2000教学计算机的实验性能有很大提高:可构成8位或者16位两种不同字长的机型;可支持组合逻辑和微程序两种控制器方案;可选用多种存储器芯片实现内存及容量扩展;教学实验内容有所增加,实验性能也更强。
Am2901位片运算器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4位位片结构运算器Am2901的内部组成与数据通路。
Am2901位片运算器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4位位片结构运算器Am2901的内部组成与数据通路。
1. TEC-2000机的硬件组成计算机终端和PC机是计算机标准设备,可通过串行接口与TEC-2000机接通,作为输入/输出设备使用,在监控程序的支持下,可大大提高实验效率和水平。TEC-2000机上的串行接口是该机用于连接输入/输出设备的线路。
CPU实验之外的其他各种扩展操作的实验,如内存容量扩展实验,多级中断实验,并行接口实验,以及其他I/O接口实验等,都可以直接在TEC-2000机大板右侧的扩展实验区域完成。
2. TEC-2000机的硬件组成TEC-2000机上的按键、开关、指示灯是作为最底层的输入/输出手段使用的部件。按键用于启动计算机,执行RESET操作,控制打入开关拨入的数据或地址,作为中断源以产生中断请求信号。
开关用于选择TEC-2000机的运行方式,可向机内拨入数据和地址等信息,微型开关用于给出实验控制信号。指示灯有超百个,同时显示实验机内的各种数据、地址和控制信号的状态。
3. TEC-2000机的硬件组成TEC-2000机上的运算器,可选8或16位字长,分别由2或4片4位的位片结构的器件组成,作为讲解运算器的实例和教学实验的对象,有很强的典型性。它可脱离TEC-2000主机,单独地进行运算器部件实验,也可在主机控制下完成运算器部件实验、其它功能部件实验或整机实验。
位片结构是说,每个器件本身就是一个完整的运算器,只是位数较少,要组成更多位数的实用运算器要用多片共同实现,这里选用的是美国AMD公司的Am2901芯片。
Am2901的8种运算功能
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现ALU的3位功能选择码与R+S、S-R、R∨S等8种运算的对应关系。
A L US RCnFF3F=0000OVRCn+4Am2901芯片是一个4位的位片结构的运算器器件,其内部组成讲解如下:第一个组成部分是算逻运算部件ALU,完成3种算术运算和5种逻辑运算,共计8种功能。其输出为F,两路输入为S、R,最低位进位Cn,四个状态输出信号如图所示。
符号位结果为零结果溢出进位输出R+SSRRSR∨SRSRSRSRS8种运算功能0000010100111001011101113位功能选择码。
B 16个A通用寄存器A L US RB锁存器A锁存器CnFF3F=0000OVRCn+4A口地址B口地址第二个组成部分是通用寄存器组,由16个寄存器构成,并通过B口与A口地址选择被读的寄存器,B口地址还用于指定写入寄存器。通过B口地址、A口地址读出的数据将送到B、A锁存器,要写入寄存器的数据由一个多路选择器送来。
(写入)。
Am2901位片运算器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4位位片结构运算器Am2901的内部组成与数据通路。
该芯片的第四个组成部分是5组多路选通门
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现ALU两路输入R、S在AQ、AB、DA、DQ等8种数据来源间的组合方式。
Am2901位片运算器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4位位片结构运算器Am2901的内部组成与数据通路。
Am2901位片运算器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4位位片结构运算器Am2901的内部组成与数据通路。
种结果处理
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现3位结果处理控制码下通用寄存器、Q寄存器与Y输出的8种分配方案。
Am2901位片运算器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4位位片结构运算器Am2901的内部组成与数据通路。
Am2901位片运算器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4位位片结构运算器Am2901的内部组成与数据通路。
片间高速进位用
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4片Am2901通过Am2902实现片间高速进位的连接关系。
TEC-2000的运算器8位机,只用8位数据线,只用2片Am2901芯片实现,写16位的地址寄存器操作,8位的ALU要送2次数据;8位ALU输出经8位开关门→8位的内部线IB,经8位双向三态门→外部总线ALU接收8位开关送数据,16位机,使用16位数据线,共用4片Am2901芯片实现,写16位的地址寄存器操作,16位ALU一次送16位数据。16位ALU输出经16位开关门→16位的内部线IB。
经16位双向三态门→外部总线ALU接收16位开关送数据。2种机器使用大体相同的状态寄存器(FLAG GAL)、最低位进位信号、高低位移位信号线路(SHIFT GAL)。
状态位C Z V S和中断优先级P1、P0经开关门→内部线IB。
4. TEC-2000机的硬件组成TEC-2000机上的控制器,可用选用组合逻辑或微程序方案实现,非常好地支持动态的指令集合,选用了美国AMD公司的Am2910芯片作为微程序的下地址形成部件,用来讲解微程序下地址逻辑和教学实验的对象,有很高实用性和典型性。组合逻辑和微程序控制器方案之间可用手拨开关完成切换。
动态的指令集合,是指可以通过修改和增加微程序的内容,或变化可编程器件的内容,来改变计算机已有的指令系统,例如,增加新的指令,变更原有指令等;这对于教学与教学实验的计算机有特别重要的意义。TEC-2000机在这一方面性能超群。
控制器的功能计算机的功能是执行程序程序
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
控制器的组成
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
控制器功能与组成
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
控制存储器映射IRPC接口输出设备主存储器运算器部件启停地址寄存器数据总线地址总
微程序控制器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
下地址字段的内容得到下地址的方法
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现微程序控制器中下地址形成部件Am2910的入出信号与连接方式。
微程序控制器部件56位的微指令字长,微下地址字段16位,控制命令字段40位,7片28C64组成控存。1片28C65,从指令操作码产生微地址,1片374存8位下地址,1片273存8位条件码,1片377存8位现微地址。
1片Am2910给出下一条微指令地址,1片GAL按判断条件产生微指令转移信号/CC;5片GAL用作为5片8位的D触发器的寄存器,2片GAL实现两个4位的2选1芯片功能。8或16位的指令寄存器。
| 指令格式 | 汇编语句 | 操作数个数 | CZVS | 指令分组 | 功能说明 |
|---|---|---|---|---|---|
| 00000000 DRSR | ADD DR,SR | 2 | ***** | A | DR ←DR+SR |
| 00000001 DRSR | SUB DR,SR | 2 | ***** | A | DR ←DR-SR |
| 00000010 DRSR | AND DR,SR | 2 | ***** | A | DR ←DR and SR |
| 00000011 DRSR | CMP DR,SR | 2 | ***** | A | DR-SR |
| 00000100 DRSR | XOR DR,SR | 2 | ***** | A | DR ←DR xor SR |
| 00000101 DRSR | TEST DR,SR | 2 | ***** | A | DR and SR |
| 00000110 DRSR | OR DR,SR | 2 | ***** | A | DR ←DR or SR |
| 00000111 DRSR | MVRR DR, SR | 2 | •••• | A | DR ←SR |
| 0000 | DEC DR | 1 | ***** | A | DR ←DR-100001001 DR |
| 0000 | INC DR | 1 | ***** | A | DR ←DR+100001010 DR |
| 0000 | SHL DR | 1 | *••• | A | DR,C ←DR*200001011 DR |
| 0000 | SHR DR | 1 | *••• | A | DR,C ←DR /201000001 OFFSET JR ADR 1 • • • • A 无条件跳转 |
| 指令格式 | 汇编语句 | 操作数个数 | CZVS | 指令分组 | 功能说明 |
|---|---|---|---|---|---|
| 10000000 0000000 | JMPA ADR | 1 | •••• | B | 无条件跳到ADRADR(16位) |
| 10000001 DRSR | LDRR DR,[SR] | 2 | •••• | B | DR ←[SR] |
| 10000010 I/O PORT | IN I/O PORT | 1 | •••• | B | R0 ←[I/O PORT] |
| 10000011 DRSR | STRR [DR],SR | 2 | •••• | B | [DR] ←SR |
| 00000000 | PSHF | 0 | •••• | B | FLAG入栈 |
| 10000101 0000SR | PUSH SR | 1 | •••• | B | SR入栈 |
| 10000110 I/O PORT | OUT I/O PORT | 1 | •••• | B | [I/O PORT] ←R010000111 DR POP DR 1 • • • • B 出栈到DR |
| 0000 | MVRD DR, DATA | 2 | •••• | B | DR ←DATADATA(16位) |
| 00000000 | POPF | 1 | •••• | B | FLAG ←出栈 |
| 00000000 | RET | 1 | •••• | B | 子程序返回 |
| 00000000 | CALA ADR | 1 | •••• | D | 调用子程序ADR(16位) |
指令执行流程
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现指令取指、分析、执行各步骤的接续关系与流程走向。
加电启动时
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
对运算器的控制24位控制信号
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现输入输出系统的作用、功能、组成与需要解决的主要问题。
| 控制码(/MIO REQ /WE) | 操作 |
|---|---|
| 000 | 写内存 |
| 001 | 读内存 |
| 010 | 写串口 |
| 011 | 读串口 |
| 1XX | 无内存和串口的读写操作 |
| 编码 | 信号名称 | 说明 |
|---|---|---|
| /SWTOIB | /SWTOIB | 来自开关 |
| /RTOIBALU | /RTOIBALU | 的输出 |
| /FTOIB | /FTOIB | 状态位输出 |
| /STOIB | /STOIB | 符号扩展8位 |
| /INTVH | /INTVH | 中断向量的 |
| /INTVL | /INTVL | 高、低8位 |
| NC | NC | 不用 |
| /RIR | /RIR | 指令寄存器 |
| /GARL | /GARL | 地址寄存器低位 |
| /GARH | /GARH | 地址寄存器高位 |
| /INTR | /INTR | 取原中断优先级 |
| /INTN | /INTN | 置新中断优先级 |
| /EI | /EI | 开中断 |
| /DI | /DI | 关中断 |
控制器提供的控制信号
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
指令执行流程
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现指令取指、分析、执行各步骤的接续关系与流程走向。
时序控制信号形成部件
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现控制器分步执行指令并向各部件提供协调运行控制信号的功能与组成。
组合逻辑控制器8或16位的指令寄存器,1片100引脚的MACH,5片8输出引脚的GAL,二者互斥运行,构成时序控制信号形成部件,提供35位的控制信号。2片GAL与GAL3共同提供运算器A、B口信号。
节拍发生器(1片GAL),产生4位节拍状态信号。2片GAL用于启动、停止等控制电路。
GAL1~GAL7公用于组合和微程序两种控制器。
组合逻辑控制器的组成与运行原理在讲解过微程序的控制器之后,再来讨论组合逻辑控制器的组成和运行原理就变得容易了,因为二者有很多共同点。它们都用于控制指令的执行过程,并且使用几乎相同的执行步骤和几乎完全相同的控制信号,来完成对控制器之外的其他各功能部件的控制作用,因此可以简化对这些内容设计原理和方法的论述。
两种控制器实质性的差别,表现在处理指令各执行步骤的接续关系的方案和给出时序控制信号的办法完全不同,从而造成控制器的具体组成和运行原理、运行性能上的一些差异。从前两页的图上可看出两种控制器组成中的主要差异:微程序控制器中的控存变成这里的时序信号产生部件,还取消了微指令寄存器;原来的下地址部件变成了这里的节拍发生器;原来的微地址映射部件变成这里的操作码译码器;一些信号连接关系也有某些变化。
组合逻辑控制器的组成与运行原理组合逻辑控制器是用节拍发生器(Timing,几个触发器构成的时序逻辑电路)不同的状态组合来区分一条指令不同的执行步骤,因此,指令执行步骤的接续是通过变换节拍发生器的状态组合完成的,不同于微程序控制器中通过下地址部件给出不同的微指令地址来实现。这里用节拍发生器取代了原来的下地址部件。
组合逻辑控制器是通过由“与—或”两级逻辑关系构成的时序控制信号产生部件来直接给出全部的时序控制信号。送到第一级各“与门”的输入信号是指令操作码和节拍发生器的节拍状态(可能还有控制条件),每个与门产生一个与项输出,相关的与项输出信号送到第二级的“或门”,每个或门输出的就是一个时序控制信号。
全部的时序控制信号由许多个“与—或”逻辑门给出。与用控制存储器存放全部控制信号的微程序控制方案不同,这里用时序控制信号产生部件取代了原来的控制存储器,还取消了那里的微指令寄存器线路,把控制信号直接送到被控制的部件。
TEC-2000 8位机指令与执行流程设计TEC-2000是在TEC—2和TEC-3基础上,经过较大的改进与完善重新设计的,分为16位和8位字长的两种型号。这里说的8位机,主要着眼点,是期望它能提供较高的实验性能并具有较低成本。
选择8位机指令系统和确定其指令格式的工作比起16位机的同类工作更困难一些,每条指令的执行步骤也会多出一到几步,但从设计与实现的基本原理来看,与16位机还是有许多类似或相同之处。关于该8位机控制器设计过程中,指令执行步骤的划分,使用的控制信号的选择与确定,指令执行流程设计等内容不再赘述,直接跳过,而是单刀直入地开始讲解节拍发生器的设计与实现,时序控制信号产生部件的设计与实现,特别要强调设计中有关的原理性知识,并顺便提到一些实现中对所用电路的选择原则。
| 指令格式 | 汇编语句 | 操作数个数 | CZVS | 指令分组 | 功能说明 |
|---|---|---|---|---|---|
| 0000 DRSR | ADD DR,SR | 2 | **** | A | DR ←DR+SR |
| 0001 DRSR | SUB DR,SR | 2 | **** | A | DR ←DR-SR |
| 0010 DRSR | AND DR,SR | 2 | **** | A | DR ←DR and SR |
| 0011 DRSR | CMP DR,SR | 2 | **** | A | DR-SR |
| 0100 DRSR | MOV DR,SR | 2 | •••• | A | DR ← SR |
| 1001 00DR | DEC DR | 1 | ***** | A | DR ←DR-11010 00DR SHR DR 1 *• • • A DR,C ←DR/21011 01DR SHL DR 1 *• • • A DR,C ←DR*21010 10IO IN IO port 1 • • • • A R0 ← [I/O port] |
| 指令格式 | 汇编语句 | 操作数个数 | CZVS | 指令分组 | 功能说明 |
|---|---|---|---|---|---|
| 1011 00SR | PUSH SR | 1 | •••• | B | SR入栈 |
| 1011 01DR | POP DR | 1 | •••• | B | 出栈到DR |
| 1011 10SR | STO SR | 1 | •••• | B | [R9 R8] ← SR |
| 1011 11DR | LOD DR | 1 | •••• | B | DR ← [R9 R8] |
| 1101 DR | MVRD DR, DATA | 2 | •••• | B | DR ←DATA |
| 1010 | PSHF | 0 | •••• | B | FLAG入栈 |
| 1011 | POPF | 0 | **** | B | FLAG ←出栈 |
| 1000 | JZ ADR | 1 | •••• | C | Z=1跳到ADR |
| 1001 | JNZ ADR | 1 | •••• | C | Z=0跳到ADR |
| 1010 | JC ADR | 1 | •••• | C | C=1跳到ADR |
| 1011 | JNC ADR | 1 | •••• | C | C=0跳到ADR |
| 1100 | JR ADR | 1 | •••• | C | 无条件跳到ADR |
| 1100 | CALL | 0 | •••• | C | 调子程序[R11 R10] |
| 1101 | RET | 0 | •••• | C | 子程序返回 |
| 1111 | JMP | 0 | •••• | D | 长跳转到[R11 R10] |
C组指令
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现指令取指、分析、执行各步骤的接续关系与流程走向。
节拍发生器的设计原理TEC-2000 8位机实现了30余条指令,使用了13个节拍(不含响应中断的步骤),为此,节拍发生器至少要使用4位触发器,即必须保证有2413的关系;使用4个触发器(分别命名为T3T2T1T0)不同的状态组合来区分每一个节拍,例如,用T3T2T1T0=1100和1000来分别标识最顶上一行的两个节拍,如此等等,正象前页一图所示。如何为每个节拍分配4个触发器的状态组合,需要遵循的原则是:尽量做到从当前节拍切换到下一个节拍时,只有一个触发器的状态发生变化,办不到时,也要尽量使状态发生变化的触发器数目最少。
此外,还要考虑有利于对写出的节拍发生器的逻辑表达式的逻辑化简。前一页给出的设计结果已经较好地体现了上述设计要求。
接下来的工作是按上图给出的设计结果,写出设计与实现这一节拍发生器的线路所依据的逻辑表达式。
节拍发生器的设计原理按照节拍状态转换图的结果,设计与实现这一节拍发生器的逻辑线路的首要任务,是写出该节拍发生器线路的逻辑表达式。具体过程是,写出反映每一个触发器的完整的状态转换序列的逻辑表达式。
在该表达式中,用一个与项表示在一个节拍中该触发器取值为1的一种状态,参加与运算的元素是进到本节拍的前一个节拍的4个触发器的取值状态(用Ti表示该触发器的1状态,则/Ti表示该触发器的0状态),和从前一个节拍得以进到本节拍的限制条件(可能没有),如指令组(用代表该指令组的表达式表示)或具体的一条指令(用相应指令的操作码表示)等。再把所有节拍中该触发器取值为1的情形用或运算表示在一个表达式中。
下面看处理T3的实际例子。T3+:= /RESET + T3* T2* /T1* /T0+ /T3* /T2* /T1* T0*(CALL+RET)+ T3* T2* T1* T0+ T3* /T2* /T1* T0①②③④⑤。
节拍发生器的设计原理在节拍状态转换图中,T3在5个节拍中取值为1,特意用①~⑤标明出来,故该表达式由5个或项构成,也已用①~⑤标明它们之间的对应关系。每个或项由一个与运算式组成,表示该触发器取值为1的一种状态。
第一个与运算式仅含/RESET信号,表示教学机刚加电启动时,低电平信号使T3为1;第2、第4、第5项都仅由各自的前一个节拍的4个触发器的取值(状态)的与运算组成,反映了从前一个节拍转换到本节拍没有限制条件。第3项的与运算式的元素还包括指令操作码,表示仅在指令为CALL和RET时,才会出现这里的使T3为1的情况。
T3+:= /RESET + T3* T2* /T1* /T0+ /T3* /T2* /T1* T0*(CALL+RET)+ T3* T2* T1* T0+ T3* /T2* T1* T0①②③④⑤这里的T3+为当前状态,:=为时序逻辑赋值符,赋值符右侧的T0~ T3为前一个节拍中各触发器的值。赋值符两侧的同一个Ti在时间上是不同的。
节拍发生器的逻辑表达式若把前一个表达式中的CALL和RET符号换成对应指令操作码IR7*IR6*IR5*IR4*IR3*IR2*/IR1*/IR0和IR7*IR6*IR5*IR4*IR3*IR2*/IR1*IR0,并对表达式进行整理和适当的化简,就得到教材上给出的最终结果。照此办法可以写出另外3个触发器的逻辑表达式。
节拍发生器设计中要考虑的几个问题小结:使用的触发器的数目n尽量小,2n用到的节拍数目总数每次节拍变换时,使尽量少的节拍触发器的状态发生变化教学计算机中,选用GAL20V8芯片(支持与—或两级逻辑,可运行于组合逻辑方式和时序逻辑方式的现场可编程器件)实现节拍发生器,其输入信号是节拍触发器的输出和指令的操作码。其输出的就是节拍发生器的节拍状态信号。
教学计算机对指令执行流程设计和节拍发生器设计,还强调指令执行流程的清晰性和逻辑表达式更高的可读性。
时序控制信号形成部件的设计与实现时序控制信号形成部件用于提供计算机各功能部件运行所要求的每一位控制信号。设计与实现的过程是:1.设计指令执行流程表;2.按流程表写出每一位控制信号的逻辑表达式;用一个与项表示一位控制信号在流程表的一个横行中为1的情形;用一个或项汇总这位控制信号在流程表中所用横行中为1的全部情形;按前两步方法依次写出每一个控制信号的逻辑表达式,若可能,适当化减。
3.编译得到的逻辑表达式,并写入现场可编程芯片中4.对设计结果进行调试、改错,直到全部正确。5.把新设计的指令与原有指令用在同一程序中并运行,检查设计结果的正确性。
指令执行流程
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现指令取指、分析、执行各步骤的接续关系与流程走向。
5. TEC-2000机的硬件组成TEC-2000机的主存储器,选用静态存储器芯片,由只读区(ROM)和读写区(RAM)两部分组成,ROM区存放固化了的监控程序,RAM区存放用户实验用的程序和数据。ROM区可以选用多种容量的28 (电擦除)或27(紫外线擦除)系列芯片实现。
TEC-2000机的存储器,可直接在主板上进行容量扩展和波形量测等内容的教学实验。进行容量扩展实验时,要在相应器件插座插上所选芯片,并提供正确的地址和数据信息、片选信号、读写信号、/OE信号等,比较28和27系列的ROM器件不同的特性和使用方法,增加了实验内容。
主存储器计算机中存储正处
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现主存储器的组成、读写过程与字位扩展方案。
主存储器的读写过程
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现主存储器的组成、读写过程与字位扩展方案。
静态存储器字、位扩展教学计算机系统的存储器实际组成,其总容量为18K个字,字长为16位,分为2 K字的RAM区和16 K字的ROM区。RAM芯片选用有2048个存储单元、每个单元由8位组成的静态存储器芯片6116,用两个芯实现由8位长度扩展到16位字长(位扩展)。
ROM芯片选用有8192个存储单元、每个单元由8位组成的静态存储器芯片2764或者28C64,为此,必须用两个芯实现由8K个存储单元扩展容量到16K(字扩展),共用4片芯片。为访问2048、8192个存储单元,需要使用11、13位地址,应把地址总线的低11位送到每个存储器芯片的地址线引脚,更高2位地址还要送到每个ROM芯片的地址线引脚;对地址的最高3位进行译码,产生的译码信号送到相应的存储器芯片的片选信号引脚/CS,以选择存储器工作的地址范围。
还要向存储器芯片提供读写控制信号/WE,/WE信号为高电平是读操作,为低是写操作。
静态存储器的字、位扩展最低11位地址
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现主存储器的组成、读写过程与字位扩展方案。
6. TEC-2000机的硬件组成TEC-2000机配备了2路串行接口支持,包括两个器件插座和两个9针信号线接插座,所需用时钟信号,电平转换线路等全部内容。第一路串行接口作为主接口,已经全部接通,初始化操作也由监控程序完成,加电后直接可用。
第二路串行接口,作为扩展实验用,其中部分数据线、时钟信号、控制信号要实验者自行接通,初始化操作也需实验者在自己的程序中完成,之后可用。这对于学懂、用对串行接口很有必要。
为进行其他IO接口芯片实验,主板上配置了一个40引脚的器件插座和必要支持,各引脚均未连线但留有接线插孔。实验时,正确地插上所选芯片,连接电源和地线,并正确地连接地址和数据信息、片选信号、读写信号、/OE信号等,即可实现入出操作。
内存储器和串行接口存储器由2组8位区组成,可运行于8位或16位方式;每组由1片2716 RAM和2片28C64 ROM芯片组成,亦可选用2764 ROM芯片。对16位地址的最高3位译码,产生8个存储器片选信号,各自对应8192的存储容量。
2路串行接口,其中一路正常运行,另一路经扩展后方可使用。对8位IO端口地址的最高4位译码,产生8个IO芯片的片选信号。
1片双2-4译码器139给出内存和IO的读写命令信号。2片GAL和2片373寄存器等用于支持中断响应与处理实验。
总线的概念及术语三种类型的总线
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现程序直接控制、中断、DMA与通道等输入输出方式的差别。
通用可编程接口电路通用
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现C、Z、V、S四个标志位的来源、控制与保存。
8251的基本功能可用于同步或异步传送同步传送时每字可为5~8bits,可用内或外同步,能自动插入同步字符。异步传送时每字可为5~8bits,接收和发送时钟可为1、16或64倍的波特率。
可产生中止字符并自动检测和处理。可用1,1.5或2位停止位。
能检测假启动;完全双工,双缓冲的发送器和接受器。具有检测奇偶错,数据丢失错和帧错的能力。
全部入/出信号为TTL电平。
缓冲器I/OD7~D0
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现总线的概念、分类、仲裁与通讯方式。
状态寄存器与标志位
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现C、Z、V、S四个标志位的来源、控制与保存。
编程用串行口执行输入任务
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现通用可编程接口的组成与串行、并行接口的工作方式。
五. TEC-2000机的软件组成(1)TEC-2000教学计算机系统的软件配置比较齐全,但确实是属于非常基本的部分,有源程序清单。分为用TEC-2000机指令设计的,运行在教学机系统中,如监控程序MONITOR,容易看懂和修改。
有用PC机汇编语言设计的,运行在PC机系统中,如PC机仿真终端程序PCEC。而交叉汇编程序ASEC则是用PC机的高级语言设计并运行在PC机上,容易看懂和修改。
8位和16位机实现和使用的是不同的两套指令系统,并运行各自的软件。TEC-2000教学计算机可以运行在PC机的DOS或WINDOWS环境,在WINDOWS界面下,还提供更高级和新增加的一些功能,如控制器辅助设计软件,系统和指令仿真软件,浮点运算支持软件,实验用图纸和文字资料查阅支持功能等。
TEC-2000机的软件组成(2)TEC-2000机研制过程中,非常重视其软件配置,主要提供了如下软件:监控程序MONITOR,固化在主存ROM存储区,实现的功能类似PC机的DEBUG,有8条监控命令,控制TEC-2000机正常运行,执行输入输出等操作。交插汇编程序ASEC,对TEC-2000机的汇编程序进行汇编,产生TEC-2000机的指令代码。
很容易把通过扩展实现的新指令的汇编功能添加进去。PC机仿真终端程序PCEC,运行在PC机上,通过串行口使PC机作为TEC-2000机的输入/输出设备。
微程序,解释执行TEC-2000机的各条指令。8位和16位机实现和使用的是不同的两套软件。
支持的教学实验项目1.指令系统
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现56位微指令字长、下地址字段与控制存储器的芯片配置。
.指令系统与汇编语言程序设计教学实验该实验的主要目标,是学习教学机的指令系统和汇编语言程序设计的有关知识,也是为后面更好地学习控制器组成与设计做好准备,为完成其它教学实验项目编写有关程序打下基础。实验过程中,还会用到教学机的监控命令,可以学会操作与使用教学计算机系统,初步体验该计算机的组成和功能。
实验内容是依据自己现有水平,从照抄指导书上的小程序例子开始,或者完全自己设计,学习汇编程序地设计技术,体验汇编语句与机器指令的对应关系,汇编器程序的功能与实现思路。
.配套软件的修改与完善等内容的教学实验配备适当的软件子系统,是我们刻意追求的重要目标之一,要丢弃计算机组成是“纯”硬件课程的陈旧认识,完整准确地把握计算机系统硬、软件的一体化组成和功能划分。提供软件清单、功能描述等资料,鼓励用户进一步完善和修改这些软件,适当修改以支持自己的特定需求更是在所难免。
完成上述工作,对提高同学的科研工作能力和增强创新意识将有良好作用,对增加尚不太熟悉相应软件的任课教师的工作能力,解决硬件与软件知识过分“分家”的问题有所帮助。
.脱机的运算器部件教学实验这里说的脱机,是指把运算器部件从整机中脱离出来,孤立地完成运算器本身的运算操作,即由微型开关提供控制信号,由钮子开关提供数据,用指示灯显示结果,最简单直观。试验目的,以Am2901运算器芯片为基础,学习运算器部件的组成、设计和使用,主要内容是设计完成各项运算功能所使用的每一个控制信号,这不仅是掌握运算器本身知识的动手过程,可以体会运算器在计算机整机中的地位和作用,也为更好地理解控制器将怎样控制运算器正常运行奠定基础,实验不是太难,但很重要。
Am2901位片运算器
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4位位片结构运算器Am2901的内部组成与数据通路。
Am2901的9位控制码
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现4位位片结构运算器Am2901的内部组成与数据通路。
.微程序控制器部件教学实验微程序的控制器,是当前计算机中仍在使用的、多数任课教师讲课过程中愿意选用的控制器方案之一,教学实验过程也相对便捷一些。控制器部件运行原理比较难学,信息流动的时空关系相对复杂,涉及计算机整机各个部件,教学实验是学好控制器部件的关键教学环节,对理解计算机整机组成也至关重要,应足够重视。
实验内容是扩展新的指令,包括确定指令的功能和格式,划分指令执行步骤和每步的操作功能,设计解释指令执行过程的微指令,将这些微指令写入控制存储器,并调试运行正确。
微程序控制器实验
本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现微程序控制器中下地址形成部件Am2910的入出信号与连接方式。
微程序控制器实验举例1.选择ADC和STRX指令进行扩展,指令功能、格式和编码确定如下:DR+SR+CDR DR[SR+OFFSET ]2.划分指令执行步骤:不计取指和判中断请求,则:ADC指令用一步完成带进位加运算:DR+SR+CDR;STRX指令要用3步完成通过变址寻址方式执行存数的操作,即(1) PCAR, PC+1PC;(2)读内存,读出的OFFSET + SR中的内容AR;(3)写内存,把DR中的内容写入内存。3.在控存中为4条新微指令分配地址,例如选用16进制的56;60,61,62单元,修改(增加) MAPROM的4E和E5两个单元的内容为56和60,提示:MAPROM的地址是指令操作码,内容是一条微指令的地址。
40 DR SRE5 DR SROFFSET。
微程序控制器实验举例4.设计4条新微指令的具体内容,包括下地址字段和控制命令字段两部分DC1DC2SSHSCI0SSTA口B口SBI5~3SAI8~60I2~00MRWSCC3~0CI3~0地址微下0021004B14030303105502340E0003000009410E0000000083300303506061625.把新微指令写入地址分别为50和60、61、62这4个单元中的控存中,各单元的内容就是在上表刚完成设计的4行中的16进制数字,可以用专用的ROM编程器设备,或者把相应控存芯片插在内存的扩展插座上,运行硬布线控制器,用监控程序的E命令把对应数值写进控存芯片中。6.安装好并运行微程序的控制器,改正可能遇到的错误,直到全部结果都正确为止。
.硬布线控制器部件教学实验组合逻辑的控制器,是当前高速计算机中需要使用的、部分任课教师熟悉程度不是太够的控制器方案之一,教学实验过程也相对复杂一点。控制器部件运行原理比较难学,信息流动的时空关系相对复杂,涉及计算机整机各个部件,教学实验是学好控制器部件和理解计算机整机组成的关键教学环节。
实验内容是扩展新的指令,包括确定指令的功能和格式,划分指令执行步骤,设计节拍状态和每步的操作功能,设计指令执行流程表,写出各个控制信号的逻辑表达式,并将其编程到相关现场可编程器件中,并调试运行正确。
.静态内存储器部件教学实验存储器部件选用静态存储器芯片实现,是由ROM和RAM两个存储区组成的。这一部分的教学内容较容易掌握,教学实验也相对简单。
实验的内容是完成对静态存储器系统的容量扩展,即存储器的位数和字数的增加;也包括对电气可擦出ROM的读、写、编程等操作;还可以量测存储器读写过程的信号波形。在微程序控制器部件中也选用了静态ROM芯片,这对如何更简便地支持动态为程序设计起到重要作用,扩展的静态ROM存储空间能用于保存实验过程中的中间数据。
.串行或其它接口的输入输出操作实验教学计算机系统中,选用了一路串行接口芯片完成与PC机的连接,预留了另外一路供学生扩展实验之用,可以连接其他串行接口设备或者实现两台教学计算机之间的双向通讯,对学会如何使用串行接口来完成输入输出操作很有效。教学计算机主板上还配备了一个40引脚的器件插座,预留了地址、数据、控制信号的接线插孔,因此能支持完成其他接口芯片输入输出操作的教学实验,实验内容可由试验人员自定,这就意味着允许开展各种接口芯片的教学实验,包括并行接口芯片,实时钟芯片,DMA芯片等各种通用可编程的接口器件。
.中断响应与处理的教学实验教学计算机系统中,提供了完成中断响应和中断处理的全部线路,功能强,特色突出,支持多级中断嵌套,支持自己设计中断优先级编码和排队逻辑,设计开中断、关中断指令,中断返回指令和中断隐指令,设计中断服务程序等全部过程。实验中,具体要求同学实现哪一些内容,教师可以依据实际情况来安排,要求同学完成上述全部内容,工作量显得大了一些,可以考虑完成其中一部分,另外的内容沿用系统中原来已经实现的方案。
.整机故障定位与排出的教学实验这是难度较大、用到课程教学全部知识、提高综合分析问题和解决问题能力的有效途径。实现办法,一是当教学计算机真正出现硬件、软件故障时,设法自己解决并排除故障;或者人为地设置故障,例如,换上失效的器件,把跳线改动一个,或者故意把软件改错一处,要求同学找到并排除这一个(些)故障;注意,设置硬件故障时,要保证不损害硬件系统本身,记录清楚并自己可以恢复到正确设置。
这一实验内容,对辅导教学实验的教师要求相对较高,也是这些教师应该具有的能力,是确保教学计算机能正常使用必不可少的手段,是真正学懂这台计算机的重要标志。大家不必有思想负担,多思考,多动手,一定可以达到这一目标。
.重新设计一个自己的全新硬、软件系统这是比前一项实验内容要求更高、更具有挑战性的任务
要求实验者以总工程师的身份,亲自动手,重新设计与实现一个自己确定的计算机的硬软件系统,困难会有一点,但成功后的成就感、自豪感是刻骨铭心的,这对于真正掌握与理解计算机组成原理的主要知识和技术大有好处,将终身受益。这项工作,可以由教课或者辅导实验的教师完成,用于本科学生的毕业设计也是非常理想的题目,也可以用于大型的课程设计。
支持上述用法是研制该教学机的重要目标。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}