计算机组成原理课设报告(具体在资源里)

课程设计报告

课程名称:

   计算机组成与结构课程设计                          

   业:

      计算机科学与技术                            

   级:    

                              

      长:  

                                          

      员:   

                                  

   师:

                                          

评    分:

                               

                          

                    2023   12   28  

目录

基本模型计算机设计与实现

1 实验目的

2 基本模型计算机的总体设计

2.1 基本模型计算机的原理

2.2 基本模型计算机的方案设计

2.3 成员分工

3 整体的实验原理图

4 各模块的设计分析和设计思路

4.1 数据寄存器

4.2 地址寄存器

4.3 指令寄存器

4.4 微程序控制器

4.5 算术逻辑单元(ALU)

4.6 程序计数器

4.7 RAM和ROM

5 各模块设计与实现

5.1 时钟发生器

5.2 数据寄存器(DR)

5.3 地址寄存器(AR)

5.4 指令寄存器(IR)

5.5 微指令处理

5.6 算术逻辑单元(ALU)

6 波形仿真与分析

6.1 时钟发生器的仿真

6.2 计数器仿真

6.3 寄存器仿真

6.4 微指令仿真

6.5 整体仿真

7 下载编程和试验台联机测试

7.1 测试步骤

7.2 测试结果

8 实验总结与心得

参考文献

本模型计算机设计与实现

  1. 实验目的 

(1)深入理解基本模型计算机的功能和组成知识。

(2)深入学习计算机各类典型指令的执行流程。

(3)学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法。

(4)掌握微程序的设计方法,学会编写二进制微指令代码表。

(5)在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。

  1. 基本模型计算机的总体设计
    1. 基本模型计算机的原理

本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。实验中,计算机数据通路的控制将由微过程控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

    1. 基本模型计算机的方案设计
  1. 指令系统。本实验采用五条机器指令。指令编码如下表2.1所示:

助记符

操作码

addr地址码

功能描述

IN

00H

INPUT”→R0,键盘输入数据

ADD addr

10H

XXH

R0+[addr] →R0

STA addr

20H

XXH

R0[addr]

OUT addr

30H

XXH

BUS“OUTPUT”,显示输出数据

JMP addr

40H

XXH

addrPC

表2.1   指令编码

指令分单字节和双字节,单字节指令只有IN一条,其余都是双字节指令。指令各式如表2.2和表2.3所示。

7  6  5  4

3  2

1  0

操作码

源寄存器

目的寄存器

表2.2   单字节指令格式

7  6  5  4  3  2  1  0

7  6  5  4  3  2  1  0

操作码

操作数(内存地址码)

表2.3    双字节指令格式

源和目的寄存器可以是三个工作寄存器之一,寄存器标号R0为00,R1为01,R2为10。

为了在试验台上用键盘输入程序和数据到内存,以及通过液晶屏显示输出,设计了3个控制台操作命令,通过按键SWB 和SWA组合实现(括号中是SWB,SWA的键值): 存储器读KRD(00)操作,存储器KWE(01)操作,启动程序执行RP(11)操作。

(2)模型计算机硬件

模型机硬件有以下部分组成:

运算器:采用8位运算器ALU181,实现算术逻辑运算。该电路的两个操作数输入端设置两个寄存器DR0和DR1。

程序计数器PC:用来指示执行指令的地址,以便从内存取得指令。

地址寄存器AR:存放并输出访问内存单元的地址。

指令寄存器IR:锁存取得的指令,供控制电路解码分析执行。

此外,还提供了3个工作寄存器R0,R1和R2。

存放可编程程序和数据的存储器RAM也在芯片上实现。

各个功能模块通过总线连接。

控制器采用微程序设计。整个模型机各功能部件的工作及通路连接的微操作代码如表2.4和表2.5所示。采用字宽24位的ROM存放微程序,3个3-8译码器组成24位输出译码电路。

24

23

22

21

20

19

18

17

16

15 14 13

12 11 10

9 8 7

6

5

4

3

2

1

S3

S2

S1

S0

M

Cn

WE

A9

A8

A字段

B字段

C字段

uA5

uA4

uA3

uA2

uA1

uA0

操作控制信号

译码器

下址字段

表2.4  24位微代码定义

A字段

B字段

C字段

15

14

13

选择

12

11

10

选择

9

8

7

选择

0

0

0

0

0

0

0

0

0

0

0

1

LDRi

