计算机组成原理CPU设计实验报告

计算机组成原理CPU设计实验报告
计算机组成原理CPU设计实验报告

计算机组成原理报告

课程设计题目:16位CPU设计

学院: 信息学院

班级:电子A班

学号:1115102015

姓名:方茹

目录

1 实验方法 (4)

2 总体说明 (5)

2.1指令系统: (5)

2.1.1指令格式分类(按指令字长和操作数不同): (5)

2.1.2具体指令汇总表: (6)

2.1.3相关指令流程图: (6)

2.1.4指令数据通路的构建: (7)

2.1.5指令的分组及节拍: (11)

2.1.6指令执行状态图:(见下页) (12)

2.1.7具体微指令: (12)

2.2 系统整体介绍 (15)

2.2.1系统基本模块划分 (15)

2.2.2总体结构图:(见下页) (16)

3 CPU的控制逻辑与具体数据通道设计 (17)

3.1取指令逻辑的设计 (18)

3.1.1指令地址的保存 (18)

3.1.2指令存储器 (19)

3.1.3下一条指令地址的计算 (19)

3.2指令译码逻辑的设计 (20)

3.3指令执行逻辑的设计 (21)

3.4存储器访问逻辑的设计 (22)

3.5结果写回逻辑的设计 (23)

3.6单周期CPU的总成 (24)

4各部分说明 (25)

4.1 ALU (25)

4.2数据选择器BUS_MUX (27)

4.3器件T1 (29)

4.4标志寄存器FLAG_REG (30)

4.5 T2: (32)

4.6程序计数器PC (32)

4.7地址寄存器AR和指令寄存器IR: (33)

4.8寄存器、寄存器组和寄存器的选择 (35)

4.9一位控制信号/WR (36)

4.10 节拍发生器 (36)

4.11控制逻辑 (38)

4.12 T3 (41)

4.13 REG_OUT (42)

4.14存储器 (43)

4.15总线选择器 (44)

4.16 REG_TEST (45)

5附录: (46)

附录A:组员分工: (46)

附录B:组员设计总结: (46)

1 实验方法

实验要完成的工作主要包括:指令系统的设计,FPGA-CPU的整体结构设计及其细化,逻辑设计的具体实现(VHDL语言程序的编写),软件模拟,以及硬件调试。这几部分的工作之间是先行后续的关系,也就是只有前一个步骤完成了下一个步骤才可以开始进行,不存在并行完成的情况。实验主要流程如下图所示:

其中指令系统和逻辑结构的设计主要参考了相关文献。

主要的方法是先确定CPU所要实现的功能,根据寄存器等的情况划分指令格式,然后根据功能写出指令,根据不同指令的特点将它们分组并确定操作码;接下来设想每条指令的执行过程,需要哪些硬件支持,最后确定整个CPU的逻辑结构图。

在各个功能模块的实现中主要使用了自底向上的设计方法。先实现寄存器,再实现寄存器组,等等,最后将各个器件和模块之间互连,得到顶层设计图。

2 总体说明

2.1指令系统:

计算机的指令是用户使用计算机与计算机本身运行的最小功能单位。一台计算机支持的全部指令就构成该机的指令系统。从计算机本身的组成看,指令系统直接与计算机系统的性能和硬件结构的复杂程度等密切相关,它是CPU设计的起始点和基本依据。

设计指令系统的核心问题是选定指令的格式和功能。具体到我们的设计来说,指令的功能应该包括简单的算术和逻辑运算,移位操作,数据传送,跳转,读写内存,另外还可能包括一些其他功能如置条件码等。

为了指令的规整性和便于译码,我们主要采用了定长的操作码组织方案,操作码为8位。

寻址方式包括了寄存器寻址、立即数寻址、直接地址和相对寻址。

2.1.1指令格式分类(按指令字长和操作数不同):

(1)单字指令

单字节指令格式

(2)双字指令

2.1.2指令操作码

操作码功能表

2.1.3相关指令流程图:

1.算术逻辑运算指令

2.访存指令

3.访寄存器指令

4.跳转指令

2.1.4指令数据通路的构建:

将参与运算的两个操作数分别放入ALU 的A 端和B 端

ALU 进行运算,结果存入暂

存器Y 中

将暂存器Y 中结果经总线送

回指定寄存器

将指令中存储器地址经地址总线送入MAR 当中,并把存储器读写使能端置为读

将存储器中数据送入MDR

将MDR 中数据经数据总线送入

寄存器

将寄存器中数据经数据总线送入MDA

将地址经地址总线送入MAR ,并读写使能端为写

将MDR 中数据存入存储器

将寄存器中操作数送入总线 将立即数经符号扩展后送入总线

将总线上的数送往寄存器

取指令中立即数送入ALU 的A 端,将PC 得值送入B 端

ALU 完成加运算,将结果送到暂存器Y 中

将Y 中数据经数据总

线送入PC

1.取指令数据通路的构建

取指令的微操作安排如下:

T0: PC→ BUS → MAR, PC → BUS → A, 1 → READ

T1: M(MAR) → MDR→BUS→IR, ALU(A+2) → Y

T2: Y → BUS → PC, IR → ID

2. 算逻指令执行周期数据通路构建

算逻指令执行周期微操作安排如下:

T0: $R2 → BUS → A

T1: $R3 → BUS → B

T2: ALU(A ,B) → Y→ BUS → $R1

数据通路如下:

3访存指令执行周期数据通路构建

LDRR 指令执行周期的微操作安排如下: T0: Ad(IR) → 扩位 → BUS → MAR, 1 → READ T1: M(MAR) → MDR T2: MDR → BUS → $R

STRR 指令执行周期的微操作安排如下: T0: $R → BUS → MDR

T1: Ad(IR) → 扩位 → BUS → MAR, 1 → WRITE T2:

4. 访寄存器组指令执行周期数据通路构建 访寄存器指令执行周期微操作安排如下: T0: $R2 → BUS → $R1 T1: T2:

数据通路如下:

RF

MUX

IR

B U

S

扩位

BUS_MUX

