1计算机组成原理实验实验中心组成原理课题组2授课教师及实验课地点介绍张政凯办公室电话:87571561办公室:C区408南门迟宗正刘金鹏于成办公室电话:87571613办公室:C区413高新岩办公室:C区403&407实验课地点:C区409-411(硬件实验室)3为什么要做组成原理实验?在学习过计算机组成之后,需要通过实验的实践部分了解计算机的各硬件部分的工作原理,诸如:运算器的工作原理,存储器的工作原理,串口等外设的工作原理,CPU的两种控制逻辑(硬布线控制逻辑和微程序控制逻辑)通过实验实现:加深对理论的理解提高实践的能力4教学目标通过实验更加深刻的理解计算机的组成加深对计算机各个部件功能的认识以及各个部件之间的协同关系掌握运算器.控制器的工作原理,掌握微程序控制逻辑下的控制器并了解基于硬布线逻辑的控制器5课程主要内容清华实验箱基础汇编语言程序设计脱机运算器实验存储器扩展实验中断实验I/O接口实验FPGA程序设计复旦实验箱微程序控制器部件教学实验共计9个实验:(分两个实验箱完成)6课程主要内容安排原因1采用清华实验箱做简单部件实验,是因为各部件的开关和信号灯十分完善能够清楚的观察到实验的结果;但对于微程序控制器实验的设计存在一定的不可操作性,对大家理解微程序控制下的控制器工作不够明确。2采用复旦实验箱完成微程序控制器部件实验,能够充分利用实验箱上的键盘和微型打印机得到所见即所得的打印结果,并且能够细致观察到微程序下每条微指令的控制信号,能够将运算器工作更加细化。7课程的评分本课程共36学时,1.5学分,共9个单元。期末成绩由平时成绩累加没有考试实验报告实验结果检查课堂表现、考勤、遵守实验室纪律情况8教材与参考书教学资料讲稿(PPT文件)及微信公众平台推送信息课程网站:百度云盘:提取码:mftr参考教材软件学院综合实验教程—计算机硬件综合实验大家上学期学过的计算机组成原理教材9对大家的期望和要求实验前要作充分的准备阅读相关的文献资料,找出完成实验题目的方法强调自学的能力实验中要勤于动手动脑强调独立解决问题的能力实验后要作深入的总结强调写作的能力10特别强调的一些规则1实验报告如有抄袭现象,一经发现取消当次实验成绩,两次及两次以上抄袭者取消课程成绩。2禁止在实验室内进食,饮用水必须放在教师指定位置,严禁将水带至实验台及饮用,违者从总成绩中递增减分。3禁止穿拖鞋进入实验室,禁止在实验课上上网聊天及游戏,违者从总成绩中递增减分。4实验结束后,必须将实验箱及桌椅复位,告知教师检查后方可离开,否则取消当次实验课堂成绩。11特别强调的一些规则(续)5迟到30分钟及早退将被视为旷课处理,病事假持假条请假,旷课3次取消课程成绩。6在实验过程中必须积极配合教师对实验结果的检查。7未经教师授权或同意,不得动用实验平台内外一切设备(尤其是电源),违者取消课程成绩并徐对损坏仪器照价赔偿。8实验课程期间在实验室内保持肃静!9实验结束后,必须将所有实验箱仪器以及桌椅板凳恢复原样,摆放整齐,并且所有你带来或制造的东西一律带走。10不得私自调课,否则无法录入成绩后果自负!!12实验箱的介绍复旦大学实验箱清华实验箱TEC-XP13实验一微程序控制的计算机实验存储器扩展实验14实验目的学习和掌握微程序控制计算机的工作原理及实现方法;初步学会程序的流程图画法及程序的模块化设计、调试方法。学会建立文本文件、表格、图形文件。15实验要求1)建立指令集文件(*.DEF指令系统)2)建立微程序文件(*.M19)3)编写二位乘法程序,通过调试观察汇编指令在微程序控制计算机中的实施过程,学会程序设计中的流程图,模块化设计及调试方法。16冯诺依曼计算机设计思想美国科学家冯·诺依曼于1946年提出了“存储程序”的设计思想,其后开发的计算机大多采用这种方式,此类计算机被称为冯·诺依曼计算机。存储程序概念:为了告诉计算机做什么事,以及按怎样的顺序去做,这就需要编制程序,使计算机能按人们所规定的顺序自动地工作。通常将程序以代码的形式事先存入计算机中,使计算机在工作时能自动高速地逐一取出并加以执行17冯诺依曼计算机构成计算机硬件基本构成按照冯·诺依曼计算机的设计思想,计算机硬件基本上由运算器、控制器、存储器、输入设备和输出设备五大部件构成。通常我们把组成计算机的这些功能部件称为硬件。188位单累加器计算机基本结构19实验原理-微程序定义微程序:每条指令实际上分解成一系列微操作序列。因而指令的执行过程实际上就是相当于该条指令的微操作序列的执行过程。如果把统一节拍中要执行的微操作作为一条“微指令”,则一条机器指令可看做是由若干条微指令组成的。与一条机器指令相对应的微指令组成的微指令序列就叫做“微程序”。用于存放微程序的存储器叫做控制存储器20实验原理-微命令和微操作定义微命令和微操作:从微操作的角度出发可将计算机分成两部分:控制部分和执行部分。例如控制器即控制部分,而运算器、存储器及输入输出设备等相对于控制器而言即执行部分。微命令即由控制部分向执行部分发出的最基本的控制信号。微操作即是上述执行部分受到微命令后所执行的最基本的操作。可以看出,微命令与微操作实质上是同一个信号:从控制部分角度看它是微命令;从执行部分看它是微操作。可以称微命令是微操作的控制信号;而微操作是微命令控制的操作过程。21实验原理-微指令定义微指令:微指令就是若干微命令的组合常将要在同一节拍内执行的微操作所对应的微命令组合在一条微指令中。22实验原理图23控制信号S2、S1、S0:ALU功能选择S2S1S0ALU功能000F=A+B001F=A-B010F=A(带加法进位)011F=B100F=001111110101F=A(带减法借位)111F=000000000CIN:进位位X1、X0:累加器A功能选择X1X0累加器A功能11累加器A允许接数01累加器A右移操作10累加器A左移操作CG:暂存器接数允许。CP进位位CY接数允许。WRE寄存器写入允许。24控制信号OB:ALU输出允许GI:指令寄存器IR接数允许。GA1:低位地址寄存器接数允许。GA2:高位地址寄存器接数允许。PINC:PC加1信号。PL2、1、0:PC接数控制,PL2PL1PL0操作001CY010必转011notKRIX100notPRIX101禁用1XX备用25控制信号MXA1:地址多路开关选择0:PC送至地址总线AB1:ADR送至地址总线ABCWR:写存储器CRD:读存储器MPLD:MPC接数允许。图中的寄存器选择信号(RC、RB、RA)应直接来自指令码(I2、I1、I0)。以上的各个微操作信号,除了已标明的,可统一取为0有效。26实验原理-指令系统汇编码操作指令码MOVA,Ri(A)←Ri00000iiiMOVRi,A(Ri)←A00001iiiADDA,Ri(A)+(Ri)→A00100iiiSUBA,Ri(A)-(Ri)→A00101iiiMOVA,#data8data8→A00110000ddddddddMOVRi,#data8data8→Ri00111iiiddddddddLDAaddr(addr)→A01000000aaaaaaaaaaaaaaaaSTAaddr(A)→addr01001000aaaaaaaaaaaaaaaaJCaddrifCY=1thenaddr→PCelse(PC)+3→PC01010000aaaaaaaaaaaaaaaaJMPaddraddr→PC01011000aaaaaaaaaaaaaaaaJKBaddrifKRIX=0thenaddr→PCelse(PC)+3→PC01100000aaaaaaaaaaaaaaaaJPBaddrifPRIX=0thenaddr→PCelse(PC)+3→PC01101000aaaaaaaaaaaaaaaa27实验原理-微地址实现方法本实验计算机控存为1K,地址线宽度1028实验原理-微地址实现方法实例汇编码指令码微地址MOVA,Ri00000iii00000111MOVA,#data80011000000110111JKBaddr0100000001000111从上面各例可以看出指令码的高5位决定微程序的入口地址.29实验原理-指令流程MOVA,RiT0:(PC)→AB,(M)→IR,(PC)+1→PC,(A)→ACTT1:(Ri)→ALU→DB→AMOVA,#data8T0:(PC)→AB,(M)→IR,(PC)+1→PC,(A)→ACTT1:(PC)→AB,(M)→DB→A,(PC)+1→PCLDAaddr:T0:(PC)→AB,(M)→IR,(PC)+1→PC,(A)→ACTT1:(PC)→AB,(M)→ADRH,(PC)+1→PCT2:(PC)→AB,(M)→ADRL,(PC)+1→PCT3:(ADR)→AB(M)→A30实验原理-微指令MOVA,Ri3724E00700257004MOVRi,A2120E00700257004ADDA,Ri0704E00700257004SUBA,Ri1704E00700257004MOVA,#data80725F00500257004MOVRi,#data80121F00500257004LDAaddr0125D0050125B0050725E0850025700431实验原理-微指令STAaddr0125D0050125B0052124E08300257004JCaddr0125D0050125B0050124E28700257004JMPaddr0125D0050125B0050124E48700257004JKBaddr0125D0050125B0050124E68700257004JPBaddr0125D0050125B0050124E8870025700432键盘工作原理键盘工作原理图初始状态,KRIX=0,表示键盘无数据输入。按下‘0’~‘F’任一键后,数据打入键盘数据缓冲器中(高4位为0),并置位KRIX,表示有键输入。CPU发出IOR信号,把数据读至数据总线的低8位,并清零KRIX。注意,这时如设新键盘数据输入,键盘数据缓冲器数据不变。有键输入键盘8键盘数据缓冲器DB7~0KRIXSRQIOR图2-4键盘等效框图33打印机工作原理打印机工作原理图PRIX打印完成打印启动打印机数据缓冲器DB7~0打印机SRQIOW图2-5打印机等效框图初始状态,PRIX为1,允许打印。在需要输出数据打印时,IOW发一个写脉冲(低有效),把数据总线低8位(DB7~0)上的数据打入打印机数据缓冲器中,并启动打印机从缓冲器取出数据开始打印,同时使PRIX=0(这时不允许再向打印机输出数据)。打印完成后,打印机状态PRIX置1,CPU可再次向打印机输出数据。34打印机工作原理-字轮打印机共有三个字轮,右边两个字轮为字符和符号,左边一个字符为数字。下表给出这三个字符的字符编码:编码左中右00G+11KX22√÷33P◇44D*55%S66MT77⊿M88+C99—=A—B,R—C。‡%D#AE35打印机工作原理打印机开始位置在最右边。打印时,从右到左,先打印一个右边字轮的字符,第二个中轮的字符,以后打印的均为左轮的字符。打印的编码见上表。如输出的数据的高4位不等于0,则在打印完低4位的数字后自动回车换行(这也是使打印机回车的唯一方法)。所以要输出某数字后回车换行,可以输出此数字加10H。例如要输出“3”后回车,只要输出“13H”即可。对于只需回车换行,不打印数据时,可输出1AH。注:打印机具体用法可参看程序