0

0

1

RS_B

0

0

1

P(1)

0

1

0

LDR1

0

1

0

RD_B

0

1

0

P(2)

0

1

1

LDR2

0

1

1

RJ_B

0

1

1

P(3)

1

0

0

LDIR

1

0

0

SFT_B

1

0

0

P(4)

1

0

1

LOAD

1

0

1

ALU_B

1

0

1

LDAR

1

1

0

LDAR

1

1

0

PC_B

1

1

0

LDPC

表2.5 微指令译码字段说明

24位微代码信号的功能解释如下:

S3-S1,ALU的操作选择信号,控制执行16种算术逻辑操作之一种;

M,ALU操作方式选择,等于O为算术操作,等于1时执行逻辑操作;

CN,进位标志,等于0时,最低位有进位输入,等于1表示无进位;

WE,控制RAM的读写信号,0值为读,1值为写;

A9,A8,经译码产生键盘SW_B,存储器RAM,输出显示LED通路选择信号;

A字段,经译码产生各部件从总线输入选通信号,参考表2.5;

B字段,经译码产生各部件到总线输出选通信号,参考表2.5;

C字段,经译码产生测试转移P1~P4,装入程序计数器LDPC,参考表2.5;

μA5~μA0,微程序地址信号;

8位模型计算机的数据通路框图如图2.1所示。

根据每条机器指令执行的微操作顺序,微程序流程如图2.2所示。

控制台键盘译码微程序流程如图2.3所示。

综上所述,实现模型机指令的解释与执行的微程序代码如表2.6所示。

图2.1   模型机数据通路框图

图2.2  运行指令微程序流程图

图2.3  控制台键盘解释微程序流程图

表2.6    微代码

微地址

微指令

S3 S2 S1 S0 M  CN WE A9 A8   

A

B

C

μA5~μA0

00

018110

0  0  0  0  0  0  0  1  1

000

000

100

010000

01

01ED82

0  0  0  0  0  0  0  1  1

110

110

110

000010

02

00C048

0  0  0  0  0  0  0  0  1

100

000

001

001000

03

00E004

0  0  0  0  0  0  0  0  1

110

000

000

000100

04

00B005

0  0  0  0  0  0  0  0  1

011

000

000

000101

05

01A206

0  0  0  0  0  0  0  1  1

010

001

000

000110

06

919A01

1  0  0  1  0  0  0  1  1

001

101

000

000001

07

00E00D

0  0  0  0  0  0  0  0  1

110

000

000

001101

10

001001

0  0  0  0  0  0  0  0  0

001

000

000

000001

11

01ED83

0  0  0  0  0  0  0  1  1

110

110

110

000011

12

01ED87

0  0  0  0  0  0  0  1  1

110

110

110

000111

13

01ED8E

0  0  0  0  0  0  0  1  1

110

110

110

001110

14

01ED96

0  0  0  0  0  0  0  1  1

110

110

110

010110

15

038201

0  0  0  0  0  0  0  1  1

000

001

000

000001

16

00E00F

0  0  0  0  0  0  0  0  1

110

000

000

001111

17

00A015

0  0  0  0  0  0  0  0  1

010

000

000

010101

20

01ED92

0  0  0  0  0  0  0  1  1

110

110

110

010010

21

01ED94

0  0  0  0  0  0  0  1  1

110

110

110

010100

22

01A010

0  0  0  0  0  0  0  1  1

010

000

000

010000

23

018001

0  0  0  0  0  0  0  1  1

000

000

000

000001

24

062011

0  0  0  0  0  1  1  0  0

010

000

000

010001

25

010A01

0  0  0  0  0  0  0  1  0

000

101

000

000001

26

00D181

0  0  0  0  0  0  0  0  1

101

000

110

000001

    1. 成员分工



 

  1. 整体的实验原理图 

模型机的电路原理图如图3.1所示,即此8位CPU的电路图。左上部分是3个工作寄存器,中上部分是运算器和输入及寄存器,中间部分是RAM和地址寄存器AR,下面是指令寄存器和微程序控制器,右部分是微操作译码器。

图3.1 实验电路原理图

  1. 各模块的设计分析和设计思路
    1. 数据寄存器

数据寄存器是一种用于存储和处理数据的硬件电路,它在数字电子系统中扮演着重要的角色。设计分析和设计思路涉及到寄存器的功能、输入输出、位宽、控制信号、存储元件等方面。