RF_IN

5. 跳转指令执行周期数据通路构建

跳转指令执行周期的微操作安排如下:

T0: Im(IR) →扩位和移位→ BUS → A

T1: PC → BUS → B

T2: ALU(A+B) → Y→ BUS → PC

2.1.5指令的分组及节拍:

由于没有中断操作,本机指令的执行步骤可概括如下:(画图描述)

读取指令:地址寄存器<-指令地址,修改PC内容使其指向下一条将要执行的指令;

读内存,指令寄存器<-读出的内容。

分析指令: 指令译码。

执行指令:通用寄存器之间的运算或传送,可1步完成;

读写内存,通常要两步完成。

根据指令的执行步骤不同,可以把全部指令分为A、B两组。其中A组指令完成的是通用寄存器之间的数据运算或传送,或其他一些特殊操作,在取指之后可一步完成,包括:

ADD,SUB,AND,CMP,XOR,TEST,OR,MVRR,DEC,INC,SHL,SHR,ADC,SBB,JR,JRC,JRNC,JR Z,JRNZ,JRS,JRNS,CLC,STC;B组指令完成的是一次内存读写操作,在取指之后可两步完成,包括:JMPA,LDRR,STRR,MVRD。在编码的时候以指令操作码的最高位来区分A、B组指令,0为A组指令,1为B组指令。

在控制器方面我们选用了组合逻辑控制器方案。使用节拍来标记每条指令的执行步骤。

由指令而定,在我们的系统中不同的执行步骤只有5个?,故使用3位节拍就足够了。

2.1.6指令执行状态图:(见下页)

2.1.7具体微指令:(以下设计过程(思路)的描述解释)

<1>ADD DR,SR

T1:MEM_ADDR←PC WR←1 MEM_DATA←OB IR←MEM_DATA

PC_NEXT←PC+1

T2:RESULT←SR+DR

T3:DR←RESULT PC←PC_NEXT GENERATE Z GENERATE C

<2>SUB DR,SR

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA PC_NEXT←PC+1

T2:RESULT←SR-DR

T3:DR←RESULT PC←PC_NEXT GENERATE Z GENERATE C

上图的名称和标号?解释改图,图再画清楚一些。

<3>CMP DR,SR

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA PC_NEXT←PC+1

T2:RESULT←SR-DR

T3:PC←PC_NEXT GENERATE Z

<4>MOVRTR DR,SR

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA PC_NEXT←PC+1

T2:RESULT←SR

T3:DR←RESULT PC←PC_NEXT

<5>JMP ADDR

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA T2:RESULT←ADDR+PC

T3:PC←RESULT

6>JNC ADDR

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA PC_NEXT←PC+1

T2:GENERATE CFLAG RESULT←ADDR+PC

T3:if(CFLAG==0) PC←RESULT else PC←PC_NEXT

<7>JNZ ADDR

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA PC_NEXT←PC+1

T2:GENERATE ZFLAG RESULT←ADDR+PC

T3:if(ZFLAG==0) PC←RESULT else PC←PC_NEXT

<8>CLC

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA PC_NEXT←PC+1

T2:C←0

T3:PC←PC_NEXT

<9>STC

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA PC_NEXT←PC+1

T2:C←1

T3:PC←PC_NEXT

<10>LDRR DR,SR

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA PC_NEXT←PC+1

T2:MEM_ADDR←SR

T3:WE←1 MEM_DATA←OB DR←MEM_DATA PC←PC_NEXT

<11>STRR DR,SR

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA PC_NEXT←PC+1

T2:MEM_ADDR←DR

T3:WE←0 MEM_DATA←SR OB←MEM_DATA PC←PC_NEXT

<12> MOVDTR DR,DATA

T1:MEM_ADDR←PC WE←1 MEM_DATA←OB IR←MEM_DATA

PC_NEXT←PC+1

T2:MEM_ADDR←PC_NEXT

T3:WE←0 MEM_DATA←OB DR←MEM_DATA PC←PC+2

2.2 系统整体介绍

2.2.1系统基本模块划分

整个系统可划分为控制器,寄存器,ALU,寄存器组,数据选择器,相关时序部件及组合逻辑部件,总线和主存等。

整个CPU系统以控制器为中心,负责指令的译码及发出各种相关控制信号。节拍发生器控制着整个系统的时钟信号,系统的相关部件在统一的节拍控制下发挥自己的作用。IR为指令寄存器,负责存储即将执行的下一条指令,AR为地址寄存器,存放被访问存储单元的地址。PC为程序计数器,存放现行指令的地址,具有计数功能。ALU负责处理相关数据运算操作。寄存器组负责存放相关操作数和中间临时变量。多路数据选择器在相关控制信号的作用下将相关数据输入ALU处理。总线分数据总线和地址总线,负责MM和相关寄存器之间的数据交换。MM为存储器,存放相关数据和程序。

建议下图用ConceptDraw绘图工具完成,画起图来更加快捷;并对此图工作过程进行解释(画流程图等)

2.2.2总体结构图:(见下页)

我们设计的系统没有流水和Cache,CPU的结构还是比较简单的。主要的部件就是算逻单元ALU、控制逻辑、通用寄存器组、指令寄存器IR、地址寄存器AR、程序计数器PC、标志寄存器、节拍发生器以及一些数据选择器和译码电路。

运算器方面,由一个ALU部件完成全部算数、逻辑、移位操作,输出设置了4个标志位:C——进位标志位,Z——是否为0标志位,V——溢出标志位,S——是否为负标志位,保存在标志寄存器内。与之相关的还有寄存器组和数据选择器。16个16位的通用寄存器既是参与运算的数据的来源,又是运算结果的暂存地,而数据选择器为ALU正确选择了两个输入数据。

控制器方面,使用了组合逻辑控制器,这也是当前RISC类型计算机普遍选用的控制器方案。它的基本运行原理是,用组合逻辑门线路直接提供控制计算机各功能部件协同运行所需要的控制信号。其优点是,形成这些控制信号所必需的线路延迟时间少,对提高系统运行速度有利,并且由于使用了大规模现场可编程器件,这些逻辑线路的设计和修改变得非常简单易行。

