模型计算机控制器的设计.docx

上传人:b****1 文档编号:3174392 上传时间:2023-05-05 格式:DOCX 页数:19 大小:79.43KB
下载 相关 举报
模型计算机控制器的设计.docx_第1页
第1页 / 共19页
模型计算机控制器的设计.docx_第2页
第2页 / 共19页
模型计算机控制器的设计.docx_第3页
第3页 / 共19页
模型计算机控制器的设计.docx_第4页
第4页 / 共19页
模型计算机控制器的设计.docx_第5页
第5页 / 共19页
模型计算机控制器的设计.docx_第6页
第6页 / 共19页
模型计算机控制器的设计.docx_第7页
第7页 / 共19页
模型计算机控制器的设计.docx_第8页
第8页 / 共19页
模型计算机控制器的设计.docx_第9页
第9页 / 共19页
模型计算机控制器的设计.docx_第10页
第10页 / 共19页
模型计算机控制器的设计.docx_第11页
第11页 / 共19页
模型计算机控制器的设计.docx_第12页
第12页 / 共19页
模型计算机控制器的设计.docx_第13页
第13页 / 共19页
模型计算机控制器的设计.docx_第14页
第14页 / 共19页
模型计算机控制器的设计.docx_第15页
第15页 / 共19页
模型计算机控制器的设计.docx_第16页
第16页 / 共19页
模型计算机控制器的设计.docx_第17页
第17页 / 共19页
模型计算机控制器的设计.docx_第18页
第18页 / 共19页
模型计算机控制器的设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

模型计算机控制器的设计.docx

《模型计算机控制器的设计.docx》由会员分享,可在线阅读,更多相关《模型计算机控制器的设计.docx(19页珍藏版)》请在冰点文库上搜索。

模型计算机控制器的设计.docx

模型计算机控制器的设计

《计算机组成原理》

课程设计报告

 

设计题目:

模型计算机控制器的设计

 

学生:

学号:

专业班级:

13计师X班

指导教师:

麦山

提交日期:

2015年6月XX日

计算机科学系

二○一五年

模型计算机控制器的设计

本课程设计以设计一个模型计算机的控制器(CU)为目标,通过课程设计,进一步加深对中央处理器的结构和功能的理解,掌握控制器的设计方法和步骤,为今后从事计算机系统设计打下初步的基础。

1设计要求

1.1功能指标和要求

1)支持一个规模较小、但功能相对完整的RISC指令系统,指令条数不超过32条;

2)采用I/O端口独立编址方式;

3)系统总线由CPU总线延伸形成,总线周期固定;

4)不支持中断及DMA功能;

5)采用组合逻辑控制方式;

6)忽略复位电路、时钟电路和时序电路的设计,但需说明对时序信号的要求。

1.2性能指标要求

1)CPU字长8位,数据总线8位;

2)地址总线8位,最大寻址空间为256字节;

3)I/O采用独立编址方式,4位地址码,最大支持16个I/O端口;

4)时钟频率1MHz左右,机器周期为3-4个时钟周期;

5)CPU输出与外部读写控制的控制信号有/MR、/MW、/IOR、/IOW。

1.3课程设计要求

根据课程设计指导,完成模型机控制的设计,并提交课程设计报告。

1.4时间安排

1)理解模型机的逻辑结构、数据通路以及指令系统和格式:

1天

2)数据通路设计及分析:

1天

3)指令执行流程设计:

1天

4)微操作的节拍安排与设计:

1天

5)微操作命令逻辑表达式:

1天

2CPU逻辑结构设计

2.1CPU逻辑结构的组成

1.运算器

1)ALU具有8种算术/逻辑运算功能,其运算功能由三位编码I2I1I0选择;ALU除了2个数据输入端R、S和数据输出端Y外,另有一个最低位进位输入信号C0,以及4个状态输入:

进位输出C、结果零Z、运算溢出V和符号位S。

2)ALU输出移位器具有直通、左移一位和右移一位的功能,由两位编码I4I3选择;

3)ALU数据输入端有A和B两个数据锁存器,指令不可访问;

4)标志寄存器FLAG,4位,与数据总线的低4位连接,能独立置位或清零;

5)4个通用数据寄存器R0~R3;

6)堆栈指针SP(8位);

7)数据缓冲寄存器DR,指令不可访问;

8)地址寄存器AR(8位),指令不可访问。

2.控制器

1)程序计数器PC(8位),具有加1的功能;

