第二章

位,字节,字:

解释:

位=比特=bit : 信息的最小单位,等于0或1

字节 = byte :可以表示一个英文字母,数字或者符号

字 = word : 描述计算机一次性处理事务的固定长度

说明:

1 byte = 8 bit 大小相当于2^8 =256

在说字长和字之前,需要说明在多少位操作系统的环境下

1 word = 16 bit [16位操作系统下]

数据格式

移码表示

通常用于表示浮点数的阶码

移码和补码的符号位相反

表示的范围:8位移码 00000000-11111111

优点:

1.可以直观的判断两个数据大小

2.阶码全为0时,浮点数下溢

image1

浮点数表示:

一般表示形式

image2

第五章CPU

image3

5.1 CPU的功能和组成

主要寄存器

1.DR(数据缓冲寄存器)

暂时存放运算器与外界传送的数据

2.通用寄存器

暂时存放ALU运算的数据或结果

3.PSW(状态条件寄存器)

C:进位标志

V:溢出标志

Z:零标志

W:符号标志

4.AR(数据地址寄存器)

保存当前CPU所访问数据的内存单元地址

5.PC(程序计数器)

始终存放下一条指令的地址,对应于指令Cache的访问

6.IR(指令寄存器)

保存当前正在执行的一条指令

其对应的操作码字段直接作为指令译码器的输入

操作控制器与时序产生器

数据通路:两个部件之间传送信息的通路

操作控制器

根据指令操作码和时序信号,产生各种操作控制信号;

建立正确的数据通路,从而完成指令的执行

分类(根据设计方法)

1.硬布线控制器:采用时序逻辑技术实现

2.微程序控制器:采用存储逻辑实现

3.两种方式的结合

5.2 指令周期

指令周期的基本概念

CPU执行程序是一个“取指令—执行指令” 的循环过程

对于一个指令周期来说,我们取出一条指令,然后执行它,至少需要两个 CPU 周期。取出指令至少需要一个 CPU 周期,执行至少也需要一个 CPU 周期,复杂的指令则需要更多的 CPU 周期。

指令周期

CPU从内存中取出一条指令,并执行完毕的时间总和

CPU周期

又称为机器周期,一般为从内存读取一条指令字的最短时间

一条指令执行过程被划分为若干阶段(比如取指、译码、执行等),每一阶段完成所需时间。一般情况下一个CPU周期是若干时钟周期之和。

时钟周期

也叫做节拍脉冲或T周期,是计算机工作的基本时间单位

MOV R0,R1 指令的指令周期

它需要两个CPU周期

取指周期

1.PC–>ABUS(地址总线)–>指令Cache,译码并启动 PC读,指令Cache启动

2.指令Cache–>IR 指令Cache读,IR写

3.PC+1–>PC,为下条指令做准备 PC增加

4.IR中的操作码被译码或测试,CPU识别出是指令MOV

执行指令周期

1.R1–>ALU ,R1中数据通过ALU传送 R1读,ALU传送控制

2.ALU–>DBUS(地址总线)–>DR–>R0 ALU输出,DR锁存,R0写

LAD R1,6 指令周期

取指周期

与MOV一致

执行周期

IR–>DBUS–>AR IR读,AR锁存

AR–>ABUS–>数据Cache,译码并启动 数据Cache启动

数据Cache –>DBUS–>DR–>R1 数据Cache读,DR锁存,R1写

执行周期需要两个CPU周期的原因:源操作数的地址和源操作数都需要经过DBUS传送

ADD R1,R2指令周期

取指周期

同MOV

执行周期

R1、R2 –> ALU R1,R2读

ALU做加运算,将两数相加 ALU加

ALU –>DBUS –>DR –>R2 ALU输出,DR锁存,R2写

STO R2 ,(R3)指令周期

取指周期

同MOV

执行周期

R3 –>DBUS–>AR 发出地址启动数据Cache R3读,AR锁存

该过程为间址周期

R2 –> DBUS –>数据Cache R2读,数据Cache写

方框语言表示指令周期

1.方框

代表一个CPU周期

2.菱形

通常用来表示某种判别或测试

3.~

表示一条指令已经执行完毕,转入公操作

image4

5.3 时序产生器和控制方式

5.4 微程序控制器

微程序控制原理

利用软件方法来设计硬件

规整性、灵活性、可维护性等特点

广泛使用

基本思想

把操作控制信号编成“微指令”

微操作分类

相容性微操作:同时或者在同一个CPU周期可以并行执行的微操作

相斥性微操作:上面反之

微指令和微程序

微指令一般包含操作控制和顺序控制

操作控制:用于发出管理和指挥全机工作的控制信号

顺序控制:用于决定产生下一条微指令的地址

所有的微指令都存放于控制存储器中,使用地址访问

微程序:

能够实现一条机器指令功能的多条微指令序列

每条机器指令都对应着一段微程序

微程序控制器原理框图

控制存储器(CM):存放实现指令系统所需要的全部微指令 —–主存储器(MM)

微指令寄存器:存放当前正在执行的一条微指令,由微地址寄存器和微命令寄存器构成

​ 微地址寄存器:决定要访问的下一条微指令的地址

​ 微命令寄存器:保存一条微指令的操作控制字段和判别测试字段的信息

地址转移逻辑: 跳跃寻址微指令时,负责微地址的修改

微程序设计技术

微命令编码

直接表示法:

操作控制字段中每一位代表一个微命令,

简单直观,执行快

容量较大

编码表示法:

将微指令操作控制字段划分为若干个子字段,每个子字段的所有微指令进行统一编码,每个子字段的不同编码表示不同的微命令

遵循原则 :相斥的微命令划分在同一个字段,每个子字段应该留出一个空操作状态,每个子字段所定义的微指令不宜太多

微地址的形成方法

微程序的入口地址:

微程序的第一条微指令所在控存单元的地址;

​ 机器执行周期的第一条微指令

现行微指令 :正在执行的微指令,因此地址叫做现行微地址

后继微指令 :下一条要执行的微指令

微指令格式

5.5 硬连线控制器

硬布线控制器是由门电路和触发器构成的复杂树形网络,速度比微程序快,但是一旦构成,无法增加新的控制功能

微命令和微操作

控制部件和执行部件的联系

控制部件向执行部件发出控制信号;

执行部件向控制部件返回状态信息

微命令

控制部件通过控制线向执行部件发出的各种控制命令

微操作

执行部件接受微命令后所执行的操作

状态测试

执行部件通过反馈线向控制部件反映当前操作状态,以使控制部件决定下一步的微命令

image5

5.6 流水CPU