组合逻辑控制器主要由4个部件组成:

程序计数器PC,保存指令在内存中的地址;

指令寄存器IR,保存从内存读来的指令内容,在指令执行过程中提供指令本身的主要信息;

节拍发生器,用于标记出每条指令的各执行步骤的相对次序关系;

控制逻辑,或称时序控制信号产生部件,它根据指令内容(由IR提供)和指令的执行步骤(由节拍发生器提供)及其他一些条件信号(标志寄存器输出),形成并提供出计算机各部件当前时刻要用到的控制信号。

1. 解释系统电路的工作原理,可画流程图

2. 系统电路的设计过程 3.解释个部件的功能

3 CPU 的控制逻辑与具体数据通道设计

CPU 在处理指令时需要经过以下几个步骤:

1)取指令(IF ):根据程序计数器PC 中的指令地址,从存储器中取出一条指令,转到译码状态。同时,在PC 中产生下一条指令的地址。

2)指令译码(ID )

:对取指令操作中得到的指令进行译码,确定该指令需要完成的操

MM

作,从而产生相应的控制信号,驱动执行状态中的各种动作。

3)指令执行(EXE ):根据指令译码得到的控制信号,具体执行指令动作,转入下一个状态。

4)存储器访问(MEM ):所有需要访问存储器的操作都将在这个步骤中执行,该步骤给出访问存储器的地址,从存储器的指定地址读取数据,或者将指定数据写入指定地址。

5)结果写回(WB ):该步骤把指令执行的结果或者访问存储器所得到的数据写入到相应的目的寄存器中。

图3-1显示了单周期CPU 中5个指令处理步骤的执行顺序。

图3-1:单周期CPU 指令处理过程

3.1取指令逻辑的设计

CPU 执行指令时,第一步要把指令从存储器中取出来。这个动作由(IF )步骤完成。 如图3-2所示,IF 步骤需要完成以下几个操作:

1)给出需要取得的指令的存储器地址。因为指令保存在程序计数器PC 中,所以只需要把PC 中的地址输出到地址总线上即可。

2)从存储器读取指令字。 3)计算下一条指令的地址。

图3-2:取指令操作示意图

3.1.1指令地址的保存

在CPU 体系结构中,计算机指令保存在一个16位的专用寄存器PC 中。本设计使用一

指令

个16位的寄存器来实现程序寄存器PC,如图3-3所示。(应该在画下面实现的电路图之前,先设计(画)逻辑部件框图,即确定输入/输出,控制信号等,以下同)补图

3.1.2指令存储器

计算机指令保存在指令存储器中。在本设计中,使用IR来实现指令存储器。如图3-4所示。

指令存储器输入信号:mem_data[15..0]。

控制信号:rec为10时,IR接收从MM获得的指令。

指令存储器输出信号:INSTOUT[15..0]。

图3-4:指令存储器的逻辑电路图

3.1.3下一条指令地址的计算

在计算下一条指令地址时,有如下几种情况:

1)如果当前指令不是分支或跳转指令,则可以简单的在当前指令的基础上加2,就得到了下一条指令的地址,保存到程序计数器PC中。

2)当前指令为分支或者跳转指令时,则需要根据当前指令来计算跳转地址。

具体而言,在计算分支指令时,首先需要把分支指令中的8位立即数进行符号扩展;把结果加到当前指令的指令地址上,从而产生分支转移地址。

8位立即数为INSTOUT[7..0],符号位是INSTOUT[7],如图1-5所示,可将INSTOUT[7]扩展到高8位。

由此可得到计算下一条指令地址的数据选通电路。(如图3-5) (如何工作?画流程图或

状态图)

图3-5 取指令地址的数据选通电路的实现

3.2指令译码逻辑的设计

在得到了指令字之后,将转入指令译码阶段。

指令译码操作步骤完成如下的功能:

1)识别指令;

2)根据不同的指令给出各种控制信号;

3)根据指令从相应的源数据寄存器中取出操作数,为下一步的指令执行做好准备。

指令译码动作由控制部件CtrlUnit完成。

数据通路实验报告

非常简单CPU数据通路设计实验报告非常简单CPU数据通路设计【实验目的】 1. 掌握CPU的设计步骤 2. 学会芯片的运用及其功能 【实验环境】 Maxplus2环境下实现非常简单CPU数据通路的设计 【实验内容】 非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器绘制 AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。其数据通路详见教材P。 1、零件制作 6位寄存器 (自行设计) 6位计数器 (自行设计) 8位寄存器 (可选择74系列宏函数74273) 8位计数器 (由两个74161构成) 2位寄存器 (由D触发器构成,自行设计) 6三态缓冲器 (自行设计,可由74244内部逻辑修改而成) 8三态缓冲器 (选择74系列宏函数74244,或作修改) alu模块 (自行设计,限于时间,其内部逻辑不作要求) 2、选择器件,加入数据通路顶层图 8位累加器AC:选择8位计数器 6位地址寄存器AR:reg6 6位的程序计数器PC:cou6

8位的数据寄存器DR:选择8位寄存器 2位的指令寄存器IR:选择2位寄存器 3、为PC、DR加入三态缓冲器。 4、调整版面大小,器件位置。 5、设计地址引脚、数据引脚、8位内部总线,加入数据引脚到内部总线的 缓冲器。 6、连接各器件之间以及到内部总线的线路,设计并标注各控制信号。 7、(选做)编译之后,给出微操作 AR<-PC 的测试方法及仿真结果。 8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说 明及顶层的“非常简单CPU”数据通路图。 实验报告 一、实验步骤 基于前面非常简单CPU的讲解,我掌握了非常简单CPU的指令集结构及非常简单CPU的指令读取过程和执行过程,本次实验是在上次实验的基础之上完成非常简单CPU数据通路的设计,其步骤如下: (1)、AC累加器原理图如下:

氢氧燃料电池性能测试实验报告

氢氧燃料电池性能测试 实验报告 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