2)指令寄存器IR(8位);

3)微操作控制信号发生器,采用组合逻辑控制方式;

4)时钟和时序信号发生器(不需设计)。

2.2CPU的逻辑结构及数据通路结构

图2-1CPU逻辑结构及数据通路结构图

在模型计算机的CPU中设置了一个特殊的零寄存器ZERO,该寄存器的值恒为0。

各寄存器的编码(地址)见表2-1。

表2-1寄存器编码表

寄存器

编码

R0

R1

R2

R3

A

B

ZERO

DR

AR

SP

FLAG

PC

IR

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

3指令系统设计

3.1指令字长和寻址方式设计

1)指令字长以单字长为主,少数指令为双字长;

2)指令操作码字段长度可变;

3)数据寻址支持立即寻址、寄存器直接寻址和寄存器间接寻址三种方式;

4)只有取数(LDA)和存数(STO)两条指令可以访问主存。

3.2指令系统设计

在以下指令定义中,dR、sR表示通用数据寄存器组R0~R3(编号00~11)中的一个,data表示8位立即数,addr表示8位无符号地址,port表示4位I/O端口地址。

1)数据传送类指令(8条)

MOVdR,data;dR←data

MOVdR,sR;dR←(sR)

LADdR,[sR];dR←((sR))

STO[dR],sR;(dR)←(sR)

PUSHsR;SP←(sR),SP←SP+1

POPdR;SP←(SP)–1,dR←(SP)

CLC;Cy←0

STC;Cy←1

2)算术运算类指令(6条)

ADDdR,sR;dR←(dR)+(sR)

SUBdR,sR;dR←(dR)–(sR)

ADCdR,sR;dR←(dR)+(sR)+Cy

SBCdR,sR;dR←(dR)–(sR)–Cy

INCdR;dR←(dR)+1

DECdR;dR←(dR)–1

3)逻辑运算类指令(8条)

ANDdR,sR;dR←(dR)∨(sR)

ORdR,sR;dR←(dR)∧(sR)

XORdR,sR;dR←(dR)⊕(sR)

NOTdR;dR←~(dR)

SLdR;dR←dR<<1,Cy←D7(逻辑左移1位)

SRdR;dR←dR>>1,Cy←D0(逻辑右移1位)

SLCdR;带进位标志Cy的循环逻辑左移(1位)

SRCdR;带进位标志Cy的循环逻辑右移(1位)

4)控制类指令(7条)

JMPaddr;PC←addr

JCoffset;若Cy=1则PC←(PC)+offset

JNCoffset;若Cy=0则PC←(PC)+offset

JZoffset;若Z=1则PC←(PC)+offset

JNZoffset;若Z=0则PC←(PC)+offset

CALLaddr;(SP)←(PC),SP←(SP)+1,PC←addr

RET;SP←(SP)–1,PC←(SP)

5)输入/输出类指令(2条)

INport;R0←(port)

OUTport;port←(R0)

3.3指令格式设计

指令长度为单字节和双字节2种,操作码字段的长度可变,指令格式有以下六种。

1.格式一

743210

操作码

dR

sR

2.格式二

743210

操作码

IOport/addr

3.格式三

743210

操作码

dR/sR

4.格式四

743210

操作码

dR/sR

addr

5.格式五

743210

操作码

6.格式六

743210

操作码

adr

3.4指令汇总表

表3-1指令汇总表

序号

指令格式

汇编语言

字长

操作数

CZVS

功能说明

1

0000dRsR

MOVdR,sR

1

2

····

dR←(sR)

2

0001dRsR

LADdR,[sR]

1

2

····

dR←((sR))

3

0010dRsR

STO[dR],sR

1

2

····

(dR)←(sR)

4

0011dRsR

ADDdR,sR

1

2

****

dR←(dR)+(sR)

5

0100dRsR

SUBdR,sR

1

2

****

dR←(dR)-(sR)

6

0101dRsR

ANDdR,sR

1

2

·*·*

dR←(dR)∧(sR)

7

0110dRsR

ORdR,sR

1

2

·*·*

dR←(dR)∨(sR)

8

0111dRsR

XORdR,sR

1

2

·*·*

dR←(dR)⊕(sR)

9

1000dRsR

ADCDS,sR

1

2

****

dR←(dR)+(sR)+Cy

10

1001dRsR

SBCDS,sR

1

2

****

dR←(dR)-(sR)-Cy

