(完整word版)CPU与简单模型机实验

合集下载

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的工作原理和计算机系统的设计有了更深入的理解,掌握了一定的设计和实现方法。

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

(完整word版)CPU与简单模型机设计实验

(完整word版)CPU与简单模型机设计实验

图5-1-1 基本CPU 构成原理图除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。

系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD 芯片中 .CLR 连接至CON 单元的总清端CLR,按下CLR 按钮,将使PC 清零,LDPC 和T3 相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU 内总线上的数据打入PC。

如图5-1—2所示。

图5-1—2 程序计数器(PC)原理图本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN (输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码):其中JMP 为双字节指令,其余均为单字节指令,********为addr 对应的二进制地址码。

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

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

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

因而在微指令中应增加相应的控制位,其微指令格式如表5-1—1 所示.图5—1-3 数据通路图表5—1-1 微指令格式系统涉及到的微程序流程见图5-1—4 所示,当拟定“取指”微指令时,该微指令的判别测试字段为P<1〉测试。

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

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

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

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。

简单模型机实验报告

简单模型机实验报告

简单模型机实验报告篇一:模型机实验报告HUNAN UNIVERSITY课程实习报告题目:模型机学生姓名学生学号 XX0801328专业班级计算机科学与技术(3)班指导老师方恺晴完成日期思考题:1. 给定一个复合运算式子以及指令码IR[7..5]与八位BUS总线对应情况。

要求写出七条指令新的指令码并写出复合运算执行mif文件。

修改模型机电路调试程序以实现复合运算。

例:已知A=55H,B=8AH,C=F0H;IR[7..5]对应BUS8,BUS1,BUS3;写出(Aplus/B)^(/(/CplusB))的mif文件,并在模拟机上实现。

答:模拟机电路修改如下:存储器预设指令重设:计算结果:(A+/B)^(/(/C+B))=42H2. Microcomputer.vhd代码中进程ct1,ct2,ct3,ct4功能划分依据是什么?ct1:微序列控制器下址跳转。

ct2:实现各种指令,主要集中在实现从存储器或者寄存器释放数据到总线上。

ct3:完成各种指令,从总线上装载数据到相应的存储器或者寄存器中。

ct4:生成下址,判断下址生成方式,根据不太那个的方式生成下址。

3. Microcomputer.vhd代码中如何定义并初始化RAM?type ram is array(0 to 37)of std_logic_vector(7 downto 0); --38*8ramsignal ram8:ram:=(x”20”, x”1e”, x”80”, x”40”, x”20”, x”20”, x”1d”, x”c0”, x”20”, x”40”, x”21”, x”20”, x”1f”, x”80”, x”40”, x”22”, x”20”, x”1e”, x”c0”, x”22”, x”80”, x”e0”, x”21”, x”40”, x”23”, x”60”, x”23”, x”a0”, x”00”, x”55”, x”8a”, x”f0”,others=>x”00”) –initialize ram44. Microcomputer.vhd代码中bus_reg_t2 将ram8存储器中对应于ar中地址单元的数据取出来放到bus_reg_t2寄存器中。

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)的调用和处理的细节;通过这。

非常简单CPU和相对简单CPU模拟

非常简单CPU和相对简单CPU模拟

实验三非常简单CPU和相对简单CPU模拟一、实验目的:本次实验主要是在非常简单和相对简答的CPU模拟器上观察程序的运行,更加形象直观的了解CPU中程序运行的各个步骤以及各个寄存器和逻辑单元在各个步骤时发挥的作用。

加深对CPU的分析和理解。

二、实验方法:在Java Runtime Eviroment软件平台下通过运行CPU模拟器,输入指令程序,然后运行,直接观察CPU的寄存器部分和状态图部分的运行,记录并进行分析,理解。

三、实验准备:在启动模拟器之前必须先行安装Java Runtime Eviroment软件,准备好VSCPU.zip、RSCPU.zip两个文件,并建目录“c:\实验”,将VSCPU.zip、RSCPU.zip 放置其中。

