计算机组成原理实验讲义.docx
《计算机组成原理实验讲义.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验讲义.docx(27页珍藏版)》请在冰点文库上搜索。
计算机组成原理实验讲义
前言
计算机组成原理是一门重要的专业基础课,主要讲述计算机的基本组织以及内部组成部件是如何协调工作的。
为了加强该课程的实践性教学环节,培养和训练学生在硬件方面的设计和动手能力,本专业开设了“硬件实验”课,共安排了8个小时的小型部件实验和40小时的大型课程设计。
旨在通过这些实验,在理论与实践相结合的基础上,加深学生的整机概念,进一步弄清计算机的内部结构和时空关系,学会指令功能的电路实现方法和技巧,从而提高自行设计、调试分析的独立工作能力。
在计算机硬件教学实验环节上,本实验课起着承上启下的作用。
在此之前,学生已在“数字电路”等实验中受到过器件的测试、单元电路的设计,分析等方面的训练,在本实验课之后,又将在“接口与通讯”课程中进一步学习一些外围电路芯片的开发应用。
因此,本实验课将着眼于CPU的组织和严格的时空安排,着眼于计算机硬件系统的设计方法和基本电路的实现方法。
在传统的实验教学中,由于实验系统已将实验设计方案和大部分的实验电路已固定做好,学生只能根据实验设备所提供的实验方案、器件做一些验证性实验和小规模的设计。
因而限制了学生在系统设计中的创造性,不利于发挥学生的创造力。
当前随着大规模可编程逻辑器件的发展,EDA技术已成为硬件系统电路设计的重要手段。
运用EDA技术的实验系统可以为学生提供一个灵活方便的进行计算机系统设计的平台,让学生充分发挥自己的想象力和创造力,优化计算机的设计,扩展计算机的功能,从而提高学生的创造能力。
本实验课分为两个阶段。
首先安排了两个小型部件实验,用传统的中小规模集成电路
完成,使学生对运算器、存储器、数据通路、总线等基本概念有感性认识,对数据流和控制流的关系、对计算机主要部件的工作过程有较清楚的了解。
同时,从逻辑功能上讲,两个小型部件实验都可以是CPU整机实验中有关的一部分;但从实验本身来说,又可构成一个独立的逻辑功能,可以用来配合“计算机组成原理”课的教学,每个实验的逻辑规模,其用片数均在十片左右。
因此,学生通过这些实验,可积累一些实验经验和技巧,熟悉一些中大规模集成电路的使用方法,提高逻辑设计能力,为课程设计打下基础。
同时,通过实验使学生学会布线、接线等基本操作技能。
第二阶段要求学生运用EDA技术,采用ALTERA公司的MAX+PLUSII软件,自己设计一台指令功能完备的模型计算机,下载到本实验系统提供的FLEX10K系列芯片上,并调试成功,最后通过检查验收程序,写出报告。
目录
第一章实验系统介绍和使用说明……………………………………
§1概述…………………………………………………………………§2面板结构和使用方法………………………………………………
一、数据通路……………………………………………………………
二、辅助调试电路………………………………………………………
三、PLD设计区…………………………………………………………
§3电源及其它设备……………………………………………………
一、电源…………………………………………………………………
二、关于锥形迭插式接插件的使用……………………………………
第二章部件实验…………………………………………………………
§1实验一总线、半导体静态存储器实验……………………………
一、实验目的……………………………………………………………
二、实验原理……………………………………………………………
三、实验内容……………………………………………………………
四、实验要求……………………………………………………………
§2实验二运算器数据通路实验………………………………………
一、实验目的……………………………………………………………
二、实验原理……………………………………………………………
三、实验内容……………………………………………………………
四、实验要求……………………………………………………………
第三章课程设计…………………………………………………………
§1微程序控制的模型计算机的设计与调试……………………………
§2复杂的模型计算机的设计与调试……………………………………
附录…………………………………………………………………………
附录一符号及其说明……………………………………………………
附录二集成电路清单……………………………………………………
附录三常用集成电路功能简介…………………………………………
附录四模型机电路图(附有光盘)………………………………………
第一章实验台结构和使用说明
§1概述
计算机组成原理的分解实验和整机实验(课程设计)都是在东南大学计算机系研制的CSEZ-1型计算机组成原理实验台(以后均简称实验台)进行的。
实验台为学生提供了较完善的实验条件,其中配有一定数据的各种标准集成电路、开关、显示灯和实验所需的集成电路芯片、小工具、插接导线等器材,以及连续脉冲、单脉冲源,整机实验用的固定印刷电路。
同时,为了方便实验调试,实验台上还设置有逻辑测试笔,具有高、中(悬空)、低电位等测试功能。
在进行实验时可将集成电路芯片插入相应位置,不需进行焊接。
由于采用了锥形迭插式接插件,连接点的接触情况及牢固程序都得到改善。
§2面板结构和使用方法
实验台面板尺寸为390×290mm,装入一个标准机箱,美观大方。
实验台面板布置如图1-1所示。
PLD设计区
数据通路
辅助调试电路
图1-1实验台面板布置
实验台由数据通路,辅助调试电路,PLD设计区三部分组成,下面分别详细介绍这三
个部分。
一、数据通路
该部分各个器件已通过8位总线构成,实验时,只要对各个器件上控制端进行操作就能达到实验目的。
该部分电路包括:
PC(即PC1、PC2由两片同步4位计数器74LS161组成),输出接PC-244。
PC-244(传输门,由一片74LS244构成)。
MAR(74LS273)输出接RAM地址线,同时接地址灯。
RAM(即RAM1、RAM2由两片1K×4的随机读写存储器MM2114组成)。
SA(一片74LS273)输出接ALU,同时接数据灯。
SB(一片74LS273)输出接ALU。
(无对应数据灯)。
ALU(由ALTERA公司的EMP7064S组成),输出接PC-244。
PC-244(传输门,由一片74LS244构成)。
二、辅助调试电路
1、脉冲源
连续脉冲:
由右下角波段开关分为三档。
通过插销座(标有PULSE字样)输出,并由发光二极管显示。
其三档为:
波段开关在右档——高频50KHz~4MHz
波段开关在中档——低频2~500Hz
通过电位器旋扭可以对脉冲输出频率进行微调。
波段开关在左档——停振,手动输入
单脉冲:
接动微动开关,从两同插销座分别获得与动作同步的正负单脉冲,并由两个发光二极管显示,并且当连接脉冲的波段关开搬到“左档”位置时,作主脉冲手动输入(即PULSE插销座输出单脉冲)。
2、逻辑测试笔
被测信号由测量杆(或一般连线)输入到标有“LOGICPEN”字样的插销座,则由两个发光二极管分别显示高、中(悬空时两灯均不亮)、低电平。
3、微动开关组
面板左下方的S17、S18、S19,面板左上方的S21及面板右边的S20微动开关是用来产生逻辑信号的,正负脉冲分别由插销座输出,其原理图同1—2所示
&
&
+5V
图1-2微动开关原理图
三、PLD设计区
1、电平开关组
面板右下方有20个钮子开关组成电平输出开关组(K1~K20)。
开关在上为“1”,在下为“0”由对应插销座输出。
其原理如图1—3所示。
OUT
+5V
K
图1—3电平开关原理图
2、状态开关
状态开关K8在面板中间左下方。
波段开关分为三档(K8-1,K8-2,K8-3)。
开关处于某档,其输出为“0”,否则,为“1”。
其原理如图1—4所示。
1
3
2
OUT
+5V
K8
图1—4状态开关原理图
3、电平显示灯组
面板右上方有16发光二极管(L1~L16),接成正逻辑显示方式。
当对应插销座引入高电平时,灯就亮。
§3电源及其它设备
一、电源
实验台自带输出+5V±5%电压,3A电流,带有过流保护的直流稳压电源。
使用时,需将220V交流插头插入交流电源插座。
二、关于锥形迭插式接插件的使用
当插销插入的同时,略加旋转,则接触更为可靠;借用专用工具撬出插销最为省力。
第二章分解实验
本章共设二个实验,是为课程设计整机实验而准备的。
从逻辑功能上讲,每个实验都可以是CPU整机实验中有关的一部分,但实验本身来说,又可构成一个独立的逻辑功能,每个实验的逻辑规模,其用片数均在十片左右。
因此,学生通过这些实验可积累一些实验经验和技巧,熟悉一些中、大规模集成电路的使用方法,提高逻辑设计能力,为整机实验打下基础。
实验一总线、半导体静态存储器实验
一、实验目的
(1)熟悉挂总线的逻辑器件的特性和总线传送的逻辑实现方法。
(2)掌握半导体静态存储器的存取方法。
总线与存储器这是两个内容的实验,为了使实验更加紧凑与实用,现将它们列入同一个实验中。
这种安排不仅便于向存储器传递控制信息,存储器地址,传送写入或读出的数据以加深对存储部件基本工作原理的理解,而且还有助于熟悉总线的结构和使用。
掌握扩充系统的方法,为后续的整机实验打好基础。
二、实验原理
1、总线及其连接电路
总线是计算机中传送信息的公共通路、地址、数据和控制信息可通过它在计算机各部件之间传送。
总线的结构往往影响计算机系统的信息传送方式和传送效率,影响计算机的系统结构采用总线结构的计算机系统,其中央处理机(或处理器)、内存储器和外部设备等都仅与总线进行信息交换,使系统结构清晰,连线数目少,外部设备可与内存统一编址,系统更新和扩充十分方便。
目前许多计算机(特别是微型计算机)都采用总线结构。
通常,用于部件与总线连接的器件有两种:
TSL器件:
(三套总线电路或输出带三态电路的逻辑器件)和OC器件(集电极开路的门电路)。
由于集电极开路门构成总线电路时要考虑到负载能力、阻抗匹配等问题,因而仅适用于小规模的总线场合,故目前已渐渐地为TSL器件所替代。
实用的TSL器件有多种,就74系列集成电路而言已有几十种,其中三态电路总线有总线缓冲器/驱动器/接收器、总线发送器等。
如74LS240、74LS241和74LS244等都是八总线缓冲器/驱动器/接收器。
在本实验中用的是74LS244;74LS242和74LS243是总线收发器。
还有不少输出带三态电路的器件,如D触发器、D锁存器等。
74LS373是带三态输出的八D锁存器;74LS374是带三态输出的八D触发器。
它们是可以直接挂上总线的。
建立总线应遵守以下原则:
(1)分时性:
即挂在总线上的各总线驱动器(发送端)不允许同时向总线发送信息。
(2)一致性:
即同一总线中所用的挂总线的器件类型更一致。
例如,在本实验中均选用三态门(TSL)器件。
2MM2114集成电路存储器工作原理
(1)2114是1K×4的随机访问存储器(RAM),采用NMOS工艺制成,它有10地址线(A0~A5),4位输入/输出线(I/O1~I/O4)一个读/写控制端(WE)和一个片选端(CS)。
(2)组成
存储体——寄存信息代码
译码器——分行译码、列译码,以选择要访问的单元读写电路——将代码从存储体读出放大或写入存储体单元。
控制电路——接收读写命令,并发出相应的信息,来控制相应的读写动作。
三态输入输出缓冲器——控制其接收或发送数据信息,它可与总线直接相连。
(3)读/写操作过程
工作时,应先加入访问的存储单元地址(A9~A0),然后根据读、写要求确定读/写控制端WE及片选端CS的信号:
WE=1为读操作,WE=0为写操作;CS=0选中本片2114,CS=1,时本片不工作。
注意,不管是进行读操作还是写操作,都必须对CS进行控制。
在操作时,CS=0不操作时,CS必须为1。
a.读操作过程
从一个地址单元中读取一个数据的操作过程如下:
先在地址线A9~A0上送一地址,置WE=1,然后使CS由1变0,经tc0时间后,该地址单元中的数据便读取到数据线I/O1~I/O4上。
若是进行连续“读”操作,则在改变地址前,应先将CS置“1”,经过tA时间后可读得数据。
要停止读操作时,只要CS=1,则数据线经过tOTD后,又处于浮空状态。
b.写操作过程
向一个地址单元写入一个数据的操作过程如下:
先在地址线A9~A0上加一地址,置WE=0,CS由1变0,在数据线上加入所要存入的数据,经tDW+tDH后,数据便写入该地址单元中。
如果进行连续“写”操作,改变地址和数据,在WE=0,CS由1变0,经过tw时间后,数据就写入到相应的地址单元中。
当CS=1、WE=1,则结束写操作。
注意,在CS从0变1前一段时间(tDW)内,输入数据必须保持不变。
3.总线、半导体静态存储器实验方案
我们采用单总线结构,地址或数据信息是通过同一组数据开关经过三态传输门送上总线,发送到相应的计数器、地址寄存器或存储器单元中,怎样来区分送入总线的信息是地址,还是数据,这可通过控制操作时序来实现、计数器具有双向传输特性,即它可以从总线上接受信息,也可发送数据到总线上,(计数器可选用74LS161和74LS244构成可预置计数器,并具有双向传送逻辑功能);而输出缓冲器及地址寄存器仅是接收总线信息的一个部件。
实验电路方案如图2—1所示。
总线BUS
8
8
8
8
地址寄存器A
计数器B
输出缓冲器
三态门
8
8
8
8
8
RAM
2114*2
三态门
数据显示灯C
开关组
K
8
图2—1存储器实验电路方案
4.部分逻辑芯片介绍
(1)八三态门74LS244
每片两组装,每组四位,分别由G1、G2控制,G1、G2合并统一控制,构成八位。
(2)八D触发器74LS273
(3)同步四们数器74LS161字长扩展
(4)2114字长的扩展
本实验总线宽度为八位,所以将4位字长的2114扩展为八位。
因为采用单总线结构所以地址线也应只有八位,所以实际上两片2114的存储量为256×8。
三、实验内容
1.根据实验方案框图,画出实验电路逻辑图。
在本实验中,绝大多数的器件在“数据通路”中已安排好,同学们只要用开关或单脉冲控制其各个控制端即可。
只有和外部开关组相连的三态传输门(74LS244)要连线。
具体接线是:
在20个钮子开关组成电平输出开关组(K1~K20)中选八个连接到74LS244的输入端(即A端),而输出端(即Y端)接“通据通路”的八位总线,即实验台中间位置横排着的八个插销座,这样外部的信息(地址或特写入的数据)就通过74LS244和“数据通路”的八位总线连接起来,也即和实验框图上的“地址寄存器”、“计数器”、“RAM”等连接起来。
而各个控制端的控制是选择电平开关或单脉冲连接至对应的插销座上。
2.本实验应实现的操作
(1)实现下列手动单功能操作
K→B、A
K→RAM
RAM→C
B→A
(2)实现下列功能的自动操作
a.按顺序连续“写”操作
b.按顺序连续“读”操作
四、实验要求
按第二章做好“实验预习”,并按“实验报告规范”做好实验报告。
因为本实验只有一片74LS244要全部自己连线,所以要对照书后附的逻辑图进行连线。
通过电平开关输入到总线上的数据应注意D7为最高位,D0为最低位,切勿接错。
可以通过SA数据灯显示结果验证。
即SA数据灯最左边为最高位D7,最右边为最低位D0,而电平开关最左边为最高位D7,最右边为最低位D0。
另外控制点可分别选择电平开关或单脉冲,如“地址寄存器”、“输出缓冲器”等是由脉冲跳变来控制,所以应选择单脉冲,“三态传输门”、“RAM2114”的CS、WE则是由电平控制的,所以应接到电平开关组中去。
由于总线的互斥特性,实验框图中的两个三态门不能同时打开,最好用K8控制(参见第一章K8开关的说明)。
实验中,记录实测数据和波形。
最后对结果进行分析,总结心得体会与收获,提出改进建议。
实验二运算器数据通路实验
一、实验目的
1.熟悉函数功能发生器的功能、使用方法。
2.熟悉运算器的数据传送通路。
3.完成几种算逻运算操作,加深对运算器工作原理的理解。
二、实验原理
运算器是计算机中对数据进行运算操作的重要部件,它的核心是ALU函数功能发生器(由EPM7064S构成),其次还要有存放操作数和运算的中间结果之寄存器以及传送数据的总线等部分。
选用不同的控制信号,运算器可以完成不同的运算功能。
1.函数功能发生器(ALU)的功能。
该函数功能发生器(ALU),当输入为Aj、Bj,对应输出为Fj(j=0,1,2,3,4,5,6,7),它可实现8种不同的算术运算和逻辑算,而且通过对控制参数SEL2~SEL0S0来选择。
2.数据传送通路实验电路方案
实验方案框图见图2—2所示。
总线BUS
3
8
8
8
寄存器Sa
寄存器Sb
指令寄存器IR
三态门
8
8
显示
SEL2SEL1SEL0
SEL2@
开关组
三态门
ALU
SEL1
SEL0
8
图2—2ALU数据通路实验方案
图中SA、SB为存放两个现行操作的缓冲寄存器,其中SA兼作存放中间结果的累加器,并且可以通过SA所连接的八个数据灯显示。
SA、SB接收来自总线的数据信息送入ALU进行算术或逻辑操作。
通过移位门将运算操作结果送到总线。
并且ALU和总线之间需用三态门隔离(采用74LS244)。
三、实验内容
1.按照实验电路方案框图,设计一个能完成下列八种补码运算指令的八位运算器。
该运算器实现的八种功能如表2—1所示。
表2—1:
指令
助记符
代码(SEL2SEL1SEL0)
功能
逻辑与
ANA
000
(SA)&(SB)→SA
逻辑或
OR
001
(SA)|(SB)→SA
A取反
CMAA
010
(SA)→SA
B取反
CMAB
011
(SB)→SB
减
SUB
100
(SA)-(SB)→SA
加
ADD
101
(SA)+(SB)→SA
右移
SHR
110
(SA)→SA
左移
SHL
111
(SA)→SA
2.根据运算器设计,选择所需元器件,画出实验电路的详细逻辑图,对开关,单脉冲等定义。
因为和上次实验类似,也是绝大多数的器件在“数据通路”中已安排好,只要控制各个控制点即可,除了开关组通过三态传输门(74LS244)的接法和实验一一样外,设置一个指令寄存器(IR),用74LS273担当IR。
通过八根连接线和“数据通路”中的八位总线连接起来。
存放ALU的控制信息SEL2~SEL0。
为了便于观察IR中内容,可以在IR的输出端同时接上三个电平显示灯。
有的同学如用三个电平开关设置SEL2~SLE0。
当然可以得出结果,但是由于IR是一个不可缺少的计算机部件,为了达到完整熟悉计算机各组成部分的目的,这里专门设置了指令寄存器IR。
3.在电路上进行表2—1所列的八种指令的手动操作,每次一条指令。
实验时可由数据开关输入指令码及操作数,予以功能的验证。
第三章课程设计
§1微程序控制的模型计算机的设计与调试
一实验目的
1.综合运用“计算机组成原理”和“数字电路”等课程的知识,通过对模型机的设计和调试,加深对计算机各部件工作原理的认识。
2.进一步掌握运用EDA技术进行设计和调试的工作方法。
3.掌握计算机硬件设计的思想,方法及工作过程,进一步培养工程设计的能力。
二实验任务
1.自行规定数据格式和指令格式,在所提供的条件范围内设计一台由微程序控制的模型计算机。
2.根据设计方案,将模型机调试成功。
3.整理出相关文件。
(1)数据格式和指令系统。
(2)总框图。
(3)详细电路图或有关电路的Verlog语言源程序。
(4)微指令格式和微程序。
(5)调试过程和测试结果(包括测试程序)。
三设计方案
以下我们给出一套参考设计方案,学生也可以按照自己的意愿自行设计出不同的方案。
1.数据格式和指令系统
采用8位数据通路,数据采用8位二进制定点表示。
76543210
.
设置7条机器指令和两条面板操作指令
(1)面板操作指令
a.输入地址
为PC置初始值,即输入程序的起始地址,当K1开关置“1”,K2开关置“0”时执行此操作。
b.输入程序
将程序输入到内存的指定区域,当K1,K2开关均置“1”时,由面板输入开关输入程序
c.本模型机设置K3开关,K3置1表示执行单步操作。
d.START表示启动开关。
(2)指令系统
a.指令格式
操作码
寻址方式
76543210
有二种寻址方式
寄存器寻址
操作码
R目
R源
76543210
直接地址寻址
由于地址要占用一个字节,所以此类指令为双字节指令。
操作码
R目
R源
内存地址
b.7条机器指令
INR;从开关输入数据送入到指定的寄存器R。
格式:
0001
R目
00
OUTR;从指定的寄存器R中取出数据送入到输出缓冲器,显示灯亮。
格式:
0010
00
R源
LDR,address;从内存指定单元取出数据,送入指定的寄存器R。
格式:
0011
R目
00
内存地址
STaddress,R;从指定的寄存器R中取出数据,存入内存指定单元。
格式:
0100
00
R源
内存地址
ADDR1,R2;将两个寄存器中的数据相加,结果送到R1。
格式:
0101
R目
R源
JMPaddress;无条件转移,即addressPC。
格式:
0110
00
00
内存地址
HALT;停机指令。
2.数据通路设计
(1)采用MAXPLUS—II软件工具,先设计出运算器部分,如图3-1.ALU.gdf(见附录四),经时序仿真正确后,进行符号封装,如图3-2。
(2)根据指令系统,数据通路中应包括寄存器组,存储器等,采用单总线结构,
如图3-3(见附录四)。
3.控制器设计
(1)控制器总框图
IR
微地址入口电路
控存
(存放微程序)
微指令寄存器
微命令译码电路
.
……
控制信号
(2)微指令格式和微命令
首先对数据通路进行分析,需要16个控制信号。
此外还要2个信号:
UPC(表示一段微程序结束),HALT(停机),共需要18个控制信号。
采用水平型格式表示。
控制数据通