计算机组成原理中央处理器CPU模型设计课程设计.docx

上传人:b****7 文档编号:23875600 上传时间:2023-05-21 格式:DOCX 页数:21 大小:177.60KB
下载 相关 举报
计算机组成原理中央处理器CPU模型设计课程设计.docx_第1页
第1页 / 共21页
计算机组成原理中央处理器CPU模型设计课程设计.docx_第2页
第2页 / 共21页
计算机组成原理中央处理器CPU模型设计课程设计.docx_第3页
第3页 / 共21页
计算机组成原理中央处理器CPU模型设计课程设计.docx_第4页
第4页 / 共21页
计算机组成原理中央处理器CPU模型设计课程设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

计算机组成原理中央处理器CPU模型设计课程设计.docx

《计算机组成原理中央处理器CPU模型设计课程设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理中央处理器CPU模型设计课程设计.docx(21页珍藏版)》请在冰豆网上搜索。

计算机组成原理中央处理器CPU模型设计课程设计.docx

计算机组成原理中央处理器CPU模型设计课程设计

 

课程设计报告

课程名称计算机组成原理

设计题目中央处理器(CPU)模型设计

实验日期2012-12-18至2013-1-10

指导教师

 

系名计算机科学系

专业计算机科学与技术

班级10计科1班

姓名

学号

 

 

1系统分析1

1.1设计背景1

1.2设计目标1

2设计题目及要求1

2.1设计目的1

2.2使用设备2

2.3设计说明2

2.4设计内容3

3设计详细步骤4

3.1数据通路4

3.1.1数据通路设计4

3.1.2数据通路分析4

3.2指令系统5

3.2.1指令分类5

3.2.2指令格式6

3.2.3指令汇总9

4.3指令执行流程及其方框图11

4.3.1机器周期和节拍11

4.3.2指令执行流程的方框图11

4.3.3微操作节拍安排13

4心得体会19

中央处理器(CPU)模型设计

1系统分析

1.1设计背景

此次课程设计,是在通过计算机组成原理理论课和几次实验课的学习基础上,尝试设计一个简单的模型机指令系统,并设计出模型机的数据通路以及指令系统的指令执行流程。

1.2设计目标

设计一个模型计算机的指令系统及指令执行流程。

指令系统要支持简单的寻址方式,并且包括算术逻辑类指令、逻辑运算类指令、数据传送类指令、堆栈操作指令、程序控制类指令、I/O输入/输出指令、标志位置位清零指令;指令执行流程则要给出微操作的时间安排。

2设计题目及要求

2.1设计目的

通过课程设计,进一步加深对中央处理器的结构和功能的理解,初步掌握中央处理器的设计方法和步骤,为今后从事计算机系统设计打下初步的基础。

2.2使用设备

PC机一台

2.3设计说明

⑴CPU性能指标:

⑴CPU字长8位;

⑵数据总线:

8位;

⑶地址总线:

8位,最大寻址空间为256字;

⑷I/O独立编址,4位地址码,最大支持16个I/O端口;

⑸时钟:

1MHz

⑹机器周期:

4个时钟周期;

⑺CPU输出的控制信号:

/MR、/MW、/IOR、/IOW

⑵CPU基本构成:

①运算器:

功能参考74LS181(正逻辑);

②微操作信号发生器:

采用组合逻辑控制方式;

③时钟电路与时序发生器。

⑶CPU主要寄存器:

①ALU锁存器X、Y,指令不可访问;

②ALU输出移位器,采用三选一数据选择器实现,具有直通、左移1位、右移1位的功能;

③通用寄存器组R0~R7;

④SP:

堆栈指针;

⑤IR:

指令寄存器;

⑥PC:

程序计数器,具有+1功能;

⑦FLAG:

标志寄存器,8位,能独立置位或清零;

⑧DR:

数据缓冲寄存器,双向,指令不可访问;

⑨AR:

地址寄存器,单向,指令不可访问。

2.4设计内容

⑴设计模型机的数据通路;

⑵设计一个功能相对完整的指令系统:

