五邑大学计组实验五 CPU与简单模型机设计实验

合集下载

计算机组成原理-模型机综合实验

计算机组成原理-模型机综合实验

一.实验设计方案实验序号实验名称基本模型机实验实验时间2014年11月19日实验室睿智4—3031.实验目的1、在“微程序控制器的组成与微程序设计实验”的基础上,将第一部分中的各单元组成系统,构造一台基本模型计算机;2、本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。

3、在原有程序的基础上修改一条指令和增加两条指令。

2.实验原理、实验流程或装置示意图1、实验内容:根据模型机的指令系统,编写相应的微程序,并上机调试运行,观察并记录结果。

2、实验原理:在第一部分的单元实验中,所有的控制信号是人为用SWITCH单元产生的,但是在实际的CPU中,所有的控制信号都是由CPU自动产生的。

所以在本次实验中我们用微程序来控制,自动产生各部件单元控制信号,实现特定指令的功能。

这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。

本实验设计了五条机器指令,其指令格式如下:助记符机器指令码说明IN 00000000 ;输入,“INPUT”设备中的开关状态→R0 ADD addr 00010000 XXXXXXXX ;二进制加法,R0+[addr]→R0STA addr 00100000 XXXXXXXX ;存数,R0→[addr]OUT addr 00110000 XXXXXXXX ;输出,[addr]→BUSJMP addr 01000000 XXXXXXXX ;无条件转移,addr→PC机器指令码的前4位为操作码。

其中IN为单字长,其余为双字长指令,XXXXXXXX为addr 对应的二进制地址码。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。

存储器读操作(READ):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。

CPU与简单模型机设计实验

CPU与简单模型机设计实验

CPU与简单模型机设计实验1.实验目的和背景CPU是计算机的核心部件,负责执行各种运算和指令。

在现代计算机系统中,CPU的设计日益复杂和精密,其中包含了大量的逻辑单元、寄存器、控制器等组件。

本实验旨在通过设计一个简单的模型机,使学生们对CPU的基本原理和运作方式有一个直观的理解,并通过实际操作加深对计算机系统的理解。

2.实验内容和步骤本实验将分为以下几个步骤来完成:1)硬件设计:首先,根据CPU的基本原理和结构,设计一个简单的模型机,包括运算单元、寄存器、控制器等组件。

可以参考经典的冯·诺伊曼结构,根据实际需要添加一些功能模块。

2)指令设计:设计若干简单的指令集,包括算术运算、逻辑运算、跳转等指令。

指令集的设计应考虑到CPU的硬件结构,使其能够有效地执行这些指令。

3)程序编写:编写一些简单的程序,包括对指令集的测试、算术运算、逻辑运算等,以验证CPU的正确性和性能。

4)实验报告:总结实验中的设计过程、实现方法、遇到的问题以及解决方案,对设计的CPU进行性能评估和改进。

3.实验材料和工具1)计算机:用于进行程序编写和模拟实验,可以选择使用现有的模拟器或者在线平台。

2)模型机器材料:包括集成电路芯片、面包板、导线、电阻、电容等,用于搭建实验平台。

3)编程工具:用于程序编写和调试,可以选择使用C语言、Python 等高级语言。

4.实验预期结果和意义通过本次实验,学生们将能够深入了解CPU的基本原理和工作原理,掌握计算机系统的设计和实现方法。

同时,通过实际操作,学生们可以锻炼自己的设计能力、解决问题的能力和团队合作能力。

这对于深入理解计算机科学的理论知识、提高实践能力和培养创新思维具有重要意义。

5.实验总结通过本次实验,我对CPU的工作原理和计算机系统的设计有了更深入的理解,掌握了一定的设计和实现方法。

在实验过程中遇到了一些问题,如指令集设计不够合理、硬件连接错误等,通过团队合作和思考,最终得以解决。

CPU与简单模型机设计实验中的关键问题分析

CPU与简单模型机设计实验中的关键问题分析

CPU与简单模型机设计实验中的关键问题分析摘要:模型机设计实验是计算机组成原理实验中的一个综合性较强的实验,要求学生在掌握各部件单元电路的基础上,构建一台模型计算机。

文章选用TD-CMA实验教学系统,针对采用微程序控制器设计的CPU与简单模型机设计实验,从连线排查、指令设计、微程序设计、指令控制、程序运行等方面分析该实验中的关键问题,并给出每个问题的解决方法。

关键词:计算机组成原理;微程序控制器;简单模型机;TD-CMA0 引言CPU与简单模型机设计实验是计算机组成原理实验中的一个综合性较强的实验,对学生的理论要求、能力要求较高。

在美国的一些主流大学中,计算机组成原理实验强调从顶层(应用和软件)到底层(硬件)的掌握与了解,实验方式一般采用高级语言实现对硬件的模拟;有些大学则要求学生采用VHDL、Verilog 等硬件描述语言进行功能部件和小型系统的设计与实现,并在FPGA等硬件上进行测试验证。

从文献[4]可以看出,国内大学计算机组成原理课程的实验已经由验证性实验逐渐过渡到处理器设计及计算机系统搭建的层次上。

与模型机设计相关的实验仍然是重点实验内容,只是实现方式和难度不同。

