当前位置:文档之家› 微处理器系统设计.

微处理器系统设计.

微处理器系统设计.
微处理器系统设计.

功能描述:

设计一个带简单I/O接口电路的多周期RISC处理器设计方案,并在FPGA上进行验证。验证题目为设计流水灯的样式为:

00000000->00000001->00000011->00000111->00001111->0011111->01111111->11111111->00000000,切换间隔为1秒。

RISC处理器简介

中央处理器(CPU,Central Processing Unit)是计算机的核心部件。计算机进行信息处理可分为两个步骤:

(1)将数据和程序(即指令序列)输入到计算机的存储器中;

(2)从第一条指令的地址起开始执行该程序,得到所需结果,结束运行。CPU的作用是协调并控制计算机的各个部件并执行程序的指令序列,使其有条不紊地进行。因此它必须具有以下基本功能:

◆取指令——当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址和控制信号。

◆分析指令——即指令译码,这是对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。

◆执行指令——根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理及下条指令地址的形成。

将CPU的功能进一步细化,可概括如下:

(1)能对指令进行译码并执行规定的动作;

(2)可以进行算术和逻辑运算;

(3)能与存储器和外设交换数据;

(4)提供整个系统所需要的控制。

尽管各种CPU的性能指标和结构细节各不相同,但它们所能完成的基本功能相同。由功能分析可知,任何一种CPU内部结构至少应包含下面这些部件:

(1)算术逻辑运算部件(ALU);

(2)累加器或寄存器;

(3)程序计数器;

(4)指令寄存器和译码器;

(5)时序和控制部件。

从实现的途径看,RISC处理器与一般的CPU的不同之处在于:它的时序控制信号形成部件是用硬布线逻辑实现的而不是采用微程序控制的方式。所谓硬布线逻辑也就是用触发器和逻辑门直接连线所构成的状态机和相应的组合逻辑,故产生控制序列的速度比用微程序控制方式快得多,因为这样做

省去了读取微程序指令的时间。

RISC处理器结构介绍

一、处理器结构

RISC处理器内核结构

从图中可以看出,RISC处理器内核包括以下功能单元:控制器、程序计数器、通用寄存器、算术逻辑单元(ALU)和总线接口单元(BIU)。以下的内容将依次讨论这些模块。

二、处理器内部子模块

1、控制器

控制器用于进行指令译码、产生ALU运算控制信号、产生通用寄存器读写控制信号以及协调处理器工作时序工作。

2、程序计数器

程序计数器用于指向下一条将要执行的指令的地址,它可以自动增值或是通过分支指令来设置其内容。

3、寄存器堆

处理器内部有32个32 位寄存器,ALU运算的源操作数、目的操作数大都来自这个寄存器堆。

4、算术逻辑单元

算术逻辑单元用于进行算术运算、移位操作、比较设置操作以及逻辑运算。对于其他未能实现的运算,例如乘法、浮点运算等,可以使用软件来实现。

5、总线接口单元

总线接口单元用于SimpleRISC处理器与外部存储器和I/O口的连接,为了简单起见,SimpleRISC

系统的存储器和I/O采用统一编址的方式进行组织,并且采用程序存储器和数据存储器分开的哈佛结构。

多周期CPU设计原理

在单周期CPU中,每条指令的运行周期都是相同的。然而,不同的指令,其实际的运行时间各不相同,有的甚至相差很大。单周期处理器时钟周期远远大于许多指令实际所需执行时间,例如,R-型指令和立即数运算指令都不需要读内存;Store指令不需要写寄存器;分支指令不需要访问内存和写寄存器;Jump指令不需要ALU运算,不需要读内存,也不需要读写寄存器。受时钟周期宽度的影响,单周期处理器的效率地下、性能极差,这样就造成了运行时间的浪费,降低了运行的速度。

为了解决这个问题,引入多时钟周期CPU的设计方式。如下图所示,在多时钟周期CPU中,每条CPU指令并不是在一个时钟周期内运行,而是需要占用多个时钟周期,每一个执行步骤占用一个时钟周期。不同的指令,占用的时钟周期的个数也不相同。指令可以根据自身特点来决定使用几个时钟周期。这样,既保证了指令的正确运行,又使得指令根据自身的特点来占用运行时间,避免了运行时间的浪费。

多周期处理器的基本思想为:把每条指令的执行分为多个大致相等的阶段,每个阶段在一个时钟周期内完成;各个阶段最多完成一次访存或一次寄存器读/写或一次ALU操作;各个阶段的执行结果在下个时钟到来时保存到相应的存储单元或稳定的保持在组合电路中;时钟周期的宽度以最复杂的阶段所花的时间为准,通常取一次存储器读或写的时间。第一步自然是分析指令执行的状态。

在多周期处理器中,每条指令分多个阶段执行,每个阶段占一个时钟周期,称为一个状态。指令在被取出、译码之前,每条指令的操作是一样的,指令译码之后不同的指令有不同的执行过程。

子模块设计

控制器模块方案设计

控制器需要根据不同的指令,产生不同的控制信号,以控制数据通路中的部件能同步工作,并且使得数据通路中相应的数据选择器作出正确的选择。

这里的控制器比较复杂,使用一个有限状态机来实现,下图给出了控制器的状态转移图。

控制器状态转移图

从图中可以看出,RISC处理器的控制器具有5个状态。起始状态是取指状态Fetch,Fetch状态使得指令存储器的读控制信号有效,从而取到要执行的指令。取到指令之后,要对其进行译码,所以进入了第二个指令译码状态Decode,Decode根据前一状态取到的指令进行译码操作,产生相应的数据选择器选择信号等控制信号。指令译码之后,进入指令执行状态Execute,这一步大多数指令使用ALU 进行运算,然后根据指令类型选择是进行存储器操作还是直接将运算结果写回寄存器堆。对于存储器访问指令,执行状态之后计算出进行存储器访问的地址,之后进入存储器访问状态Memory进行相应的存储器操作。对于其他不需要进行存储器访问的指令,直接进入寄存器回写状态Write,将计算结果写回寄存器。

接口定义

信号名称方向含义

op IN 操作码

regdst OUT 写寄存器地址

regwr OUT 写寄存器控制信号

alusrc OUT 立即数和寄存器数据读选择信号

extop OUT 立即数扩展信号

memwr OUT 存储器写信号

memtoreg OUT 存储器写寄存器信号

寄存器堆模块设计

模块方案设计

MIPS指令格式中的寄存器号是5bits,指令可以访问25=32个32位的寄存器。这样的一堆寄存器“堆在一起”构成一个寄存器堆。每一个寄存器都是32位,寄存器用来存放指令执行所需的数据。根据指令执行需要,该寄存器堆需要一个写数据端口和两个读数据端口,即同时要求有两个读地址和一个写地址。每次当写信号有效和时钟上升沿来临时,会将要写入的数据写入到寄存器给定的地址中,寄存器读端口会在持续的读出寄存器中相应地址中的数据。

电路结构

寄存器

clk rst_n waddr wdata raddr1raddr2

We(有效时将wada 写入)