①算术运算类指令(加、减、增1、减1);

②逻辑运算符指令(与、或、非、异或、移位运算);

③数据传送类指令;

④堆栈操作指令;

⑤程序控制类指令(相对转移、绝对转移、子程序调用、子程序返回);

⑥I/O输入/输出指令;

⑦标志位置位、清零指令;

⑶设计指令执行流程及其方框图。

2.5设计要求

⑴指令系统:

①指令长度为单字节和双字节两种;

②操作码长度固定;

③支持立即寻址、直接寻址、寄存器直接寻址、寄存器间接寻址等方式;

⑵设计指令执行流程,给出微操作的时间安排。

3设计详细步骤

3.1数据通路

3.1.1数据通路设计

3.1.2数据通路分析

⑴取指令数据通路分析

①PC→AR→MEM→DR→IR

②PC+1→PC

⑵指令执行通路分析

1RiopRj→Ri

Ri→X

Rj→Y

F→Ri

2(Ri)→Rj

Ri→AR

data→DR→Rj

③Ri→(Rj)

Rj→AR

Ri→DR→M

3.2指令系统

3.2.1指令分类

指令按不同的分类方法可划分为:

⑴按指令长度划分为单字指令和双字指令;

⑵按操作数划分为无操作数指令、单操作数指令、双操作数指令;

⑶按指令的功能和执行步骤划分为三组:

A组:

在取指后一步完成。

基本指令:

NOP,ADD,SUB,INC,DEC,AND,OR,XOR,SHL,SHR,MVRR,JR,JRC,JRNC,JRZ,JRNZ

扩展指令:

ADC,SBB,NOT,RCL,RCR,ASR,JMPR,STC,CLC

B组:

在取指后两步完成。

基本指令:

MVRD,LDRR,STRR,PUSH,POP,JMPA,RET,IN,OUT

扩展指令:

CALR

C组:

在取指后三步完成。

基本指令:

CALA

3.2.2指令格式

模型机支持单字和双字指令,第一个指令字的高8位为指令操作码字段,低8位和双字指令的第二个字为操作数、地址字段,共有三种格式:

操作码

DR

SR

I/O端口地址

/相对偏移量

立即数,直接存储器地址

根据指令长度、操作数不同划分为5种:

⑴单字、无操作数指令

格式:

操作码

000000

基本指令:

NOP;空操作

RET;子程序返回

扩展指令:

STC;置进位标志位C

CLC;清进位标志位C

⑵单字、单操作数指令

格式:

操作码

DR000

000SR

OFFECT

I/OPort

基本指令:

INCDR;DR←DR+1

DECDR;DR←DR-1

SHLDR;DR逻辑左移

SHRDR;DR逻辑右移

JROFFSET;无条件转移到ADR

JRCOFFSET;当C=1时转移到ADR

JRNCOFFSET;当C=0时转移到ADR

JRZOFFSET;当Z=1时转移到ADR

JRNZOFFSET;当Z=0时转移到ADR

PUSHSR;SR入栈

POPDR;弹出栈顶数据送入DR

INI/Oport;I/O端口输入

OUTI/Oport;I/O端口输出

扩展指令:

NOTDR;DR←

RCLDR;DR与C循环左移

RCRDR;DR与C循环右移

ASRDR;DR算术右移,最高位保持不变,最高位移入C

JMPRSR;无条件转移到SR指向的地址

CALRSR;调用SR指向的子程序

⑶单字,双操作数指令

格式:

操作码

DR

SR

基本指令:

ADDDR,SR;DR←DR+SR

SUBDR,SR;DR←DR-SR

ANDDR,SR;DR←DR∧SR

ORDR,SR;DR←DR∨SR

XORDR,SR;DR←DR

SR

MVRRDR,SR;DR←SR

LDRRDR,SR;DR←[SR]

STRRDR,SR;[DR]←SR

扩展指令:

ADCDR,SR;DR←DR+SR+C

SBBDR,SR;DR←DR-SR-C

⑷双字、单操作数指令

格式:

操作码

00

00

ADR

基本指令;