11

1010port

INport

1

1

····

R0←(port)

12

1011port

OUTport

1

1

····

port←(R0)

13

110000dR

PUSHsR

1

1

····

SP←(sR),SP←(SP)+1

14

110001dR

POPdR

1

1

····

SP←(SP)-1,dR←(SP)

15

110010dR

INCdR

1

1

****

dR←(dR)+1

16

110011dR

DECdR

1

1

****

dR←(dR)-1

17

110100dR

SHLdR

1

1

*···

dR←dR*2,Cy←D7

18

110101sR

SHRdR

1

1

*···

dR←dR/2,Cy←D0

19

110110dR

SLCdR

1

1

*···

带进位Cy的逻辑循环左移

20

110111dR

SRCdR

1

1

*···

带进位Cy的逻辑循环右移

21

111000dR

NOTdR

1

1

·*·*

dR←~(dR)

22

111001dR

data

MOVdR,data

2

2

*···

dR←data

23

11101000

CLC

1

0

0···

Cy←0

24

11101001

STC

1

0

1···

Cy←1

25

11101010

addr

CALLaddr

2

1

····

(SP)←(PC),SP←(SP)+1

PC←addr

26

11101011

RET

1

0

····

SP←(SP)-1,PC←(SP)

27

11101100

offset

JCoffset

2

1

····

C=1时转移到(PC)+offset

28

11101100

offset

JNCoffset

2

1

····

C=0时转移到(PC)+offset

29

11101110

offset

JZoffset

2

1

····

Z=1时转移到(PC)+offset

30

11101111

offset

JNZoffset

2

1

····

Z=0时转移到(PC)+offset

31

11110000

addr

JMPaddr

2

1

····

PC←addr

说明:

表中CZVS一栏,*表示该标志位在指令执行后被重置,·表示该标志位不受指令执行的影响。

4控制信号和时序信号

4.1控制信号

在计算机的控制信号中,大部分用于控制寄存器数据输入和数据输出操作。

寄存器一般由带有三态输出的D触发器或D锁存器构成,因此需要有数据输入和数据输出两个控制信号。

为了可靠地实现两个寄存器之间的数据传送操作,输出寄存器的数据输出控制信号必须首先有效,经过一段时间的延迟后,输入寄存器的数据输入控制信号才能有效,在时间上有一个时间差。

寄存器之间的数据传送一般可在一个时钟周期内完成,因此,寄存器数据输出的控制信号持续1个时钟周期有效,而寄存器数据输入的控制信号持续半个时钟周期,且在时钟信号的后半个周期有效。

1.运算器相关的控制信号

1)ALU运算功能控制信号

AUL运算功能由控制信号I2I1I0的编码选择,具体见表4-1。

表4-1ALU运算功能选择

I2I1I0

运算功能

说明

000

001

010

011

100

101

110

111

R+S

S-R

R-S

R∨S

R∧S

∧S

R⊕S

加法

减法

减法

逻辑或

逻辑与

逻辑异或

逻辑同或

2)移位器操作控制信号

移位器的操作功能由控制信号I4I3的编码选择,具体见表4-2。

表4-2移位器操作功能选择

I4I3

输出Y

说明

00

01

10

11

三态

Y=F

F=F*2

F=F/2

Y输出高阻态

F直通

F左移1位

F右移1位

3)寄存器输入/输出控制信号

通用寄存器组R0~R3的数据输入输入和输出分别由Rni及Rno控制,其中Rno信号持续1个时钟周期,而Rni则只在时钟信号的后半个周期有效。

数据缓冲寄存器DR在物理上由输出缓冲寄存器和输入缓冲寄存器组成,以便实现双向数据缓冲,但在逻辑上只有一个地址,一般通过读、写这两种不同的操作来区分不同的物理寄存器。

对于数据输出缓冲寄存器DR,数据的传送方向为:

CPU→主存或I/O,其数据输入控制信号为DRi,数据输出由

信号控制。

对于数据输入缓冲寄存器DR,数据的传送方向为:

主存或I/O→CPU,其数据输入由WE控制(WE与

为互补信号),数据输出由DRo控制。

地址寄存器AR为单向输出,ARi为数据打入控制信号。

零寄存器(Z)为单向输出,Zo为数据输出控制信号。

标志寄存器FLAG的数据输出信号为Zo。