氢氧燃料电池性能测 试实验报告 学号: 姓名:冯铖炼 指导老师:索艳格 一、实验目的 1.了解燃料电池工作原理 2.通过记录电池的放电特性,熟悉燃料电池极化特性 3.研究燃料电池功率和放电电流、燃料浓度的关系 4.熟悉电子负载、直流电源的操作 二、工作原理 氢氧燃料电池以氢气作燃料为还原剂,氧气作氧化剂氢氧燃料电池,通过燃料的燃烧反应,将化学能转变为电能的电池,与原电池的工作原理相同。 氢氧燃料电池工作时,向氢电极供应氢气,同时向氧电极供应氧气。氢、氧气在电极上的催化剂作用下,通过电解质生成水。这时在氢电极上有多余的电子而带负电,在氧电极上由于缺少电子而带正电。接通电路后,这一类似于燃烧的反应过程就能连续进行。

工作时向负极供给燃料(氢),向正极供给氧化剂(氧气)。氢在负极上的催化剂的作用下分解成正离子H+和电子e-。氢离子进入电解液中,而电子则沿外部电路移向正极。用电的负载就接在外部电路中。在正极上,氧气同电解液中的氢离子吸收抵达正极上的电子形成水。这正是水的电解反应的逆过程。 氢氧燃料电池不需要将还原剂和氧化剂全部储藏在电池内的装置氢氧燃料电池的反应物都在电池外部它只是提供一个反应的容器 氢气和氧气都可以由电池外提供燃料电池是一种化学电池,它利用物质发生化学反应时释出的能量,直接将其变换为电能。从这一点看,它和其他化学电池如锌锰干电池、铅蓄电池等是类似的。但是,它工作时需要连续地向其供给反应物质——燃料和氧化剂,这又和其他普通化学电池不大一样。由于它是把燃料通过化学反应释出的能量变为电能输出,所以被称为燃料电池。 具体地说,燃料电池是利用水的电解的逆反应的"发电机"。它由正极、负极和夹在正负极中间的电解质板所组成。最初,电解质板是利用电解质渗入多孔的板而形成,2013年正发展为直接使用固体的电解质。 工作时向负极供给燃料(氢),向正极供给氧化剂(空气,起作用的成分为氧气)。氢在负极分解成正离子H+和电子e-。当氢离子进入电解液中,而电子就沿外部电路移向正极。用电的负载就接在外部电路中。在正极上,空气中的氧同电解液中的氢离子吸收抵达正极上的电子形成水。这正是水的电解反应的逆过程。此过程水可以得到重复利用,发电原理与可夜间使用的太阳能电池有异曲同工之妙。 燃料电池的电极材料一般为惰性电极,具有很强的催化活性,如铂电极、活性碳电极等。 利用这个原理,燃料电池便可在工作时源源不断地向外部输电,所以也可称它为一种"发电机"。 一般来讲,书写燃料电池的化学反应方程式,需要高度注意电解质的酸碱性。在正、负极上发生的电极反应不是孤立的,它往往与电解质溶液紧密联系。如氢—氧燃料电池有酸式和碱式两种: 若电解质溶液是碱、盐溶液则

(完整版)计算机组成原理知识点总结

第2章数据的表示和运算 主要内容: (一)数据信息的表示 1.数据的表示 2.真值和机器数 (二)定点数的表示和运算 1.定点数的表示:无符号数的表示;有符号数的表示。 2.定点数的运算:定点数的位移运算;原码定点数的加/减运算;补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。 (三)浮点数的表示和运算 1.浮点数的表示:浮点数的表示范围;IEEE754标准 2.浮点数的加/减运算 (四)算术逻辑单元ALU 1.串行加法器和并行加法器 2.算术逻辑单元ALU的功能和机构 2.3 浮点数的表示和运算 2.3.1 浮点数的表示 (1)浮点数的表示范围 ?浮点数是指小数点位置可浮动的数据,通常以下式表示: N=M·RE 其中,N为浮点数,M为尾数,E为阶码,R称为“阶的基数(底)”,而且R

为一常数,一般为2、8或16。在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来。 浮点数的机内表示 浮点数真值:N=M ×2E 浮点数的一般机器格式: 数符阶符阶码值 . 尾数值 1位1位n位m位 ?Ms是尾数的符号位,设置在最高位上。 ?E为阶码,有n+1位,一般为整数,其中有一位符号位EJ,设置在E的最高位上,用来表示正阶或负阶。 ?M为尾数,有m位,为一个定点小数。Ms=0,表示正号,Ms=1,表示负。 ?为了保证数据精度,尾数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于0.5。对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求。 浮点数的机内表示 阶码通常为定点整数,补码或移码表示。其位数决定数值范围。阶符表示数的大小。 尾数通常为定点小数,原码或补码表示。其位数决定数的精度。数符表示数的正负。

性能测试工具LoadRunner实验报告

性能测试工具LoadRunner实验报告 一、概要介绍 1.1 软件性能介绍 1.1.1 软件性能的理解 性能是一种指标,表明软件系统或构件对于其及时性要求的符合程度;同时也是产品的特性,可以用时间来进行度量。 表现为:对用户操作的响应时间;系统可扩展性;并发能力;持续稳定运行等。1.1.2 软件性能的主要技术指标 响应时间:响应时间=呈现时间+系统响应时间 吞吐量:单位时间内系统处理的客户请求数量。(请求数/秒,页面数/秒,访问人数/秒) 并发用户数:业务并发用户数; [注意]系统用户数:系统的用户总数;同时在线用户人数:使用系统过程中同时在线人数达到的最高峰值。 1.2 LoadRunner介绍 LoadRunner是Mercury Interactive的一款性能测试工具,也是目前应用最为广泛的性能测试工具之一。该工具通过模拟上千万用户实施并发负载,实时性能监控的系统行为和性能方式来确认和查找问题。 1.2.1 LoadRunner工具组成 虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本; 压力产生器:通过运行虚拟用户产生实际的负载; 用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户; 压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;

