1、计算机组成原理课程设计一台模型计算机的设计一、教学目的、任务与实验设备1 教学目的(1)融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间空间”概念的理解,从而清晰地建立计算机的整机概念。(2)学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和集成电路的基本技能。(3)培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。2设计与调试任务(1)按给定的数据格式和指令系统,在所提供的器件范围内,设计一台微程序控制的模型计算机。(2)根据设计图纸,在 MAX+PLUS 平台上进行仿真,并下载到 EL 教学实验
2、箱上进行调试成功。(3)在调试成功的基础上,整理出设计图纸和其他文件。包括:总框图(数据通路图); 微程序控制器逻辑图; 微程序流程图;微程序代码表;元件排列图(或VHD 程序清单) ;设计说明书;调试小结。2 实验设备(1) PC 机一台(2) EL 教学实验箱(3) MAX+PLUS 配套软件二、数据格式和指令系统本模型机是一个 8 位定点二进制计算机,具有四个通用寄存器:R 0R 3,能执行 11 条指令,主存容量为 256KB。1 数据格式数据按规定采用定点补码表示法,字长为 8 位,其中最高位(第 7 位)为符号位,小数点位置定在符号位后面,其格式如下:数值相对于十进制数的表示范围为
3、:1X 12 72 指令格式及功能由于本模型机机器字只有 8 位二进制长度,故使用单字长指令和双字长指令。 LDR Ri,D格式 7 4 3 2 1 00 0 0 0 Ri 不 用D功能:RiM(D)尾 数符 号7 6 5 4 32 1 0尾 数符 号 尾 数尾 数符 号(2) STR Ri,D格式 7 4 3 2 1 00 0 0 1 Ri 不 用D功能:M(D)(Ri)(3) ADD Ri,Rj格式 7 4 3 2 1 00 0 1 0 Ri Rj功能:Ri (Ri) (Rj)(4) SUB Ri,Rj格式 7 4 3 2 1 00 0 1 1 Ri Rj功能:Ri (Ri) (Rj)(5
4、) AND Ri,Rj格式 7 4 3 2 1 00 1 0 0 Ri Rj功能:Ri (Ri) (Rj)(6) OR Ri,Rj格式 7 4 3 2 1 00 1 0 1 Ri Rj功能:Ri (Ri) (Rj)(7) MUL Ri,Rj格式 7 4 3 2 1 00 1 1 0 Ri Rj功能:Ri (Ri) (Rj)(8) 转移指令格式 7 4 3 2 1 00 1 1 1 条件 不 用D功能: 条件码 00 无条件转移 PC D01 有进位转移 PC D10 结果为 0 转移 PC D11 结果为负转移 PC D IN Ri,M j格式 7 4 3 2 1 01 0 0 0 Ri Mj
5、其中 M j 为设备地址,可以指定四种外围设备,当 M j=01 时,选中实验箱的二进制代码开关。功能: Ri (M j) OUT Ri, M j格式 7 4 3 2 1 01 0 0 0 Ri Mj当 M j=10 时,选中实验箱的显示灯。功能: (M j) R i HALT(停机指令)格式 7 4 3 2 1 01 0 0 0 不用 不用功能:用于实现停机。 三、总体设计总体设计的主要任务是(1) 选定 CPU 中所使用的产要器件;(2) 根据指令系统、选用的器件和设计指标,设计指令流的数据通路;(3) 根据指令系统、选用的器件和设计指标,设计数据流的数据通路。计算机的工作过程,实质上是不
6、同的数据流在控制信号作用下在限定的数据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结构也就不样,因此数据通路的设计是至关重要的。所谓数据通路的设计,也就是确定机器各逻辑部件相对位置的总框图。数据远路的设计,目前还没有非常标准的方法。主要是依据设计者的经验,并参考现有机器的三种典型形式(单总线、双总线或三总线结构) ,根据指令系统的要求,可采用试探方法来完成。其主要步骤如下:(1) 对指令系统中的各条指令进行分析,得出所需要的指令周期与操作序列,以便决定各器件的类型和数量。(2) 构成一个总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所包涵的数据
7、通路都能实现,并满足技术指标的要求。(3) 检验全部指令周期的操作序列,确定所需要的控制点和控制信号。(4) 检查所设计的数据通路,尽可能降低成本,简化线路。以上过程可以反复进行,以便得到一个较好的方案。图 1 给出了一个没有考虑乘法除法指令操作的总框图参考方案,注意,在此方案确定之后,应该检查所选用的各个器件是否满足数据通路的要求。实际上,数据通路的设计与器件的选择应同时进行而不能分离地工作。其次,接入总线的器件都要有三态输出,以便与总线连接。另外,在信息传送过程中应当注意器件原码和反码输出的配合关系。图 1 所示的方案采用单总线结构,使用的许多器件都是三态输出,这种方案便于总线的连接和扩展
8、,但缺点是指令和数据的传送都要经过总线,因此对总线的使用权就要分配得当。另外,执行算术逻辑指令时,先将第一个操作数由通用寄存器 Ri 送至缓冲寄存器DR1,然后再由通用寄存器 Rj 取第二个操作数送至缓冲寄存器 DR2,之后送往 ALU 进行运算。显然,执行条算术逻辑指令的时间相应要长一些。图 1 模型机数据通路框图四、微程序控制器数据通路框图旦确定,指令流与数据流的通路也就随之最后确定,因而运算器和控制器的大部分结构也就确定下来了。图 1 中各功能器件上还标注了控制点及其控制信号这些控制信号就是微程序控制器进行设计的依据。1微指令格式微指令格式建议采用水平型微指令,微命令编码采用直接表示法和
9、分段直接译码法相结合的混合表示法,以缩短微指令长度。后继地址采用断定方式。微指令格式如下:控制字段 判别字段 下址字段同学们应根据本模型的具体情况来确定各字段的长度。2 微程序控制器根据微指令和微程序的长度,确定控制存储器需选用几片 EPROM(2716)用位扩展方式组成。3微程序设计将机器的全部指令系统采用微指令序列实现的过程,叫做微程序设计。一条机器指令对应一个微程序,11 条机器指令应当对应 11 个微程序。微指令格式确定后,微程序的横向设计在于正确地选择数据通路,纵向设计在于确定后继微指令地址事实上,微程序设计的关键在于纵向设计,即如何确定下一条微指令的地址。通常的做法是先确定微程序分
10、支处的微地址,因为微程序分支处需要进行判别测试。这些微地址确定以后,就可以在一个“微地址表”中把相应的微地址单元填进去,以免后面的设计中重复使用而未发现,以致造成设计错误。五、输入输出IRPCAR微 程 序 控 制 器 时 序产 生 器RAM2568LDLDPLDIRDWELDPC BUSDR2DR1LDR0 I/O R3R2R1 LDLDLDLLALUALU BSBUSS21 M-130微 程 序 控 制 器 时 序产 生 器微 程 序 控 制 器 时 序产 生 器微 程 序 控 制 器 时 序产 生 器微 程 序 控 制 器 时 序产 生 器输入输出是人机联系的重要手段,输入可采用开关、键
11、盘等方式,输出可采用字符显示或打印输出等方式。考虑到成本与设备因素,本模型机采用最简单的二进制开关输入和发光二极管显示的方法,换句话说,本模型机中只使用两种“外部设备”:一种是二进制代码开关,它作为输入设备;另一种是发光二极管,它作为输出设备。本设计为了节省器件,输入输出时可以不设置专门的数据缓冲寄存器。例如输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也就不变。输出时,将输出数据送到数据总线 BUS 上,驱动发光二极管进行显示。如果采用正规的输入输出方法,可采用相应的器件构成接口电路。六、组装与调试1 元器件的布局与连接由图 1 看出,数据通路一旦确定之后,在调
12、试过程中将会很少有变化。因此从组装和调试的角度来看,模型机总框图可划分为如下三个相对独立的功能模块:(1)运算器、存储器和系统总线(2)时序产生器(3)微程序控制器本模型机所使用的器件较多,布线的工作量相当大,希望同学们认真、细致地工作。元器件布局的一般原则是尽心能地按功能电路相对集中,这样做的好处是各器件之间的连线较短,同时也便于组装和调试为了安装和调试检查方便,集成电路应当以相同方向排列。通常总是把集成电路片的定位缺口向左,此时它的电源脚在左上角,接地脚在右下角。这种排列有利于设置电源线与地线。规整的布线不仅对调试维修带来方便,也可以保证线路可靠地工作,任何马马虎虎的接线将会给调试带来难以
13、想象的后果,因此在布线前必须对布线质量给予高度重视。2 分调试按功能模块进行分调是实现总调的前提和基础,因为只有各功能模块工作正常后,才能保证全机的正确运行。为此必须步一个脚印、精心做好分调试,切不可赶急图快,以免在未做好分调的情况下进入总调,而最后又不得不返回头来重新分调。分调的重点放在时序产生器和微程序控制器上。3 总调当各模块分调正常后,可将控制器发出的控制信号线接到相应的功能部件中去,转入全机总调试。总调的第一步,事实上是检查全部微程序流程图。方法是用单步方式读出并执行微指令。进行的顺序是:先执行控制台指令的微程序流程图,然后执行机器指令的微程序流程图。当全部微程序流程图检查完毕后,如果存储器和运算器功能执行正确,就算总调第一步完成。第二步是在内存中装入包括有全部指令系统的一段程序和有关数据,进一步可采用单指令方式或连续方式执行,以验证机器执行指令的正确性。第三步是编写一段表演程序,令机器运行。第四步是运行指导教师给出的验收程序。如果通过,就算大功告成。