例如,有些学校开设的实验会引入MIPS、流水、Cache等功能设计。

根据控制器部件的工作原理,模型机控制器可分为硬布线控制器和微程序控制器两种,还可根据设计的模型机所含指令系统分为简单模型机和具有特定功能的模型机,因此模型机的设计也有不同的类型。

笔者选取微程序控制器的基本模型机设计进行分析。

TD-CMA教学实验系统是西安唐都科教仪器公司推出的新一代计算机组成原理与系统结构教学实验设备。

该系统硬件的电路布局按照计算机组成结构进行模块化设计,配有CMA’监控软件,可以实现从部件到整机实验的数据通路图实时动态图形调试界面演示,且都具有单拍、单周期、连续等调试功能,通路图的调试过程也具有保存和回放功能。

笔者采用TD-CMA实验教学系统,针对以微程序控制器为基础的简单模型机设计实验,从连线排查、指令设计、微程序设计、指令控制、程序运行等多个方面分析微程序控制器模型机实验中的关键问题,给出了每个问题的解决方法。

Cpu与简单模型机

Cpu与简单模型机
实验内容
1.写入微程序
将下面微代码写入芯片
地址
HEX
高八位
A字段
21,19-12位
CN_I
S3-S0
uM_PC7..uM_PC0
00
6F0ED001
6F
00
0 11101101
0
0000
01
08
3B0AF009
3B
00
0 10101111
0
0000
09
09
5D0AF00A
5D
00
0 10101111
PC+1IN---RO
RO---B
R0----A
A+B----RO
RO---OUT
实验过程及
结果记录
一 准备好实验仪
二.写入微程序,机器程序
三.本机运行(出现错误)
输入数据10101000即为A8
多次检验发现错误,微指令与机器指令的首地址出现问题
实验结果
分析
思考
1在不同地址 输入微指令(信号
uM_PC7..uM_PC0
计算机组成原理实验报告
实验名称
Cpu与简单模型机
实验日期
2016.11.14
学生姓名
学号
班级
实验目的
(简述实验的目的及意义)
(1) 了解并掌握一个基础的CPU的组成原理
(2) 在前几章介绍的各单元电路的基础上,构造一个简单模型计算机
(3) 给简单模型机设计4条机器指令,并编写每条机器指令的微指令,上机调试,掌握整机概念。
;START:IN R0
;从IN单元读入数据送 R0
00000001
0000 0000

CPU-与简单模型机设计实验

CPU-与简单模型机设计实验

评语: 课中检查完成的题号及题数:课后完成的题号与题数:成绩: 自评成绩: 85实验报告实验名称:CPU 与简单模型机设计实验日期:2015.11.17 班级: 2 学号:13 姓名:周小多一、实验目的:1. 掌握一个简单CPU 的组成原理。

2. 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。

3. 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。

二、实验内容:1.要实现一个简单的CPU,并且在此CPU 的基础上,继续构建一个简单的模型计算机。

CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图2-1-1 所示。

这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

2.本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):助记符机器指令码说明IN 0010 0000 IN→R0ADD 0000 0000 R0 + R0→R0OUT 0011 0000 R0→OUTJMP addr 1100 0000 addr→ PCHLT 0101 0000 停机3. 设计一段机器程序,要求从IN 单元读入一个数据,存于R0,将R0 和自身相加,结果存于R0,再将R0 的值送OUT 单元显示。

根据要求可以得到如下程序,地址和内容均为二进制数。

地址内容助记符说明00000000 00100000 ; START: IN R0 从IN 单元读入数据送R000000001 00000000 ; ADD R0,R0R0 和自身相加,结果送R000000010 00110000 ; OUT R0R0 的值送OUT 单元显示00000011 11100000 ; JMP START跳转至00H 地址00000100 0000000000000101 01010000 ; HLT停机三、项目要求及分析:1. 试修改现有的指令系统,将加法指令的功能修改为R0的内容和某个存储单元的内容相加;增加存数、取数和减法三条机器指令,指令助记符分别为STA、LAD 和SUB,指令操作码分别为十六进制的60、70和80。

cpu设计实验报告

cpu设计实验报告

cpu设计实验报告CPU设计实验报告1. 引言计算机是现代社会不可或缺的工具,而中央处理器(CPU)则是计算机的核心组件之一。

本实验旨在设计和实现一个简单的CPU,以加深对计算机组成原理的理解,并通过实践掌握CPU的基本工作原理。

2. CPU设计概述我们的CPU设计基于冯·诺依曼结构,包括指令寄存器(IR)、程序计数器(PC)、算术逻辑单元(ALU)和寄存器文件等关键组件。

CPU的指令集采用RISC(精简指令集计算机)风格,指令长度为32位。

3. 指令集设计我们设计了一套简单的指令集,包括算术运算指令(加法、减法、乘法、除法)、逻辑运算指令(与、或、非)以及数据传输指令(加载、存储)。

指令的格式包括操作码、源操作数和目标操作数。

4. 寄存器文件设计寄存器文件是CPU中用于存储数据的重要组件。

我们设计了一个包含8个通用寄存器的寄存器文件,每个寄存器的宽度为32位。