监视系统:监控主要的性能计数器; 压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。 1.2.2 LoadRunner工具原理 代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner就是通过代理方式截获客户端和服务器之间交互的数据流。 1)虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端。 这样服务器端和客户端都以为在一个真实运行环境中,虚拟脚本生成器能通过这种方式截获数据流;虚拟用户脚本生成器在截获数据流后对其进行了协议层上的处理,最终用脚本函数将数据流交互过程体现为我们容易看懂的脚本语句。 2)压力生成器则是根据脚本内容,产生实际的负载,扮演产生负载的角色。 3)用户代理是运行在负载机上的进程,该进程与产生负载压力的进程或是线程协作,接受调度系统的命令,调度产生负载压力的进程或线程。 4)压力调度是根据用户的场景要求,设置各种不同脚本的虚拟用户数量,设置同步点等。 5)监控系统则可以对数据库、应用服务器、服务器的主要性能计数器进行监控。 6)压力结果分析工具是辅助测试结果分析。 二、LoadRunner测试过程 2.1 计划测试 定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间等。 2.2 创建Vuser脚本 将最终用户活动捕获(录制、编写)到脚本中,并对脚本进行修改,调试等。协议类型:取决于服务器端和客户端之间的通信协议;

计算机组成原理实验报告单周期cpu的设计与实现

1个时钟周期 Clock 电子科技大学计算机科学与工程学院 标 准 实 验 报 告 (实验)课程名称: 计算机组成原理实验 电子科技大学教务处制表 电 子 科 技 大 学 实 验 报 告 学生姓名: 郫县尼克杨 学 号: 2014 指导教师:陈虹 实验地点: 主楼A2-411 实验时间:12周-15周 一、 实验室名称: 主楼A2-411 二、 实验项目名称: 单周期CPU 的设计与实现。 三、 实验学时: 8学时 四、 实验原理: (一) 概述 单周期(Single Cycle )CPU 是指CPU 从取出1条指令到执行完该指令只需1个时钟

周期。 一条指令的执行过程包括:取指令→分析指令→取操作数→执行指令→保存结果。对于单周期CPU 来说,这些执行步骤均在一个时钟周期内完成。 (二) 单周期cpu 总体电路 本实验所设计的单周期CPU 的总体电路结构如下。 (三) MIPS 指令格式化 MIPS 指令系统结构有MIPS-32和MIPS-64两种。本实验的MIPS 指令选用MIPS-32。以下所说的MIPS 指令均指MIPS-32。 MIPS 的指令格式为32位。下图给出MIPS 指令的3种格式。 本实验只选取了9条典型的MIPS 指令来描述CPU 逻辑电路的设计方法。下图列出了本实验的所涉及到的9条MIPS 指令。 五、 实验目的 1、掌握单周期CPU 的工作原理、实现方法及其组成部件的原理和设计方法,如控制器、26 31 221 216 15 11 1 6 5 0 op rs rt rd sa func R 型指令 26 31 221 216 15 0 op rs rt immediate I 型指令 26 31 20 op address J 型指令

计算机组成原理电子教案

《计算机组成原理》电子教案 课程名称:计算机组成原理 适用专业:计算机科学与技术网络工程课程总学时:80学时 编写时间: 2006年9月

本课程是计算机专业本科生的核心课程,是主干必修课。课程以阐述原理为主,讲述计算机系统及其各功能部件的工作原理以及逻辑实现,计算机系统及其各功能部件的设计原理以及并行处理技术。设置这一课程的目的是使学生掌握计算机的基本工作原理,掌握计算机各主要部件的硬件结构、相互联系和作用,掌握计算机系统的设计原理以及软硬件的界面,从而对整个计算机系统有完整的了解,为计算机专业的后继课程的学习打下基础。 一、本课程得主要内容 1、计算机系统概论 2、运算方法和运算器 3、存储器 4、计算机指令系统 5、控制器 6、总线系统 7、外围设备 8、输入、输出系统 二、本课程教学重点与难点 重点:信息编码和数据表示 控制器 存储系统 输入输出系统 三、教材选用 《计算机组成原理》白中英.科学出版社, 四、参考教材: 主要参考书: 1、李亚明.《计算机组成与系统结构》.清华大学出版社.2001

2、王爱英.《计算机组成与结构》.清华大学出版社.1998 3、江义鹏.《计算机组成原理》.人民邮电出版社.1998 4、胡越明.《计算机组成和系统结构》.上海科学技术文献出版社.1999 五、教学手段:多媒体课件+版书 六、课程内容和学时分配 (整体安排按信息表示、信息处理、信息输出思路。) 1、计算机系统概论 教学内容: 1、计算机系统的基本构成 2、计算机系统的层次结构 3、计算机系统结构、组成及其实现 4、计算机的性能评价 5、计算机发展简史 6、计算机的应用 基本要求: 通过本章的学习,要求了解整个计算机系统由硬件和软件两部分构成,其中硬件部分包括运算器、控制器、存储器、输入输出设备等五大功能部件构成。通过总线相互连成一个完整的硬件系统;软件部分包括系统软件、应用软件两大部分。通过对计算机层次结构的了解,明确计算机组成原理课程的任务和目的。了解计算机中的一些基本概念,包括性能指标、计算机发展简史以及计算机的应用。 教学重点: 1、计算机系统的基本构成 2、计算机系统的层次结构 3、计算机系统结构、组成及其实现 教学难点:计算机系统的层次结构、系统结构、组成及其实现的关系。明确计算机组成原理课程的任务和目的。 其它: 4、计算机的性能评价(字长、容量、速度、时间、MIPS) 5、计算机发展简史(ENIAC、冯氏计算机、其它自学) 6、计算机的应用(科学计算与数据处理的区别)

cpu实验报告

简易计算机系统综合设计设计报告 班级姓名学号 一、设计目的 连贯运用《数字逻辑》所学到的知识,熟练掌握EDA工具的使用方法,为学习好后续《计算机原理》课程做铺垫。 二、设计内容 ①按给定的数据格式和指令系统,使用EDA工具设计一台用硬连线逻辑控制的简易计算机系统; ②要求灵活运用各方面知识,使得所设计的计算机系统具有较佳的性能; ③对所做设计的性能指标进行分析,整理出设计报告。 三、详细设计 3.1设计的整体架构 控制信号