rdata1

rdata2

接口定义及时序图

寄存器共有9个端口,具体见下表

序号 接口信号名称

方向 说明

1. clk I 处理器工作时钟,频率为

2. rst_n I 复位信号,低有效

3. raddr1 I 读寄存器堆时的第1个寄存器地址

4. raddr2 I 读寄存器堆时的第2个寄存器地址

5. waddr I 写寄存器堆时的寄存器地址

6. we I 寄存器堆写使能

7. wdata I 待写入寄存器堆的数据

8. rdata1 O 读寄存器堆时第1个寄存器的输出

9.

rdata2

O

读寄存器堆时第2个寄存器的输出

Valid addr1clk we waddr Valid

Valid

wdata Valid rst_n

addr2 rdata1 rdata2

Valid Valid

Valid Valid

ALU 模块方案设计

算术逻辑运算器(ALU )是数字计算机中执行加、减等算术运算,执行与、或等逻辑运算,以及执行比较、移位、传送等操作的功能部件,本模块实现32位的ALU 。本文描述MIPS 单周期处理器的ALU 模块的功能、接口、时序及其实现。

aluclt 运算类型 SUBctr SIGctr OPctr OP 含义 0000 Addu 0 0 00 加法器 0001 Add 0 1 00 加法器 0011 Or 0 1 01 与或器 0010 And 0 0 01 与或器 0100 Subu 1 0 00 加法器 0101 Sub 1 1 00 加法器 0110 Situ 1 0 11 置位器 0111 Sit 1 1 11 置位器 1000 Sll 0 0 10 移位器 1001 Srl 0 1 10 移位器 1100

sra

1

10

移位器

SUBctr = ALUctr[2](作为加减控制信号) ANDctr = ALUctr[0] (作为与或控制信号) OVctr = ~ALUctr[1]&ALUctr[0](溢出控制信号) SIGctr = ALUctr[0] (置位控制信号) Opctr[1] = Aluctr[2]&ALUctr[1]| ALUctr[3] OPctr[0] = ALUctr[1](输出选择信号)

电路结构

异或门阵列

加法器

或门阵列

Aluclt

a l u d a 位扩展01

移位器

a l u d b

alu_shift

alu_zero

alu_overflow

alu_dc

01

00011110

SUBctrz

OPctr

OVctr SIGctr

Sctr

接口定义及时序图

信号名称 方向 含义

alu_da[31:0] IN ALU 第一个输入数据端口,32位宽度 alu_db[31:0]

IN

ALU 第二个输入数据端口,32位宽度

alu_clt[3:0] IN ALU 运算功能编码,12种指令需要4位编码

alu_shift[4:0] IN ALU 移位次数 alu_zero OUT 运算结果全零标志 alu_overflow OUT 有符号运算溢出标志 alu_dc[31:0]

OUT

ALU 运算结果

valid valid valid valid alu_da alu_db alu_dc

alu_clt alu_shift valid

算术逻辑单元控制模块 模块方案设计

算数逻辑单元控制模块用来控制ALU 的运算类型,当进行R 型指令操作时,ALU 的运算类型受控于指令中的func_seg 字段,当进行I 型指令时,ALU 的运算类型受控于指令中的op_seg 字段。因此,要设计算术逻辑单元控制模块,需要根据不同的指令类型对func_seg 和op_seg 字段进行译码操作,从而实现指令对ALU 运算类型的控制。 电路结构

case op

op(1)

op(2)

op(10)

译码

Alu_ctr(2)

Alu_ctr(1)Alu_ctr(10)

case func_seg

func_seg(1)func_seg(2)

func_seg(10)

译码

Alu_ctr(2)

Alu_ctr(1)Alu_ctr(10)

I 型指令

R 型指令

接口定义

信号名称 方向 含义 op IN 操作码

func_seg IN R 型指令操作类型 alu_ctr

OUT

alu 运算类型

程序计数器

输入端口说明:

Clk ,rst_n ,bus2与上面的说明一致。

Inc_pc :有效时,程序计数器自动加一,用于取出下条指令进行相应的动作。 Load_pc :有效时,可以将bus2上的数据加载到程序计数器上 输出端口说明:

Pc_out :用于输出相应的地址以便在存储器中取出指令。

总线接口单元

总线接口单元只是一些三态缓冲器,所以直接在RISC 处理器的顶层设计中实现,而这里就不专门进行设计。

逻辑原理图:

多时钟周期CPU 设计逻辑原理如下图1:

Clk

选择器0

1ALU

busB CONTROL 数

据寄存器堆rw

ra0rb0P C

ADDER

1选择

2

PC[31:28]Target 1offset PC

ADDER

Clk

stagetype

PC0

PC1

Instruction

[31:26] [5:0] [25:21] [20:16]

[15:11]

[15:0]

[25:0]

[10:6]

ALUCTR

rs

rt

rd

imm target

shamt

ALUCTRTAIL busA

4

Addr

Din

Dout

择0

器10Da

Db

1选择器20

1Extender

Extender

Extender

CPU 控制器

ra1

ra2

10

选择器0rw

overflow rw

Lw 型指令处理

存储器

Clk

Reset

ALUCTR

ALUCTRTAIL

CONTROL

EXTOP

EXTOP

Stagetype Zero

stagetype

stagetype

stagetype

(下降沿)Clk stagetype

Ldata

多时钟周期CPU 设计逻辑原理图

第二步,就是进行CPU 控制器的设计了。

由于多周期数据通路每个指令的执行有多个周期,每个周期的控制信号取之不同,所以,不

程序计数器pc

Clk

rst_n inc_pc load_pc Bus2

Pc_out

能用简单的真值表描述的设计方式。多周期控制器通常采用基于有限状态机和微程序描述两种方式实现。

在本设计中,采用有限状态机的描述方式实现。其基本思想为:用一个有限状态机描述指令执行过程,由当前状态和操作码确定下一状态,每来一个时钟发生一次状态改变,不同的状态输出不同的控制信号值。

有限状态机图已在图二中给出,通过第一步中对六类指令的分析,确定使用12个状态对指令的执行过程进行描述和控制。

10:MemF etch 8:MemAd

r

6:RExec4:IExec

3:JumpFi

nish

11:lwFinis

h

9:swFinis

h

7:RFinish5:IFinish

1:Rfetch_

ID

0:IFetch2:BrFinish

lw or sw

R-type I-type

jump

blez

sw

lw

R型指令

取指

令状态

译码/取

数状态

送数据

运算状态

运算结

果写回状态

I型指令取指

令状态译码/取

数状态

送数据

运算状态

运算结

果写回状态

lw型指令

取指

令状态

译码/取

数状态

访存地

址计算状态

存储器

取数状态

结果写回

寄存器状态

sw型指令

取指

令状态

译码/取

数状态

访存地

址计算状态

存储器

写回状态

分支指令

取指

令状态

译码/取

数状态

分支结

束状态

无条件跳转指令

取指

令状态

译码/取

数状态

跳转结

束状态

多时钟周期CPU设计指令状态表

指令编码1、加法