通过寄存器文件,CPU能够高效地进行数据的读取和存储。

5. 控制单元设计控制单元是CPU中的重要模块,负责解析指令并控制各个组件的操作。

我们设计了一个简单的控制单元,使用有限状态机(FSM)来实现指令的解析和控制信号的生成。

控制单元根据指令的操作码,决定对应的操作,并将操作所需的控制信号发送给其他组件。

6. 数据通路设计数据通路是CPU中各个组件之间的数据传输路径。

我们设计了一个简单的数据通路,包括指令寄存器、程序计数器、寄存器文件、算术逻辑单元等。

数据通路能够将指令中的操作数从寄存器文件中读取出来,并将运算结果写回到寄存器文件。

7. CPU实现与验证我们使用硬件描述语言(HDL)对CPU进行实现,并通过仿真和测试验证其正确性。

通过编写测试程序,我们能够对CPU的各个指令进行测试,并检查其运行结果是否符合预期。

8. 结果与分析经过测试,我们的CPU能够正确执行设计的指令集,并产生正确的运算结果。

通过性能测试,我们还评估了CPU的运行速度和效率,并与其他现有的CPU进行了比较。

CPU 与简单模型机设计实验

CPU 与简单模型机设计实验

《计算机组诚愿理》实验报告实验序号:04 实验项目名称: CPU 与简单模型机设计实验(2)载入指令文件,进行验证:(3)运行指令(程序):将时序与操作台单元的开关KK1 和KK3 置到‘运行’档,实验类型选择简单模型机,CON单元中按CLR清零,检测结果是否与预测的一致。

四、实验结果与数据处理(过程分析):(1)启动IN单元,向其中输入操作数(这里值为03);(2)启动程序计数器(PC),然后自动进行加1操作,将指令地址存放到地址寄存器(AR);(3)从存储器当中读取指令,并将它存放到指令寄存器(IR)当中,然后对指令进行编译处理,形成控制信号,来控制各个部件的工作;(4)启动读操作,将IN单元当中操作数(03)读入到R0寄存器;(5)接着从PC中取出第二条指令的地址,并自动加1,并将它存放到AR当中;(6)从存储器当中取出第二条指令,并将它存放到IR当中,并进行编译;(7)将存储器R0中的03值送到A和B当中;(8)启动ALU运算器,执行加操作,并将运算结果送往R0当中;(8)同样从PC当中第三条指令(将运算结果送往OUT单元显示),取指令流程与上述类似;执行操作,将运算结果送往OUT单元进行显示;五、分析与讨论(心得)答:这是一个简单的CPU是由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成;这个实验是了解了一些指令::IN(输入)、ADD(二进制加法)、OUT(输出)、JMP (无条件转移),HLT(停机);再者,就是观察运行载入的指令文件的过程,通过数据通路图整个过程的变化即数据的流向及处理情况,尝试着去理解CPU在MC的控制下CPU的其他部件(ALU RO IR PC AR)的调用和处理的细节;通过这。

五邑大学计算机组成原理实验报告三:微程序控制器实验

五邑大学计算机组成原理实验报告三:微程序控制器实验

《计算机组成原理》实验报告学院:计算机学院专业:计算机科学与技术班级学号:150801 3115000820学生姓名:黄家燊实验日期:2016.12.25指导老师:李鹤喜五邑大学计算机学院计算机组成原理实验室实验一一、实验名称:微程序控制器实验二、实验目的(1)掌握微程序控制器的功能、组成知识。

(2)掌握为程序的编制、写入、观察微程序的运行二、实验设备:PC机一台,TD-CM3+实验系统一套三、实验原理:微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件的为命令序列,完成数据传送和个汇总处理操作,他的执行方法是将控制各部件的微命令的集合进行编码,即将微命令的集合仿照及其指令一眼,用数字代码的形式表示,这种表示陈伟微指令。

这样就可以用一个微指令序列表示一条机器指令,这种为指令序列称作为程序。

微程序存储在一种专用的存储器中,成为控制储存器四、实验步骤1.对为控制器进行读写操作:(1)手动读写:①按图连线:②将MC单元编程开关置为“编程”档,时序单元状态开关置为“单步”档,ADDR 单元状态开关置为“置数”档③使用ADDR单元的低六位SA5…SA0给出微地址MA5…MA0,微地址可以通过MC 单元的MA5…MA0微地址灯显示④CON单元SD27…SD20,SD17…SD10,SD07…SD00开关上置24位微代码,待写入值由MC单元的M23…M024位LED灯显示⑤启动时序电路(按动一次TS按钮),即将微代码写入到E2PROM2816的相应地址对应单元中⑥重复③④⑤三步,将下图微代码写入2816芯片中二进制代码表(2)联机读写:①将微程序写入文件,联机软件提供了微程序下载功能,以代替手动读写微控制器,但微程序得以指定的格式写入本次试验的微程序如下:://************************************************************// :// // :// 微控器实验指令文件 // :// // ://************************************************************// ://***************Start Of MicroController Data****************//$M 00 000001;NOP$M 01 007070;CON(INS)->IR,P<1>$M 04 002405;R0->A$M 05 04B201;R0->B$M 30 001404;A加B->RO$M 32 183001;IN->R0$M 33 280401;R0->OUT$M 35 000035;NOP;//***************End Of MicroController Data*******************// ②写入微程序用联机软件的“【转存】-【装载数据】”功能将改格式文件装载入试验系统。