用来暂时存放由主存储器读出的一条指令或数据。当 IDR = 1 且时钟信号 CLK 上升沿到来时,将被选中的存储单元中的数据存入 DR。当 EDR = 1 时 DR 输出成高阻态;当 EDR = 0 时,DR 将所存储数据送到数据总线。

图 4.1 数据寄存器 DR 流程图

    1. 地址寄存器

地址寄存器是一种用于存储地址值的寄存器。在计算机系统中,地址寄存器用于存储CPU或其他硬件设备需要访问的内存或IO设备的地址。

地址寄存器通常具有固定的位宽,位宽决定了地址寄存器能够存储的地址范围。例如,一个n位宽的地址寄存器可以存储2^n个不同的地址。

在计算机系统中,CPU使用地址寄存器来读取或写入内存中的数据。当CPU需要读取或写入内存或IO设备时,它会将需要访问的地址存储在地址寄存器中,然后通过总线系统将地址传递给内存或IO设备。

地址寄存器也可以用于其他用途,例如存储程序计数器(Program Counter,PC)的地址,用于存储指令的执行位置。此外,在一些特定的硬件设计中,地址寄存器也可以被用来存储其他重要的控制信号或参数。

总而言之,地址寄存器用于存储计算机系统中需要访问的内存或IO设备的地址。它在计算机系统中具有重要的功能,用于实现数据的读取和写入,以及控制信号的传递。

用来保存当前 CPU 所访问的主存储器单元的地址,由于主存储器与 CPU 之间存在操作速度上的差别,所以必须使用地址寄存器来保存地址信息,直到主 存储器的读/写操作完成为止。当 IMAR = 0 且时钟信号 CLK 上升沿到来时,将地址存入,并直接输出到存储器的地址线上.

图 4.2 地址寄存器流程图

    1. 指令寄存器

指令寄存器(Instruction Register)是一种用于存储当前执行的机器指令的寄存器。在计算机系统中,指令寄存器被用于存储从内存中获取的指令,供CPU解码和执行。

指令寄存器通常是一个定长的寄存器,其位宽与机器指令的长度相匹配。当CPU从内存中读取指令时,指令寄存器接收并暂时存储这个指令。然后,CPU可以根据指令的具体内容对其进行解码,并执行相应的操作。

指令寄存器在CPU的指令执行过程中起着关键的作用。它存储了当前正在执行的指令,使得CPU能够按照指令的要求进行相应的操作。指令寄存器还可以与其他寄存器、功能单元和控制逻辑电路等组件相配合,共同完成程序的执行。

总而言之,指令寄存器是用于存储当前执行的机器指令的寄存器。它在计算机系统中被用于存储、解码和执行指令,是CPU中重要的组成部分之一。

指令寄存器 IR 用来保存当前正在执行的一条指令,如果是操作码就送到指令译码器进行译码。当执行一条指令时,先把它从主存储器中取到数据寄存器中,然后在传送到指令寄存器。如果 IR 中储存的是操作码 00111110(LD),11000110(ADD),00110011(SUB),01110001(A_AND),10110110(A_SRL),01110110(HALT),译码器就将操作码译成相应的操作指令 LD, ADD, SUB, A_AND, A_SRL, HALT。

图 4.3  IR 流程图

    1. 微程序控制器

微程序控制器(Microprogram Control Unit)是计算机系统中的一种控制单元,用于管理和执行微指令(Microinstructions)。微程序控制器是由微指令存储器和控制逻辑组成的。

微程序控制器的主要功能是将高级指令(例如机器指令)转化为一系列微指令,然后依次执行这些微指令以完成具体的操作。微指令是一种较低级的指令,它包含了对计算机硬件的控制信号和操作码,用于控制执行的各个步骤。

在微程序控制器中,微指令存储器存储了一系列微指令的集合,每个微指令对应着一个机器指令的执行步骤或者子操作。这些微指令按照程序的需求被依次调用和执行。微程序控制器通过访问微指令存储器,将存储的微指令发送到执行单元,以控制计算机的各个硬件模块的操作。

微程序控制器的好处是可以实现更灵活的指令操作和控制。通过修改微程序存储器中的微指令,可以改变指令的执行顺序、添加新的操作或者修改操作的执行方式,从而提高计算机系统的灵活性和可扩展性。