四、实验步骤与截图分析:(一)、非常简单CPU1、安装Java Runtime Eviroment软件,将目录c:\实验下的VSCPU.zip解压至D:\vscpu2、打开D:\vscpu\VSCPU中的index.html页面以运行“非常简单CPU模拟器”。

3、打开D:\vscpu\VSCPU\Very Simple-FLASH\VerSimpleCPUSCREEN.html,观看该模拟器使用方法的动画。

4、输入程序,在模拟器中观察程序的运行。

ADD 4 AND 5 INC JMP 0 db 27 db 395、点击View register section,图如下6、点击View memory,可看到如下图:7、点击View control unit,可看到控制单元如下图:8、执行过程描述:1)(初始状态全部寄存器均为0,每个状态开始前CLK均有效。

)2)FETCH1阶段:ARLOAD有效,PC寄存器输出储存数值0000 0000到AR。

3)FETCH2阶段:PCINC、DRLOAD、MEMBUS、储存器READ信号有效。

储存器输出数据0000 0100传送到DR。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(8)再进行计数译码,跳转到00,返回第一条机器指令
五、实验问题分析、思考题与小结
实验问题分析:
在完成实验线路的连接之后,手动写入、校验后发现在连线过程中出现错误导致输入的数据无法传输入RO寄存器中,通过检查线路后发现并进行正确的修改。
思考题:
1.当前的数据通路是由哪条微指令实现的?
R0->B。
2.当前微指令有几个微命令有效?
(3)RO寄存器读入IN单元输入的数据
(4)AR地址为01,计数器PC加1,机器指令代码送至MEM单元,MEM=00。
(5)MEM中的机器指令代码送至IR单元,再到控制器,进行译码操作。
(6)将读入的数据送到A暂存器,再送到B暂存器。最后将RO和自身相加,结果送到RO。
(7)进行计数译码操作,将RO的值送至OUT单元,输出。
计算机科学与技术系
实 验 报 告
专业名称软件工程
课程名称计算机组成原理
项目名称CPU与简单模型机设计实验
班 级
学 号
姓 名
同组人员
实验日期
一、实验目的与要求
(1)掌握一个简单CPU的组成原理
(2)在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机
(3)为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。
00000
0000
000
000
000
000001
01
00 6D 43
00000
0000
110
110
101
000011
03
10 70 70
00010
0000
111
000
001
110000
04
00 24 05
00000
0000
010
010
000
000101
05
04 B2 01
00000
1001
011
001
得分(百分制)
00000
0000
000
000
000
110101
3C
00 6D 5D
00000
0000
110
110
101
011101
结果分析:
(1)从IN单元读入数据送至AR。首先,AR地址为00,计数器PC加1,机器指令代码送至MEM单元,MEM=20。
(2)MEM中的机器指令代码送至IR单元,再到控制器,进行译码操作。
000
000001
1D
10 51 41
00010
0000
101
000
101
000001
30
00 14 04
00000
0000
001
010
000
000100
32
18 30 01
00011
0000
011
000
000
000001
33
28 04 01
00101
0000
000
010
000
000001
35
00 00 35
二、实验逻辑原理图与分析
分析:本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
三、数据通路图及分析(画出数据通路图并作出分析)
微指令:PC->AR,PC加1,MEM->IR,P<1>
微指令:IN->RO
微指令:R0->A,R0->B,A加B->R0
微指令:R0->OUT
四、实验数据和结果分析实验数据:源自地址十六进制高五位
S3-S0
A字段
B字段
C字段
MA5-MA0
00
00 00 01
两个微命令有效,分别是R0_B#和LDB。
3.当前微指令的微地址?
04。
4.当前微指令是解释执行哪条机器指令的?
ADD。
5.当前的微程序有几条微指令?
三条。
6.基本模型机实验执行了几个微程序?实现了哪些功能?
五个,实现了IN->R0,R0+R0->R0,R0->OUT,addr->PC、停机等功能。
相关文档
最新文档