五邑大学计算机组成原理课程设计报告

五邑大学计算机组成原理课程设计报告

计算机组成原理课程设计2012~2013年度第2学期设计题目:模型机的设计与实现院系:计算机学院学号:姓名:指导教师:成绩评定:完成日期:2013年3月15日1.课程设计的目的通过课程设计更清楚地理解下列基本概念:1.1.计算机的硬件基本组成;1.2.计算机中机器指令的设计;1.3.计算机中机器指令的执行过程;1.4.微程序控制器的工作原理;1.5.微指令的格式设计原理;在此基础上设计可以运行一些基本机器指令的微程序的设计。

2.课程设计的内容根据所提供的模型机的硬件,设计6条或6条以上机器指令,编写相应的机器指令的格式并改写原来指令的微程序,使其可以运行所有的机器指令。

新增加的机器指令的功能是:加指令:ADD R1, R0: (R1)OR(R0)→(R0)非指令:NOT R0: (R0)NOT→(R0)其中RS,RD可以是R0 、R1、R2、R3中的任何一个。

并使用实验室提供的组成原理实验箱上设计一段可以执行这N条机器指令的微程序,并设计一段用所设计的机器指令编写的具有一定实用功能的机器指令程序,在实验箱上运行以检验所设计的微程序的正确性。

3.设计的方法及过程微程序流程图:NOPPC->ARPC加1MEM->IRP<1>R0->A R1->B A加B->R0R0取反->RO 010330ADD300405 010128 IN->R001R0->OUT01NOP01PC->ARPC加1MEM->PC01IN32OUT33HLT35JMP3C1DNOT系统设计的微指令表:地址十六进制表示高五位S3-S0 A字段B字段C字段UA5-UA000 00 00 01 00000 0000 000 000 000 00000101 00 6D 43 00000 0000 110 110 101 00001103 10 70 70 00010 0000 111 000 001 11000004 00 24 05 00000 0000 010 010 000 00010105 04 B2 01 00000 1001 011 001 000 000001 1D 10 51 41 00010 0000 101 000 101 000001 30 00 16 04 00000 0000 001 011 000 00010032 18 30 01 00011 0000 011 000 000 00000133 28 04 01 00101 0000 000 010 000 000001 35 00 00 35 00000 0000 000 000 000 110101 3C 00 6D 5D 00000 0000 110 110 101 011101 3B 00 16 28 00000 0000 001 011 000 101000 28 02 32 01 00000 0100 011 001 000 000000机器指令代码:地址内容助记符说明00000000 00100000 START:IN R0 从IN单元读入数据送R0 00000001 00100001 START:IN R1 从IN单元读入数据送R1 00000010 00000100 ADD R1,R0 R0与R1相加,结果送R0 00000011 00110000 OUT R0 R0的值送OUT单元显示00000100 10110000 NOT R0 对R0取反,结果送R0 00000101 00110000 OUT RO R0的值送OUT单元显示00000110 11000000 JMP START 跳转至00H地址00000111 0000000000001000 01010000 HLT 停机实际运行结果:输入值OUT单元首先显示数值(十六进制)(即两数相加之和)OUT单元最后显示数值(十六进制)(即相加之和取反)R0 0000000103 FCR1 00000010R0 0100000184 7BR1 010000114.心得体会在此次课程设计过程中锻炼到的就是独立分析问题的能力,在上学期所学的知识下,进行进一步综合及加深理解,当时所学的计算机组成基本原理的理论知识应用与实践中,通过实际的操作对计算机各部件的组成和工作原理的理解,了解了微程序计算机中指令和微指令的编码方法和指令在计算机中的运行,进一步激发了对计算机的兴趣。

五邑大学计组实验五 CPU与简单模型机设计实验

五邑大学计组实验五 CPU与简单模型机设计实验

《计算机组成原理》实验报告学院:计算机学院专业:班级学号:学生姓名:实验日期:指导老师:五邑大学计算机学院计算机组成原理实验室实验五CPU与简单模型机实验报告一、实验目的(1) 掌握一个简单CPU 的组成原理。