综上所述,微程序控制器是一种用于管理和执行微指令的控制单元。它通过微指令存储器和控制逻辑来控制计算机硬件的操作,从而实现高级指令的执行和控制。

    1. 算术逻辑单元(ALU)

算术逻辑单元(Arithmetic Logic Unit,简称ALU)是计算机系统中的一个关键组件,用于执行算术和逻辑运算。ALU通常是中央处理器(CPU)的一部分,负责执行各种计算和逻辑操作。

算术操作包括加法、减法、乘法、除法等数值运算,而逻辑操作主要包括与、或、非、异或等逻辑运算。

ALU内部通常由各种逻辑门实现,如与门、或门、非门等。它包含多个数据输入和输出端口,以及控制信号输入端口,用于接收指令和操作数,并生成运算结果。

在执行算术运算时,ALU将输入的两个数值进行相应的运算,然后将结果输出到输出端口。在执行逻辑运算时,ALU将输入的逻辑值进行逻辑运算,并输出相应的结果。

除了执行算术和逻辑运算,ALU还可以执行一些其他的操作,如移位操作(移动数据的位位置)和比较操作(比较两个数值的大小关系)等。

总之,算术逻辑单元(ALU)是计算机系统中负责执行算术和逻辑运算的关键组件。它接收输入数据和控制信号,并生成相应的运算结果输出。ALU是计算机中实现基本计算功能的重要部件。

ALU 功能部件,有五个控制信号,分别是清零端 rst 、加法运算控制信号alu_add、减法运算控制信号add_sub、逻辑与运算控制信号add_add和左移运算控制信号add_srl 。当各控制信号为‘0’时,分别执行清零、加法、减法、逻辑与和左移操作,并将结果读入到内部数据总线上。

图 4.5  ALU流程图

    1. 程序计数器

程序计数器(Program Counter,简称PC)是计算机中的一个寄存器,用于存储当前正在执行的指令的地址或位置。它是中央处理器(CPU)的一部分,用于指示下一条要执行的指令的存储位置。

程序计数器的主要功能是控制程序的执行顺序。它会不断递增或更新,以指示下一条要执行的指令的存储位置。当一个指令被执行完毕后,程序计数器会将其值加一,以跳转到下一条指令的地址。

程序计数器在计算机的运行过程中起着至关重要的作用,确保指令按照正确的顺序被执行。它与指令寄存器(Instruction Register,简称IR)和存储器之间紧密配合,通过加载指令并将控制权转移到下一条指令的位置,实现程序的顺序执行。

在计算机系统中,程序计数器的位数决定了可寻址的内存空间大小。例如,如果程序计数器是32位,那么它可以寻址的内存空间大小为2^32,即4GB。

总之,程序计数器是计算机中存储当前执行指令地址的寄存器。它在程序的顺序执行过程中起着重要的作用,控制着指令的执行顺序。通过不断更新程序计数器的值,CPU能够按照指定的程序顺序读取和执行指令。

程序计数器的作用是确定下一条指令的地址。由于模型计算机有多条操作指令,所以程序计数器 PC的输出使用 4 位,当 IPC = 0时,计数器保持原状态;IPC = 1 时,计数器处于计数状态,当时钟信号 CLK 上升沿到来时,做加 1 运算。

图 4.6 计数器流程图

    1. RAM和ROM

RAM(Random Access Memory)和ROM(Read-Only Memory)都是计算机中常见的存储器类型,用于存储数据和指令。它们在功能和特性上有所不同。

RAM是一种易失性存储器,也称为主存或临时存储器。它用于临时存储正在运行的程序和数据。RAM允许读取和写入数据,因此它可以在计算机运行时进行动态修改。它的数据存储是临时的,意味着在断电或重新启动计算机之后,RAM中存储的数据将会丢失。RAM容量的大小可能因计算机配置而有所不同,通常以字节(bytes)为单位表示。

ROM是一种非易失性存储器,其中的数据是在制造过程中被固化进去的。它被用来存储固定且不可更改的数据和指令,如固件(Firmware)和操作系统的启动程序。由于ROM中的数据只能被读取而不能被写入,因此它具有只读的特性。ROM的数据存储是永久的,即使断电或重新启动计算机,其中的数据也不会丢失。

图 4.7 存储器 RAM流程图

  1. 各模块设计与实现
    1. 时钟发生器