3.2各模块的具体实现 1.指令计数器(zhiling_PC) 元件: 输入端口:CLK,RESET,EN; 输出端口:PC[3..0]; CLK:时钟信号; RESET:复位信号; EN:计数器控制信号,为1的时候加一; PC[3..0]:地址输出信号; 代码:

波形图: 总共有九条指令,指令计数器从0000到1000;功能: 实现指令地址的输出; 2.存储器(RAM) 元件: 输入端口:PC[3..0],CLK; 输出端口:zhiling[7..0]; CLK:时钟信号; PC[3..0]:指令地址信号; zhiling[7..0]:指令输出信号; 代码:

波形图: 功能: 根据输入的地址输出相应的指令; 3.指令译码器(zlymq) 元件: 输入端口:zhiling[7..0]; 输出端口:R1[1..0],R2[1..0],M[3..0];zhiling[7..0]:指令信号; R1:目标寄存器地址; R2:源寄存器地址; M[3..0]:指令所代表的操作编号; 代码:

波形图:

功能: 实现指令的操作译码,同时提取出目标寄存器和源寄存器的地址; 4.算术逻辑运算器(ALU) 元件: 输入端口:EN_ALU,a[7..0],b[7..0],M[3..0]; 输出端口:c[7..0],z; EN_ALU:运算器的使能端; a[7..0]:目标寄存器R1的值; b[7..0]:源寄存器R2的值; M[3..0]:指令所代表的操作编号; c[7..0]:运算结果; z:运算完成的信号; 代码:

PC性能评测实验报告

计算机体系结构课程实验报告 PC性能测试实验报告 学号: 姓名:张俊阳 班级:计科1302 题目1:PC性能测试软件 请在网上搜索并下载一个PC机性能评测软件(比如:可在百度上输入“PC 性能benchmark”,进行搜索并下载,安装),并对你自己的电脑和机房电脑的性能进行测试。并加以比较。 实验过程及结果: 我的电脑:

机房电脑:

综上分析:分析pcbenchmark所得数据为电脑的current performance与其potential performance的比值,值大表明计算机目前运行良好,性能好,由测试结果数据可得比较出机房的电脑当前运行的性能更好。分析鲁大师性能测试结果:我的电脑得分148588机房电脑得分71298,通过分析我们可以得出CPU占总得分的比重最大,表明了其对计算机性能的影响是最大的,其次显卡性能和内存性能也很关键,另外机房的电脑显卡性能较弱,所以拉低了整体得分,我的电脑各项得分均超过机房电脑,可以得出我的电脑性能更好的结论。 题目2:toy benchmark的编写并测试 可用C语言编写一个程序(10-100行语句),该程序包括两个部分,一个部分主要执行整数操作,另一个部分主要执行浮点操作,两个部分执行的频率(频率整数,频率浮点)可调整。请在你的计算机或者在机房计算机上,以(,),(,),(,)的频率运行你编写的程序,并算出三种情况下的加权平均运行时间。 实验过程及结果: #include<> #include<> int main() {