(2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。

(3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。

二、实验设备PC机一台,TD-CMA 实验系统一套。

三、实验原理本实验要实现一个简单的 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位为操作码):助记符机器指令码说明IN 0010 0000 IN R0ADD 0000 0000 R0 + R0 R0OUT 0011 0000 R0 OUTJMP addr 1110 0000 ******** addr PCHLT 0101 0000 停机其中JMP 为双字节指令,其余均为单字节指令,********为addr 对应的二进制地址码。

计算机组成原理课程设计模型机实验报告 精品

计算机组成原理课程设计模型机实验报告 精品

实践报告计算机组成原理--模型机设计报告作者姓名:专业:计算机科学与技术学号:指导教师:完成日期:年月号******学院计算机工程系摘要“计算机组成原理”是计算机科学与技术系的一门核心专业基础课程,在计算机专业中起了很重要的作用。

课程中分部分介绍了计算机的各个部件,我们有必要将它们组合起来以对计算机有一个整体的认识。

这次课程设计通过对一个简单模型机的设计与实现,是我们对计算机的基本组成、部件的设计、部件间的连接有更深的理解。

依次设计计算机的几个部件并进行连接使成为一个完整的模型机。

通过运行和调试,使之正常工作。

关键词:运算器;控制器;存储器;输入输出接口;模型机正文:一、课设目的要求:《计算机组成原理》是一门理论性、实践性均较强的专业基础课,要求学生具有一定的电路分析、指令系统编写能力、软件设计能力。

通过计算机组成原理实践周,要突出《计算机组成原理》理论联系实际的特点,培养实践动手能力。

1.培养学生运用理论知识和技能,构建建立问题逻辑结构,锻炼学生分析解决实际问题的能力。

2.培养学生使用PROTEUS软件分析和设计计算机内部器件的方法和技巧。

3.培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。

4.通过实践设计,要求学生在指导教师的指导下,独立完成设计课题的全部内容,包括:(1)通过调查研究和上机实习,掌握PROTEUS软件的设计和仿真调试技能。

(2)掌握计算机系统的组成结构及其工作原理。

(3)设计实现一个简单计算机的模型机,并能够使用PROTEUS软件进行电路仿真验证二、课设内容:利用所学的计算机结构和工作原理的知识,要求学生独立完成简单计算机的模型机设计,并用PROTEUS软件进行验证。

在分析设计过程中,要求学生养成良好的习惯,学会分析实际问题,并利用所学的知识建立系统的逻辑结构,学会PROTEUS调试技巧和方法,通过逻辑设计和工程设计培养调试硬件电路的实际动手能力。

要求学生掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。

实验五 基本模型机实验

实验五 基本模型机实验
2011.5.20
计算机组成原理
4
2.装入机器程序
为了向RAM中装入程序和数据,检查写入是否 正确,并能启动程序执行,还必须设计三个控制 台操作微程序。 存储器读操作(KRD): 控制台开关SWB、 SWA为“00”时,按START微动开关,可对RAM 连续手动读操作。 存储器写操作(KWE):控制台开关SWB、 SWA为“01”时,按START微动开关,可对RAM 连续手动写入。 本次将写好的机器指令和微指令用联机软件的 传送文件功能(F4)将该格式文件传人实验系统 即可。
表5-1 SWB、SWA的状态
SWB 0 0 1
2011.5.20
SWA 0 1 1
计算机组成原理
控制台指令 读内存(KRD) 写内存(KWE) 启动程序(RP)
6
3.指令格式 微指令字长共24位,其控制位顺序如下:
2011.5.20
计算机组成原理
7
ALU控制字段:S3、S2、S1、S0、M、Cn, 它们的二进制组合用于控制ALU的工作模式,具 体含义参见运算器实训中关于ALU的介绍。 存储器读写控制字段:WE,用于控制存储器的 读写控制,详细的介绍参见存储器实验。 片选字段:CE,LDPC的组合将会对存储器、 输入、输出设备进行片选。 A、B、C字段分别是3位二进制的组合,它们分 别作为译码器的输入,然后输出各种控制信号, 其含义将如上表所示,A、B、C字段输入与输出 信号。
2011.5.20
计算机组成原理
9
5.系统微程序 系统涉及到的微程序流程见下图所示,当 执行“取指”微指令时,该微指令的判别 测试字段为P(1)测试。由于“取指”微指令 是所有为程序都使用的公用微指令,因此 P(1)的测试结果出现多路分支。本级用指令 寄存器的前4位(IR7-IR4)作为测试条件, 出现5路分支,占用5个固定微地址单元。

CPU与简单模型机设计实验

CPU与简单模型机设计实验

CPU与简单模型机设计实验一、引言CPU(Central Processing Unit,中央处理器)是计算机的重要组件之一,是计算机执行指令和进行数据处理的核心部件。

CPU的设计和优化是计算机科学的重要研究方向之一、在这个实验中,我们将通过设计一个简单的模型机来了解和学习CPU的基本原理和功能。

二、实验目的1.学习和了解CPU的基本构成和原理。

2.掌握基本的CPU设计和优化方法。

3.熟悉并加深对计算机体系结构的理解。

三、实验材料和设备1.实验平台:个人电脑或计算机模拟软件。

2. 设计工具:Verilog HDL(硬件描述语言)。

四、实验内容和步骤1.确定模型机的指令集和寄存器组。

-指令集是指计算机所能执行的所有指令的集合。

可以选择一些常用的指令来构建指令集。

-寄存器组是CPU内部用于存储和操作数据的一组寄存器。

可以选择一些通用寄存器和专用寄存器来构建寄存器组。

2.设计模型机的指令执行流程。

-指令执行流程是指CPU执行每个指令时所经过的步骤和操作。

可以使用流程图或状态转移图来描述指令执行流程。

3.设计并实现CPU的数据通路。

-数据通路是指CPU内部的数据传输路径和控制信号。

可以使用各种逻辑门和触发器来实现数据通路。

4.设计并实现模型机的控制部件。

-控制部件是CPU内部用于控制指令执行流程的部件。

可以使用有限状态机或控制存储器等方法来实现控制部件。

5.编写并调试模型机的控制程序。

-控制程序是指一段能够实现特定功能的指令序列。

可以使用汇编语言来编写和调试控制程序。

6.运行和测试设计的模型机。

-在模型机上执行一些简单的指令,观察和分析其执行结果,进行性能测试和优化。

五、实验结果与分析通过完成以上实验内容,我们将得到一个简单的模型机,并能够执行一些简单的指令。

我们可以通过观察和分析指令的执行结果,了解和学习CPU的基本原理和功能。

此外,我们还可以根据实际情况对模型机进行性能测试和优化,以提升其执行效率和性能。

CPU与简单模型机设计实验

CPU与简单模型机设计实验

CPU与简单模型机设计实验CPU(中央处理器)是计算机中的核心部件,负责执行指令和处理数据。

而简单模型机设计实验是指通过设计和实现一个简单的模型机,来体验计算机工作原理和计算机体系结构。

在这样一个实验中,我们可以从以下几个方面来详细讨论CPU与简单模型机设计实验。

1.CPU的基本组成CPU是由控制单元(CU)和算术逻辑单元(ALU)两个主要部分组成。

控制单元负责解析指令、获取数据和控制数据的流动,而算术逻辑单元则负责执行算术和逻辑运算。

在简单模型机设计实验中,我们需要设计和实现这两个组件,同时还需要考虑其他辅助组件,如寄存器和存储器等。

这些组件的设计和实现将直接影响CPU的性能和功能。

2.指令集架构设计CPU的指令集架构是指CPU所支持的指令集合和指令的格式。

指令集架构的设计需要考虑到计算机的功能需求、指令的执行效率以及编程的便利性等因素。

在简单模型机设计实验中,我们可以定义一些基本的指令,如加载数据、执行运算、存储数据等。

指令的编码格式可以采用二进制或者其他适合的方式。

通过设计和实现这些指令,我们可以模拟CPU对指令的解析和执行。

3.流水线设计流水线是指将CPU的指令和数据处理过程划分成若干个阶段,并同时在不同阶段处理多条指令。

流水线设计可以提高CPU的性能和效率。

在简单模型机设计实验中,我们可以考虑将指令执行过程划分为取指、解码、执行、访存和写回等阶段,并同时处理多条指令。

通过设计和实现这样的流水线,可以提高CPU的吞吐量和并行处理能力。

4.性能评估和优化在CPU和简单模型机设计实验中,我们可以进行性能评估和优化。

性能评估可以通过测量CPU的时钟周期、执行指令的速度和吞吐量等指标来进行。

而优化则可以通过改进指令设计、优化算法和增加硬件资源等方式来完成。

在简单模型机设计实验中,我们可以通过调整指令的执行顺序、使用更高效的算法和增加硬件资源来优化设计。

这些优化将直接影响CPU的性能和效率。

计算机组成原理-模型机综合实验

计算机组成原理-模型机综合实验
$M1200A017$M13018001$M14002018
$M15070A01$M1600D181$M17070A10
$M18068A11
修改参考二程序的机器指令:
修改参考二程序的微程序:
6.参考文献
1、计算机组成原理
2、计算机组成原理实验指导书
二.实验报告
1.实验现象与结果
在机房机箱上,实验结果按照我们设定的微程序执行,实验结果没有全部出来。
方法二:手动写入
(1)先将机器指令对应的微代码正确地写入28C16中,由于在实验1.7微程序控制器的组成与微程序设计实验中已将微代码写入E2PR0M芯片中,对照表2-2校验正确后就可使用。
(2)使用控制台WRITE和READ微程序进行机器指令程序的装入和检查,其操作如下:
A、 使SIGNAL UNIT单元的SP03为“STEP”状态,SP04为“RUN”状态,CONTROLUNIT的开关SP05处于“NORM”状态,开关SP06处于“RUN” 状态。
存储器写操作(WRITE):拨动总清开关CLR后,控制台开关SWB、SWA设置为“01”时,按START微动开关可对RAM进行连续手动写入。
启动程序(RUN):拨动总清开关CLR后,控制台开关SWB、SWA设置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。
上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:
本实验设计了五条机器指令,其指令格式如下:
助记符机器指令码说明
IN00000000;输入,“INPUT”设备中的开关状态→R0
ADD addr00010000 XXXXXXXX;二进制加法,R0+[addr]→R0
STA addr00100000 XXXXXXXX;存数,R0→[addr]

计算机组成原理简单模型机实验

计算机组成原理简单模型机实验

实验四简单模型机实验1.1实验目的1)将微程序控制器模块通过总线同运算器模块、存储器模块联机,组成一台模型计算机;2)用微程序控制器控制模型机数据通路;3)通过CPU运行5条机器指令组成的简单程序,掌握机器指令与微指令的关系,牢固建立机器的整机概念。