时钟发生器是一种硬件模块,相应的作用因为生成稳定的时钟信号,而经常被用作系统的基准时钟,相应的设计思路如下:首先应该更具系统需求确定时钟频率,在选择相应的时钟源,比如晶体震荡器或时钟信号源,根据所选的时钟源和频率,设计时钟发生器电路。

    1. 数据寄存器(DR)

数据寄存器是一种用于存储和操作数据的关键组件,在设计相应的数据寄存器之前我们要先确定相应的寄存器的位宽,选择合适的存储元件,如D触发器、SR触发器或更复杂的存储单元,如RAM或Flip-Flop等,在确定了所选择的存储单元之后,设计寄存器电路。通常情况下,寄存器由一系列的存储单元组成,每个存储单元负责存储一个位。

    1. 地址寄存器(AR)

地址寄存器是一种用于存储和操作地址数据的关键组件,首先,根据需求进行首确定寄存器需要存储的地址位数,再根据位宽和性能需求,选择合适的存储元件,如D触发器、SR触发器或更复杂的存储单元,如RAM或Flip-Flop等。通常情况下,地址寄存器使用较简单的存储单元,如D触发器。再设计相应的逻辑电路,使用适当的电子元件(如逻辑门、存储单元等)来实现寄存器电路。 

    1. 指令寄存器(IR)

指令寄存器是计算机中用于存储当前正在执行的指令的组件,取决于具体的指令集和指令格式,进而确定寄存器需要存储的指令位数,根据位宽和性能需求,选择合适的存储元件,如RAM、ROM或Flip-Flop等。通常情况下,指令寄存器使用存储单元来存储和读取指令。

    1. 微指令处理

微指令处理是计算机中用于控制指令执行的重要组件,根据包括操作码、操作数、控制信号等来确定微指令的格式,根据微指令的格式,设计微指令编码器来将指令转换为对应的微指令编码。编码器通常使用逻辑门、多路选择器等元件来实现,并根据不同的指令生成相应的控制信号。设计相应的微指令集,使用ROM(只读存储器)或RAM(随机存储器)来实现。微指令存储器的地址由微指令编码器生成。根据微指令的操作码和操作数,设计并实现微指令执行逻辑。

    1. 算术逻辑单元(ALU)

算术逻辑单元(ALU)是计算机中用于执行算术和逻辑操作的核心组件。首先要确定ALU需要支持的功能,包括算术运算(如加法、减法、乘法等)、逻辑运算(如与、或、非等)以及比较运算(如等于、大于、小于等)。再根据ALU的功能需求,设计ALU的输入输出接口,确定输入数据的位宽和输出结果的位宽。根据ALU的功能,设计ALU的电路逻辑。对于算术运算,可以使用加法器、乘法器等组合逻辑电路来实现。对于逻辑运算和比较运算,可以使用逻辑门、比较器等元件来实现。根据设计,使用适当的电子元件(如逻辑门、加法器、乘法器等)来实现ALU的电路逻辑。






 

  1. 波形仿真与分析

整体的时序波形仿真图如图6.1所示:

图6.1时序波形仿真图

    1. 时钟发生器的仿真

时钟发生器是CPU中的关键组件,它产生一个周期性信号,这个信号被用来同步所有的CPU操作。仿真时钟发生器可以帮助我们理解和验证这个关键组件的功能和性能。通过仿真,产生了一个稳定的时钟信号,可以观察到所有的操作(包括读取和写入操作)都在相应的时钟边沿上完成,观察到一个清晰的、周期性的波形。  

    1. 计数器仿真

计数器在CPU中用于执行各种任务,如程序计数,内存寻址等。计数器仿真可以帮助我们理解和验证计数器的正确性和可靠性。通过仿真,我们可以发现,在这个计算机模型中,程序计数器(PC)和地址寄存器(AR)的功能类似于计数器。在仿真时,可以发现PC和AR能正确地指示执行指令的地址,能正确地存放和输出访问内存单元的地址。在波形上,每当发生读取或写入操作时,PC和AR的值进行更新。

    1. 寄存器仿真

寄存器是CPU的基本存储单元。它们用于存储和传输数据,以支持CPU的各种操作。寄存器仿真可以帮助我们理解和验证寄存器的功能和性能。通过仿真,我们可以观察到该计算机模型中多个寄存器,包括工作寄存器(R0, R1, R2)、指令寄存器(IR)以及数据寄存器(DR0和DR1)等等寄存器在仿真时,能正确地存储数据,并在需要时能正确地读取和写入数据。在波形上,可以看到寄存器的值在每个时钟周期内发生变化。

    1. 微指令仿真

