您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > CPU与简单模型机设计
四川大学锦江学院实验报告学号:100510119姓名:钟霖专业:计算机科学与技术班级:10级计科第14周课程名称计算机组成原理实验实验课时4实验项目CPU与简单模型机设计实验实验时间2012-12-7实验目的1.掌握一个简单CPU的组成原理。2.在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。3.为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。实验环境西安唐都TD-CMX实验仪器一套、PC机一台实验内容(算法、程序、步骤和方法)实验原理:本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图5-1-1所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD芯片中。CLR连接至CON单元的总清端CLR,按下CLR按钮,将使PC清零,LDPC和T3相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU内总线上的数据打入PC。本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):微程序流图如下:实验步骤:1.按图5-1-5连接实验线路。2.写入实验程序,并进行校验,分两种方式,手动写入和联机写入(本次只做手动写入的实验)。1)手动写入和校验(1)手动写入微程序①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘控存’档,KK5置为‘置数’档。②使用CON单元的SD05——SD00给出微地址,IN单元给出低8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的低8位。③将时序与操作台单元的开关KK5置为‘加1’档。④IN单元给出中8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的中8位。IN单元给出高8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的高8位。⑤重复①、②、③、④四步,将表5-1-2的微代码写入2816芯片中。(2)手动校验微程序①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘校验’档,KK4置为‘控存’档,KK5置为‘置数’档。②使用CON单元的SD05——SD00给出微地址,连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M7——M0显示该单元的低8位。③将时序与操作台单元的开关KK5置为‘加1’档。④连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M15——M8显示该单元的中8位,MC单元的指数据指示灯M23——M16显示该单元的高8位。⑤重复①、②、③、④四步,完成对微代码的校验。如果校验出微代码写入错误,重新写入、校验,直至确认微指令的输入无误为止。(3)手动写入机器程序①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘主存’档,KK5置为‘置数’档。②使用CON单元的SD07——SD00给出地址,IN单元给出该单元应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该存储器单元。③将时序与操作台单元的开关KK5置为‘加1’档。④IN单元给出下一地址(地址自动加1)应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元中。然后地址会又自加1,只需在IN单元输入后续地址的数据,连续两次按动时序与操作台的开关ST,即可完成对该单元的写入。⑤亦可重复①、②两步,将所有机器指令写入主存芯片中。(4)手动校验机器程序①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘校验’档,KK4置为‘主存’档,KK5置为‘置数’档。②使用CON单元的SD07——SD00给出地址,连续两次按动时序与操作台的开关ST,CPU内总线的指数据指示灯D7——D0显示该单元的数据。③将时序与操作台单元的开关KK5置为‘加1’档。④连续两次按动时序与操作台的开关ST,地址自动加1,CPU内总线的指数据指示灯D7——D0显示该单元的数据。此后每两次按动时序与操作台的开关ST,地址自动加1,CPU内总线的指数据指示灯D7——D0显示该单元的数据,继续进行该操作,直至完成校验,如发现错误,则返回写入,然后校验,直至确认输入的所有指令准确无误。⑤亦可重复①、②两步,完成对指令码的校验。如果校验出指令码写入错误,重新写入、校验,直至确认指令码的输入无误为止。3.运行程序本机运行:将时序与操作台单元的开关KK1、KK3置为‘运行’档,按动CON单元的总清按钮CLR,将使程序计数器PC、地址寄存器AR和微程序地址为00H,程序可以从头开始运行,暂存器A、B,指令寄存器IR和OUT单元也会被清零。将时序与操作台单元的开关KK2置为‘单步’档,每按动一次ST按钮,即可单步运行一条微指令,对照微程序流程图,观察微地址显示灯是否和流程一致。每运行完一条微指令,观测一次CPU内总线和地址总线,对照数据通路图,分析总线上的数据是否正确。当模型机执行完JMP指令后,检查OUT单元显示的数是否为IN单元值的2倍,按下CON单元的总清按钮CLR,改变IN单元的值,再次执行机器程序,从OUT单元显示的数判别程序执行是否正确。数据记录和计算地址十六进制高五位S3-S0A字段B字段C字段MA5-MA00000000100000000000000000000000101006D4300000000011011010100001103107070000100000111000001110000040024050000000000100100000001010504B20100000100101100100000000110105141000100000101000101000001300014040000000000010100000001003218300100011000001100000000000133280401001010000000010000000001350000350000000000000000001101013C006D5D000000000110110101001101机器指令代码如下:地址内容助记符说明0000000000100000;START:INR0从IN单元读入数据送R00000000100000000;ADDR0,R0R0和自身相加,结果送R00000000000110000;OUTR0R0的值送OUT单元显示0000001111100000;JMPSTART跳转至00H地址0000000000000000;0000000101010000;HLT停机运行程序时输入数据:44H数码管显示结果:88H结论(结果)小结指导老师评议成绩评定:指导教师签名:
本文标题:CPU与简单模型机设计
链接地址:https://www.777doc.com/doc-4612986 .html