标志寄存器FLAG在结构上不同于普通的寄存器,普通寄存器的各个数据位作为一个整体同时接收数据,不能实现个别数据位独立接收数据,但标志寄存器FLAG要求各数据位能够独立接收ALU输出的特征值(C、Z、V、S),通常情况下,需用时序逻辑的设计方法来实现。

标志寄存器FLAG中各标志位的设置情况见表4-3。

表4-3标志寄存器中CZVS标志值的选择

I7I6I5

C

Z

V

S

说明

000

001

010

011

100

101

C

C7

0

1

F0

F7

Z

F=0

Z

Z

Z

Z

V

OV

V

V

V

V

S

F7

S

S

S

S

CZVS的值保持不变

接收ALU标志位输出的值

C置“0”,ZVS不变

C置“1”,ZVS不变

左移操作,ZVS不变

右移操作,ZVS不变

堆栈指针SP的输入输入和输出分别由SPi及SPo控制。

4)ALU进位信号C0及移位器低位F0及高位F7的取值

ALU进位信号C0及移位器低位F0及高位F7的取值见表4-4。

表4-4ALU进位信号C0及移位器低位F0及高位F7的取值

I10I9I8

C0

F7

F0

说明

000

001

010

011

100

101

110

111

0

1

C7

0→F7

C→F7

0→F0

C→F0

单字长加法、逻辑运算

单字长减法

多字长加、减法

无操作

逻辑左移

循环左移

逻辑右移

循环右移

2.控制器(CU)相关的控制信号

程序计数器PC具有加1的功能,当控制信号PC+1有效时PC的值加1,其数据输入和输出分别由信号PCi和PCo控制。

指令寄存器IR为8位,各位均有直接通道连接到微操作与时序信号发生器,其输入和输出分别由信号IRi和IRo控制。

3.存储器及I/O相关的控制信号

访问存储器一般需要

两个信号来控制读、写操作,访问I/O端口则需要

两个信号来控制读、写操作,为了便于控制数据总线的数据传送方向,可在CPU设置REQ(存储器及I/O请求)、

(存储器或I/O选择)和

(写允许)三个控制信号,通过对这三个信号的译码后产生所需要的

表4-3读写访问的控制信号

REQ

译码输出

说明

0××

100

101

110

111

无效

无操作

写存储器

读存储器

写I/O

读I/O

4.2数据通路分析

1.取指令操作

①PC→AR→MEM→DR→IR

②PC+1→PC

2.执行指令

1)双操作数运算指令

sRopdR→dR

▪sR→A

▪dR→B

▪F→Ri

(……)

4.3时序信号

模型计算机的主时钟频率f为1MHz,周期T=1μs,采用方波波形(即脉宽与脉间相等),普通的低速RAM和ROM的访问周期一般在小于300ns,因此存储器的访问可在1个时钟周期内完成。

因此,模型机的机器周期M固定由1个时钟周期构成,指令的机器周期数可变,但至少需要M0、M1两个机器周期,其中M0为取指周期,M1为执行周期。

5指令执行流程设计

指令执行流程图如图5-1所示,每个方框图表示一个机器周期,方框图的左上方的数字编码为机器周期的编号。

图5-1指令执行流程图

6指令执行流程及控制信号安排

根据指令执行流程图,安排各机器周期所需要发出的微操作控制信号,并给出控制信号的编码。

表6-1指令流程及控制信号表

指令

机器码

机器

周期

PC+1

R/M/W

寄存器

目的

寄存器

C0F0F7

I10I9I8

标志

I7I6I5

移位

I4I3

运算

I2I1I0

注释

-

-

00000

1

000

1011

1000

000

000

00

000

PC→AR,PC+1→PC

-

-

00001

0

101

1111

0111

000

000

00

000

M(AR)→DR

-

-

00010

0

000

0111

1100

000

000

00

000

DR→IR

MOV

111001dR

data

00000

1

000

1011

1000

000

000

00

000

PC→AR,PC+1→PC

00001

0

101

1111

0111

000

000

00

000

M(AR)→DR

00011

0

000

0111

00dR

000

000

00

000

DR→dR

MOV

0000dRsR

00100

0

000

00sR

00dR

000

000

00

000

sR→dR

LAD

0001dRsR

00110

0

000

00sR

1000

000

000

000

000

sR→AR

00001

0

101

1111

0111

000

000

00

000

M(AR)→DR

00011

0

000

0111

00dR

000

000

00

000

DR→dR

STO

7微操作控制信号逻辑表达式

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2