微指令是CPU执行的基本命令。每个微指令执行一个简单的操作,如读取寄存器,写入寄存器,执行算术或逻辑操作等。微指令仿真可以帮助我们理解和验证微指令的正确性和性能。该计算机模型的每条机器指令都由一系列的微指令完成。在仿真时,可以观察到微指令的执行顺序和功能与微程序的设计相符。在波形上,可以看到在执行一条机器指令时,每个微指令的执行都对应于一定的时钟周期。   

    1. 整体仿真

通过整体仿真,我们可以发现在波形上,可以看到时钟信号、计数器、寄存器和微指令的动作是同步的,并且模型计算机的行为与设计的微程序相符。   

  1. 下载编程和试验台联机测试
    1. 测试步骤

STEP

下址μA

微指令MC

PC

IR

说  明

1

00

018110

00

OO

复位之后,第1条微指令是判断控制台命令SMB,SWA

2

23

018101

SMB,SWA=11,转RP 自动执行程序

3

01

008001

4

02

01ED82

01

第1个指令周期开始

5

10

00C048

00

取RAM中的第1条试验程序指令,指令是IN

6

01

001001

02

接收键盘输入数据,放到工作寄存器R0

7

02

01ED82

第2个指令周期开始

8

09

00C048

10

取RAM中的第2条试验程序指令,指令是ADD

9

03

01ED83

03

间接寻址,取地址

10

04

00E004

地址置入AR

11

05

00B005

从RAM中取数据到DR2

12

06

01A206

R0数据送DR1

13

01

919A01

(DR1) +(DR2)送R0

14

02

01ED82

04

第3个指令周期开始

15

12

00C048

20

取RAM中的第3条试验程序指令,指令是STA

16

07

01ED87

05

间接寻址取,取地址

17

15

00E00D

地址置入AR

18

01

038201

R0 内容送RAM

19

02

01ED82

06

第4个指令周期开始

20

13

00C048

30

取RAM中的第4条试验程序指令,指令是OUT

    1. 测试结果

输入数据DR1=11,DR2=20,输出结果out=31

  1. 实验总结与心得

通过本次课程设计,我们对基本模型计算机的设计与实现有了更加深入的了解,深入的学习了计算机各类典型指令的执行流程以及微程序控制器和LPM_RAM和LPM_ROM的配置方法。

在基本模型计算机的总体设计方面,采用了经典的冯·诺伊曼体系结构。通过将数据寄存器、地址寄存器、指令寄存器、微程序控制器、算术逻辑单元(ALU)、程序计数器、RAM和ROM等模块进行合理的组织和连接,构建了一个完整的计算机系统。

在各模块的设计与实现方面,使用Quartus II进行基本的电路设计,将各个模块分别进行设计后通过输入、输出总线进行连接,并与芯片进行相关引脚的绑定。通过各个模块的设计与实现,掌握并熟悉了使用Quartus II进行电路图绘制与各模块相连的方法。

在波形仿真与分析方面,通过对各个模块的时序和数值进行设计并进行仿真,验证了设计的正确性和可行性。通过观察和分析波形,可以验证并发现设计上是否有差错,同时掌握了通过 Quartus II对基本电路的时序仿真操作。

在下载编程和试验台联机测试方面,我们将编写的程序下载到实验台上进行测试,验证了基本计算机模型系统的基本功能。通过这一过程,学会了使用Quartus II将设计的电路与软硬件相结合,并将理论知识应用于实际操作。

通过本次课程设计,我们不仅提高了计算机组成原理的学习效果,还培养了自己的团队合作能力和解决问题的能力。在与同学合作的过程中,我们学会了倾听和理解他人的意见,合理分工和协作,共同完成了一个基本模型计算机的设计与实现。




 

参考文献

[1] 白中英,戴志涛 编著:《计算机组织原理》,科学出版社,2019,第6版。

[2] 王爱英 编著:《计算机组成与结构(第四版)》,清华大学出版社,2007,第4版。

[3] 潘松,潘明 编著,《现代计算机组成原理》,科学出版社,2007,第1版。

[4] 李学干,苏东庄 编著,《计算机系统结构(第三版)》,西安电子科技大学出版社,2005,第3版。

[5] 杭州康芯电子有限公司,《EDA/SOPC技术实验讲义》,现代计算机组成原理实验系统使用说明书,2019。