1.2电路图本次实验用到前几次实验所有电路,将几个模块组成一台简单计算机,由微程序控制器控制数据通路,实现cpu从内存取出一条机器指令到执行指令结束的一个指令周期,由微指令组成的序列来完成,一条机器指令对应一个微程序。

图1 电路图1.3 实验原理(1)PC计数器初始值为“0”,微程序默认从00地址开始执行,产生控制信号,使PC的地址通过ABUS将送到存储器(6116)的地址锁存器AR中, PC=PC+1;(2)读出存储器中存放内容,通过DBUS送到IR指令寄存器中,实现指令译码,指令的操作码送至微程序控制器的程序跳转控制部分,在P(1)的控制下与微程序中储存的下一条指令地址进行逻辑运算,产生真正的下一条微程序地址;(3)在微程序的控制下单步执行微指令序列。

1.4 微指令格式表1 微指令格式1.5 微程序流程图:图2 微程序流程图1.6微程序代码表1.7 数据通路总体图图3 数据通路总体图五条机器指令格式(其中,A为内存地址8bit):RAM中装入的程序和数据(其中,地址为8进制):1.8 实验任务及步骤(1)实验连线:本次实验大部分的连线已由教师完成,请同学们对照微指令格式,完成微程序控制器的剩余部分连线。

