计算机系统结构实验 3.1 微程序版CPU 赖晓铮
计算机系统结构实验报告
电子科技大学实验报告结果分析:观察三到九周期的ealu信号分别为(10,1,1,10,1,10,10),第九个周期的ealu为10,该周期执行的指令是sub r2 r1 r3;可见第一条指令赋值r1=10;第二条指令赋值r2=1;所以最后一条指令sub r1 r1 r2执行后结果为9,符合条件。
当有数据相关时,就会出问题,再观察第五、六、七两个周期,指令的执行结果均为1。
故该程序不能解决数据相关问题。
(二) 汇编器实现2.1自行设计与所给出的流水线指令的汇编格式,在下表中写出。
指令指令意义Op[31:26] Op2 [25:20] [19:15] [14:10] [9:5] [4:0]如上图所示,相邻的两条指令中,如果第二条指令的两个源操作数寄存器与上一条指令的目的操作数寄存器相同,那么第二条指令在译码周期从寄存器堆中取源操作数值的时候,上一条指令还只在执行周期,还没有将最后结果写回到相应的寄存器中,因此第二条指令取如上图所示,在直接相邻的两条产生数据相关的指令之间插入三条空指令,这样在第二条指令译码之前,第一条指令已经将结果写回,第二条指令取到的源操作数的值是最新的值,数据相关就消除了。
以上情况针对相邻的两条产生数据相关指令的分析,而对于中间隔了一条或两条无数据上图左边部分就是汇编器实现部分的流程图,在此基础上进行扩展,即如箭头所指方向,中间两步替代为右边部分。
)测试程序指令:xor r2, r2, r2add r3, r2, r1xor r2, r2, r2addi r1, r1, 20如上图所示,在产生数据相关的指令前插入了空指令“addi r0 r0 0”。
在xilinx中的仿真结果:。
计算机系统结构实验报告
计算机系统结构实验报告实验目的:掌握计算机系统的基本结构和工作原理,了解计算机系统的组成部分及其相互关系。
实验仪器和材料:计算机硬件设备(主机、硬盘、内存、显卡等)、操作系统、实验指导书、实验报告模板。
实验原理:实验步骤:1.搭建计算机硬件设备,将主机、硬盘、内存、显卡等组装连接好。
2. 安装操作系统,如Windows、Linux等。
3.启动计算机,进入操作系统界面。
4.打开任务管理器,查看CPU的使用情况。
5.打开任务管理器,查看内存的使用情况。
6.运行一些应用程序,观察CPU和内存的使用情况。
7.尝试使用输入输出设备,如键盘、鼠标等。
实验结果:通过实验,我们可以观察到计算机系统的硬件部分和软件部分的工作情况。
通过任务管理器,我们可以查看到CPU的使用情况和内存的使用情况。
在运行应用程序时,我们可以观察到CPU和内存的使用情况的变化。
通过使用输入输出设备,我们可以与计算机进行交互操作。
实验分析:从实验结果可以看出,计算机系统的硬件部分和软件部分都是相互关联的。
CPU作为计算机的核心部件,负责执行各种指令,通过数据传输和计算来完成各种操作。
而内存则用于存储数据和程序,通过读写操作来完成对数据的处理。
硬盘则用于长期存储数据。
操作系统则是计算机系统的管理者,通过调度CPU和内存的使用来实现对计算机资源的分配。
结论:计算机系统是由硬件和软件部分组成的,其中硬件部分包括CPU、内存、硬盘等,软件部分包括操作系统、应用程序等。
计算机系统通过CPU 的运算和数据传输来实现各种操作。
通过实验,我们可以观察到计算机系统的工作情况,并深入了解计算机系统的组成和工作原理。
实验总结:通过本次实验,我们对计算机系统的基本结构和工作原理有了更深入的了解。
实验中,我们搭建了计算机硬件设备,安装了操作系统,并通过观察和分析实验结果,进一步认识到计算机系统的组成部分和各部分之间的相互关系。
通过操作输入输出设备,我们还实践了与计算机进行交互操作的过程。
计算机系统结构 实验报告 (截图 分析 总结)
实验一流水线中的相关一、实验目的1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;2. 加深对计算机流水线基本概念的理解;3. 进一步了解DLX基本流水线各段的功能以及基本操作;4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停二、实验平台WinDLX 模拟器三、实验内容和步骤1.用WinDLX模拟器执行下列三个程序:(分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。
熟练掌握WinDLX的操作和使用。
)●求阶乘程序fact.s⏹步进的运行方式:步进的运行方式是指,每次控制只执行一条语句,快捷键为F7键:图1-1 单步运行测试⏹设置断点的运行方式:鼠标点击某行,按下“Insert键”,设置断点:图1-2 设置断点图1-3 断点设置成功,按F5运行至断点⏹连续的运行方式:通过按下F5键,可直接运行至断点处;按下F8键,并在对话框内键入跳跃的步数,可以直接跳转指定的步数:图1-4 设置跳转步数●求最大公倍数程序gcm.s,观察程序在流水线中的执行情况:●求素数程序prim.s,观察CPU 中寄存器和存储器的内容2. 用WinDLX运行程序structure_d.s通过模拟找出存在资源相关的指令对以及导致资源相关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。
●存在资源相关的指令、导致资源相关的部件⏹两条指令同时访问寄存器f4,造成资源相关:⏹两条指令同时访问ALU,造成资源相关:●由资源相关引起的暂停时钟周期数、暂停时钟周期数占总执行周期数的百分比由资源相关引起的暂停时钟周期数:30;总执行周期数:139;暂停时钟周期数占总执行周期数的百分比:21.6%3. 在采用、以及不采用定向技术的情况下,分别用WinDLX 运行程序data_d.s(记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;并计算采用定向技术后性能提高的倍数)●采用定向技术:(左下图)⏹计算暂停时钟周期数占总执行周期数的百分比:30/128=23.4%图3-1 采用定向技术图3-2 不采用定向技术●不采用定向技术:(右上图)⏹计算暂停时钟周期数占总执行周期数的百分比:104/202=51.5%●采用定向技术后性能提高的倍数:202/128=1.58倍四、实验总结●资源相关对CPU性能的影响、讨论解决资源相关的方法资源相关使相关指令在流水线上停滞,降低了执行效率;为解决这一问题,应在编写代码时尽量避免总是使用同一寄存器;并通过指令调度,使相关的代码执行距离拉开。
计算机系统结构实验指导书
计算机系统结构实验指导书殷晓峰编著山东大学计算机科学与技术学院2004年3月前言计算机系统结构是计算机科学与技术专业的一门骨干课程,课程中讲授的许多内容诸如:指令流水线、向量计算、流水线的相关、并行计算、定向技术等内容比较抽象,同学们在学习中会有些难度。
为了使理论教学与实践教学紧密结合,注重学生的智力开发和能力培养,为了帮助大家学好这门课程,我们安排了计算机系统结构实验,希望同学们认真完成实验内容,增进对课程内容的理解,提高自己理论联系实际的能力,提高自己独立思考解决问题的能力。
本实验采用了目前在世界上计算机系统结构实验教学过程中广泛采用的WinDLX模拟器,该模拟器把系统结构课程中许多抽象的东西变成实际的、便于同学们理解的内容。
本实验中借鉴和引用了其他学校的经验和内容,在此表示感谢。
山东大学计算机科学与技术学院殷晓峰2004.3目录一.WinDLX简介二.WinDLX寄存器结构及指令集三.WinDLX教程四.实验注意事项及要求五.实验一熟悉WinDLX的使用六.实验二用WinDLX执行程序求最大公约数七.实验三用WinDLX模拟器完成求素数程序八.实验四结构相关九.实验五数据相关十.实验六指令调度十一.实验七多处理机并行计算一.WinDLX 简介1.DLX流水线处理器DLX是贯穿本课程的一个流水线处理器实例,许多讨论、模拟结果和例题都是基于DLX的。
它不仅体现了当今多种机器(AMD29K、DEC station 3100、HP850、IBM 801、Intel i860、MIPS M/120A、MIPS M/1000、Motorola 88k、RISC I,SGI4D/60, SPARC station 1、Sun 4/110、Sun 4/260等)指令集结构的共同特点,而且它还将会体现未来一些机器的指令集结构的特点。
这些机器的指令集结构设计思想都和DLX指令集结构的设计思想十分相似,它们都强调:具有一个简单的Load/Store指令集;注重指令流水效率;简化指令的译码;高效支持编译器。
计算机组成原理实验 2.2 进位加法器 赖晓铮
(二)进位加法器 实验
实验目的:
● 了解半加器和全加器的电路结构。
●
●
(二)进位加法器 实验
思考题:
●
请问本实验的运算器是补码运算器。原码运算器还是无符 号数运算器?与串行进位加法器相比,并行进位加法器的优 势是什么?所谓的“并行”在哪里? 本实验中,运算器可以表示的数值范围是多少?请把运算 器电路分别修改为四位无符号数运算器和五位补码运算器 (一位符号位),并分别写出各自新的数值范围。
●
并行进位加法器的进位链
C1=Y0+X0C0 C2=Y1+X1C1 =Y1+X1Y0 +X1X0C0 C3=Y2+X2C2=Y2+X2Y1 +X2X1Y0 +X2X1X0C0 C4=Y3+X3C3=Y3+X3Y2 +X3X2Y1 +X3X2X1Y0 +X3X2X1X0C0
串行 并行
令Yn= An· Bn Xn= (An⊕Bn) 称Yn为4位进位加法链的进位产生函数。 称Xn为4位进位加法链的进位传递函数。
……
Fn-2
F1
F0
Cn B’n-1
FA
Cn-1 B’n-2
FA
Cn-2
C2
B’1 ……… …
FA
C1
FA B’0
C0
M=0加 M=1减
方式控制M Bn-1
An-1
Bn-2
计算机组织与体系结构实验 微程序控制器实验
中国矿业大学计算机学院实验报告课程名称计算机组织与体系结构实验名称实验三微程序控制器实验班级姓名学号实验日期2013.1.11实验报告要求:1.实验目的 2.实验内容 3.实验步骤4.运行结果5、.实验体会一、实验目的(1) 掌握微程序控制器的组成原理。
(2) 掌握微程序的编制、写入,观察微程序的运行过程。
二、实验原理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图2-1-1 所示。
图2-1-1 微程序控制器组成原理框图控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录2。
微程序控制器的组成见图2-1-2,其中控制存储器采用3 片2816 的E2PROM,具有掉电保护功能,微命令寄存器18 位,用两片8D触发器(273)和一片4D(175)触发器组成。
微地址寄存器 6 位,用三片正沿触发的双D触发器(74)组成,它----------专业最好文档,专业为你服务,急你所急,供你所需-------------们带有清“0”端和预置端。
在不判别测试的情况下,T2 时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4 时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。
图2-1-2 微程序控制器原理图在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储器(包括存储器和控制存储器)的三种操作:编程、校验、运行。
嵌入式系统程序设计(5章)赖晓晨
uClinux操作系统架构(续) 操作系统架构( 操作系统架构
内核初始化模块:系统启动后, 内核初始化模块:系统启动后,控制 权转移到内核初始化模块, 权转移到内核初始化模块,它初始化 内核的其他部分,包括异常、中断、 内核的其他部分,包括异常、中断、 内存页、调度、驱动程序等。 内存页、调度、驱动程序等。并启动 init进程进入多任务环境。 进程进入多任务环境。 进程进入多任务环境
uClinux可执行文件格式 可执行文件格式
uClinux采用 采用flat可执行文件格式, 可执行文件格式, 采用 可执行文件格式 可以使用elf2flt工具把 格式可执 工具把elf格式可执 可以使用 工具把 行文件转换为flat格式文件 格式文件。 行文件转换为flat格式文件。
8. uClinux的内存管理 的内存管理
3. uClinux小型化方法 小型化方法
采用romfs文件系统。 文件系统。 采用 文件系统
romfs文件系统比 文件系统比ext2需要更少的代码; 需要更少的代码; 文件系统比 需要更少的代码 romfs文件系统相对简单,超级块 文件系统相对简单, 文件系统相对简单 (superblock)需要更少的存储空间。 需要更少的存储空间。 需要更少的存储空间
uClinux的特点(续) 的特点( 的特点
重写了标准c函数库: 重写了标准 函数库:uClinux系统中 函数库 系统中 所有应用程序使用了嵌入式的标准C函 所有应用程序使用了嵌入式的标准 函 数库uClibc或uC-libc,该函数库精 数库 或 , 简了Linux系统中的标准函数库 系统中的标准函数库libc。 简了 系统中的标准函数库 。
6. 基于 基于uClinux的ARM平台软件架构 的 平台软件架构
计算机系统结构实验报告
计算机系统结构实验报告计算机系统结构实验报告引言:计算机系统结构是计算机科学领域中的重要课题,它研究计算机硬件和软件之间的关系,以及如何优化计算机系统的性能和效率。
本实验报告旨在介绍我们小组在计算机系统结构实验中的设计和实现过程,以及所获得的实验结果和经验。
一、实验目的计算机系统结构实验的目的是通过设计和实现一个简单的计算机系统,加深对计算机硬件和软件之间关系的理解,以及掌握计算机系统的组成和工作原理。
具体目标包括:1. 理解计算机系统的层次结构和组成部分。
2. 理解指令集架构和微指令集架构的区别。
3. 设计和实现一个简单的计算机系统,包括处理器、存储器和输入输出设备。
4. 测试和验证计算机系统的功能和性能。
二、实验设计与实现1. 计算机系统结构设计我们设计了一个基于冯·诺依曼体系结构的计算机系统,包括中央处理器(CPU)、存储器和输入输出设备。
CPU由控制单元和算术逻辑单元组成,控制单元负责指令的解码和执行,算术逻辑单元负责数据的运算和逻辑操作。
存储器用于存储指令和数据,我们选择了静态随机存储器(SRAM)作为主存储器。
输入输出设备包括键盘、显示器和磁盘。
2. 指令集架构设计我们选择了经典的冯·诺依曼指令集架构作为基础,定义了一套简单的指令集,包括算术运算、逻辑运算和数据传输等指令。
我们还设计了一套微指令集架构,用于实现指令的执行过程。
微指令集中包含了各种控制信号和操作码,用于控制CPU的工作。
3. 硬件设计与实现我们使用硬件描述语言(HDL)进行硬件设计和实现。
通过使用HDL,我们可以描述和模拟计算机系统的各个组成部分,并进行功能验证和性能分析。
我们使用Verilog HDL进行设计和实现,借助Verilog仿真器进行功能验证。
4. 软件设计与实现除了硬件设计和实现,我们还编写了一些软件程序,用于测试和验证计算机系统的功能和性能。
我们编写了一些简单的程序,包括算术运算、逻辑运算和数据传输等,用于测试CPU的指令执行和数据处理能力。
计算机系统结构实验 3.1 微程序版CPU 赖晓铮
03H:00000000
04H:11010001 05H:00010100 06H:00001100 07H:01010000 08H:11000001
ADD0_SUB0
09H:00010100
0AH:00001100 0BH:01010000 0CH:00000001
实验步骤(循环结构程序):
1) 单操作数运算指令验证程序SOP_JZ是典型的循环结构程序, 其功能类似于汇编语言的“LOOP”语句,实现了“1+2+„ +9+10”的连续十次相加求和,代码如后页所示。
ADD
汇编助记符 SET R0, 03H (M地址:机器指令) 00H:00110000
01H:00000011 02H:00110100 03H:00110000 04H:00111000 05H:11110000
SET R1, 30H
SET R2, F0H
ADD R0, R1
ADD R2, R1 HLT
JS
OUT R1, PORT0
HLT
0CH:01010100
0DH:00000001
汇编助记符 SET R0, 0
(M地址:机器指令) 00H:00110000 01H:00000000 02H:00110100
SET R1, 0 ADD R0, R1 JC 0CH OUT R0, PORT0 SUB R0, R1 JC 0CH OUT R0, PORT0 HLT
重启过程(跳出“断点”)
1) 时钟信号CLK接开关MANUAL=0, 手动令复位信号端#RESET的状 态“101”变化,即重启完 成,跳出“断点”继续执行 。
注:跳出“断点”后,CPU进入HLT指令的 后续下一条指令的取指周期。
《计算机系统结构》实验手册(内容)
计算机系统结构模拟实验手册孟昭进刘东升赵斯琴编内蒙古师范大学计算机与信息工程学院二00六年五月计算机系统结构模拟实验手册目录第一部分预备知识 (3)1.指令集结构发展概述 (4)2.WinDLX简介 (6)3.DLX指令集结构 (7)3.1 DLX的寄存器 (7)3.2 DLX的数据类型 (7)3.3 DLX的寻址模式 (7)3.4 DLX指令格式 (8)3.5 DLX指令集 (8)4.WinDLX模拟器教程 (13)4.1 WinDLX模拟器的安装 (13)4.2 开始和配置WinDLX (13)4.3装载测试程序 (14)4.4 模拟运行程序 (18)5.实验中用到的几个.s文件 (24)第二部分实验项目 (25)实验一熟悉WinDLX的使用 (26)一、实验目的 (26)二、实验内容 (26)三、实验报告 (26)实验二DLX流水线结构相关 (27)一、实验目的 (27)二、实验内容 (27)三、实验报告 (27)实验三DLX流水线数据相关 (28)一、实验目的 (28)二、实验内容 (28)三、实验报告 (28)实验四DLX流水线指令调度 (29)一、实验目的 (29)二、实验内容 (29)三、实验报告 (29)实验五编译器对系统性能的影响实验 (30)一、背景知识 (30)二、gcc简介 (31)三、icc 简介 (32)·1·计算机系统结构模拟实验手册.2.四、实验目的 (32)五、实验内容 (32)六、实验报告 (33)实验六CPU性能测试实验 (34)一、背景知识 (34)二、实验目的 (35)三、实验内容 (35)四、实验报告 (35)实验七基于Cache的矩阵乘积算法性能改善实验 (39)一、背景知识 (39)二、实验目的 (40)三、实验内容 (40)四、实验报告 (40)参考文献 (43)计算机系统结构模拟实验手册第一部分预备知识·3·计算机系统结构模拟实验手册·4·1.指令集结构发展概述IBM资深专家 C.M.Amdahl 1964年在介绍IBM 360系统时首先提出计算机系统结构(computer architecture)的概念:计算机系统结构是程序员所看到的计算机的属性,即概念性结构与功能特性。
计算机组成原理实验 2.4 微程序控制器实验
DB 00000000B
DB 00000000B
DB 00000000B
DB 00000000B
DB 00000000B
DB 00000000B
DB 00000000B
DB 00000000B
DB 00000000B
DB 00000000B
DB 00000000B
END
END
END
问题:在写入控制存储器的微指令代码表中,地址[00001]和[00010]
【T2】BUS PC
【T2】BUSPC
【T2】
00000 00001
00001
?
【T1】PCAR,ROMBUS 【T1】
【T2】BUS PC
【T2】
00000
?
【T1】
【T2】
微程序控制器 结构示意图
指令寄存器 IR
OP码
状态条件
…
地址译码
控制存储器
微地址寄存器
地址转移 逻辑
微指令 寄存器
P字段
微操作信号
NOP
ROMIR
HLT
ROMIR
JMP1
ROMIR
JMP2
ROMIR
执行周期
停机
ROMPC
ROMPC
ROMPC
有效的微操作信号
功能
指令流 T1
#OE, AR_CLK(LDAR)
PCAR, ROMBUS
ROMIR T2 #OE, IR_CLK (LDIR), PC_CLK (PC_INC) BUSIR, PC+1
实验步骤(JMP1/JMP2指令):
1) 根据微指令代码表编写下列微程序,编译并生成三个HEX文 件,分别烧写到控制存储器EPROM1、EPROM2及EPROM3(切 记勿写错存储器!)。
计算机组成原理实验 2.5 运算器 赖晓铮
2) 启动仿真前,同上述步骤;启动仿真后,令#SW_BUS = 0, 手动拨码开关向锁存器DRA、DRB分别打入两个8位十六进制 有符号数(例如A= + 0x7A,B=-0x75)。再令#SW_BUS=1, #ASLU_OE=0,参照逻辑功能表,改变运算器的控制信号 (S3,S2,S1,S0,M,CN),观察运算器的输出F和标志位CF、SF、 ZF,并填表记录。
五)运算器 实验
思考题:
74LS181运算器可以区分有符号数运算和无符号数运算么? 可以执行无符号数的加法和减法运算么?对于有符号数的运 算,74LS181运算器是补码运算器还是原码运算器? ● 在74LS181运算器的通路中,输入锁存器DRA、DRB的作用是 什么?运算结果输出端连接的74LS244缓冲器的作用又是什 么? 如果去掉上述器件之一,运算器还能正常工作么? ● 当74LS181运算器进行无符号数运算的过程中,运算结果的 标志位SF有无意义?在有符号数运算过程中,标志位CF的含 义是一致的么?如果做两个有符号数加法“A+0”,标志位 CF置位么?如果做两个有符号数减法“A-0”,标志位CF置 位么?在什么情况下有符号数加法会出现标志位CF置位?
计算机组成原理 实验系列 一、总线与寄存器 二、进位加法器 三、比较器(仲裁器) 四、计数器 五、运算器 六、存储器 七、时序发生器 赖晓铮 博士 华南理工大学 八、微程序控制器 laixz@ 九、硬布线控制器 QQ: 68046508
(五)运算器 实验
实验目的:
● 了解算术逻辑运算器(74LS181)的组成和功能。
●
●
掌握基本算术和逻辑运算的实现方法。
实验内容:
●
运用算术逻辑运算器74LS181进行有符号数/无符号数的算 术运算和逻辑运算。
计算机组成原理实验 2.1 状态机实验
(一)状态机实验
思考题:
● 请在“交通灯”系统中,在环形十字路口增加东西向的两组红黄绿信号 灯。四组“交通灯”遵守以下交通规则:“亮灯周期分成两个阶段,周 而复始循环。第一阶段:南北向的绿灯倒计时t1秒,接着黄灯倒计时t2 秒,同时,东西向的红灯倒计时(t1+t2)秒;第二阶段,南北向的红 灯倒计时(t3+t4)秒,同时,东西向的绿灯倒计时t3秒,接着黄灯倒 计时t4秒”。上述时间t1~t4的值都可以独立通过拨码开关设置,东西 向和南北向各有一组数码管,独立显示倒计时过程。请给出四组“交通
例: 【输入数据序列】 000110001001011010010101010001000
【有效数据序列】
0010101010001000
灯)、条件判断的二位扭环计数器(绿色LED灯)。
● 启动仿真,手动按钮ON使“交通灯”开始倒计时运行。在运行过程中, 改变当前状态【Tx】和次态【Tx+1】对应的拨码开关DSWx和DSWx+1, 设置新的计数初始值。观察当前交通灯运行是否受到影响?什么时候新设
置的计数初始值生效?
实验步骤:
● 参考图2-4,请使用JK触发器74LS73设计一个状态机,实现图2-3(右)所 示的状态图:输出节拍信号S0S1S2S3S0…(提示:“同步加 法计数器+译码器”结构) ;
● 参考图2-2,请设计一个带自启动功能的四位环形计数器(即无需信号=0 初始化),实现图2-3(左)所示的状态图(提示:或非门电路) ;
● 参考图2-2,请设计一个有条件判断的四位环形计数器,实现图2-5(右) 所示的状态图(即当前状态S0时,若条件C0=0,则保持状态S0;若C0=1, 则状态转移S0S1) ;
态转移电路: 环形计数器、扭环计数器和条件判断的扭环计数器。 ● 基于“状态机”原理,设计一个“交通灯”系统:控制红 黄绿信号灯按照以下顺序循环点亮:“绿黄红绿 ……”,红灯、绿灯和黄灯的亮灯持续时间可以通过拨码 开关独立设置。红灯和绿灯是持续亮灯模式,黄灯则是闪 烁亮灯模式。
计算机组成与系统结构实验报告2
评语: 课中检查完成的题号及题数: 课后完成的题号与题数:成绩:自评成绩:95一、实验目的:(1) 掌握一个简单CPU 的组成原理。
(2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。
(3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。
二、实验内容:1、实验原理:本实验要实现一个简单的CPU ,并且在此CPU 的基础上,继续构建一个简单的模型计算机。
CPU 由运算器(ALU )、微程序控制器(MC )、通用寄存器(R0),指令寄存器(IR )、程序计数器(PC )和地址寄存器(AR )组成,如图2-1-1 所示。
这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
图1-4-1 基本CPU 构成原理图实验报告实验名称: 1.4 CPU 与简单模型机设计实验 日期: 2015.11.16 班级:10011303 学号: 2013302534 姓名:杨添文除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。
系统的程序计数器(PC)由两片74LS161 和一片74LS245 构成,其原理如图1-4-2 所示。
PC_B 为三态门的输出使能端,CLR 连接至CON 单元的总清端CLR,按下CLR 按钮,将使PC 清零,LDPC 和T2 相与后作为计数器的计数时钟,当LOAD 为低时,计数时钟到来后将CPU 内总线上的数据打入PC。
图1-4-2 程序计数器(PC)原理图本模型机和前面微程序控制器实验相比,新增加一条跳转指令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 停机其中JMP 为双字节指令,其余均为单字节指令,********为addr 对应的二进制地址码。
计算机系统结构实验三
MUL $r22,$r20,$r14与上条指令写后读冲突;
(5)采用指令调度技术对程序进行指令调度,消除冲突。将调度后的程序写入afer-schedule.s中。
内容如示:
.text
main:
ADDIU $r1,$r0,A
MUL $r22,$r20,$r14
LW $r2,0($r1)
ADD $r7,$r0,$r6
TEQ $r0,$r0
(7)载入delayed-branch.s;
(8)打开延迟分支功能;
(9)执行该程序,观察其时钟周期图;
(10)记录执行该程序所用的总时钟周期数;
执行总周期数:26
ID端执行了20条指令
(11)对比上诉两种情况的时钟周期图;
(12)根据记录结果,比较没采用延迟分支和采用了延迟分支的性能之间的不同,论述延迟分支对于条CPU性能的作用。
ADDI $r8,$r8,1
SW $r8,32($r2)
LW $r9,64($r2)
ADDI $r9,$r9,1
SW $r9,64($r2)
LW $r10,96($r2)
ADDI $r10,$r10,1
SW $r10,96($r2)
LW $r11,128($r2)
ADDI $r11,$r11,1
SW $r11,128($r2)
5、用延迟分支减少分支指令对性能的影响。
(1)启动MIPSsim;
(2)载入branch.s;
(3)关闭延迟分支功能,“配置”—“延迟槽”
(4)执行程序,观察并记录发生分支延迟的时刻;
(5)记录执行改程序所需要的总时钟周期数
(6)假设延迟槽为一个,对branch.s进行指令调度,然后保存到delayed-branch.s中;
计算机组成原理实验教程(2016)(1)
计算机组成原理实验教程(2016)(1)海黄和紫檀哪个更有价值怕上当受骗,我们教你如何鉴别小叶紫檀的真伪!点击访问:木缘鸿官网北京十里河古玩市场,美不胜收的各类手串让记者美不胜收。
“黄花梨和紫檀是数一数二的好料,市场认可度又高,所以我们这里专注做这两种木料的手串。
”端木轩的尚女士向记者引见说。
海黄紫檀领风骚手串是源于串珠与手镯的串饰品,今天曾经演化为集装饰、把玩、鉴赏于一体的特征珍藏品。
怕上当受骗,我们教你如何鉴别小叶紫檀的真伪!点击访问:木缘鸿官网“目前珍藏、把玩木质手串的人越来越多,特别是海黄和印度小叶檀最受藏家追捧,有人把黄花梨材质的手串叫做腕中黄金。
”纵观海南黄花梨近十年的价钱行情,不难置信尚女士所言非虚。
一位从事黄花梨买卖多年的店主夏先生通知记者,在他的记忆中,2000年左右黄花梨上等老料的价钱仅为60元/公斤,2002年大量收购时,价格也仅为2万元/吨左右,而往常,普通价钱坚持在7000-8000元/公斤,好点的1公斤料就能过万。
“你看这10年间海南黄花梨价钱涨了百余倍,都说水涨船高,这海黄手串的价钱自然也是一路飙升。
”“这串最低卖8000元,能够说是我们这里海黄、小叶檀里的一级品了,普通这种带鬼脸的海黄就是这个价位。
”檀梨总汇的李女士说着取出手串让记者感受一下,托盘里一串直径2.5mm的海南黄花梨手串熠熠生辉,亦真亦幻的自然纹路令人入迷。
当问到这里最贵的海黄手串的价钱时,李女士和记者打起了“太极”,几经追问才通知记者,“有10万左右的,普通不拿出来”。
同海南黄花梨并排摆放的是印度小叶檀手串,价位从一串三四百元到几千元不等。
李女士引见说,目前市场上印度小叶檀原料售价在1700元/公斤左右,带金星的老料售价更高,固然印度小叶檀手串的整体售价不如海黄手串高,但近年来有的也翻了数十倍,随着老料越来越少,未来印度小叶檀的升值空间很大。
“和海黄手串比起来,印度小叶檀的价钱相对低一些,普通买家能消费得起。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、寄存器及I/O操作指令:
汇编语言 MOV RA, RB; SET RA, IMM; 注释 (RB)RA IMMRA I 7 I6 I5 I4 0110 0011 I3 I2 RA RA IMM I3 I2 RA RA RA I1 I0 RB x/x
汇编语言 IN RA, PORTx; OUT RA, PORTx; OUTA RA, PORTx;
功能 (PORTx)RA (RA)PORTx (RA)PORTx
I7 I6 I5 I4 0100 0101 0101
I1 I0 PORTx 0/PORTx 1/PORTx
三、存储器及堆栈操作指令:
汇编语言 LAD RA, [ADDR]; 功能 [ADDR]RA I7 I6 I5 I4 1000 I3 I2 RA ADDR RA RA ADDR RA I1 I0 0/0
重启过程(跳出“断点”)
1100
1011 1010 1001 1000
SUB/SUBI
XOR/XORI SHT (RLC/ LLC/ RRC/ LRC) STO/PUSH LAD/POP
一、系统指令:
汇编语言 NOP; HLT; IRET; 功能 无操作(延时4个T) 停机(断点) 中断返回 BP_PCPC;BP_PSWPSW I7 I6 I5 I 4 0000 0000 0111 I3 I2 0/0 0/0 0/0 I1 I0 x/0 x/1 x/x
ADDI RA, IMM; (RA) +IMMRA SUB RA, RB; SUBI RA, IMM; AND RA, RB; (RA)-(RB)RA (RA)-IMMRA (RA)∧(RB)RA
ANDI RA, IMM; (RA)∧IMMRA OR RA. RB; ORI RA, IMM; XOR RA, RB; (RA)∨(RB)RA (RA)∨IMMRA (RA)⊕(RB)RA
JMPR RB; JC ADDR;
JCR RB;
(RB)PC IF CF=1, ADDRPC IF CF=1, (RB)PC IF ZF=1, ADDRPC IF ZF=1, (RB)PC IF SF=1, ADDRPC IF SF=1, (RB)PC
0001 0001
0001
RB 0/0
五、算术逻辑运算指令:
汇编语言格式 ADD RA, RB; 功能 (RA) +(RB)RA I7 I6 I5 I4 1101 1101 1100 1100 1110 1110 1111 1111 1011 1011 I3 I2 RA RA IMM RA RA IMM RA RA IMM RA RA IMM RA RA IMM I1 I0 RB 0/0 RB 0/0 RB 0/0 RB 0/0 RB 0/0
XORI RA, IMM; (RA)⊕IMMRA
初始化过程
1) 时钟信号CLK接手动开关MANUAL=0,启动仿真,使能复位信 号#RESET=0; 2) 手动按钮MANUAL开关“010”,然后令信号#RESET=1.
注:初始化完成后,若时钟信号CLK继续接开关MANUAL,则CPU进入手动模式, 手动MANUAL开关,生成时钟信号CLK,程序单步执行;若时钟信号CLK接 信号源AUTO-CLK(主频10Hz),则CPU进入自动模式,程序自动运行, 直到HLT指令的“断点”处暂停。
POP RA, [RB]; STO RA, [ADDR];
PUSH RA, [RB];
[RB]RA (RA)[ADDR]
(RA)[RB]
1000 1001
1001
RB 0/0
RB
四、跳转系列指令:
汇编语言 JMP ADDR; 功能 ADDRPC I7 I6 I 5 I4 0001 I 3 I2 0/0 ADDR 0/0 0/1 ADDR 0/1 I1 I0 0/0
实验内容:
● 设计一个微程序版CPU,包括微程序控制器、运算器、存储
器、寄存器堆及外部IO接口。定义一套较完备的机器指令集, 编写每条机器指令对应的微程序,在CPU电路上运行基于上 述机器指令集的机器语言程序,并且用汇编助记符加以注释。
微程序版CPU 电路图
微程序版CPU架构
CPU指令集(OP码表)
OP码 ( I7 I 6 I 5 I 4 ) 0111 0110 0101 指令助记符
IRET
MOV OUT/OUTA
OP码 ( I 7 I6 I5 I4 ) 1111 1110 1101
指令助记符OR/ORI NhomakorabeaAND/ANDI ADD/ADDI
0100
0011 0010 0001 0000
IN
SET SOP (INC/DEC/NOT/THR) JMP/JMPR/Jx/JxR NOP/HLT
计算机系统结构 实验系列 一、微程序版CPU 二、硬布线版CPU 三、流水线版CPU 四、嵌套中断CPU
赖晓铮 博士 华南理工大学 laixz@ QQ: 68046508
(一)微程序版CPU 实验
实验目的:
● 掌握基于微程序控制器的CPU结构,了解CPU中断工作机制。 ● 熟悉CPU微指令设计,掌握机器指令的微程序实现方法。
RB
JZ ADDR;
JZR RB;
0001
0001
1/0 ADDR 1/0 1/1 ADDR 1/1
0/0
RB
JS ADDR;
JSR RB;
0001
0001
0/0
RB
五、算术逻辑运算指令:
汇编语言 RLC RA; LLC RA; RRC RA; LRC RA; 汇编语言 INC RA; DEC RA; NOT RA; THR RA; 功能 (RA)右逻辑移位 (RA)左逻辑移位 (RA)右循环移位 (RA)左循环移位 功能 (RA)+1RA (RA)-1RA #(RA)RA (RA)RA I7 I6 I5 I4 1010 1010 1010 1010 I7 I6 I5 I4 0010 0010 0010 0010 I3 I2 RA RA RA RA I3 I2 RA RA RA RA I1 I0 0/0 1/0 0/1 1/1 I1 I0 0/0 0/1 1/0 1/1