计算机组成原理——控制单元的功能

1.微操作命令分析

完成一段程序分四个工作周期:取指周期、间址周期、执行周期、中断周期。

1.1取指周期

 PC-->MAR-->地址线

1-->R(向存储器发出读命令)

M(MAR)-->MDR

MDR-->IR

OP(IR)-->CU(把操作码部分交给控制器进行分析)

(PC)+1-->PC

1.2间址周期

指令形成地址-->MAR(IR中指令的地址码部分)

Ad(IR)-->MAR 

1-->R

M(MAR)-->MDR

MDR-->Ad(IR)

1.3执行周期

1.非访存指令

  • CLA        清零        0-->ACC
  • COM        取反        \overline{ACC}-->ACC
  • SHR        算数右移        L(ACC)-->R(ACC),ACC_{0}-->ACC_{0}(这两个操作可以同时进行)
  • CSL        循环左移        R(ACC)-->L(ACC),ACC_{0}-->ACC_{n}
  • STP        停机指令        0-->G(停机标志)

2.访存指令

a.加法指令

ADD X(ACC的内容和X指出的内存单元的内容相加,结果保存在ACC)

Ad(IR)-->MAR

1-->R

M(MAR)-->MDR

(ACC)+(MDR)-->ACC

b.存数指令

STA X(ACC中的数据保存在X指向的内存单元)

Ad(IR)-->MAR

1-->W(向存储器发出写命令)

ACC-->MDR

MDR-->M(MAR)

c.取数指令

LDA X

Ad(IR)-->MAR

1-->R

M(MAR)-->MDR

MDR-->ACC

3.转移指令

a.无条件转移

JMP X

Ad(IR)-->PC

b.条件转移

BAN X(负则转)

A_{0}\cdot Ad(IR)+\overline{A_{0}}(PC) \to PC

4.三类指令的指令周期

1.4中断周期

中断周期需要执行中断隐指令,即进行以下操作:

(1)保存断点

可将断点保存至特定的内存区域,也可使断点进栈

程序断点存入“0”地址程序断点进栈
0-->MAR(SP)-1-->MAR
1-->W1-->W
PC-->MDRPC-->MDR
MDR-->M(MAR)MDR-->M(MAR)

(2)形成中断服务程序的入口地址

中断识别程序入口地址M-->PC(软件查询法)

或向量地址-->PC(硬件向量法)

(3)关中断

0-->EINT

2.控制单元的功能

发出各种控制命令或微指令,控制计算机系统,包括CPU内部各部件协调、稳定、正确、连续地运行。

1.1控制单元的外特性

1.输入信号

a.时钟

CU受时钟控制,在特定的时间节点执行微操作

一个时钟脉冲可以发出一个操作命令或一组需同时执行的操作命令

b.指令寄存器

OP(IR)-->CU

控制信号与操作码有关

c.标志

CU 受标志控制(如条件转移指令的转移条件)

d.外来信号

如中断请求信号INTR

2.输出信号

a.CPU内的各种控制信号

R_{i} \to R_{j}

(PC)+1-->PC

ALU的算数运算和逻辑运算

b.送至总线的信号

输入信号:

\overline{MREQ}        访存控制信号

\overline{IO}/M        访问IO/存储器的控制信号

\overline{RD}        读命令

\overline{WR}        写命令

输出信号:

INTA        中断响应信号

HLDA        总线响应信号

2.2控制信号举例

1.不采用CPU内部总线的方式

CPU内部部件分散连接

a.取指周期:

注:AC和经常使用的ACC都是累加器(Accumulator)的缩写。

        图中MDR-->AC是取数指令的操作,加法指令直接将取回的操作数送到ALU中。

b.间址周期: 

此时IR和MDR中都保存有刚刚取出的指令,地址码部分是操作数的形式地址 

注:Ci是电路编号,不代表执行顺序,间址周期耳朵执行顺序为C5-->C1-->C2-->C3。

        IR蓝色部分为操作码,黄色部分为地址码。

c.执行周期:

2.采用CPU内部总线方式

ADD @X取指周期

AC和Y是ALU的两个输入端寄存器,Z是ALU的输出端寄存器

  •  PC-->MAR-->地址线
  • 命令1-->R
  • 数据线-->MDR
  • MDR-->IR
  • OP(IR)-->CU
  • (PC)+1-->PC
ADD @X间址周期

  • MDR-->MAR-->地址线 (形式地址-->MAR)
  • 1-->R
  • 数据线-->MDR
  • MDR-->IR(有效地址-->Ad(IR))
ADD @X执行周期

  • MDR-->MAR-->地址线
  • 1-->R
  • 数据线-->MDR
  • MDR-->Y-->ALU
  • AC-->ALU
  • (AC)+(Y)-->Z
  • Z-->AC 

2.3多级时序系统

1.机器周期

a.机器周期的概念

所有指令执行过程中的一个基准时间

b.确定机器周期需考虑的因素

每条指令的执行步骤(微操作)

每一步骤所需的时间

c.基准时间的确定

以完成最复杂指令操作功能的时间为准

以访问一次存储器的时间为基准(从一个存储单元中取出数据并放到寄存器)

若指令字长=机器字长,则取指周期=机器周期

2.时钟周期(节拍、状态)

时钟周期是时钟频率的倒数,时钟频率时钟频率是指时钟信号每秒钟的振荡次数,由计算机系统中的时钟发生器控制,与计算机系统的硬件设计相关。

一个机器周期内可以完成若干个微操作,每个微操作需要一定的时间

将一个机器周期分成若干个时间相等的时间段(节拍/状态/时钟周期)

时钟周期是控制计算机操作的最小单位时间,用时钟周期控制产生一个或几个(并行)微操作命令

3.多级时序系统

指令周期、机器周期、节拍(状态)组成多级时序系统

一个指令周期包含多个机器周期,一个机器周期包含多个时钟周期

4.机器速度与机器主频的关系

 在机器周期所含时钟周期数相同的前提下,两机平均指令执行速度之比等于两机主频(时钟周期的倒数)之比,也就是说机器的主频f越快机器的速度也越快。

\frac{MIPS_{1}}{MIPS_{2}}=\frac{f_{1}}{f_{2}}

机器速度不仅与主频有关,还与机器周期中所含时钟周期数以及指令周期中所含机器周期数,以及是否采用流水方式有关。

2.4控制方式

产生不同微操作命令序列所用的时序控制方式

1.同步控制方式

任一微操作均由统一基准时标的时序信号(定宽定距的时钟)控制。即有一个统一的时钟信号控制控制信号的产生,进而控制各个部件的交互。

(1)采用定长的机器周期

以最长的微操作序列和最复杂的微操作作为标准,机器周期内节拍数相同

可能在某些执行阶段造成时间的浪费

(2)采用不定长的机器周期

(3)采用中央控制和局部控制相结合的方法

 2.异步控制方式

无基准时标信号

无固定的周期节拍和严格的时钟同步

采用应答方式(一个微操作完成后给出应答信号,告诉下一个微操作可以开始)

3.联合控制方式

同步与异步相结合

大部分指令执行的先后顺序和时间是确定的,可以采用同步方式,I/O指令的时间无法确定,采用异步方式

4.人工控制方式

(1)Reset

(2)连续和单条指令执行转换开关

(3)符合停机开关

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值