这里实现的是有符号数的加法,不考虑溢出。

(1)寄存器操作数相加

汇编语言表示形式:add rt, rs1, rs2

操作说明:rt = rs1 + rs2

编码:

(2)寄存器操作数与立即数相加

汇编语言表示形式:addi rt, rs, imm16

操作说明:rt = rs + imm16,对imm16进行符号扩展

编码:

2、减法

这里实现的是有符号数的减法,不考虑溢出。

(1)寄存器操作数相减

汇编语言表示形式:sub rt, rs1, rs2

操作说明:rt = rs1 - rs2

编码:

(2)寄存器操作数与立即数相减

汇编语言表示形式:subi rt, rs, imm16

操作说明:rt = rs – imm16,对imm16进行符号扩展

编码:

3、小于则置一

这里实现的是无符号数的比较。

(1)寄存器操作数比较

汇编语言表示形式:slt rt, rs1, rs2

操作说明:rt = (rs1 < rs2)

编码:

(2)寄存器操作数与立即数比较

汇编语言表示形式:slti rt, rs, imm16

操作说明:rt = (rs < imm16),对imm16进行零扩展

编码:

4、左移

汇编语言表示形式:sl rt, rs, imm5

操作说明:rt = rs << imm5

编码:

5、右移

汇编语言表示形式:rl rt, rs, imm5

操作说明:rt = rs >> imm5

编码:

6、逻辑与

这里实现的是无符号数的逻辑与。

(1)寄存器操作数的逻辑与

汇编语言表示形式:andl rt, rs1, rs2

操作说明:rt = rs1 & rs2

编码:

(2)寄存器操作数与立即数的逻辑与

汇编语言表示形式:andli rt, rs, imm16

操作说明:rt = rs & imm16,对imm16进行零扩展

编码:

7、逻辑或

这里实现的是无符号数的逻辑或。

(1)寄存器操作数的逻辑或

汇编语言表示形式:orl rt, rs1, rs2

操作说明:rt = rs1 | rs2

编码:

(2)寄存器操作数与立即数的逻辑或

汇编语言表示形式:orli rt, rs, imm16

操作说明:rt = rs | imm16,对imm16进行零扩展

编码:

8、逻辑非

这里只实现了寄存器操作数的逻辑非。

汇编语言表示形式:notl rt, rs

操作说明:rt = ~rs

编码:

9、从存储器取数据

汇编语言表示形式:load rt, rs, imm16

操作说明:rt = memory[rs + imm16],对imm16进行符号扩展

编码:

10、存储数据到存储器

汇编语言表示形式:store rs1, rs2, imm16

操作说明:memory[rs2 + imm16] = rs1,对imm16进行符号扩展

编码:

11、无条件分支

汇编语言表示形式:branch imm26

操作说明:PC = PC + imm26,对imm26进行符号扩展

编码:

12、相等则分支

汇编语言表示形式:beq rs1, rs2, imm16

操作说明:if(rs1 == rs2) PC = PC + imm16;

else PC = PC + 1;

对imm16进行符号扩展

编码:

微处理器原理及其系统设计 第一章答案

第1章 1.将下列十进制数转换成二进制数: (1)58;(2)67.625; (3)5721; 解:(1)58D = 0011 1010B (2)67.625D = 0100 0011.1010B (3)5721D = 0001 0110 0101 1001B 2.将二进制数变换成十六进制数: (1)1001 0101B;(2)11 0100 1011B;(3)1111 1111 1111 1101B;(4)0100 0000 10101B;(5)0111 1111B;(6)0100 0000 0001B 解:(1)1001 0101B = 95H (2)11 0100 1011B = 34BH (3)1111 1111 1111 1101B = FFFDH (4)0 1000 0001 0101B = 815H (5)0111 1111B = 7FH (6)0100 0000 0001B = 401H 3.将十六进制数变换成二进制数和十进制数: (1)78H;(2)0A6H;(3)1000H;(4)0FFFFH 解:(1)78H = 120D = 0111 1000B (2)0A6H = 166D = 1010 0110B (3)1000H = 4096D = 0001 0000 0000 0000H (4)0FFFFH = 65535D = 1111 1111 1111 1111B 4.将下列十进制数转换成十六进制数: (1)39;(2)299.34375;(3)54.5625 解:(1)39D = 27H (2)299.34375D = 12B.58H (3)54.5625D = 36.9H 5.将下列二进制数转换成十进制数: (1)10110.101B;(2)10010010.001B;(3)11010.1101B 解:(1)10110.101B = 22.625D

微处理器系统结构及嵌入式系统设计(第二版)答案全

一 1.2 以集成电路级别而言,计算机系统的三个主要组成部分是什么? 中央处理器、存储器芯片、总线接口芯片 1.3 阐述摩尔定律。 每18个月,芯片的晶体管密度提高一倍,运算性能提高一倍,而价格下降一半。 1.5 什么是SoC?什么是IP核,它有哪几种实现形式? SoC:系统级芯片、片上系统、系统芯片、系统集成芯片或系统芯片集等,从应用开发角度出发,其主要含义是指单芯片上集成微电子应用产品所需的所有功能系统。 IP核:满足特定的规范和要求,并且能够在设计中反复进行复用的功能模块。它有软核、硬核和固核三种实现形式。 1.8 什么是嵌入式系统?嵌入式系统的主要特点有哪些? 概念:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗的严格要求的专用计算机系统,即“嵌入到应用对象体系中的专用计算机系统”。 特点:1、嵌入式系统通常是面向特定应用的。 2、嵌入式系统式将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物。 3、嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能。 4、嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理

器系统软件和应用软件的要求也和通用计算机有以下不同点。 ①软件要求固体化,大多数嵌入式系统的软件固化在只读存储器中; ②要求高质量、高可靠性的软件代码; ③许多应用中要求系统软件具有实时处理能力。 5、嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式系统产品一旦进入市场,就具有较长的生命周期。 6、嵌入式系统本身不具备自开发能力,设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。 二 2.2 完成下列逻辑运算 (1)101+1.01 = 110.01 (2)1010.001-10.1 = 111.101 (3)-1011.0110 1-1.1001 = -1100.1111 1 (4)10.1101-1.1001 = 1.01 (5)110011/11 = 10001 (6)(-101.01)/(-0.1) = 1010.1 2.3 完成下列逻辑运算 (1)1011 0101∨1111 0000 = 1111 0101 (2)1101 0001∧1010 1011 = 1000 0001 (3)1010 1011⊕0001 1100 = 1011 0111 2.4 选择题 (1)下列无符号数中最小的数是( A )。 A.H (1,1011,0101) (01A5)B.B (3764) C.D (2590)D.O

微处理器系统结构与嵌入式系统设计(第2版) 第3章答案

