浙江工商大学计算机与信息工程学院计算机组成原理实验实验指导:倪金龙信息楼401Tel:28008271nijl@mail.zjgsu.edu.cn浙江工商大学计算机与信息工程学院前言实验课注意事项一、实验预习。二、实验过程,不带电连线和拆线,真实记录实验数据。三、实验完毕后,清理实验台。四、实验报告要求:1.实验日期,同组者实验等2.实验目的3.实验原理(简明)4.实验过程:(1)连线(2)操作过程(条理清晰)(3)实验数据(真实)5.实验结果和结论6.自己的看法或者疑问浙江工商大学计算机与信息工程学院前言成绩比例及考试方式平时成绩50分实验操作情况30实验报告20期末考试成绩50分实验理论考试25实验操作考试25浙江工商大学计算机与信息工程学院课程性质电路分析数字电子技术计算机组成原理微机与接口技术系统结构单片机应用计算机网络DSP芯片应用通信原理……------技术基础课------专业基础课---专业课本课程是专业基础课,是一门承上启下的课程。浙江工商大学计算机与信息工程学院课程的目的和任务计算机系统:硬件和软件的综合体。本课侧重点:学习计算机单机系统组成结构;学习各组成部分的工作原理。学习目的:1)建立计算机系统的整机概念,理解软硬件的关系和逻辑的等价性;2)深入了解计算机各部件的的组成原理、工作机制以及部件之间的相互关系;3)加强硬件分析和设计的基本技能和方法,培养和提高计算思维能力。浙江工商大学计算机与信息工程学院课程内容研究讨论单台计算机的完整硬件系统的基本组成原理与内部运行机制。单台:非多机系统完整:计算机整机、全部的硬件功能部件。基本:不一定是最高性能、最合理的组成,而是最基础的必要的组成部分。浙江工商大学计算机与信息工程学院课程内容高级语言汇编语言指令代码微指令代码高级语言执行过程浙江工商大学计算机与信息工程学院课程内容输入设备输出设备总线外存设备主存储器高速缓存控制器运算器输入输出接口浙江工商大学计算机与信息工程学院教学进度安排(信息)周次实验名称实验类型1实验台基本操作验证2算术逻辑运算实验验证3进位与判零控制实验(多位数运算)验证4移位控制实验验证5存储器读写实验验证6脱机方式下微代码装入与执行实验设计7简单模型计算机实验1设计8简单模型计算机实验2设计9带移位模型计算机实验1设计10带移位模型计算机实验2设计11机器指令设计实验1设计12机器指令设计实验2设计浙江工商大学计算机与信息工程学院教学进度安排(信电)周次实验名称实验类型1实验台基本操作验证2算术逻辑运算实验验证3移位控制实验验证4存储器读写实验验证5简单模型计算机实验1设计6简单模型计算机实验2设计7机器指令设计实验1设计8机器指令设计实验2设计浙江工商大学计算机与信息工程学院实验台基本结构运算器ALUUNIT寄存器REGUNIT报警ALARMUNIT输入/输出INPUT/OUTPUTUNIT中断INTUNIT主存储器MEMUNIT总线BUSUNIT微程序控制器MAINCONTROLUNIT指令INSUNIT地址ADDRESSUNIT时钟CLOCKUNIT手动开关控制器MANUALUNIT浙江工商大学计算机与信息工程学院实验一:实验台基本操作实验要求:把输入部件(INPUT)上的数据65送到总线(BUS)。INPUTBUS把总线(BUS)上的数据送到输出部件(OUT)。BUSOUT数据变换操作(clock单元代替开关),OUT单元的数据随着INPUT单元的数据变化而变化(连续脉冲?)。浙江工商大学计算机与信息工程学院浙江工商大学计算机与信息工程学院实验二:算术逻辑运算实验实验要求:把输入部件(INPUT)的数据送到DA1和DA2INPUTDA1;INPUTDA2将运算器(ALU)运算结果输出到总线指示灯显示。填写P44表2-2ALUBUS。验证:S3-S0,M,CI=101001101000101101101100四个运算结果数据浙江工商大学计算机与信息工程学院算术逻辑运算实验BUSDA1(274)DA2(274)运算器(181)运算器(181)锁存器(245)BUSD7-D0D7-D0D7-D0D7-D4D3-D0D3-D0D7-D4S3-S0M,CiS3-S0M,CiB-DA1B-DA2ALU-B浙江工商大学计算机与信息工程学院实验三:进位与判零控制实验实验要求:实验步骤用时序流程图表示。给定进位标志CY,判零标志CZ,规定操作方式。自己取数据,填写P47表2-4。浙江工商大学计算机与信息工程学院实验要求:实现3465H和12A7H相加结果保存到两个通用寄存器中并读出。实现3465H和12A7H相减结果保存到两个通用寄存器中并读出。微操作控制信号INPUTDA1IO-R#,B-DA1INPUTDA2IO-R#,B-DA2ALU(加)ROALU-B#,S3-S0,M,CI=100101,B-R0判断cyCYCN#或CYNCN#,T4INPUTDA1IO-R#,B-DA1INPUTDA2IO-R#,B-DA2ALU(加)R1CYCN#,ALU-B#,S3-S0,M,CI=100101,B-R1R1OUTR1-B#,IO-WR0OUTR0-B#,IO-W浙江工商大学计算机与信息工程学院实验四:移位控制实验实验内容:FOH*3/4OUT实验步骤IN(F0H)DA1IN(F0H)299299(右移2次)DA2ALU(减)OUT对应控制信号IO-R#,B-DA1IO-R#,S1,S0=11,T4299-B#,S1,S0=10,T4,T4,B-DA2ALU-B#,S3~S0,M,CI=011000,IO-W我的结果是:10110100浙江工商大学计算机与信息工程学院实验四存储器实验实验内容:1、地址分别为01、02的内存中的数据相加后,写入到地址为03的内存中。并在OUT单元读出。2、地址分别为01、02的内存中的数据为地址的内存中的数据相加后,写入到地址为03的内存中的数据为地址的内存单元中。并在OUT单元读出。(地址为40H、80H的内存预置数据10H、01H)要求:写出每步微操作,及每步微操作所需控制信号。IN(01)ARMEMDA1IN(02)ARMEMDA2IN(03)ARALU(加)MEMMEMOUTIN(01)ARMEMR0R0ARMEMDA1IN(02)ARMEMR0R0ARMEMDA2IN(03)ARMEMR0R0ARALU(加)MEMMEMOUT浙江工商大学计算机与信息工程学院IN(01)ARMEMDA1IN(02)ARMEMDA2IN(03)ARALU(加)MEMMEMOUTIN(01)ARMEMR0R0ARMEMDA1IN(02)ARMEMR0MEMDA2IN(03)ARMEMR0R0ARALU(加)MEMMEMOUTIN(01)ARIN(80)MEMIN(02)ARIN(40)MEMIN(03)ARIN(20)MEM……IN(01)ARMEMBUS(读操作)IN(02)ARMEMBUS(读操作)IN(03)ARMEMBUS(读操作)……浙江工商大学计算机与信息工程学院T1T2T3T4时序信号BTOOTBFUNCFSS3~S0,M,CIN微代码指令译码器微代码指令寄存器17位微代码控制存储器地址寄存器7位微代码控制存储器128单元×24位机器指令译码器微代码控制存储器地址缓冲器7位24位微代码显示器微地址显示器微代码控制存储器地址寄存器微代码读写控制电路24位微代码开关24位微代码缓冲器7位微地址开关浙江工商大学计算机与信息工程学院简单模型机1、根据简单模型机已经定义的5条指令,编程实现以下功能:输入单元(20H)加上内存[20H],存放到地址为20H的内存中,并在OUT显示。循环累加。2、在已有的简单模型机的5条指令的基础上,再自己定义一条减法指令:SUBROADDR([ADDR]-R0RO),编程实现以下功能:内存[20H]减去输入单元(20H),存放到地址为20H的内存中,并在OUT显示。循环累减。注:[20H]中数据预置为80H。软件下载地址:FTP://10.21.202.2/113浙江工商大学计算机与信息工程学院SUBADDR([ADDR]-R0RO)PCARPC+1RAMARRAMDA1DA1-DA2DRDRDA23540414243浙江工商大学计算机与信息工程学院实验名称:带移位模型机的设计与实现简单模型机基础上定义四条指令RR,RL,RRC,RLC操作码自己定义(书上p89,定义的微地址有冲突)例如RR操作码为11010100,则入口地址为35H.RR(功能:DR循环右移DR)改变RR指令功能如下之一RRaddr(功能:[addr]循环右移DR)RRaddr1,addr2(功能:[addr1]循环右移[addr2])编程序实现输出指示灯”00000001”(来源于input单元)从左往右或从右往左循环移动。浙江工商大学计算机与信息工程学院1,定义指令RR(DR右移DR)指令格式:D4299循环右移DR299299DR35H40H41HDR-B#,S1,S0=11299-B#,S1,S0,M=100R299-B#,B-DRPCARPC+1RAMIRJ(1)定义指令过程:1、先确定RR的操作码,如11010100。2、根据操作码,可知微指令入口地址为35H(参考J(1)散转规则)。3、画微操作流程图(如左图)。4、将微操作转化为微指令写入微存储器浙江工商大学计算机与信息工程学院思考:再定义一条乘5指令:Five(功能:DR*5DR)编程序实现输出指示灯”00000001”(来源于input单元)循环乘5输出。浙江工商大学计算机与信息工程学院PCARPC+1RAMIRJ(1)DRDA1DR299299循环左移36H40H41HFIVE指令格式:D8功能:DR*5DRFIVEADDR指令格式:D8addr功能:[addr]*5DR299循环左移299DA2DA1+DA2DRRAMDA1RAM299299循环左移299循环左移299DA2DA1+DA2DRPCAR,PC=PC+1RAMAR36H浙江工商大学计算机与信息工程学院程序指令程序助记符:INdr(INDR)P1:RRdr(DR右DR)STAdr20(DR[20])OUT20([20]OUT)JMPP1(PC=P1)地址内容00C0010002D403C8042005CC0620070008D00902RAM:浙江工商大学计算机与信息工程学院机器指令设计实验在简单模型机定义的五条指令(IN,ADD,STA,OUT,JMP)的基础之上,自己设计以下指令:SUBdr,addr([addr]-drdr)ADDCdr,addr([addr]+dr+cydr)JMPCaddr(若cy=1,addrpc)INCdr(dr+1dr)LDAdr,addr([addr]dr)运用以上定义的指令,编写指令程序实现以下功能:地址为20H的内存单元中的数据(初始值为0),加上开关中的一个数据(50H),存放到20H内存单元,并输出到OUT单元显示,并循环累加,当数据即将溢出时,转做减法操作,当减到即将溢出时,又做加法操作,如此循环。指令程序:P1:INdr(INDR)ADDdr20([20]+DRDR)JMPCP2(若cy=1,PC=P2)STAdr20(DR[20])OUT20([20]OUT)JMPP1(PC=P1)P2:INdr(INDR)SUBdr20([20]-DRDR)JMPCP1(若cy=1,PC=P1)STAdr20(DR[20])OUT20([20]OUT)JMPP2(PC=P2)浙江工商大学计算机与信息工程学院PCARPC+1RAMIRJ(1)PCAR,PC=PC+1R