(2)实验环境初始化:实验平台通电前请关闭DR1(74ls273),DR2(74ls273),存储器(6116)的地址锁存器(74ls273),微程序控制器的地址锁存器(74ls175)的自动清零功能,将几个芯片的-MR引脚置为“1”。

时钟发生器的功能设定为单步执行,具体信号为:STOP=0,STEP=1。

(3)加电运行初始化:①指令寄存器IR自动清零,程序计数器PC手动清零,将两片74ls163的ENT,ENP引脚置“1”,-CR引脚置“0”,打开三态门开关,给单步时钟脉冲;②程序计数器PC设定为单步技术功能,并交由微程序控制,将-CR引脚置“1”,关闭三态门开关;③关闭指令寄存器IR清零功能,交由微程序控制,将-MR设为“1”。

计算机组成原理实验报告基本模型机和复杂模型机的设计

计算机组成原理实验报告基本模型机和复杂模型机的设计

计算机组成原理实验报告基本模型机和复杂模型机的设计1.引言2.设计目标本次实验的设计目标是实现一个满足基本要求的计算机模型,了解计算机的基本组成结构和工作原理。

然后我们将设计一个更复杂的模型,通过增加功能模块和优化设计,实现更高级的计算能力和更好的性能。

3.实验方法基本模型机的设计主要包括五个核心模块:输入模块、中央处理器(CPU)、存储器、控制器和输出模块。

我们将使用VHDL语言来实现这些模块,并使用FPGA来实现整个基本模型机。

复杂模型机的设计在基本模型机的基础上进行扩展和优化。

我们将对CPU进行升级,加入多核处理器和并行计算能力,增加存储器容量和传输速率,优化控制器的运行效率。

通过这些优化,我们可以提高复杂模型机的计算性能和运行效率。

4.实验结果4.1基本模型机的实验结果基本模型机的实验结果显示,我们成功实现了输入输出功能,能够将用户的输入数据送入存储器,并通过CPU进行计算后将结果输出。

虽然这个模型的计算能力和性能较低,但是它对于初学者来说是一个良好的实践项目。

4.2复杂模型机的实验结果复杂模型机的实验结果显示,我们成功实现了多核处理器和并行计算的功能,并大幅提升了计算性能和运行效率。

存储器的容量和传输速率的提升也带来了更高的数据处理能力。

控制器的优化使得整个模型机的运行更加稳定和高效。

5.实验总结通过设计和实现基本模型机和复杂模型机,我们加深了对计算机组成原理的理解,并掌握了相关的设计和实践技巧。

实验结果表明,我们的设计能够满足计算机的基本要求,并具有一定的性能和计算能力。

通过进一步优化和扩展,我们可以设计出更高级的计算机模型,满足更多应用需求。

[1]《计算机组成原理》李文新,清华大学出版社,2024年。

5. 计算机组成和体系结构 华工 实验五 CPU组成与机器指令执行周期实验

5. 计算机组成和体系结构  华工  实验五 CPU组成与机器指令执行周期实验

实验五 CPU组成与机器指令执行周期实验一、实验目的1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机。

2.用微程序控制器控制模型计算机的数据通路。

3.通过TEC-5执行由8条机器指令组成的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。

二、实验电路本次实验将前面几个实验中的所有电路,包括运算器、存储器、通用寄存器堆、微程序控制器等模块组合在一起,构成一台简单的模型机。

因此,在基本实验中,这是最复杂的一个实验,也将是最有收获的一个实验。

在前面的实验中,实验者本身作为“控制器”,完成了对数据通路的控制。

而在本次实验中,数据通路的控制将交由微程序控制器来完成。

TEC-5从内存中取出一条机器指令到执行指令结束的一个指令周期,是由微程序完成的,即一条机器指令对应一个微程序序列。

三、实验设备1.TEC-5计算机组成原理实验系统1台2.逻辑测试笔一支(在TEC-5)上3.双踪示波器一台(公用)4.直流万用表一只(公用)四、实验任务1.对机器指令组成的简单程序进行译码。

将下表的程序按机器指令格式手工汇编成二进制机器代码,此项任务请在预习时完成。

2.按照下面框图,参考前面实验的电路图完成连线,工作量大概是:控制台、时序部件、数据通路和微程序控制器之间的连线。