“微处理器系统原理与嵌入式系统设计”第三章习题解答 3.1处理器有哪些功能?说明实现这些功能各需要哪些部件,并画出处理器的基本结构图。 处理器的基本功能包括数据的存储、数据的运算和控制等功能。其有5个主要功能:①指令控制②操作控制③时间控制④数据加工⑤中断处理。其中,数据加工由ALU 、移位器和寄存器等数据通路部件完成,其他功能由控制器实现。处理器的基本结构图如下: 寄存器组 控制器 整数单元 浮点单元 数据通路 处理器数据传送 到内存数据来自内存数据传送到内存指令来自内存 3.2处理器内部有哪些基本操作?这些基本操作各包含哪些微操作? 处理器基本操作有:取指令、分析指令、执行指令。 取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。 分析指令:对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。 执行指令:根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。 3.3什么是冯·诺伊曼计算机结构的主要技术瓶颈?如何克服? 冯·诺伊曼计算机结构的主要技术瓶颈是数据传输和指令串行执行。可以通过以下方案克服:采用哈佛体系结构、存储器分层结构、高速缓存和虚拟存储器、指令流水线、超标量等方法。

3.5指令系统的设计会影响计算机系统的哪些性能? 指令系统是指一台计算机所能执行的全部指令的集合,其决定了一台计算机硬件主要性能和基本功能。指令系统一般都包括以下几大类指令。:1)数据传送类指令。(2)运算类指令 包括算术运算指令和逻辑运算指令。(3)程序控制类指令 主要用于控制程序的流向。 (4)输入/输出类指令 简称I/O 指令,这类指令用于主机与外设之间交换信息。 因而,其设计会影响到计算机系统如下性能: 数据传送、算术运算和逻辑运算、程序控制、输入/输出。另外,其还会影响到运算速度以及兼容等。 3.9某时钟速率为2.5GHz 的流水式处理器执行一个有150万条指令的程序。流水线有5段,并以每时钟周期1条的速率发射指令。不考虑分支指令和乱序执行带来的性能损失。 a)同样执行这个程序,该处理器比非流水式处理器可能加速多少? b)此流水式处理器是吞吐量是多少(以MIPS 为单位)? a.=51p T nm S T m n =≈+-串流水 速度几乎是非流水线结构的5倍。 b.2500M IPS p n T T =≈流水 3.10一个时钟频率为2.5 GHz 的非流水式处理器,其平均CPI 是4。此处理器的升级版本引入了5级流水。然而,由于如锁存延迟这样的流水线内部延迟,使新版处理器的时钟频率必须降低到2 GHz 。 (1) 对一典型程序,新版所实现的加速比是多少? (2) 新、旧两版处理器的MIPS 各是多少? (1)对于一个有N 条指令的程序来说: 非流水式处理器的总执行时间s N N T 990 106.1)105.2/()4(-?=??= 5级流水处理器的总执行时间s N N T 991 10)4(2)102/()15(-?+=?-+= 加速比=42.310 +=N N T T ,N 很大时加速比≈3.2 (2)非流水式处理器CPI=4,则其执行速度=2500MHz/4=625MIPS 。 5级流水处理器CPI=1,则其执行速度=2000 MHz /1=2000 MIPS 。 3.11随机逻辑体系结构的处理器的特点是什么?详细说明各部件的作用。 随机逻辑的特点是指令集设计与硬件的逻辑设计紧密相关,通过针对特定指令集进行

多周期微处理器设计

微处理器系统设计 课程设计 版本v1.0 专业:集成电路设计与集成系统班级:电路1303班 姓名:周小朋 学号:05136085 2016年6月20 ~ 2016年7月1日

多周期微处理器设计 注:非正式版,仅为初稿 一、功能描述 MIPS微处理器是典型的32位定长指令字RISC处理器,此次设计的微处理器是基于verilogHDL语言、兼容MIPS指令格式、带有I/O接口和中断处理电路、能够实现26条指令功能,并且可以在DE2开发板上进行下载验证的多周期CPU。可以实现的指令包括,R型:add、addu、sub、subu、and、or、xor、nor、slt、sltu、sll、srl、sra、jr;I型:addi、addiu、lui、andi、ori、xori、lw、sw、beq、bne;J型:jal、jump。并且可以实现一段流水灯程序,程序的样式为1)10101010->010*******切换间隔为0.5秒2)11110000->00001111,切换间隔为1秒。两种样式通过按键控制。 二、设计方案 1.总体设计方案 此次设计是在前期课程已经设计好的单周期CPU上进行多周期CPU的设计,多周期指令的执行分为5个阶段:取指、译码、执行、访存、回写。由于PC,指令存储器只能在需要时写入新值,因此必须有“写使能信号”控制。可以用状态机来实现5个状态的转换以及控制信号的产生。来控制此次设计要实现一段流水灯程序,总共有两组不同的花型切换。可以先利用ori指令初始化第一组花型到两个寄存器,再利用SW指令将存到寄存器的花型读出存储到IO接口,通过LED显示,最后用J指令实现花型的循环,此即使第一组花型的实现。接下来考虑按键切换到下一组花型,可以使用按键产生一个中断信号,当按下按键时,进入中断程序,在中断程序里边存储第二个花型及其花型切换与循环,实现方式与花型一相同。时间的控制可以利用指令的条数进行控制,通过分频产生一个标准时钟,sw占用4个时钟周期,j型占用2个时钟周期,可以通过指令的条数来控制题目所需要的0.5s与1s。花型跳转示意图如下: 图1.流水灯实现示意图 总体设计框图如下:

嵌入式微处理器系统读书报告

《嵌入式微处理器系统》专题读书报告 姓名:全妤

1、引言 随着医疗电子、智能家居、物流管理和电力控制等方面的不断风靡,嵌入式系统利用自身积累的底蕴经验,重视和把握这个机会,想办法在已经成熟的平台和产品基础上与应用传感单元的结合,扩展物联和感知的支持能力,发掘某种领域物联网应用。作为物联网重要技术组成的嵌入式系统,嵌入式系统的视角有助于深刻地、全面地理解物联网的本质。 2、嵌入式系统的概念 嵌入式系统被定义为以应用为中心、计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积功耗严格要求的专用计算机系统。 2.1嵌入式系统的组成 一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成。嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。 2.1.1 硬件层 硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。

在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。 1)嵌入式微处理器 嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。 2)存储器 嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器。 3)通用设备接口和I/O接口 嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。

共享总线多微处理器系统中分布式仲裁方案的研究及实现