JMPAADR;无条件转移到地址ADR

CALAADR;调用首地址为ADR的子程序

⑸双字、双操作数指令

格式:

操作码

(6位)

DR

SR

DATA/ADR

基本指令:

MVRDDR,DATA;DR←DATA

3.2.3指令汇总

基本指令

指令

类型

指令格式

汇编语言

操作数

个数

CZVS

功能说明

A

00000000

NOP

0

****

空操作

0001DRSR

ADDDR,SR

2

****

DR←DR+SR

0010DRSR

SUBDR,SR

2

****

DR←DR-SR

0011DRSR

ANDDR,SR

2

****

DR←DR∧SR

0100DRSR

XORDR,SR

2

****

DR←DR

SR

0101DRSR

MVRRDR,SR

2

▪▪▪▪

DR←SR

100001DR

INCDR

1

****

DR←DR+1

100010DR

DECDR

1

****

DR←DR-1

100011DR

SHLDR

1

*▪▪▪

DR←DR*2

100100DR

SHRDR

1

*▪▪▪

DR←DR/2

100101OFFSET

JRADR

1

▪▪▪▪

无条件跳转的ADR

100110OFFSET

JRCADR

1

▪▪▪▪

C=1时跳转的ADR

100111OFFSET

JRNCADR

1

▪▪▪▪

C=0时跳转的ADR

101000OFFSET

JRZADR

1

▪▪▪▪

Z=1时跳转的ADR

101001OFFSET

JRNZADR

1

▪▪▪▪

Z=0时跳转的ADR

B

101010DR

DATA(8位)

MVRDDR,DATA

2

▪▪▪▪

DR←DATA

0110DRSR

LDRRDR,[SR]

2

▪▪▪▪

DR←[SR]

0111DRSR

STRR[DR],SR

2

▪▪▪▪

[DR]←SR

101011SR

PUSHSR

1

▪▪▪▪

SR入栈

101100DR

POPDR

1

▪▪▪▪

DR←出栈

10110100

ADR(8位)

JMPAADR

1

▪▪▪▪

无条件跳转到ADR

10111000

RET

0

▪▪▪▪

子程序返回

101111I/Oport

INI/Oport

1

▪▪▪▪

RO←[I/Oport]

110000I/Oport

OUTI/Oport

1

▪▪▪▪

[I/Oport]←R0

C组

11000100

ADR(8位)

CALAADR

1

▪▪▪▪

调用首地址为ADR的子程序

说明:

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

 

4.3指令执行流程及其方框图

4.3.1机器周期和节拍

取指周期FT;取源操作数周期ST;取目的操作数周期DT;执行周期ET。

节拍:

P1~P4。

4.3.2指令执行流程的方框图

4.3.3微操作节拍安排

⑴取指令周期

T1:

OPC=1,LAR=1

T2:

MEMR=1,OPC=1,OPALU+1=1

T3:

LPC=1

T4:

LDR2=1,ODR1=1,LIR=1

⑵指令NOP执行周期

T1:

T2:

T3:

T4:

⑶指令ADDRi,Rj执行周期

T1:

ORi=1,LX=1

T2:

ORj=1,LY=1,OPADD=1

T3:

OF=1,LRi=1

T4:

⑷指令SUBRi,Rj执行周期

T1:

ORi=1,LX=1

T2:

ORj=1,LY=1,OPSUB=1

T3:

OF=1,LRi=1

T4:

⑸指令INCRi执行周期

T1:

ORi=1,LX=1,OPSUB=1

T2:

OF=1,LRi=1

T3:

T4:

⑹指令DECRi执行周期

T1:

ORi=1,LX=1,OPDEC=1

T2:

OF=1,LRi=1

T3:

T4:

⑺指令ANDRi,Rj执行周期

T1:

ORi=1,LX=1

T2:

ORj=1,LY=1,OPAND=1

T3:

OF=1,LRi=1

T4:

⑻指令ORRi,Rj执行周期

T1:

ORi=1,LX=1

T2:

ORj=1,LY=1,OPOR=1