int x, y, a; double b; clock_t start, end; printf("请输入整数运算与浮点数运算次数(单位亿次)\n"); scanf("%d%d", &x, &y); /*控制运行频率*/ start = clock(); for (int i = 0; i

CPU设计实验报告文档(英文版)

Southeast University Microprogra m med CPU Design -- COA experiment School of Information Science and Engineering 04009XXX 2012-4-25

Purpose The purpose of this project is to design a simple CPU (Central Processing Unit). This CPU has basic instruction set, and we will utilize its instruction set to generate a very simple program to verify its performance. For simplicity, we will only consider the relationship among the CPU, registers, memory and instruction set. That is to say we only need consider the following items: Read/Write Registers, Read/Write Memory and Execute the instructions. At least four parts constitute a simple CPU: the control unit, the internal registers, the ALU and instruction set, which are the main aspects of our project design and will be studied. Instruction Set Single-address instruction format is used in our simple CPU design. The instruction word contains two sections: the operation code (opcode), which defines the function of instructions (addition, subtraction, logic operations, etc.); the address part, in most instructions, the address part contains the memory location of the datum to be operated, we called it direct addressing. In some instructions, the address part is the operand, which is called immediate addressing. For simplicity, the size of memory is 256×16 in the computer. The instruction word has 16 bits. The opcode part has 8 bits and address part has 8 bits. The instruction word format can be expressed in Figure 1 Figure 1 the instruction format The opcode of the relevant instructions are listed in Table 1. In Table 1, the notation [x] represents the contents of the location x in the memory. For example, the instruction word 00000011101110012 (03B916) means that the CPU adds word at location B916 in memory into the accumulator (ACC); the instruction word 00000101000001112 (050716) means if the sign bit of the ACC (ACC [15]) is 0, the CPU will use the address part of the instruction as the address of next instruction, if the sign bit is 1, the CPU will increase the program counter (PC) and use its content 7 as the address of the next instruction. Table 1 List of instructions and relevant opcodes

计算机组成原理样卷及参考答案

题号一二三四合计 分数 阅卷人 一、单选题(每题2分,共30分) 1 冯.诺依曼计算机结构的核心思想是:_____ 。 A 二进制运算 B 有存储信息的功能C运算速度快 D 存储程序控制 2 计算机硬件能够直接执行的只有_____ 。 A 机器语言 B 汇编语言 C 机器语言和汇编语言 D 各种高级语言 3 零的原码可以用哪个代码来表示:_____ 。 A 11111111 B 10000000 C 01111111 D 1100000 4 某数在计算机中用8421码表示为0111 1000 1001 ,其真值为_____。 A 789 B 789H C 1929 D 11110001001B 5目前在小型和微型计算机里最普遍采用的字符编码是_____。 A BCD码 B 十六进制代码 C AS CⅠⅠ码 D海明码

6 当-1<x<0时,【x】原=:______。 A 1-x B x C 2+x D (2-2-n) -︱x ︳ 7 执行一条一地址的加法指令需要访问主存______次。 A 1 B 2 C 3 D 4 8 在寄存器间接寻址中,操作数应在______中。 A 寄存器 B 堆栈栈顶 C 累加器 D 主存单元 9 在串行进位的并行加法器中,影响加法器运算速度的关键因素是:______。 A 门电路的级延迟 B 元器件速度C进位传递延迟 D 各位加法器速度的不同 10 运算器虽由许多部件组成,但核心部件是______。 A 算术逻辑运算单元 B 多路开关 C 数据总线D累加寄存器 11在浮点数编码表示中______在机器中不出现,是隐含的。 A. 阶码 B.符号 C 尾数 D 基数

CPU设计实验报告

实验中央处理器的设计与实现 一、实验目的 1、理解中央处理器的原理图设计方法。 2、能够设计实现典型MIPS的11条指令。 二、实验要求 1、使用Logisim完成数据通路、控制器的设计与实现。 2、完成整个处理器的集成与验证。 3、撰写实验报告,并提交电路源文件。 三、实验环境 VMware Workstations Pro + Windows XP + Logisim-win-2.7.1 四、操作方法与实验步骤 1、数据通路的设计与实现 数据通路主要由NPC、指令存储器、32位寄存器文件、立即数扩展部件、ALU、数据存储器构成。其中指令存储器和数据存储器可直接调用软件库中的ROM和RAM元件直接完成,其余部件的设计如图所示: 图1.1 NPC

图1.2 32位寄存器

图1.3 立即数扩展部件 图1.4 ALU 2、控制器的设计与实现 控制器的主要设计思想如图所示 图2.1 控制器设计思想 输入 1 1 0

输出R-type ORI LW SW BEQ JUMP RegDst 1 0 0 x x x ALUSrc 0 1 1 1 0 x MemtoReg0 0 1 x x x RegWrite 1 1 1 0 0 0 MemWrite0 0 0 1 0 0 Branch 0 0 0 0 1 0 Jump 0 0 0 0 0 1 Extop x 0 1 1 1 x ALUop2 1 0 0 0 0 x ALUop1 x 1 0 0 x x ALUop0 x 0 0 0 1 x ALUop[2:0] Funct[3:0] 指令ALUctr[2:0] 111 0000 add 010 111 0010 sub 110 111 0100 and 000 111 0101 or 001 111 1010 slt 111 010 xxxx ori 001 000 xxxx Lw/sw 010 011 xxxx beq 110 表2.1 控制器设计真值表

流量计性能测定实验报告doc

流量计性能测定实验报告 篇一:孔板流量计性能测定实验数据记录及处理篇二:实验3 流量计性能测定实验 实验3 流量计性能测定实验 一、实验目的 ⒈了解几种常用流量计的构造、工作原理和主要特点。 ⒉掌握流量计的标定方法(例如标准流量计法)。 ⒊了解节流式流量计流量系数C随雷诺数Re的变化规律,流量系数C的确定方法。 ⒋学习合理选择坐标系的方法。 二、实验内容 ⒈通过实验室实物和图像,了解孔板、1/4园喷嘴、文丘里及涡轮流量计的构造及工作原理。 ⒉测定节流式流量计(孔板或1/4园喷嘴或文丘里)的流量标定曲线。 ⒊测定节流式流量计的雷诺数Re和流量系数C的关系。 三、实验原理 流体通过节流式流量计时在流量计上、下游两取压口之间产生压强差,它与流量的关系为: 式中: 被测流体(水)的体积流量,m3/s; 流量系数,无因次;

流量计节流孔截面积,m2; 流量计上、下游两取压口之间的压强差,Pa ; 被测流体(水)的密度,kg/m3 。 用涡轮流量计和转子流量计作为标准流量计来测量流量VS。每一 个流量在压差计上都有一对应的读数,将压差计读数△P和流量Vs绘制成一条曲线,即流量标定曲线。同时用上式整理数据可进一步得到C—Re关系曲线。 四、实验装置 该实验与流体阻力测定实验、离心泵性能测定实验共用图1所示的实验装置流程图。 ⒈本实验共有六套装置,流程为:A→B(C→D)→E→F→G→I 。 ⒉以精度0.5级的涡轮流量计作为标准流量计,测取被测流量计流量(小于2m3/h流量时,用转子流量计测取)。 ⒊压差测量:用第一路差压变送器直接读取。 图1 流动过程综合实验流程图 ⑴—离心泵;⑵—大流量调节阀;⑶—小流量调节阀; ⑷—被标定流量计;⑸—转子流量计;⑹—倒U管;⑺⑻⑽—数显仪表;⑼—涡轮流量计;⑾—真空表;⑿—流量计平衡阀;⒁—光滑管平衡阀;⒃—粗糙管平衡阀;⒀—回流阀;⒂—压力表;⒄—水箱;⒅—排水阀;⒆—闸阀;⒇—

软件测试实验报告LoadRunner的使用

南昌大学软件学院 实验报告 实验名称 LoadRunner的使用 实验地点 实验日期 指导教师 学生班级 学生姓名 学生学号 提交日期 LoadRunner简介: LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。LoadRunner是目前应用最为广泛的性能测试工具之一。 一、实验目的

1. 熟练LoadRunner的工具组成和工具原理。 2. 熟练使用LoadRunner进行Web系统测试和压力负载测试。 3. 掌握LoadRunner测试流程。 二、实验设备 PC机:清华同方电脑 操作系统:windows 7 实用工具:WPS Office,LoadRunner8.0工具,IE9 三、实验内容 (1)、熟悉LoadRunner的工具组成和工具原理 1.LoadRunner工具组成 虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本; 压力产生器:通过运行虚拟用户产生实际的负载; 用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户;压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;监视系统:监控主要的性能计数器; 压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。 2.LoadRunner工具原理 代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner 就是通过代理方式截获客户端和服务器之间交互的数据流。 ①虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

计算机组成原理实验proteus的应用

南京理工大学紫金学院 计算机组成原理 实验报告

实验报告一:加法器实验操作 一、实验目的: 1.掌握 proteus 软件常用命令的使用方法 2.掌握加法器的基本使 用二、实验内容: 1. proteus 软件命令使用 2.串联加法器的连接 3.并联加法器的连接 三、实验步骤: (一 )proteus 软件界面的基本使用 ①通过 File 界面创建新文件或打开已有文件 ②所用的原件模型必须在蓝方框内放置

③Proteus 工具栏功能如上图 ④Proteus 中共有 36 种大的类别元件库,及超过 8000 种以上的具体元 件库文件添加 Proteus 中的元件并不是很全,有时需要添加第三方库文件才可进行仿真,可以通过 以下俩种方式进行添加 1、将第三方库文件拷贝至Proteus 程序目录下的LIBRARY 目录下,相应的元件模型文件也要

拷贝到 MODELS 目录下 2、将第三方库文件统一放至一个文件夹中,同时元件模型文件也要统一放至一个文件夹中,打 开Proteus 菜单 SYSTEM 下的 SET PATH?在弹出的 Path Configuration 对话框的 Library folders 中添加库文件目录,在 Simulation and folders 中添加元件模型文件目录 ⑤点击左侧工具栏按钮进入元件模式,再次点按钮,即可调出元件库 库元件分类说明: Analog Ics 模拟电路集成库 Capacitors 电容库 CMOS 4000 series CMOS 4000 库 Connectors 插座,插针,等电路接口连接库 Data Converters ADC,DAC 数 /模、模 /数库 Debugging Tools 调试工具 Diodes 二极管库 ECL 10000 Series ECL 10000 库 Electromechanica l 电机库 Inductors 电感 库 Laplace Primitives 拉普拉斯变换库 Memory ICs 存储元件库 Microprocessor ICs CPU 库 Miscellaneous 元件混合类型库 Modeling Primitives 简单模式库 Operational Amplifiers 运放库 Optoelectroni cs 光电元件库 PLDs & FPGAs 可编程逻辑器件 Resistors 电阻 库

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

华中科技大学HUST类MIPS单周期微处理器设计实验报告

类MIPS单周期微处理器设计 实验报告 专业: 班级: 学号: 姓名:

一、微处理器各模块设计 各模块的框图结构如上图所示。由图可知,该处理器包含指令存储器、数据存储器、寄存器组、ALU单元、符号数扩张、控制器、ALU控制译码以及多路复用器等。图中还忽略了一个单元:时钟信号产生器,而且以上各个部件必须在时钟信号的控制下协调工作。 1.指令存储器的设计 指令寄存器为ROM类型的存储器,为单一输出指令的存储器。因此其对外的接口为clk、存储器地址输入信号(指令指针)以及数据输出信号(指令)。 (1)在IP wizard 中配置ROM,分配128个字的存储空间,字长为32位宽。 (2)选择输入具有地址寄存功能,只有当时钟上升沿有效时,才进行数据的输出。 (3)配置ROM内存空间的初始化COE文件。最后单击Generate按钮生成IROM模块。

2.数据存储器的设计 数据存储器为RAM类型的存储器,并且需要独立的读写控制信号。因此其对外的接口输入信号为clk、we、datain、addr;输出信号为dataout。 数据存储器基本建立过程同ROM的建立。 3.寄存器组设计 寄存器组是指令操作的主要对象,MIPS中一共有32个32位寄存器。在指令的操作过程中需要区分Rs、Rt、Rd的地址和数据,并且Rd的数据只有在寄存器写信号有效时才能写入,因此该模块的输入为clk、RegWriteAddr、RegWriteData、RegWriteEn、RsAddr、RtAddr、reset;输出信号为RsData、RtData。 由于$0一直输出0,因此当RsAddr、RtAddr为0时,RsData以及RtData 必须输出0,否则输出相应地址寄存器的值。另外,当RegWriteEn有效时,数据应该写入RegWriteAddr寄存器。并且每次复位时所有寄存器都清零。 代码如下: module regFile( input clk, input reset, input [31:0] regWriteData, input [4:0] regWriteAddr, input regWriteEn, output [31:0] RsData, output [31:0] RtData, input [4:0] RsAddr, input [4:0] RtAddr

计算机组成原理第四章

1.证明在全加器里,进位传递函数。 解:并行加法器中的每一个全加器都有一个从低位送来的进位和一个传送给较高位的进位。进位表达式为欲证明,也就是要证明 用卡诺图法,图4-10(a)和4-10(b)分别是两个逻辑表达式的卡诺图。两个卡诺图相同,两个逻辑表达式就相等,则进位传递函数的两种形式相等。 2.某加法器采用组内并行、组间并行的进位链,4位一组,写出进位信号C6的逻辑表达式。 3.设计一个9位先行进位加法器,每3位为一组,采用两级先行进位线路。 4.已知X 和Y ,试用它们的变形补码计算出X + Y ,并指出结果是否溢出。 (1) X =0.11011,Y =0.11111 (2) X =0.11011,Y =-0.10101 (3) X =-0.10110,Y =-0.00001(4) X =-0.11011,Y =0.11110

5.已知X 和Y ,试用它们的变形补码计算出X - Y ,并指出结果是否溢出。 (1) X =0.11011,Y =-0.11111 (2) X =0.10111,Y =0.11011 (3) X =0.11011,Y =-0.10011 (4) X =-0.10110,Y =-0.00001 7.设下列数据长8位,包括1位符号位,采用补码表示,分别写出每个数据右移或左移2位之后的结果。 (1)0.1100100 (2)1.0011001 (3)1.1100110 (4)1.0000111 8.分别用原码乘法和补码乘法计算X × Y 。 (1) X =0.11011,Y =-0.11111 (2) X =-0.11010,Y =-0.01110 (2) X × Y =0.0101101100,过程略。 9.根据补码两位乘法规则推导出补码3位乘法的规则。

相关文档
最新文档