一 cpu 的功能和基本结构
1.CPU 的功能:取指令 -----操作控制 、时间控制 -------》 执行指令。
指令的控制(程序的顺序控制)
操作的控制 (一条指令有 若干操作信号实现)
时间控制 (指令各个操作实施时间的定时)
数据加工(算数运算和逻辑运算)
2.CPU的组成
1)、中央处理器:CPU= 运算器+控制器
2)、运算器:
ALU
累加器
暂存器
3) 控制器:
程序计数器,指令寄存器 、数据缓冲器、地址寄存器、通用寄存器、状态寄存器、时序发生器、指令译码器、总线(数据通路)。
程序计数器PC:存放下一条将要执行的指令地址的部件。
指令寄存器IR:保存当前正在执行的指令。
指令译码器ID:对指令寄存器中的指令指令操作码字段进行分析。
机器周期、工作节拍、脉冲及启停控制线路。
时序控制信号形成部件
数据缓冲寄存器(DR/MDR):保存内存读来的数据或将要写到内存的数据。
地址缓冲寄存器 (AR/MAR) : 保存当前CPU所访问的内存单元的地址。
数据通路 模型机
操作控制器:为数据通路的建立提供各种操作信号,操作信号提供的依据是指令操作码和时序信号,主要三种类型:
组合类型:
存储类型:
混合类型:
硬布线控制器:
硬布线控制器:采用组合逻辑技术实现,时序控制信号形成部件是由门电路组成的复杂树形网络。这种方法是分立元件时代的产物,以使用最少器件数和取得最高操作速度为设计目标。
组合逻辑控制器最大优点是速度快、但是时序控制信号形成的部件结构不规整、使得设计、调试、维修较困难。难以实现设计自动化。
微程序控制器:
微程序控制器采用存储逻辑来实现的,把微操作信号代码化,是每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中, 微操作控制信号由微指令产生。
微程序控制器的设计思想和组合逻辑设计思想截然不同。它具有设计规整,调试、维修以及更改、扩充指令方便的优点。易于实现自动化设计。成为当前控制器的主流。但是,由于它增加了一级控制存储器,所以指令执行速度比组合逻辑控制器慢。
组合逻辑和存储逻辑结合型:
这种控制器称为PLA控制器,它是吸收前两种的设计思想来实现的。
二 指令执行过程
1.、指令周期:取指令、分析指令到执行完该指令所需全部时间。
2。机器周期通常又称CPU周期。
1) 通常把一条指令周期划分为若干个机器周期。每个机器周期完成一个基本操作。
2) 主存的工作周期(存取周期)为基础来规定CPU周期,比如: 可以用CPU读取一个指令字的最短时间来规定CPU周期。
3) 不同的指令,可能包含不同数目的机器周期。
4) 一个机器周期中,包含若干机器周期(节拍脉冲或T脉冲)。
5) CPU周期规定,不同的计算机中规定不同。
3、时钟周期:
1) 在一个机器周期内,要完成若干个微操作。这些微操作有的可以同时执行,有的需要按先后次序串行执行。
2)因而需要把一个机器周期分为若干个相等的时间段,每一个时间段称为一个节拍。
3) 节拍 常用具有一定宽度的电位信号来表示,称之为节拍电位。
时序产生器的作用:
1)CPU的控制器用它来指挥机器的工作。
2)CPU可以用时序信号/周期信息来辨认从内存中取出的是指令(取值) 还是数据(执行)
3) 一个CPU周期中,时钟脉冲对CPU的动作有严格的约束。
4)操作控制器发出的各种信号是时间(时序信号) 和空间(部件操作信号)的函数。
控制方式:
1) 同步控制方式:(指令的机器周期和时钟周期数不变) 完全统一的机器周期执行各种不同的指令
2)异步控制方式: 每条指令需要多长时间就占多长时间。
3)联合控制方式:大部分指令在固定的周期内完成,少数难以确定的操作采用异步方式。
机器周期的节拍脉冲固定,但是各指令的机器周期数不固定(微程序控制器采用)
三 数据通路的功能和基本结构,
四 控制器的功能和工作原理
1.硬布线控制器
1)实现方法:通过逻辑电路直接连线而产生的,又称为组合逻辑控制方式
2)设计目标:使用最少元件(复杂的树形结构) 速度最高。
指令执行过程:微程序控制器时序信号简单,只需要若干节拍脉冲信号即可,组合逻辑控制器除了节拍脉冲信号外,还 需要节拍电位信号
2. 微程序控制器
微程序、微指令 和微命令;微命令格式,微命令的编码方式, 微地址的形式方式。
基本思想:把操作控制信号编制成微指令,存放到控制存储器中,运行时,从控存中取出微指令,产生指令运行所需的操作控制信号。
可以看出,微程序设计技术是一种用软件方法设计硬件的技术。
微命令:控制部件向执行部件发出的各种控制命令,叫做微命令,它是构成控制序列的最小单位。
微命令是控制计算机各部件完成某个微操作的命令。
微操作:是微命令的操作过程。微命令和微操作是一一对应的。 微命令是微操作的控制信号,微操作是微命令的操作过程。微操作是执行部件中最基本的操作。
由于数据通道的结构关系,微操作可以分为相容的和互斥的两种,
1.互斥的微操作:是指不能同时或不能在同一个节拍内并行执行的微操作。可以编码表示。
2.相容的微操作:是指能够同时或在同一个节拍内并行执行的微操作,必须各站一位。
微指令:把在同一个CPU周期内并行执行的微操作控制信息,存储在控制存储器里,称为一天微指令。
一条微指令通常包含两大信息:
操作控制字段:又称微操作码字段。用以产生某一步操作所需的各个微操作控制信号。
顺序控制字段:又称微地址码字段。用以产生一条要执行的微指令地址。
微程序:一系列微指令的有序集合就是微程序。
一段微程序对应一条机器指令。
微程序控制原理:
控制存储器(CM):把程序控制器的核心部件,用来存放微程序,其性能(包括容量,速度,可靠性等)与计算机的性能密切相关。
微程序设计技术:
设计微程序应当追求的目标:
有利于缩短指令的长度,
有利于缩小CM的容量,
有利于提高微程序的执行速度。
有利于对微指令的修改
有利于提高微程序设计的灵活性。
微命令的编码方法:
编码有三种方法:
直接表示法:操作控制字段中的各位分别可以直接控制计算机,不需要进行译码。
特点:结构简单,并行性强,操作速度快,但是指令字太长,若微命令的总数为N个,则微指令操作控制字段要 有N位,指令是互斥的,利用率低。
编码表示法:将操作控制字段分为若干个小段,每段内采用最短编码法,段与段之间采用之间控制法。
特点:可以避免互斥,使指令大大缩短,但是增加了译码电路,使程序的执行速度减慢。
混合表示法:将前两种结合在一起,兼顾两者特点,一个字段的某些编码不能独立的定义某些微命令,而需要与其他 字段的编码来联合定义。
微指令地址的形成:
入口地址:每条机器指令对应一段微程序,当公用的取指数程序从主存中取出机器指令后,由机器指令的操作码字段,指出各段微程序的入口地址,这是一种多分支的情况。
机器指令的操作码,转换成初始为地址的方式有两种:
计数器的方式。
多路转移方式。
1.入口地址的形成:如果机器指令的操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分位相 对应。
2.后继微地址形成方式:
1)、计数器方式:微程序顺序执行时,其后继微地址,就是现行微地址加上一个增量(通常为1)。
当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址。
在微程序控制器中也有一个微程序计数器upc,一般情况下都是将微地址寄存器u MAR作为u PC
2)、多路转移方式:
根据条件转移,
条件: 状态条件,测试,微指令中微地址,操作码。
微指令格式分为两类:水平型微指令和垂直型微指令。
1)水平型微指令:是指一次能定义并能执行多个微命令的微指令。
格式如下: 控制字段 | 判别测试字段 | 下地址字段
2)垂直型微指令:采用编码方式,
设置微操作控制字段时,一次只能执行一个或两个微命令的微指令叫做垂直型微指令。
五:指令流水线:改变各条指令按顺序串行执行的规则,使机器在执行上一条指令的同时,取出下一条指令,即上一条指令的执行周期,与下一条指令的取址周期同时进行,也可以把指令周期划分的更细,使更多的指令在同一时间内并行执行。
1.指令流水线的基本概念
2.指令流水线的基本实现
3.超标量和动态流水线的基本概念:
1):在CPU中有两条或两条以上的流水线称为超标量流水线。
2):动态流水线:是指在同一时间段内,多功能流水线中各段可以按照不同方式连接,同时执行多种功能,若只能按一种固定方式连接,实现一种固定的功能,则称静态流水线。
流水线CPU时空图;
IF(Instruction Fetch 取指);
ID(Instruction Decode 指令译码);
EX(Excution 执行);
WB(Write back 写回);
入 -------》IF-------> ID-------》EX-------》WB-----》出。