CPU大作业实验报告
CPU大作业实验报告
实验目的1.深入理解基本模型计算机的功能、组成知识;2.深入学习计算机各类典型指令的执行流程;3.学习硬布线控制器的设计过程和相关技术;4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机;5.定义20条MIPS指令集的典型指令,并编写相应的汇编程序,能在模型机上调试,掌握计算机整机概念;6.通过熟悉较完整的计算机的设计,全面了解并掌握硬布线控制方式计算机的设计方法,真正理解利用软件进行硬件设计的方法和技巧。
实验原理在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在硬布线控制下自动产生各部件单元控制信号,实现特定的功能。
实验选择了MIPS体系结构中比较典型的指令,使用QuartusII软件工具,通过原理图以及VHDL语言设计CPU的逻辑电路来实现这些指令。
另外还用MIPS汇编语言编写了用于CPU测试的简单程序,对所设计的CPU逻辑电路进行功能仿真模拟,以验证CPU逻辑电路的正确性。
实验涉及到的R指令有ADD、SUB、AND、OR、XOR、SLL、SRL、SRA、JR;I 指令有ADDI、ANDI、ORI、XORI、LW、SW、BEQ、BNE、LUI;J指令有J、JAL。
指令格式如下图所示。
单周期CPU的逻辑电路图跳转指令寄存器指定是从32位的寄存器堆中选择出一个32位的寄存器用于读或写数据。
由于JAL指令要把分支延迟槽下一条指令的指令地址保存在寄存器31号中,故需要设置一个控制信号CALL,当CALL=1时,选择31号寄存器,为JAL跳转指令提供寄存器,当CALL=0时,从32位的寄存器堆中根据地址选择出一个32位的寄存器用于读或写数据。
它的真值表如表9-1所示,电路符号如图9-1所示。
表9-1 跳转指令寄存器指定的真值表CALL 1 0输入REGN[4..0] X REGN[4..0]输出WN[4..0] 11111 REGN[4..0]原理图设计跳转指令寄存器指定元件图5-10-2跳转指令寄存器指定电路符号由描述和真值表创建跳转指令寄存器指定的原理图,如图5-10-2所示:图5-10-1跳转指令寄存器指定的原理图VHDL设计跳转指令寄存器指定元件由于VHDL语法的多样性和灵活性。
CPU大作业报告(详细)
计算机原理课程设计小组信息2、小组编号以课代表处公布为准;3、分值比例应由小组成员共同协商,总和为1。
设计内容和要求注:1、字体格式,宋体、小4号,居中;2、该项内容简述即可。
通过之前的课程作业实践,进一步学习和理解计算机原理组成原理,在此基础上,设计和实现小组的计算机系统。
该系统能够顺利执行自编的程序(使用自定义指令集),得出正确的运算结果。
实验按照结构组成、指令集、控制器和其它部件、单部件测试、系统组装和系统测试等步骤进行,设计一个较为完整的功能程序。
根据我们组的实际情况我们做的是32位五级流水MIPS指令集CPU,分为取指、译码、执行、访存、写回五个步骤。
设计步骤1.设计计算机的总体框图注:1、数据通路应予以标注;2、可使用其它颜色突出小组特色的功能部件或结构;3、复杂处理器可以给出多张或多层次结构图予以描述;4、文档所有插图格式为“嵌入型”,并居中。
结构图双击可放大编辑2.设计各个功能部件的功能(1)算术逻辑运算单元ALU:其功能及与外部的连接端口如下:下图为示例Flag功能简述:根据ID_op的值选择相应的操作:'b000000:ALU_out=A+B;//add(op[3:2]==00 means R instruction)'b000001:ALU_out=A-B;//sub'b000110:ALU_out=A+B;//addI(op[3:2]==01 means I instruction)'b000111:ALU_out=A-B;//subI'b000100:ALU_out=A+B;//store'b000101:ALU_out=A+B;//load'b001110:Flag=1;(2)程序计数器PC:插图功能简述:1、当pc_En为1时,pc_out<=pc_in;否则pc_out<=pc_out;2、当reset为0时,pc_out<='b0;(2)通用寄存器GR:插图功能简述:1、当w_wRegEn置1时,register[w_rt]<=w_data;将w_data读到地址为w_rt的通用寄存器中;2、传递信号:Aout=register[rs];Bout=register[rt];(4)IMem插图功能简述: I = data[pc_out];将地址为pc_out的数据读到I并输出。
cpu的实验报告
cpu的实验报告CPU的实验报告引言:计算机是现代社会不可或缺的工具,而CPU(Central Processing Unit)则是计算机的核心部件之一。
CPU负责执行计算机指令,处理数据和控制计算机的各种操作。
本文将对CPU进行实验,并对实验结果进行分析和总结,以便更好地理解和掌握CPU的工作原理。
一、实验目的本次实验的目的是通过对CPU的实验,深入了解CPU的结构和工作原理,掌握CPU的运行过程和性能评估方法。
二、实验过程1. CPU的结构CPU主要由控制单元和算术逻辑单元组成。
控制单元负责解析和执行指令,算术逻辑单元负责进行算术和逻辑运算。
实验中,我们对CPU的各个部件进行了详细的分析和研究。
2. CPU的指令执行过程CPU的指令执行过程包括取指、译码、执行和写回四个阶段。
在实验中,我们通过模拟CPU的指令执行过程,对每个阶段进行了详细的观察和记录,并分析了每个阶段的作用和影响因素。
3. CPU的性能评估为了评估CPU的性能,我们进行了一系列的实验。
通过改变CPU的主频、缓存大小和指令集等因素,观察CPU的运行速度和效率,并进行性能比较和分析。
实验结果表明,这些因素对CPU的性能有着重要的影响。
三、实验结果与分析1. CPU的结构分析通过对CPU的结构进行分析,我们发现控制单元和算术逻辑单元之间的协作非常重要。
控制单元负责解析和执行指令,而算术逻辑单元负责进行计算和逻辑运算。
两者之间的紧密配合使得CPU能够高效地运行。
2. 指令执行过程分析通过对CPU的指令执行过程进行分析,我们发现每个阶段都有其特定的作用。
取指阶段负责从内存中读取指令,译码阶段负责解析指令,执行阶段负责执行指令,写回阶段负责将结果写回内存。
每个阶段的效率和性能都对CPU的整体运行速度有着重要的影响。
3. 性能评估结果通过对CPU的性能评估实验,我们发现主频、缓存大小和指令集等因素对CPU 的性能有着重要的影响。
提高主频可以加快CPU的运行速度,增加缓存大小可以提高数据读取和存储的效率,而优化指令集可以提高CPU的指令执行效率。
测量电脑的CPU温度实验及实验报告
测量电脑的CPU温度实验及实验报告
实验目的
本实验旨在测量电脑的CPU温度,并通过实验报告记录测量结果。
实验材料
- 电脑主机
- 温度计
实验步骤
1. 打开电脑主机,并确保CPU正常运行。
2. 将温度计放置于CPU散热器上,确保与CPU接触紧密且位置稳定。
3. 开始测量CPU温度,记录每隔一段时间的温度数据。
4. 持续测量一段时间后,停止测量。
实验结果
以下为测量得到的CPU温度数据:
实验结论
根据以上测量数据,我们可以得出以下结论:
- 随着时间的推移,CPU温度逐渐上升。
- CPU的最高温度达到了57摄氏度。
实验注意事项
- 在进行实验时,务必小心操作,避免造成任何损坏或伤害。
- 实验过程中,确保测量环境的稳定性,尽量减少外界干扰。
- 在进行实验前,确保温度计的准确性和稳定性。
实验改进建议
为了进一步提高测量准确度和实验可靠性,可以考虑以下改进措施:
- 使用更精确的温度计进行测量。
- 增加测量时间和数据点,以获取更全面的温度趋势。
- 在进行实验时,控制室温和湿度等环境因素对测量的影响。
结束语
通过这次实验,我们成功测量了电脑的CPU温度,并总结了测量数据和结论。
通过实验报告的记录和分析,我们能够更好地了解CPU的热量产生和散热情况,为日后的电脑维护和散热优化提供了参考。
cpu组成与机器指令执行实验实验报告
cpu组成与机器指令执行实验实验报告CPU组成与机器指令执行实验实验报告一、引言计算机是现代社会不可或缺的工具,而中央处理器(CPU)则是计算机的核心组成部分。
理解CPU的组成和机器指令的执行过程对于深入理解计算机的工作原理至关重要。
本实验旨在通过搭建一个简单的CPU模型,探究CPU的组成结构和机器指令的执行过程。
二、实验原理1. CPU的组成结构CPU主要由运算器、控制器和寄存器组成。
运算器负责进行各种算术和逻辑运算,控制器则负责指挥各个部件的工作,寄存器用于存储数据和指令。
2. 机器指令的执行过程机器指令的执行包括取指令、译码、执行和访存四个阶段。
取指令阶段从内存中读取指令,译码阶段将指令翻译成对应的操作,执行阶段进行运算或逻辑操作,访存阶段用于读取或写入数据。
三、实验过程1. 搭建CPU模型根据实验要求,我们搭建了一个简单的CPU模型,包括运算器、控制器和寄存器。
通过将这些部件连接起来,我们可以模拟CPU的工作过程。
2. 编写指令为了测试CPU的功能,我们编写了一些简单的指令,包括加法、减法和逻辑运算等。
这些指令将被存储在内存中,CPU在执行过程中会逐条读取并执行。
3. 执行指令我们按照预定的顺序执行指令,观察CPU的工作状态和输出结果。
通过这个过程,我们可以更好地理解指令的执行过程和CPU的工作原理。
四、实验结果在实验过程中,我们成功搭建了一个简单的CPU模型,并编写了一些指令进行测试。
通过执行这些指令,我们观察到CPU按照预期工作,并得到了正确的输出结果。
五、实验分析通过本次实验,我们深入了解了CPU的组成结构和机器指令的执行过程。
我们发现,CPU的运算器、控制器和寄存器相互配合,完成了复杂的运算和逻辑操作。
同时,我们也注意到指令的执行过程需要经过多个阶段,每个阶段都起到了重要的作用。
六、实验总结本次实验让我们对CPU的组成与机器指令的执行有了更深入的理解。
通过搭建CPU模型并执行指令,我们亲身体验了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的安装与使用一、实验目的:1.掌握CPU的性能参数、安装方法及正确的使用方法。
2.练习辨认不同型号的CPU。
二、实验器材及准备:不同型号的CPU、主板。
CPU相关知识:①CPU的位和字长:位:在数字电路和计算机技术中采用二进制,代码只有“0”和“1”,其中无论是“0”或是“1”在CPU中都是1“位”。
字长:计算机技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数称为字长。
所以能处理字长为8位数据的CPU通常就叫8位的CPU。
同理,32位的CPU就能在单位时间内处理字长为32位的二进制数据。
字节和字长的区别:由于常用的英文字符用8位二进制数就可以表示,所以通常就将8位称为一个字节。
字节的长度是固定的,而字长的长度是不固定的,对于不同的CPU,字长的长度也不一样。
8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。
②主频:CPU主频也叫时钟频率,是CPU内核(整数和浮点运算器)电路的实际运行频率,英文全拼为CPU Clock Speed,时钟频率的单位是MHz(兆赫)。
但一般来说,主频越高,CPU在一个时钟周期里所能完成的指令数也就越多,CPU的运算速度也就越快。
CPU主频的高低与CPU的外频和倍频有关,主频=外频×倍频。
③内存总线速度与扩展总线:内存总线速度也叫系统总线速度,一般等于外频,就是指CPU与L2(二级缓存)和内存之间的工作频率。
扩展总线速度,英文全称是Expansion-Bus Speed,扩展总线就是指局部总线如PCI和VESA总线。
PCI局部总线的速度一般为33.33MHz。
所以,在33MHz下,具有32位数据位宽度的扩展总线的带宽为33.33MHz×32b=1066MB≈133MBps。
由此可见,扩展总线的速度也影响计算机的整体运行速度④工作电压:工作电压是指CPU正常工作时所需的电压。
CPU性能测试实验报告
计算机硬件技术基础课程实验报告实验题目:CPU性能测试实验人班级:学号:姓名:1、实验目的了解CPU参数的含义,以及各个参数对CPU性能的影响2、实验环境①实验硬件环境(计算机的型号、基本配置)宏基4741G华硕K401E联想Y560处理器型号Intel 酷睿i3 370M Inter Pentium T4400Intel 酷睿i5 460M 处理器主频 2.4GHz 2.2GHz 2.53GHz内存容量2G1G4GB硬盘容量320G320G500G显卡芯片NVIDIA Geforce GT 320M NVIDIA Geforce 310M ATI Mobility Radeon 操作系统Windows 7Wiindows XP Windows 7②实验软件坏境(操作系统、测试软件等)CPU-Z,是一款检测CPU使用程度最高的一款软件,它可以提供一些关於处理器的资讯,包含了制造厂及处理器名称,核心构造及封装技术,内部、外部频率,最大超频速度侦测,也可以查出处理器相关可使用的指令集。
最新的1.5.5版加入了可侦测处理器的核心电压、L2快取汇流排频宽、Windows NT/2000环境下的双处理器模式侦测,及记忆体时脉(如CAS Latency, RAS to CAS, RAS Precharge)。
Everestultimate(原名AIDA32)一款强大测试软硬件系统信息的工具。
它可以详细的测试PC每一个方面的信息。
支持CPU、FPU基准测试,提供CPU Queen、CPU P hotoWorxx、CPU ZLib、CPU AES、FPU Julia、FPU Mande、FPU SinJulia基准测试模块,最新版支持三核心AMD Phenom、六核心Intel Dunnington Xeon处理器;SuperPi cpu性能测试软件原理是计算圆周率小数点的位数SuperPi是一个测试C PU性能的计算软件;它的工作原理是计算圆周率小数点的位数.例如:SuperPi 100万位就是CPU计算到圆周率小数点后100万的意思,时间越短表示CPU的计算能力越强!Fritz Chess Benchmark是一款国际象棋测试软件,是国际象棋软件Fritz自带的电脑棋力测试程序,由于支持多线程,而且它做的是大量科学计算,所有经常被用来测试电脑的科学运算能力。
CPU实验报告范文
CPU实验报告范文一、实验目的本次实验的目的是设计和实现一个简单的中央处理器(CPU),通过实践掌握CPU的基本工作原理和实现方法。
二、实验原理1.CPU的基本概念中央处理器(CPU)是计算机的核心部件,负责执行计算机指令和控制计算机的操作。
它由运算器、控制器和寄存器组成。
运算器负责执行算术和逻辑运算,包括加法、减法、乘法、除法等。
控制器负责指挥CPU的工作,通过控制总线实现对内存和其他外部设备的访问。
寄存器是CPU内部的存储器,用于暂时存放指令、数据和中间结果。
2.CPU的实现方法CPU的实现采用组合逻辑电路和时序逻辑电路相结合的方法。
组合逻辑电路是由逻辑门构成的电路,它的输入只依赖于当前时刻的输入信号,输出也只与当前时刻的输入信号有关。
而时序逻辑电路则包含存储元件,其输出不仅与当前时刻的输入信号有关,还与之前的输入信号有关。
CPU的实现过程主要包括以下步骤:(1)设计指令集:确定CPU支持的指令集,包括指令的格式和操作码。
(2)设计控制器:根据指令集设计控制器,确定各个指令的执行过程和控制信号。
(3)设计运算器:根据指令集设计运算器,确定支持的算术和逻辑运算。
(4)设计寄存器:确定需要的寄存器数量和位数,设计寄存器的输入输出和工作方式。
3.实验环境和工具本次实验使用的环境和工具如下:(1)硬件环境:计算机、开发板、示波器等。
(2)软件环境:Win10操作系统、Vivado开发工具等。
三、实验步骤1.设计指令集根据实验要求,我们设计了一个简单的指令集,包括加法、减法、逻辑与、逻辑或和移位指令。
每个指令有特定的操作码和操作数。
2.设计控制器根据指令集设计了一个控制器。
控制器根据指令的操作码产生相应的控制信号,控制CPU内部寄存器、运算器和总线的操作。
3.设计运算器根据指令集设计了一个运算器。
运算器包括加法器、减法器、与门和或门等。
它通过输入的操作数和控制信号完成相应的运算操作。
4.设计寄存器根据实验需求确定了所需的寄存器数量和位数。
CPU实验报告(DOC)
武汉大学开放式CPU设计实验报告专业:物联网姓名:张三同组姓名:林文王伟2012年5月1. 设计报告错误!未定义书签。
1.1 实验目的21.2 实验方法 (2)1.3 总体说明 (4)1.4 各部分说明 (8)2.测试报告 (42)2.1 测试程序 (42)2.2 测试结果 (44)2.3 性能分析 (44)3.总结 (44)3.1 实验总结 (44)3.2 取得的收获 (44)3.3 意见与建议............................................................ 错误!未定义书签。
1. 设计报告1.1 实验目的与以往的CPU教学实验不同,这次的“开放式教学CUP设计与测试系统”中使用另外一个成品CUP专门运行监控程序,另外还能够将各种测试程序自动转换成用实验者所设计的指令系统表示的目标代码,并且能够在实验装置上运行、调试和测试所生成的目标代码。
有了这样的改进,我们做实验就有了新的要求和任务:学会使用先进的硬件设计工具和超大规模集成电路FPGA设计并实现一个CPU芯片。
要求采用先进的工具软件进行模拟和测试,测试通过后再下载到FPGA中制成CPU芯片。
在过程中需要掌握的主要就是CPU 的设计、验证和测试方法,以及学会相关工具软件的使用方法。
1.2 实验环境软件:QuartusII 5.2,完成指令集设计、逻辑设计后,用于各个功能模块的VHDL语言程序编写、编译以及FPGA-CPU的软件模拟;Debug Controller,用于软件模拟成功后的硬件调试。
硬件:FPGA (Field Programmable Gate Array),即现场可编程门阵列。
FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列组成,并由可编程互联资源连接这些逻辑功能块来实现不同的设计。
1.3 实验方法本实验要完成的工作主要包括:指令系统的设计,FPGA-CPU的整体结构设计及其细化,逻辑设计的具体实现(VHDL语言程序的编写),软件模拟,以及硬件调试。
CPU计算机组成原理实验报告
CPU计算机组成原理实验报告实验名称:CPU计算机组成原理实验一、实验目的:1.了解计算机硬件的基本组成原理,特别是CPU的工作原理;2.掌握计算机的组装和调试技能;3.熟悉计算机操作系统的安装和配置方法;4.学习使用计算机进行基本的应用程序开发。
二、实验设备和材料:1.CPU主机:包括主板、CPU、内存、硬盘等;2.显示设备:显示器、键盘、鼠标等;3.软件:操作系统、开发工具等。
三、实验步骤:1.将主板、CPU、内存、硬盘等硬件组件组装到主机箱中,连接电源、显示器、键盘、鼠标等外设;2.打开电源,按照BIOS界面提示进行主板和硬件设置;3.插入操作系统安装光盘,根据安装界面提示进行操作系统的安装;4.安装完成后,进入操作系统,根据提示进行相应驱动程序的安装和配置;5.打开开发工具,进行编程实践。
四、实验结果与分析:通过以上步骤,成功组装了一台计算机并安装了操作系统。
在操作系统中,能够正常运行各种应用程序,并且能够进行编程开发。
通过实验,可以清楚地了解到计算机硬件的组成原理,特别是CPU的工作原理。
CPU 作为计算机的核心部件,负责指令的执行和数据的处理。
通过对CPU的组装和调试,可以更深入地了解其工作原理和操作方法。
五、实验心得与体会:通过实验,我对计算机硬件的组装和设置有了更深入的理解。
计算机硬件的组成非常复杂,需要我们仔细阅读说明书,按照步骤进行操作。
在实验过程中,我们学会了解决一些常见的硬件问题,如硬件不兼容、连接错误等。
此外,操作系统的安装和配置也是非常重要的一步,只有正确地安装和配置操作系统,才能保证计算机的正常运行。
通过这个实验,我不仅学到了理论知识,还锻炼了实际操作的能力。
计算机的组装和调试需要我们仔细、耐心地进行,一丝不苟地对待每一步操作。
只有掌握了计算机组成原理,才能更好地理解和应用计算机技术。
通过实验,我深刻地认识到计算机是一台高度复杂的机器,它可以帮助我们解决各种问题,提高工作效率。
cpu设计实验报告
cpu设计实验报告CPU设计实验报告摘要:本实验旨在设计一个基本的中央处理器(CPU),并通过实验验证其性能和功能。
在设计过程中,我们使用了Verilog硬件描述语言和ModelSim仿真工具。
通过对CPU的设计和仿真实验,我们验证了CPU的正确性和性能,并对其进行了性能分析和优化。
1. 引言CPU是计算机系统中最核心的部件之一,它负责执行计算机指令和控制数据流动。
因此,设计一个高效、稳定的CPU对于计算机系统的性能至关重要。
本实验旨在通过Verilog硬件描述语言和ModelSim仿真工具,设计一个基本的CPU,并验证其性能和功能。
2. 设计过程我们首先对CPU的功能和性能进行了分析和规划,确定了CPU的基本架构和指令集。
然后,我们使用Verilog语言编写了CPU的硬件描述,并通过ModelSim进行了仿真验证。
在设计过程中,我们重点关注了CPU的时序逻辑、数据通路和控制逻辑,确保CPU能够正确地执行指令并保持稳定的性能。
3. 实验结果通过对CPU的设计和仿真实验,我们验证了CPU的正确性和性能。
我们使用了一系列的测试用例对CPU进行了功能和性能测试,并对其进行了性能分析和优化。
实验结果表明,我们设计的CPU能够正确地执行各种指令,并在性能上达到了预期的目标。
4. 总结和展望本实验通过Verilog硬件描述语言和ModelSim仿真工具,设计并验证了一个基本的CPU。
通过实验,我们对CPU的设计和性能有了更深入的了解,并对其进行了性能分析和优化。
未来,我们将进一步完善CPU的设计,提高其性能和功能,以满足计算机系统的需求。
综上所述,本实验为我们提供了一个宝贵的机会,通过实际设计和验证,深入了解了CPU的工作原理和性能特点,为我们今后的学习和研究打下了坚实的基础。
希望通过不懈的努力,我们能够设计出更加高效、稳定的CPU,为计算机系统的发展做出更大的贡献。
《CPU设计实验报告》word版
CPU设计实验报告姓名:学号:邮箱:一、实验目的:1、掌握硬件描述语言VHDL和EDA工具Quartus II;利用VHDL设计16位串行CPU,实现算术和逻辑运算指令、转移指令、访存指令、堆栈指令和控制指令;2、掌握CPU的调试和测试方法。
二、实验内容:1、运用硬件描述语言VHDL实现寄存器堆和算数逻辑单元设计、指令集和指令格式、时序设计和整体结构设计、指令译码器的设计、访存单元的设计、调试单元的设计;2、上机调试。
三、实验步骤:1、寄存器堆的设计寄存器堆由16个16位寄存器组成。
其中reset是异步清0端,reset=0时将所有寄存器清0。
dr_sel和sr_sel是目实用文档标寄存器和源寄存器编号,dr_out和sr_out输出目标寄存器和源寄存器的内容。
reg_sel指定一个寄存器编号,将该寄存器内容送给reg_out,这两个端口用于调试时观察每个寄存器的值。
reg_en是写允许端。
reg_en=“01”时,在clk的上升沿将from_alu写入dr_sel指定的寄存器;reg_en=“10”时,在clk的上升沿将from_mem写入dr_sel指定的寄存器。
reg_en取其他值时不改变寄存器堆的值。
设计方法:subtype WORD is std_logic_vector(15 downto 0);type REGISTERARRAY is array ( 0 to 15 ) of WORD;signal reg_bank: REGISTERARRAY 则reg_bank就是我们所需要的寄存器堆。
写寄存器堆的方法:reg_bank(conv_integer(dr_sel))<=from_alu;实用文档读寄存器堆的方法:dr_out <= reg_bank(conv_integer(dr_sel));其中,conv_integer是STD_LOGIC_ UNSINGED 程序包提供的函数,将标准逻辑矢量转换成整数,作为reg_bank 的下标。
CPU测试实验报告
计算机硬件技术基础课程实验报告
实验题目:系统整体性能测试实验
实验人:
班级:计算机硬件基础网络授课班星期四下午第二节课朱卫东老师
学号:09243016
姓名:万稷川
实验地点:寝室
1. 实验目的、实验环境(硬件、软件)
实验目的:了解CPU参数的含义,以及各个参数对CPU性能的影响
实验环境(硬件、软件):
我和我的3位同学的电脑
操作系统为Windows xp 以及Windows 7 软件为测试软件CPU-Z、everestultimate、Super Pi 、Fritz Chess Benchmark
2. 测试数据
按照逸夫机房南侧;我的笔记本以及的顺序CPU基本参数如下表
3. 结果分析
从实际效果上来看,第一个CPU性能最强大,这也得益于它是4个核心的情况,这具体反映在核心chache1的数据上,数据显示,第一个cpu一级缓存为4x32Kbytes,处理速度为其它3个cpu的2倍
最新的CPU是第二个,不仅由于它的型号(core i5),也因为它工艺最精细(32nm),并有2.56GHZ的最高速度和2792.6MHZ 倍频×10的最高主频
第三和第四两个CPU在性能上则略显不足。
计算机设计与实践 CPU 实验报告(内含详细代码)
CPU实验报告一.设计概况本次试验要完成的工作主要包括:指令系统的设计,CPU的整体结构设计及其细化,逻辑设计的具体实现,软件模拟,硬件调试。
试验的主要流程如下图所示:二.指令设计1.指令格式设计①单操作数指令OPCODE 000 X包括:JMP,JZ,JC②寄存器-寄存器指令OPCODE REG1 00000 REG2 包括:MOV,ADC,SBB,OR,AND③寄存器-立即数(地址)指令OPCODE REG DA TA包括:LDA,STA,MOV, ADC,SBB,OR,AND④其他类型指令OPCODE 00000000000包括:CLC,STC2.指令编码三.CPU逻辑设计1.CPU整体框图2.节拍设计一个周期采用四个节拍。
一个节拍完成取指。
第二个节拍完成运算。
第三个节拍访存。
第四个节拍回写。
3.数据流说明第一个节拍内,取指模块向访存控制发出访存信号,得到指令后,将指令保存在指令寄存器IR中,并将指令送往后面的运算模块,存储管理模块,回写模块。
同时将PC送入运算模块和回写模块。
第二个节拍内,运算管理模块将指令译码。
如果是存数指令,则将地址存入ADDR寄存器,数据存入DATA存储器,等待下一个节拍访存。
如果是取数指令,则将地址存入ADDR寄存器,等待下一个节拍访存。
如果是其他非访存指令,则将计算结果存入ALUOUT寄存器,送往存储管理模块的Rtemp寄存器。
第三个节拍内,存储管理模块将指令译码。
如果是存数指令,则向访存控制模块发出访存信号,则将第二个节拍内存好的ADDR寄存器的内容作为地址,把DATA寄存器里面的数据存入存储器对应的位置。
如果是取数指令,则将第二个节拍内存好的ADDR寄存器的内容作为地址,从存储器对应的位置取出数据,存入Rtemp存储器,并送往回写模块。
如果是其他非访存指令,则将Rtemp寄存器里的内容直接送往回写模块。
第四个节拍内,回写模块先将指令译码。
根据指令将需要回写的数据回写近响应的寄存器,并将PC+1后回写至取指模块的PC寄存器。
cpu组成与机器指令执行实验实验报告
cpu组成与机器指令执行实验实验报告
CPU组成与机器指令执行实验实验报告
摘要:本实验旨在通过对CPU组成与机器指令执行的实验,深入了解CPU的
结构和工作原理,以及机器指令的执行过程。
实验结果表明,CPU由控制单元、运算单元和寄存器组成,通过时钟信号控制各个部件协调工作,而机器指令的
执行则是通过取指、译码、执行和写回四个阶段完成的。
1. 实验目的
通过实验,深入了解CPU的组成和机器指令的执行过程,加深对计算机硬件的
理解。
2. 实验内容
(1)CPU组成实验:通过拆解一台计算机,了解CPU的组成结构,包括控制
单元、运算单元和寄存器等部件。
(2)机器指令执行实验:通过搭建一个简单的计算机模型,模拟机器指令的执行过程,包括取指、译码、执行和写回四个阶段。
3. 实验步骤
(1)CPU组成实验:拆解计算机,观察CPU的各个部件,了解其结构和功能。
(2)机器指令执行实验:搭建计算机模型,编写简单的机器指令,模拟指令的执行过程。
4. 实验结果
(1)CPU组成实验:观察到CPU由控制单元、运算单元和寄存器组成,通过
时钟信号控制各个部件协调工作。
(2)机器指令执行实验:模拟了机器指令的执行过程,包括取指、译码、执行
和写回四个阶段,加深了对机器指令执行过程的理解。
5. 实验结论
通过本次实验,深入了解了CPU的组成和机器指令的执行过程,加深了对计算机硬件的理解,为进一步学习计算机原理打下了良好的基础。
综上所述,本次实验对于加深对CPU组成和机器指令执行过程的理解起到了积极的作用,为进一步学习计算机原理提供了良好的基础。
CPU处理器实验设计实验报告
“计算机设计与实践”处理器实验设计报告目录一:实验目的 (2)二:实验环境 (2)三:设计思想 (2)1、CPU接口信号定义 (2)2、CPU设计方案 (3)四:实验设计及测试 (15)1、各模块设计及测试 (15)波形仿真 (15)2、整体的设计及测试 (19)波形仿真 (19)五:下载 (21)六:遇到的问题及解决方法 (25)七:实验体会 (25)一:实验目的1.掌握Xilinx ISE集成开发环境使用方法2.掌握VHDL语言3.掌握FPGA编程方法及硬件调试手段4.深刻理解处理器结构和计算机系统的整体工作原理二:实验环境Xilinx ISE集成开发环境,ModelSim或ISim仿真工具、COP2000实验平台或SD2100数字逻辑设计实验平台或Diligent Nexys3开发板。
三:设计思想1、C PU接口信号定义2、 C PU 设计方案① 指令格式设计1.2. 其他指令15 11 10 28 7 031511 10 8 7 0②微操作定义③节拍划分④各模块设计a)时钟模块模块示意图:模块功能:产生4个节拍,其中,当rst=1时,节拍跳转到T3,并将pc置0.接口说明:信号名位数方向来源/去向备注Clk1I处理器板系统时钟Rst1I处理器板高电平复位T4O取址,运算,4个节拍存储,回写模块b)取指模块模块示意图:模块功能:从内存取出指令。
Rst=1时,pc置0.取出的IR传送给运算,存储,回写模块提供数据,当IRreq=1时,开始从内存取出指令。
当pcupdate=1时,pc接收pcnew的数据,更新pc。
信号名位数方向来源/去向备注T01I时钟模块第一节拍T11I时钟模块第二节拍Rst1I处理器板高有效复位信号PCupdate1I回写模块PC更新信号PCnew16I回写模块PC更新值IRnew16I存储控制模块IR更新值IRreq1O取址模块IR允许信号IR16O存储控制模块导出IR到其他模块PC16O取址模块PC到运算模块c)运算模块模块示意图:模块功能:进行各种运算,并产生进位信号cy和零信号z。
cpu实验报告
cpu实验报告CPU实验报告引言计算机是现代社会不可或缺的工具,而中央处理器(CPU)则是计算机的核心。
CPU的性能直接影响着计算机的运行速度和效率。
为了深入了解CPU的工作原理和性能评估方法,我们进行了一系列的CPU实验。
本报告将详细介绍我们的实验过程、结果和分析。
实验一:CPU的组成与工作原理在第一个实验中,我们学习了CPU的基本组成和工作原理。
CPU由控制单元(CU)和算术逻辑单元(ALU)组成。
CU负责指令的解码和执行,而ALU则处理算术和逻辑运算。
我们通过拆解一台计算机,观察和研究了CPU的内部结构和连接方式。
我们还学习了指令集架构(ISA)和微指令的概念。
这个实验使我们对CPU的组成和工作原理有了更深入的理解。
实验二:CPU性能评估在第二个实验中,我们重点关注CPU的性能评估。
我们使用了一款性能评估工具,通过运行一系列的测试程序来测量CPU的性能。
我们评估了CPU的时钟频率、缓存大小和指令级并行性对性能的影响。
实验结果表明,时钟频率越高,CPU的运行速度越快。
增加缓存大小可以提高CPU的数据访问效率。
指令级并行性的优化也可以显著提升CPU的性能。
这个实验让我们了解了如何评估和优化CPU的性能。
实验三:CPU的架构设计在第三个实验中,我们设计了一款简单的CPU架构。
我们选择了精简指令集计算机(RISC)架构,因为RISC架构具有指令集简单、执行效率高的特点。
我们设计了CPU的指令集、寄存器组和数据通路,并使用硬件描述语言进行了模拟和验证。
通过这个实验,我们深入了解了CPU的架构设计原理和方法。
实验四:CPU的能耗优化在第四个实验中,我们研究了CPU的能耗优化方法。
我们使用了一款能耗监测工具,测量了CPU在不同负载下的能耗情况。
我们还尝试了一些能耗优化技术,如动态电压频率调整(DVFS)和低功耗模式。
实验结果显示,通过调整电压和频率,可以显著降低CPU的能耗。
低功耗模式也能有效减少CPU的能耗。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验目的1.深入理解基本模型计算机的功能、组成知识;2.深入学习计算机各类典型指令的执行流程;3.学习硬布线控制器的设计过程和相关技术;4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机;5.定义20条MIPS指令集的典型指令,并编写相应的汇编程序,能在模型机上调试,掌握计算机整机概念;6.通过熟悉较完整的计算机的设计,全面了解并掌握硬布线控制方式计算机的设计方法,真正理解利用软件进行硬件设计的方法和技巧。
实验原理在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在硬布线控制下自动产生各部件单元控制信号,实现特定的功能。
实验选择了MIPS体系结构中比较典型的指令,使用QuartusII软件工具,通过原理图以及VHDL语言设计CPU的逻辑电路来实现这些指令。
另外还用MIPS汇编语言编写了用于CPU测试的简单程序,对所设计的CPU逻辑电路进行功能仿真模拟,以验证CPU逻辑电路的正确性。
实验涉及到的R指令有ADD、SUB、AND、OR、XOR、SLL、SRL、SRA、JR;I 指令有ADDI、ANDI、ORI、XORI、LW、SW、BEQ、BNE、LUI;J指令有J、JAL。
指令格式如下图所示。
单周期CPU的逻辑电路图跳转指令寄存器指定是从32位的寄存器堆中选择出一个32位的寄存器用于读或写数据。
由于JAL指令要把分支延迟槽下一条指令的指令地址保存在寄存器31号中,故需要设置一个控制信号CALL,当CALL=1时,选择31号寄存器,为JAL跳转指令提供寄存器,当CALL=0时,从32位的寄存器堆中根据地址选择出一个32位的寄存器用于读或写数据。
它的真值表如表9-1所示,电路符号如图9-1所示。
表9-1 跳转指令寄存器指定的真值表CALL 1 0输入REGN[4..0] X REGN[4..0]输出WN[4..0] 11111 REGN[4..0]原理图设计跳转指令寄存器指定元件图5-10-2跳转指令寄存器指定电路符号由描述和真值表创建跳转指令寄存器指定的原理图,如图5-10-2所示:图5-10-1跳转指令寄存器指定的原理图VHDL设计跳转指令寄存器指定元件由于VHDL语法的多样性和灵活性。
通常可采用不同的方式来进行描述。
这里用根据真值表的方式,使用IF语句来编写程序。
VHDL程序如下:跳转指令寄存器指定元件的仿真验证(1)打开CPU项目。
(2)创建一个原理图文件新建一个原理图文件,在原理图编辑窗口中按照图5-10-1创建跳转指令寄存器指定的原理图,保存为“f.bdf”。
(3)创建一个VHDL文件新建一个VHDL File文件,在VHDL程序编辑窗口中输入跳转指令寄存器指定的VHDL程序,保存为“V_f.vhd”。
(4)编译将要编译的文件设置为顶层文件,编译。
(5)创建波形文件通过编译后,新建V ector Waveform File文件,将所有的信号节点导入波形图编辑窗口中。
对所有信号节点前面有或图标的,按如图9-3所示进行值设置。
然后,保存该波形文件为“f.vwf”和“V_f.vwf”。
(6)功能仿真原理图和VHDL最后生成的功能仿真波形图应一样,如图9-3所示。
(7)波形分析由如图9-3所示80.0ns到100.0ns这一时段,CALL为1,REGN为04,WN的值应该为1F(十进制31),图中正好此时段WN的值也为1F。
另100.0ns到120.0ns 这一时段,CALL为0,REGN为05,WN的值应该为05,图中正好此时段WN的值也为05。
因此得证。
(8)生成原理图元器件和对应的VHDL定义元件语句。
图5-10-3 跳转指令寄存器指定的仿真波形图以下是几个机器指令的逻辑表达式:根据机器指令的可以得到相应的控制信号,举例如下:指令译码是对取指令操作中得到的指令进行译码,确定这条指令需要完成的操作,从而产生相应的控制信号,驱动执行状态中的各种动作,它是控制器的一个重要组成部分。
在MIPS 指令集中,根据操作码OP 和功能码FUNC 来区别指令。
根据以上的简述列出的20条指令编码,可以得出这20条指令的逻辑表达式如下,其中,OP[5..0]为操作码OP ,FUNC[5..0]为功能码FUNC ,电路符号如图5-15。
TYPE=]5[OP ▪]4[OP ▪]3[OP ▪]2[OP ▪]1[OP ▪]0[OPADD=TYPE ▪FUNC[5]▪]4[FUNC ▪]3[FUNC ▪]2[FUNC ▪]1[FUNC ▪]0[FUNCSUB=TYPE ▪FUNC[5]▪]4[FUNC ▪]3[FUNC ▪]2[FUNC ▪FUNC[1]▪]0[FUNCAND=TYPE ▪FUNC[5]▪]4[FUNC ▪]3[FUNC ▪FUNC[2]▪]1[FUNC ▪]0[FUNCOR=TYPE ▪FUNC[5]▪]4[FUNC ▪]3[FUNC ▪ FUNC[2]▪]1[FUNC ▪ FUNC[0]XOR=TYPE ▪FUNC[5]▪]4[FUNC ▪]3[FUNC ▪ FUNC[2]▪ FUNC[1]▪]0[FUNCSLL=TYPE ▪]5[FUNC ▪]4[FUNC ▪]3[FUNC ▪]2[FUNC ▪]1[FUNC ▪]0[FUNCSRL=TYPE ▪]5[FUNC ▪]4[FUNC ▪]3[FUNC ▪]2[FUNC ▪ FUNC[1]▪]0[FUNCSRA=TYPE ▪]5[FUNC ▪]4[FUNC ▪]3[FUNC ▪]2[FUNC ▪ FUNC[1]▪ FUNC[0]JR=TYPE ▪]5[FUNC ▪]4[FUNC ▪ FUNC[3]▪]2[FUNC ▪]1[FUNC ▪]0[FUNC ADDI=]5[OP ▪]4[OP ▪OP[3]▪]2[OP ▪]1[OP ▪]0[OP ANDI=]5[OP ▪]4[OP ▪ OP[3]▪ OP[2]▪]1[OP ▪]0[OP ORI=]5[OP ▪]4[OP ▪ OP[3]▪ OP[2]▪]1[OP ▪ OP[0] XORI=]5[OP ▪]4[OP ▪ OP[3]▪ OP[2]▪ OP[1]▪]0[OPLW= OP[5]▪]4[OP ▪]3[OP ▪]2[OP ▪ OP[1]▪ OP[0]SW= OP[5]▪]4[OP ▪ OP[3]▪]2[OP ▪ OP[1]▪ OP[0] BEQ=]5[OP ▪]4[OP ▪]3[OP ▪ OP[2]▪]1[OP ▪]0[OP BNQ=]5[OP ▪]4[OP ▪]3[OP ▪ OP[2]▪]1[OP ▪ OP[0] LUI=]5[OP ▪]4[OP ▪ OP[3]▪ OP[2]▪ OP[1]▪ OP[0] J=]5[OP ▪]4[OP ▪]3[OP ▪]2[OP ▪ OP[1]▪]0[OP JAL=]5[OP ▪]4[OP ▪]3[OP ▪]2[OP ▪ OP[1]▪ OP[0]图5-15指令译码器的电路符号原理图设计指令译码由描述和逻辑关系式创建指令译码器的原理图,如图5-15-1所示:图5-15-1 指令译码器的原理图指令译码的仿真验证(1)打开CPU项目。
(2)创建一个原理图文件新建一个原理图文件,在原理图编辑窗口中按照图5-15-1创建指令译码器的原理图,保存为“instdec.bdf”。
(3)编译将要编译的文件设置为顶层文件,编译。
(4)创建波形文件通过编译后,新建V ector Waveform File文件,将所有的信号节点导入波形图编辑窗口中。
对所有信号节点前面有或图标的,按如图9-6所示进行值设置。
然后,保存该波形文件为“instdec.vwf”。
(6)功能仿真如图5-15-2所示。
(7)波形分析由如图9-6所示70.0ns到80.0ns这一时段,OP为000000,FUNC为000011,ADD,SUB,AND,OR,XOR,SLL,SRL,SRA,JR的值应该分别为000000010,图中正好此时段的值也为这样。
另120.0ns到130.0ns这一时段,OP为001110,FUNC为110000,ADDI,ORI,XORI,LW,SW,BEQ,BNQ,LUI,J,JAL的值应该分别为00010000000,图中正好此时段的值也正好这样。
因此得证。
(8)生成原理图元器件和对应的VHDL定义元件语句。
图5-15-2 指令译码器的仿真波形图控制部件控制器是计算机中发号施令的部件,它控制计算机的各部件有条不紊地进行工作。
具体的讲,控制器的任务是从内存中取出题解步骤加以分析,然后执行某种操作。
PCSOURCE 是用于标记下一条指令的地址,通过计算得到的下一条指令有下列4种情况PC+4(用于指令存储器的地址是[7..2])、分支跳转(BEQ、BNQ指令)、跳转(J指令)、跳转变链接(JAL 指令)。
CALL(JAL)标记31号寄存器,由于JAL指令要把分支延迟槽下一条指令的指令地址保存在寄存器31号中,故需要设置一个控制信号CALL,当CALL=1时,选择31号寄存器,为JAL跳转指令提供寄存器,当CALL=0时,从32位的寄存器堆中根据地址选择出一个32位的寄存器用于读或写数据。
M2REG(LW指令)标记是将运算的结果直接写入寄存器堆,还是将数据存储器的数据取出后写入寄存器堆。
ALUC运算器的控制信号,用于选择做何种运算。
WMEM数据存储器的读写信号。
SHIFT标记移位运算,由于移位运算的运算数需要位数拓展。
ALUIMM标记立即数运算,由于有立即数参与运算前需要位数拓展。
SEXT标记参加运算的是有符号数。
WREG寄存器堆的读写信号。
REGRT标记指令中的[20..16]或[15..11]中的哪一种作为运算的目标寄存器。
它的电路符号如图5-16。
可以得出这些控制信号的逻辑表达式如下:CALL=JALPCSOURCE[0]=(BEQ and Z) or J or JAL or (BNQ and Z)PCSOURCE[1]=J or JAL or JRM2REG=LWALUC[0]=ORI or ANDI or SRA or SRL or SLL or AND or ORALUC[1]=LUI or XORI or SRA or SRL or SLL or XORALUC[2]=LUI or BNQ or BEQ or ORI or SRA or SRL or OR or SUBALUC[3]=SRAWMEM=SWSHIFT=SLL or SRA or SRLALUIMM=ORI or ANDI or XORI or LW or SW or LUI or ADDISEXT=ADDI or LW or SW or BEQ or BNQ or LUIWREG=ADD or SUB or AND or OR or XOR or SLL or SRL or SRA or ADDI or ANDI or ORI or XORI or LW or LUI or JALREGRT=ADDI or ANDI or ORI or XORI or LW or LUI图5-16-1控制器的电路符号原理图设计控制部件由描述、调用instdec元件和逻辑关系式创建控制部件的原理图,如图5-16所示:图5-16 控制器的原理图VHDL设计控制部件由于VHDL语法的多样性和灵活性。