控制器是控制部件,数据通路是执行部件,时序发生器是时序部件。

注意通用寄存器堆RF的RD1、RD0、RS1、RS0、WR1、WR0与IR3-IR0间的连线。

图3.9 模型机连线示意图3.将任务1中的程序代码用控制台指令存入内存中,并根据程序的需要,用数码开关SW7-SW0设置通用寄存器的数据。

注意:由于设置通用寄存器时会破坏存储器单元的数据,因此应先设置寄存器中的数据,再设置存储器中的程序和数据。

要求使用两组寄存器数据,一组寄存器数据在执行ADD R1,R0指令时产生进位,一组寄存器数据在执行ADD R1,R0指令时不产生进位,以观察同一程序程序的不同执行流程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算机组成原理》
实验报告
学院:计算机学院
专业:
班级学号:
学生姓名:
实验日期:
指导老师:
五邑大学计算机学院计算机组成原理实验室
实验五
CPU与简单模型机实验报告
一、实验目的
(1) 掌握一个简单CPU 的组成原理。

(2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。

(3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。

二、实验设备
PC机一台,TD-CMA 实验系统一套。

三、实验原理
本实验要实现一个简单的 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位为操作码):
助记符机器指令码说明
IN 0010 0000 IN R0
ADD 0000 0000 R0 + R0 R0
OUT 0011 0000 R0 OUT
JMP addr 1110 0000 ******** addr PC
HLT 0101 0000 停机
其中JMP 为双字节指令,其余均为单字节指令,********为addr 对应的二进制地址码。

微程序控制器实验的指令是通过手动给出的,现在要求CPU 自动从存储器读取指令并执行。

根据以上要求,设计数据通路图,如图5-1-3 所示。

本实验在前一个实验的基础上增加了三个部件,一是PC(程序计数器),另一个是AR(地址寄存器),还有就是MEM(主存)。

因而在微指令中应增加相应的控制位,其微指令格式如表
5-1-1 所示。

系统涉及到的微程序流程见图5-1-4 所示,当拟定“取指”微指令时,该微指令的判别测试字段为P<1>测试。

指令译码原理见图3-2-3 所示,由于“取指”微指令是所有微程序都使用的公用微指令,因此P<1> 的测试结果出现多路分支。

本机用指令寄存器的高6 位(IR7—IR2)作为测试条件,出现5路分支,占用5个固定微地址单元,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写,微程序流程图上的单元地址为16 进制。

当全部微程序设计完毕后,应将每条微指令代码化,表5-1-2 即为将图5-1-4 的微程序流程图按微指令格式转化而成的“二进制微代码表”。

设计一段机器程序,要求从IN 单元读入一个数据,存于R0,将R0 和自身相加,结果存于R0,再将R0 的值送OUT 单元显示。

四、实验步骤
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 芯片中。

图5-1-5 实验接线图
(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 显示该单元的数据,继续进行该操作,直至完成校验,如发现错误,则返回写入,然后校验,直至确认输入的所有指令准确无误。

⑤亦可重复①、②两步,完成对指令码的校验。

如果校验出指令码写入错误,重新写入、校验,直至确认指令码的输入无误为止。

2) 联机写入和校验
3. 运行程序
方法一:本机运行
将时序与操作台单元的开关KK1、KK3 置为‘运行’档,按动CON 单元的总清按钮CLR,将使程序计数器PC、地址寄存器AR 和微程序地址为00H,程序可以从头开始运行,暂存器A、B,指令寄存器IR 和OUT 单元也会被清零。

将时序与操作台单元的开关KK2 置为‘单步’档,每按动一次ST 按钮,即可单步运行一条微指令,对照微程序流程图,观察微地址显示灯是否和流程一致。

每运行完一条微指令,观测一次CPU 内总线和地址总线,对照数据通路图,分析总线上的数据是否正确。

当模型机执行完JMP 指令后,检查OUT 单元显示的数是否为IN 单元值的 2 倍,按下CON 单元的总清按钮CLR,改变IN 单元的值,再次执行机器程序,从OUT 单元显示的数判别程序执行是否正确。

五、实验结果
当模型机执行完JMP 指令后,按要求输入自己学号的后两位(20)到IN单元,这时OUT 单元显示的数为40,是IN 单元值的 2 倍,按下CON 单元的总清按钮CLR,改变IN 单元的值,再次执行机器程序,从OUT 单元显示的数判别程序执行正确,依然为IN单元数的2倍,实验成功。

六、分析讨论
与微程序控制器实验相比,新增加一条跳转指令JMP,即为无条件转移。

CPU 在写入微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以该 CPU 增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。

六、实验心得
本实验有如何构建一个简单 CPU 的全部过程,并且在此 CPU 的基础上,继续构建一个简单的模型计算机。

CPU 由运算器、微程序控制器、通用寄存器,指令寄存器、程序计数器和地址寄存器组成。

在 CPU 的基础上增加一个主存和基本的输入输出部件,就构成一个简单的模型计算机。

在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。

对TD-CMA 实验系统有了更深一步的了解,能够结合PC机进行检错。

连接电路图时要仔细,注意不能连错。

相关文档
最新文档