T3:

OF=1,LRi=1

T4:

⑼指令XORRi,Rj执行周期

T1:

ORi=1,LX=1

T2:

ORj=1,LY=1,OPXOR=1

T3:

OF=1,LRi=1

T4:

⑽指令SHLRi执行周期

T1:

ORi=1,LX=1,OPSHL=1

T2:

OF=1,LRi=1

T3:

T4:

⑾指令SHRRi执行周期

T1:

ORi=1,LX=1,OPSHR=1

T2:

OF=1,LRi=1

T3:

T4:

⑿指令MVRRRi,Rj执行周期

T1:

ORi=1,LRj=1

T2:

T3:

T4:

⒀指令JROFFSET执行周期

T1:

OPC=1,LX=1

T2:

OOFFSET=1,LY=1,OPADD=1

T3:

OF=1,LPC=1

T4:

⒁指令JRCOFFSET执行周期

T1:

OPC=1,LX=1

T2:

OOFFSET=1,LY=1,OPADD=1

T3:

OF=1,LPC=1

T4:

⒂指令JRNCOFFSET执行周期

T1:

OPC=1,LX=1

T2:

OOFFSET=1,LY=1,OPADD=1

T3:

OF=1,LPC=1

T4:

⒃指令JRZOFFSET执行周期

T1:

OPC=1,LX=1

T2:

OOFFSET=1,LY=1,OPADD=1

T3:

OF=1,LPC=1

T4:

⒄指令JRNZOFFSET执行周期

T1:

OPC=1,LX=1

T2:

OOFFSET=1,LY=1,OPADD=1

T3:

OF=1,LPC=1

T4:

⒅指令ADCRi,Rj执行周期

T1:

ORi=1,LX=1

T2:

ORj=1,LY=1,OPADC=1

T3:

OF=1,LRi=1

T4:

⒆指令SBBRi,Rj执行周期

T1:

ORi=1,LX=1

T2:

ORj=1,LY=1,OPSBB=1

T3:

OF=1,LRi=1

T4:

⒇指令NOTRi执行周期

T1:

ORi=1,LX=1,OPNOT=1

T2:

OF=1,LRi=1

T3:

T4:

(21)指令RCLRi执行周期

T1:

ORi=1,LX=1,OPRCL=1

T2:

OF=1,LRi=1

T3:

T4:

(22)指令RCRRi执行周期

T1:

ORi=1,LX=1,OPRCR=1

T2:

OF=1,LRi=1

T3:

T4:

(23)指令ASRRi执行周期

T1:

ORi=1,LX=1,OPASR=1

T2:

OF=1,LRi=1

T3:

T4:

(24)指令JMPRRj执行周期

T1:

ORj=1,LPC=1

T2:

T3:

T4:

(25)指令STC执行周期

T1:

OFLAG=1,LX=1,OPSTC=1

T2:

OF=1,LFLAG=1

T3:

T4:

(26)指令CLC执行周期

T1:

OFLAG=1,LX=1,OPCLC=1

T2:

OF=1,LFLAG=1

T3:

T4:

6.2微操作节拍安排表

 

根据表可列出每个微操作命令的初始逻辑表达式,经化简,整理便可获得能用现成电路实现微操作命令逻辑表达式。

例如,跟据表可写出M(MAR)→MDR微命令的逻辑表达式:

M(MAR)→MDR

=FE*T1+IND*T1(ADD+STA+LDA+JMP+BAN)+EX*T1(ADD+LDA)

=T1{FE+IND*(ADD+STA+LDA+JMP+BAN)+EX*(ADD+LDA)}

式中ADD,STA,LDA,JMP,BAN均来自操作码译码器的输出

4心得体会

在这次课程设计之前,先重新复习了一下课本的理论原理,又上网把流程稍微了解了一下,以及结合前几次实验,基本明白了设计的基本原理。

但还是存在了一些疑问和困惑,最后通过和同学交流讨论,并动手实践才解决了这些问题,通过排这次实验学会了很多计算机组成原理的方面实践中解决问题的知识。

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

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1