第!"卷第#期 #$$!年!月浙江大学学报%工学版&’()*+,-(./0123,+45+361*7389%:+43+11*3+4;<31+<1&=(->!"?(># @,*>#$$! 收稿日期A #$$#B $C B D E > 基金项目A 浙江省F 九五G 重点科技资助项目%H E #D $D #I C &> 作者简介A 刘峰%D H "D J&K 男K 山东鱼台人K 博士K 从事分布式并行处理系统和生物医学信息处理研究>:B L ,3-A <-7-9.M 7(0)><(L 共享总线多微处理器系统中 分布式仲裁方案的研究及实现 刘峰K 葛霁光 %浙江大学生物医学信息研究所K 浙江杭州!D $$#"& 摘要A 共享总线多微处理器系统具有相当高的性能价格比K 但随着处理器速度的不断提高K 总线通信带宽和可靠 性成为限制并行处理能力的主要瓶颈>总线仲裁对提高系统性能具有关键的作用>分布式一致优先权机制是一种 新型的仲裁机制模型> 在此基础上提出了基于时间变化的优先权仲裁事务缓冲的分布式仲裁方案>仲裁缓冲机制能够充分利用系统总线的并发特性来提高总线的利用率K 此机制有利于并行处理系统中的实时和总线重负载应用 环境>虚拟令牌环和时变优先权策略为处理器节点公平地共享总线资源提供了保障>多字节优先权标识使优先权 更易于扩展>仿真工作验证了所提方案的正确性> 关键词A 并行处理N 仲裁缓冲N 虚拟令牌环N 实时仲裁N 优先权队列 中图分类号A O P !$!文献标识码A Q 文章编号A D $$E B H "!R %#$$!&$#B $D "E B $"S T U V W X Y VZ [\]^[^Y T X T Z _Y_‘V Z a T b Z c U T ^VX b c Z T b X T Z _Ya d e ^[^a Z Yc U a f c X a ^V[U ]T Z \b _d ^a a _b a W a T ^[ g h 5i 1+4K j :’3B 4),+4 %k l m n o n p n q r st o r u r v o w x u x l yzq y o w x u k l s r {|x n o r l K }~q !o x l v "l o #q {m o n $K %x l v &~r p !D $$#"K ’~o l x &(c a T b X d T A )340*,83((.*1*.(*L ,+<1,4,3+78<(7837,+173*,,-1.1,8)*1(.,)7B 70,*1+L )-83**(<177(*7 79781L 7>)(-161*K -3808013+<*1,73+4-9*,*3+4*(-80(.**(<177(*7*11+K 801<(L L )+3<,83(+, ,++-3+80,++*1-3,,3-389(.803779781L 0,7,1<(L 1,+1771+83,-.,<8(*,..1<83+4*,*,--1-**(<1773+4>h +801-,9.(* 4,3+3+43L **(61L 1+8(.(61*,--*1*.(*L ,+<1(.803779781L K ,)7,*,38*,83(+37,8801<(*1*(7383(+>O 01 8*,+7,<83(+B ,)..1*1+83L 1B 6,*3,,-1**3(*389,*,38*,83(+7<01L 1,,71+(+,+(61-,*,38*,83(+L (+1- K +378*3,)81+)+3.(*L **3(*389L (+1-K 37**171+81+3+8037*,*1*>O 018*,+7,<83(+B ,)..1*1+,*,38*,83(+ L 1<0,+37L )71780179781L ,)7**(*1*898(*,37180179781L .7)71*,83(K -03<03761*9**(.38,,-1.(**1,- B 83L 1,**-3<,83(+7,++01,69,)7-(,+1+63*(+L 1+83+*,*,--1-**(<1773+479781L >O 0163*8),-8(/1+*3+4,++ 83L 1B 6,*3,,-1**3(*389*(-3<3174),*,+81180,870,*1+.,3*-9,)7*17()*<17,*1,<<1771+.,3*-9,9,--**(<177(* +(+17>@)-83B ,981**3(*389*(-3<9L ,/177<,-,,-1**3(*3891,731*>;3L )-,83(+,++3L *-1L 1+8,83(+-(*/61*3.31+.1,73,3-389(.801**171+81+,*,38*,83(+7<01L 1 >0^W 1_b V a A *,*,--1-**(<1773+4N 8*,+7,<83(+B ,)..1*1+Q *,38*,83(+N 63*8),-8(/1+*3+4N *1,-B 83L 1 ,*,38*,83(+N **3(*3892)1)1 高性能并行计算的基础是由多个微处理器按照 一定的拓扑关系组成的硬件处理平台>共享总线多 微处理器系统具有良好的性能价格比K 从而成为构造几个到几十个微处理器组成的小规模多微处理器系统首先关注的体系结构>对于共享总线多微处理器系统而言K 系统总线既是协同多个微处理器进行万方数据

微处理器系统与嵌入式系统1—7章最全答案合集

“微处理器系统原理与嵌入式系统设计”第一章习题解答 1.1 什么是程序存储式计算机? 程序存储式计算机指采用存储程序原理工作的计算机。 存储程序原理又称“·诺依曼原理”,其核心思想包括: ●程序由指令组成,并和数据一起存放在存储器中; ●计算机启动后,能自动地按照程序指令的逻辑顺序逐条把指令从存储器中 读出来,自动完成由程序所描述的处理工作。 1.2 通用计算机的几个主要部件是什么? ●主机(CPU、主板、存); ●外设(硬盘/光驱、显示器/显卡、键盘/鼠标、声卡/音箱); 1.3 以集成电路级别而言,计算机系统的三个主要组成部分是什么? 中央处理器、存储器芯片、总线接口芯片 1.4 阐述摩尔定律。 每18个月,芯片的晶体管密度提高一倍,运算性能提高一倍,而价格下降一半。 1.5 讨论:摩尔定律有什么限制,可以使用哪些方式克服这些限制?摩尔定律还会持续多久?在摩尔定律之后电路将如何演化? 摩尔定律不能逾越的四个鸿沟:基本大小的限制、散热、电流泄露、热噪。具体问题如:晶体管体积继续缩小的物理极限,高主频导致的高温…… 解决办法:采用纳米材料、变相材料等取代硅、光学互联、3D、加速器技术、多核…… (为了降低功耗与制造成本,深度集成仍是目前半导体行业努力的方向,但这不可能永无止,因为工艺再先进也不可能将半导体做的比原子更小。用作绝缘材料的二氧化硅,已逼近极限,如继续缩小将导致漏电、散热等物理瓶颈,数量集成趋势终有终结的一天。一旦芯片上线条宽度达到纳米数量级时,相当于只有几个分子的大小,这种情况下材料的物理、化学性能将发生质的变化,致使采用现行工艺的半导体器件不能正常工作,摩尔定律也就要走到它的尽头了。业界专家预计,芯片性能的增长速度将在今后几年趋缓,一般认为摩尔定律能再适用10年左右,其制约的因素一是技术,二是经济。)

简单微处理器的设计

简单微处理器的设计 摘要:本课程设计采用EDA技术设计简单微处理器。系统设计采用自顶向下的设计方法。它由数的输入,数的比较,数的交换和结果输出四部分组成。系统实现采用硬件描述语言VHDL把系统电路按模块化方式进行设计,然后进行编程、时序仿真并分析。系统结构简单,使用方便,功能齐全,精度高,具有一定的应用价值。 关键词:处理器;输入;比较;交换

目录 1 引言 (1) 1.1课题设计的背景、目的 (1) 1.2 课程设计的内容 (1) 2 EDA、VHDL简介 (2) 2.1 EDA简介 (2) 2.2 VHDL简介 (2) VHDL语言的特点 (2) VHDL的设计流程 (3) 3 简单微处理器的设计过程 (4) 3.1设计规划 (4) 3.2 各模块设计及相应程序 (4) 4 系统仿真 (8) 1.数的输入. (8) 2 数的比较。 (8) 3 交换两个数。 (9) 4 结果输出(从小到大). (9) 结束语 (11) 致谢 (12) 参考文献 (13) 附录 (14)

1 引言 随着社会的发展,科学技术也在不断的进步。特别是计算机产业,可以说是日新月异,而处理器,作为计算机中的一个重要部分,其性能从很大程度上决定了计算机的性能。本设计介绍的简单微处理器,要求具有以下验证程序所要求的功能:输入包含10个整数(无符号数)的数组M,按从小到大的顺序输出这10个数。 1.1课题设计的背景、目的 微处理器技术的发展是与微电子技术即大规模集成电路技术的发展分不开的。微电子技术以每18个月集成度提高一倍的速度迅速发展。20世纪80年代初,主要是16位微处理器8086/8088。1985年推出了80386微处理器,完成了16位体系结构向32位体系结构的转变。1989年80486出现了。80486的设计目标是提高指令执行速度和支持多处理器系统。80486在芯片内部增加一个8KB的高速缓冲存储器(cache),还增加了相当于80387的浮点部件(FPU),在基本指令的实现上,采用硬布线逻辑而不是微程序技术。1993年3月,Intel公司推出了第一代“奔腾”微处理器(Pentium),微处理器技术发展进入了一个新的阶段。到目前为止,“奔腾”已有四代产品。“奔腾”的设计思想是把如何提高微处理器内部指令执行的并行性作为主导。指令执行的并行性越好,微处理器的性能就越高。 本次设计的目的就是了解并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习VHDL基本单元电路的综合设计应用。通过对实用电子称的设计,巩固和综合运用所学课程,理论联系实际,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。通过课程设计深入理解VHDL语言的精髓,达到课程设计的目标。 1.2 课程设计的内容 本设计主要介绍的设计一台简单微处理器,要求具有以下验证程序所要求的功能:输入包含10个整数(无符号数)的数组M,按从小到大的顺序输出这10个数。 ( 1 )程序开始及输入10个数据。 ( 2 )数的比较。

简单微处理器的设计与实现

实验五简单微处理器的设计与实现 一、设计任务和技术指标 运用在“数字电路与逻辑设计”课程中学过的基本理论知识,设计并用可编程逻辑器件实现一个简单的八位操作数的微处理器。完成微处理器硬件系统设计和指令系统设计两方面的任务,使微处理器能够实现两个不带符号位的八位二进制数原码相乘等功能。 二、简单微处理器介绍 1.微处理器硬件系统及原理 微处理器硬件系统包括运算器、控制器、存储器以及其它必要的逻辑部件。图4-1是一个微处理器的参考原理框图,具体说明如下: (1)程序计数器PC:存放将要执行指令的地址。 (2)指令存储器IROM,存放程序指令,每条指令的长度为W,指令的个数为L。 (3)指令寄存器IR:存放被执行指令的操作码,直接供运算控制器。 (4)控制器CON:产生一系列时序逻辑信号,控制微处理器各个部件协调一致地完成每条指令相应的操作,实现两个操作数的运算。 (5)通用寄存器堆R0-R7:用来临时存放运算过程中读出和写入的数据。 (6)缓冲寄存器RS和RD:用于存放ALU的两个输入操作数。 (7)运算器ALU和进位寄存器C:运算器ALU对两个操作数RS和RD进行加、减或逻辑运算处理,在进行加减运算时还接受控制器的进位输入信号CI,ALU的运算结果送给通用寄存 器或特殊寄存器。ALU还根据运算结果设置进位标志C和零标志Z。 (8)运算结果显示送七段数码管显示,用十六进制显示。 输入 输出 图4-1 简单微处理器框图 2.处理器指令系统及功能 处理器的基本指令字长为W位,指令的每一位从高到低用D W、D W-1、…D1、D0表示,有些微处理器的一条指令包括多个指令字长,即每条指令的长度不一样,例如Intel的80386等。本实验为了简化设计,规定所有的指令都是单指令字的指令,即所有指令的长度都是W。基本的指令系统一般包括

微处理器选型

微处理器模块选型 在产品开发中, 作为核心芯片的微处理器, 其自身的功能、性能、可靠性被寄予厚望, 因为它的资源越丰富、自带功能越强大, 产品开发周期就越短, 项目成功率就越高。 微处理器选型的考虑因素 1.应用领域 一个产品的功能、性能一旦定制下来, 其所在的应用领域也随之确定。要考虑产品工作温度,湿度等条件。 2.自带资源 主频是多少? 有无内置的以太网M A C? 有多少个I / O 口? 自带哪些接口? 支持在线仿真吗? 是否支持OS, 能支持哪些OS? 是否有外部存储接口? 芯片。自带资源越接近产品的需求, 产品开发相对就越简单。 3.可扩展资源 硬件平台要支持O S、RAM 和ROM , 对资源的要求就比较高。有些芯片内置容量比较小,这就要求芯片可扩展存储器。 4.功耗 低功耗的产品即节能又节财, 甚至可以减少环境污染, 它有如此多的优点,因此低功耗也成了芯片选型时的一个重要指标。 5.封装 常见的微处理器芯片封装主要有QFP、BGA两大类型。如果产品对芯片体积要求不严格, 选型时最好选择QFP封装。 6.芯片的可延续性及技术的可继承性 目前, 产品更新换代的速度很快, 所以在选型时要考虑芯片的可升级性。应该考虑知名半导体公司,然后查询其相关产品, 再作出判断。 7.价格及供货保证 许多芯片目前处于试用阶段( sam pling ) , 其价格和供货就会处于不稳定状态, 所以选型时尽量选择有量产的芯片。 8.仿真器 已经有仿真器的时候, 在选型过程中要考虑它是否支持所选的芯片。 9.OS 及开发工具 对于已有OS 的人们, 在选型过程中要考虑所选的芯片是否支持该OS, 也可以反过来说, 即这种OS 是否支持该芯片。 10.技术支持 一个好的公司的技术支持能力相对比较有保证, 所以选芯片时最好选择知名的半导体公司。

嵌入式微处理器与操作系统_华中师范大学20年春季考试题库及答案

[试题分类]:嵌入式微处理器与操作系统Z_82411005 [题型]:单选 [大题名称]:单项选择题 [题目数量]:60 [分数]:2 1.Makefile文件预定定义变量$^表示()。 A.目标文件的完整名称 B.所有不重复的依赖文件,以空格隔开 C.第一个依赖文件的名称 D.第二个依赖文件的名称 [答案]:B [一级属性]: [二级属性]: [难度]: [公开度]: 2.如果生成通用计算机上(系统是Linux操作系统)能够执行的程序,则使用的C编译是()。 A.TC B.VC C.GCC D.arm-linux-gcc [答案]:C [一级属性]: [二级属性]: [难度]: [公开度]: 3.创建根文件系统映像文件使用的工具是()。 A.BusyBox B.cramfs C.make D.vi [答案]:A [一级属性]: [二级属性]: [难度]: [公开度]: 4.S3C2410X系统的存储空间分成()组(bank)。 A.2 B.4 C.8 D.16 [答案]:C

[一级属性]: [二级属性]: [难度]: [公开度]: 5.GDB软件是()。 A.调试器 B.编译器 C.文本编译器 D.连接器 [答案]:A [一级属性]: [二级属性]: [难度]: [公开度]: 6.嵌入式系统和通用计算机相比,描述不正确的是()? A.专用性强 B.实时性好 C.可裁剪性好 D.功耗高 [答案]:D [一级属性]: [二级属性]: [难度]: [公开度]: 7.ARM9使用几级流水线。 A.2 B.3 C.5 D.7 [答案]:C [一级属性]: [二级属性]: [难度]: [公开度]: 8.ARM公司主要依靠()获得利润。 A.生产芯片 B.销售芯片 C.制定标准 D.出售芯片技术授权 [答案]:D

嵌入式微处理器结构与应用课程设计报告

《嵌入式微处理器结构与应用》 课程设计报告 题目:电子菜单 一、课程设计的目的和主要内容: 目的:《嵌入式微处理器结构与应用》课程设计是软件工程本科专业的专业实践课程,结合在课程中学到的嵌入式系统的开发和调试方法,对学生在嵌入式系统设计和应用开发的基本技能方面进行综合的检验和实践。是学生在学习完《嵌入式微处理器结构与应用》课程之后的一个重要的实践环节。要求学生在教师的指导下,综合运用已学过的嵌入式微处理器相关的各种知识和技能,以小组协作的方式完成一项较为完整、并具有一定难度的课程设计任务。使学生总结本课程的主要知识点,提高学生的实际动手能力,为学生今后进一步学习和从事嵌入式系统相关的研究与开发打下坚实的基础。 内容:基于实时操作系统,学会复杂应用程序的基本开发方法,结合课程实验学到的知识,编写一个能综合应用液晶屏、触摸屏、键盘并结合简单文件系统API函数的界面应用。要求具备基本的三个界面:初始界面、点菜界面、结束界面,基本实现点菜的全过程。 二、基本的设计思路或程序流程图描述: 基于MVC勺设计模式,将程序分成三大独立的部分:模型(逻辑)部分、视图部分、控制部分。这三大部分的关系如下:

程序总流程图:

百度文库-让每个人平等地提升自我 初始化程序, 打开启动画面线程 关闭线程 点菜结束按钮 判断消息 类型 判断操 作类型 判断单 击内容 判断控 件类型 判断该菜单条目 的 状态,进行相应的逻 辑和视图更新 本人负责: 打开线程 界面控件 翻页按钮 加载菜单数据 显示启动动 画 键盘消息 显示点菜结束 画面和总价 程序 菜单条目 进行菜单的上下 滚动 关闭按钮 单击 拉动 重置逻辑数 据,显示最初 的点菜界面 关闭启动画面线程, 显示点菜画面 显示程序结束画 面 进行菜单的翻页 等待系统消息 触摸屏消息 、视图部分:

微处理器原理与系统设计实验

微处理器原理与系统设计实验手册 1 实验平台概述 自从TI推出超低功耗MSP430单片机以来,MSP430凭借其优越的性能,丰富的外设,易于上手的特性备受业内工程师的欢迎。单片机MSP430G2553集成的片内外设相当丰富,包括ADC、Timer、Comparator、Touch Key、SPI、I2C、UART等,MSP-EXP430G2 LaunchPad 是TI公司推出的1款MSP430开发板,它提供了具有集成仿真功能14/20引脚DIP插座目标板,可通过Spy Bi-Wire(2线JTAG)协议对系统内置的MSP430超值系列(G系列)进行快速编程和调试。实验平台包含MSP-EXP430G2中配套的MSP430G2553单片机片内外设实验以及2个综合性实验。 2 实验平台硬件 口袋实验平台硬件原理框图如图1所示,主要有以下部分: 图1 口袋实验平台硬件原理框图 (1)显示和输入单元:口袋实验平台利用I2C接口的TCA6416A扩展出16个低速双向IO(IO00~IO07,IO10~IO17)。4个扩展IO用于控制LCD驱动器HT1621,4个用于机械按键输入,8个用于LED灯柱。 (2)触摸按键单元:两个触摸按键占用P2.0和P2.5两个GPIO,MSP430G2系列单片机的P1口和P2口全部具备振荡功能。 (3)模拟输出单元:外部扩展了12位串行数模转换器DAC7311,使用P1.0/P1.3/P2.2三个普通GPIO控制。这三个IO同时被其他单元复用,但是由于DAC7311都是高阻输入口,所以无需跳线复用。音频功放TPA301可以将DAC输出进行电流放大,以便驱动喇叭/蜂鸣器

华中科技大学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.设计内容及意义.........................................................................2. 2.整体设计原理及方案 (2) 3.硬件电路图 (3) 4.程序设计流程图 (6) 5.实验结果及数据 (7) 6.问题及心得 (7) 7.完整程序 (8)

1.设计内容及意义 1.1设计内容 ①密码通过键盘输入,若密码正确,则将锁打开。②报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过 3 次锁定键盘。电子密码锁的设计主要由三部分组成:4×4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED 提示灯。密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:①密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。②密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。③开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。 1.2 设计意义 随着经济的发展,人们对日常生活质量的要求也越来越高,从工作、学习、出行、购物等的各个方面,人们也对现代安全设施提出来更高的要求。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。密码锁具有安全性高、成本低、功耗低、易操作等优点,同时还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 2.整体设计原理及方案 2.1 整体设计原理 本设计主要由单片机、4*4矩阵键盘、LED和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行比较,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警。 2.2 整体设计方案 在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LED数码管用于显示作用,连线时LED1接P1.1,LED2接P1.2,LED3接P1.3。当用户需要开锁时,先按键盘的数字键任意输入密码,密码输完后按下确认键,若输入正确则开门;不正确

EDA实验_简单微处理器设计

XXXX大学计算机科学学院 实验/上机报告 一、实验目的 1、通过简单微处理器的设计,理解可编程逻辑系统设计中的自顶向下设计思想; 2、进一步巩固利用状态机实现同步时序系统的知识; 二、实验环境 硬件:PC机、便携式EDA/SOPCDSP实验系统 软件:Quartus II 7.0 开发系统 三、实验内容 完成简单微处理器设计; 四、实验过程 设计思想: 分析CPU工作原理,可得如下运行流程: 程序计数器PC到数据总线,通过总线到地址寄存器MAR →MAR将PC传过来的数据信息送到只读内存ROM(在具体实验中用RAM、MDR表示)→ROM通过总线将地址送入指令寄存器IR →IR将操作码送入控制器,同时再将指令地址信息送入总线,通过数据总线将指令地址信息再次送入MAR →MAR再将信息送入ROM,ROM通过总线将地址信息送入寄存器A和B →A、B再送入逻辑运算元件,通过ALU运算后将结果通过总线送入寄存器A →A再将结果通过总线送入输出接口 因此,可将CPU模型分为ALU、CONC、MAR、RAM、MDR、IR、PC、ACC等八个模块,其中CONC为CPU模块核心,通过ASM图对CONC进行状态确定,如下所示:

根据ASM状态转换图,可确定状态S0、S1、S2、S3、S4、S5、S6、S7、S8等九个状态,对各部分模块进行具体设计。 实验步骤: 1、ALU设计: LIBRARY ieee; USE ieee.std_logic_1164.ALL; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; ENTITY alu IS PORT ( clk,add,sub:in std_logic; a:in std_logic_vector(7 downto 0); b:in std_logic_vector(7 downto 0); c:out std_logic_vector(7 downto 0) ); END alu; ARCHITECTURE behave OF alu IS begin process(clk) begin if rising_edge(clk) then if(add='1')then c<=a+b; elsif(sub='1')then c<=a-b; end if; end if; end process; end behave; 2、CONC设计: LIBRARY ieee; USE ieee.std_logic_1164.ALL; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;

《微处理器系统与嵌入式系统》习题解答

第一章习题解答 1.1 什么是程序存储式计算机? 程序存储式计算机指采用存储程序原理工作的计算机。 存储程序原理又称“冯·诺依曼原理”,其核心思想包括: 程序由指令组成,并和数据一起存放在存储器中; 计算机启动后,能自动地按照程序指令的逻辑顺序逐条把指令从存储器中读出来,自动完成由程序所描述的处理工作。 1.2 通用计算机几个主要部件是什么? 主机(CPU、主板、内存); 外设(硬盘/光驱、显示器/显卡、键盘/鼠标、声卡/音箱); 1.3 以集成电路级别而言,计算机系统的三个主要组成部分是什么? 中央处理器、存储器芯片、总线接口芯片 1.4 阐述摩尔定律。 每18个月,芯片晶体管密度提高一倍,运算性能提高一倍,而价格下降一半。 1.5 讨论:摩尔定律有什么限制,可以使用哪些方式克服这些限制?摩尔定律还会持续多久?在摩尔定律之后电路将如何演化? 摩尔定律不能逾越的四个鸿沟:基本大小的限制、散热、电流泄露、热噪。具体问题如:晶体管体积继续缩小的物理极限,高主频导致的高温…… 解决办法:采用纳米材料、变相材料等取代硅、光学互联、3D、加速器技术、多内核…… (为了降低功耗与制造成本,深度集成仍是目前半导体行业努力的方向,但这不可能永无止,因为工艺再先进也不可能将半导体做的比原子更小。用作绝缘材料的二氧化硅,已逼近极限,如继续缩小将导致漏电、散热等物理瓶颈,数量集成趋势终有终结的一天。一旦芯片上线条宽度达到纳米数量级时,相当于只有几个分子的大小,这种情况下材料的物理、化学性能将发生质的变化,致使采用现行工艺的半导体器件不能正常工作,摩尔定律也就要走到它的尽头了。业界专家预计,芯片性能的增长速度将在今后几年趋缓,一般认为摩尔定律能再适用10年左右,其制约的因素一是技术,二是经济。) 1.6 试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与相互影响。 计算机系统结构主要是指程序员关心的计算机概念结构与功能特性,而计算机组成原理则偏重从硬件角度关注物理机器的组织,更底层的器件技术和微组装技术则称为计算机实现。例如:确定指令集中是否有乘法指令属于计算机体系结构的内容,而乘法指令是由专门的乘法器实现还是用加法器实现则属于计算机组成原理的内容,乘法/加法器底层的物理器件类型及微组装技术则属于计算机实现的内容。

DSP 、单片机以及嵌入式微处理器区别

DSP 、单片机以及嵌入式微处理器都是嵌入式家族的一员。最大区别是DSP能够高速、实时地进行数字信号处理运算。数字信号处理运算的特点是乘/加及反复相乘 求和(乘积累加)。为了能快速地进行数字信号处理的运算,(1)DSP设置了硬件乘法/累加器,(2)能在单个指令周期内完成乘/加运算。(3)为满足FFT、卷积等数字信号处理的特殊要求,目前DSP大多在指令系统中设置了“循环寻址”及“位倒序”寻址指令和其他特殊指令,使得寻址、排序的速度大大提高。DSP完成1024复点FFT的运算,所需时间仅为微秒量级。 高速数据的传输能力是DSP高速实时处理的关键之一。新型的DSP设置了单独的DMA总线及其控制器,在不影响或基本不影响DSP处理速度的情况下,作并行的数据传送,传送速率可达每秒百兆字节。DSP内部有流水线,它在指令并行、功能单元并行、多总线、时钟频率提高等方面不断创新和改进。因此,DSP与单片机、嵌入式微处理器相比,在内部功能单元并行、多DSP核并行、速度快、功耗小、完成各种DSP算法方面尤为突出。 单片机也称微控制器或嵌入式控制器,它是为中、低成本控制领域而设计和开发的。单片机的位控能力强,I/O接口种类繁多,片内外设和控制功能丰富、价格低、使用方便,但与DSP相比,处理速度较慢。DSP具有的高速并行结构及指令、多总线,单片机却没有。DSP处理的算法的复杂度和大的数据处理流量更是单片机不可企及的。嵌入式微处理器的基础是通用计算机中的CPU(微处理器)。是嵌入式系统的核心。为满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。与工业控制计算机相比,嵌入式微处理器具有体积小、质量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。在应用设计中,嵌入式微处理器及其存储器、总线、外设等安装在专门设计的一块电路板上,只保留和嵌入式应用有关的母板功能,可大幅度减小系统的体积和功耗。目前,较流行的是基于ARM7、ARM9系列内核的嵌入式微处理器。 嵌入式微处理器与DSP的一个很大区别,就是嵌入式处理器的地址线要比DSP 的数目多,所能扩展的存储器空间要比DSP的存储器空间大的多,所以可配置实时多任务操作系统(RTOS)。RTOS是针对不同处理器优化设计的高效率、可靠性和可信性很高的实时多任务内核,它将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的应用程序接口(API),并根据各个任务的优先级,合理地在不同任务之间分配CPU时间。RTOS是嵌入式应用软件的基础和开发平台。常用的RTOS:Linux(为几百KB)和VxWorks(几MB)。 由于嵌入式实时多任务操作系统具有的高度灵活性,可很容易地对它进行定制或作适当开发,来满足实际应用需要。例如,移动计算平台、信息家电(机顶盒、数字电视)、媒体手机、工业控制和商业领域(例如,智能工控设备、ATM机等)、电子商务平台,甚至军事应用,吸引力巨大。所以,目前嵌入式微处理器的应用是继单片机、DSP之后的又一大应用热门。但是,由于嵌入式微处理器通常不能高效地完成许多基本的数字处理运算,例如,乘法累加、矢量旋转、三角函数等。它的 体系结构对特殊类型的数据结构只能提供通用的寻址操作,而DSP则有专门的简捷寻址机构和辅助硬件来快速完成。所以嵌入式微处理器不适合高速、实时的数字信号处理运算。而更适合“嵌入”到系统中,完成高速的“通用”计算与复杂

相关主题
文本预览
相关文档 最新文档