[6] 张胜,《计算机组成与结构实验教学指导书》,自编实验教材,2019。

  • 24
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机组成原理 报告 实验项目:1、计一个具有带进位加法和立即数寻址方式的模型机 2、计一个具有带进位加法和条件跳转的模型机 专 业: 计算机科学与技术 班 级: 09级37-3班 学 号: —————— 姓 名: 合 作: 指导教师: 实验时间: 2011-6-15 ~~ 6-17 实验一:计一个具有带进位加法和立即数寻址方式的模型机 1、问题描述 本题目计的是一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机, 并写出工作程序和测试数据验证所计的指令系统。 2、计目标 在计完本程序后,所计模型机能够完成从一个外输入一个数到指定的寄存器中 ,另外输入立即数并将其存入另一个、寄存器中,两数进行进位相加并将结果保存到第 一个寄存器,输出结果,并显示。另外,实现无条件跳转至开始。 3、指令格式 "助记符号 "机器指令码 "功 能 " "IN "0000 0000 "Input -> R0 " "ADC Imm "1110 0000 XXXX "R0+Imm+CY -> R0 " " "XXXX " " "STA addr "0010 0000 XXXX "R0 -> [addr] " " "XXXX " " "OUT addr "0011 0000 XXXX "[addr] -> LED " " "XXXX " " "JMP addr "0100 0000 XXXX "[addr] -> PC " " "XXXX " " 4、计微指令 (1)定义指令码,及定义一个下地址为08H "指令 "指令编码 "微地址 " "IN "0000 0000 "08 " "ADC "0001 0000 "09 " "STA "0010 0000 "10 " "OUT "0011 0000 "11 " "JMP "0100 0000 "12 " (2)计微指令编码表 "微地址 "S3 "S2 " "MOVrs,rd "XXXX Rs Rd "Rs->Rd " "ADCrs,rd "XXXX Rs Rd "Rs+Rd+CY -> R0 " "BZCD "00 00 00 00 "当cy=1或z=1时,D->" " "D "PC " " " "否则,顺序执行。 " "INrd "XXXX 01 Rd "SW->rd " "OUTrd "XXXX 10 Rd "Rd -> LED " "HALT "XXXX 0000 "停机 " 3、计微指令 (1)定义一个下地址为20H "指令 "指令编码 "微地址 " "IN "0011 0000 "23 " "MOV "0010 0000 "22 " "ADC "0001 0000 "21 " "BZCD "0000 0000 "20 " "OUT "0100 0000 "24 " "HALT "0101 0000 "25 " (2)计微指令 微地址 "S3 "S2 "S1 "S0 "M "Cn "WE "A9 "A8 "A "B "C "UA5-UA0 " "00 "0 "0 "0 "0 "0 "0 "0 "1 "1 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "1 " "01 "0 "0 "0 "0 "0 "0 "0 "1 "1 "1 "1 "0 "1 "1 "0 "1 "1 "0 "0 "0 "0 "0 "1 "0 " "02 "0 "0 "0 "0 "0 "0 "0 "0 "1 "1 "0 "0 "0 "0 "0 "0 "0 "1 "1 "0 "0 "0 "0 "0 " "20 "0 "0 "0 "0 "0 "0 "0 "1 "1 "0 "0 "0 "0 "0 "0 "0 "1 "1 "0 "0 "0 "0 "0 "1 " "11 "0 "0 "0 "0 "0 "0 "0 "1 "1 "1 "1 "0 "1 "1 "0 "1 "1 "0 "0 "0 "0 "0 "1 "1 " "03 "0 "0 "0 "0 "0 "0 "0 "0 "1 "1 "0 "1 "0 "0 "0 "1 "1 "0 "0 "0 "0 "0 "0 "1 " "21 "0 "0 "0 "0 "0 "0 "0 "1 "1 "0 "1 "0 "0 "1 "0 "0 "0 "0 "0 "0 "0 "1 "0 "0 " "04 "0 "0 "0 "0 "0 "0 "0 "1 "1 "0 "1 "1 "0 "0 "1 "0 "0 "0 "0 "0 "0 "1 "0 "1 " "05 "1 "0 "0 "1 "0 "0 "0 "1 "1 "0 "0 "1 "1 "0 "1 "0 "0 "0 "0 "0 "0 "0 "0 "1 " "22 "0 "0 "0 "0 "0

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值