无锡五洲国际商贸城:cpu(中央处理器)

来源:百度文库 编辑:中财网 时间:2024/04/29 12:55:50
中央处理器

概论

通过本章的学习,应在CPU一级上建立起整机要领,它包含两个方面:1CPU的逻辑组成:内部有哪些部件,以数据通路为核心的总体结构,与外部的连接。2.Cpu如何工作,即如何分时形成控制命令序列,以执行那个指令序列列

5.1.1运算部件

基本的运算部件如图所示,沿数据流向,大致分为三级。

第一级是输入选择器或锁存器,决定接收哪个寄存器的内容。

第二级市基本算术、逻辑运算部件ALU,它可以采用74181结构构成,由若干控制命令选择其运算功能。

第三级是移位器,常由多路选择器通过斜位传送实现移位功能。

高档微处理器,设置一个ALU,加上时序控制欲乘商寄存器的配合,可在硬件级实现定点乘除运算。基本的算、逻辑运算通常只需一拍就能完成,而乘除运算常虚分派实现。如果设有专门的阵列乘除器(微型机上没有),也可在一拍内完成。

超级小型机,这一档次线覆盖了传统的中型机范畴,单ALU,并将定点乘除与浮点部件作为基本配置。

大、巨型机,设有多种运算部件。

5.1.2寄存器设置

计算机工作呈现出控制流与数据流两大信息流,寄存器是暂存这些信息部件。在CPU内部设置有多个寄存器,有的用于处理,有的用于控制。

一、用于处理的寄存器

通用寄存器组

这是一组可编程访问的具有多种功能的寄存器。注意:他们自身的逻辑往往很简单且比较统一,甚至是小规模存储器的一些单元,但通过编程与运算部件的配合,可指定其实现多种功能。

2.暂存器

CPU中还常设置一些用户不能直接访问的寄存器,用来暂存信息,称为暂存器。对用户来说,是透明的

二用于控制的寄存器

1、 指令寄存器IR

指令寄存器IR用来存放现行指令,在执行过程中,指令寄存器内容部发生变化,以保证实现指令的全部功能。

为了提高读取指令的速度,常在主存的数码寄存器与指令寄存器间建立直接传送通路。为了提高指令间的衔接速度,大多数计算机都将指令寄存器扩充为指令队列或称指令栈,允许预取若干条指令

2、 程序计数器PC

给出下一条指令执行地址

3、 程序状态字寄存器PSW

其内容表示CPU现在的基本状态,也就是现行程序的状态,

三用作贮存接口的寄存器

当CPU访问主存时,首先应送出地址码,然后送出数据(M写)或接受数据(M读)。为此,常设置以下两个寄存器。

1、 地址寄存器MAR

读取指令时,CPU先将程序积水PC的内容(即指令所载存储单元地址码),送入MAR,再由MAR经系统总线或专用存储总线送到主存M,读取操作数或存放数据时,也是先将地址指针内容或地址计算结果送入MAR,再经总线送往主存。

2.数据寄存器MBR

同理,写入主存的数据一般先送至MBR,再经总线送往主。由主存读出送入CPU的数据,一般也先由总线送入MBR,再经CPU内部总线送入指定的寄存器。

设置MAR与MBR,使CPU与主存间的传送通路变得比较单一,容易控制,对用户来说,这两个寄存器往往是“透明”的,不能直接编程访问。

5.1.3总线

在计算机系统的各级硬件组成中,都广泛应用总线的概念,大致分为以下四个层次。

1、 CPU内部总线

在内部结构比较简单的CPU中,只设置一组数据传送总线,用来连接CPU内的寄存器与算术逻辑运算部件,也称为ALU总线

2、 部件内总线

用一组总线连接各个芯片,我们将它称为部件内总线,这是芯片间的连接总线,一般包含地址线与数据线两组

3、 系统总线

系统总线连接计算机系统内的各大组成部分,如CPU/主存储器、各种输入/输出设备,它是连接整机系统的基础。

4、 系统外总线

将一台计算机系统与其它设备相连接,

5.1.4时序系统

时序部件能产生一定的时序信号,以保证机器的各功能部件有节奏进行信息传送、加工及信息存储。时序部件包括:

1脉冲源

脉冲源用来产生具有一定频率和宽度的时钟脉冲信号,为整个机器提供基准信号。(时间基准,主频)

2启停控制逻辑

3.节拍信号发生器

节拍信号发生器又称为脉冲分配器。时序信号还不是微操作信号,只是协调各部件工作的同步信号。

用于产生节拍,脉冲

5.1.5微操作命令产生部件

微操作命令式最基本的控制命令,如开门/关门电平型命令、多路选择、定时脉冲等。控制器的任务是决定在什么时间、根据什么条件、发出什么命令、作什么事。

1. 组合逻辑控制器 通过译码出去

2. 微逻辑控制器 预先编译指令,放入指令存储区中,

CPU内部通路

2单组内总线、集成寄存器结构

5.3控制方式与时序系统(了解)

同步控制:各种操作由统一的时序信号控制

异步控制:不是采用统一的时序信号控制,是应答控制方式

,联合控制:既有同步又有异步,在功能部件内部采用同步方式或以同步方式为主的控制方式,在功能部件之间采用异步方式。

5.3.2时序系统

周期—节拍—脉冲

周期下设节拍,节拍下设脉冲(最后要打入脉冲,使结果打入寄存器)

时序系统式控制器的心脏,其功能是为指令的执行提供各种定时信号

1. 指令周期和机器周期

串行顺序处理方式(一条接一条)

单存储体重叠处理方式(在存储器空闲时,可以继续取指令)

双存储体的重叠处理方式(指令连续取,数据连续取)

多体存储体的重叠交叉处理方式(向发扑克牌式的轮流取地址,数据)

(在没转移的时候和地址在一个存储体的时候比较快,否则要被破坏)

单体存储器

双体存储器(一个体存指令,一个体存数据)

多体存储器:不只是一个体分成几块,而是每一个体都有自己的地址寄存器和数据寄存器,从而提高存储器速度,达到与CPU的匹配地址不连续,而是交叉变址

5.4一台模型机的总体设计

组合逻辑控制器的设计步骤

第一步,拟定指令系统(逻辑依据)

第二步,确定总体结构(空间安排)

第三步,拟定时序系统。选定时标系统作为联系和协调各部件工作的手段。

第四步,拟定指令流程图。在接拍电位的配合下,将一条指令的执行步骤按时间顺序用流程图形式表示出来。它是采用时序计数器法设计控制器的关键一步。(第一步和第三步组合,就是第四步)

第五步,编制操作时间表。即将指令流程中所规定的具体操作落实到由那个部件完成,在什么时间完成。(第二部和第四步结合就是第五步)

第六步,进行微操作组合、化简。根据操作时间表,将产生同一微操作的条件用“或”连接组合成原始表达式:并利用逻辑化简,获得最简的逻辑表达式。

第七步,结合现有的使用元件,将逻辑表达式进行适当变换,产生逻辑电路图。

5.4.1模型机指令系统设计

1、模型机指令类型的选取

原则:指令系统完备性。

根据这一原则,模型机指令系统的设计中先取了如下一些命令:

传送类:MOV(传送) (具有双操作数的两个地址和单操作数一个操作数)

算术运算类:ADD(加)、SUB(减)、NEG(求补)、INC(加1)、DEC(减1)。

逻辑运算类:AND(逻辑乘)、COM(求反)、OR(或)、EOR(异或)。

移位类:ROL(左移)、ROR(右移)。

程控制类:JMP(条件转移)、BR(无条件转移)、RST(返回)、SKP(跳步)、JSR(转子)。

从指令的类型选择与功能设置出发,似乎缺少I/o指令

分析:至少要有什么才算完备的?

1.MOV 2.ADD ,SUB 3.AND/NOT 或OR、NOT4左移,右移5.条件,无条件转,转子,返回 6.I/O指令(当不独立编址的时候可以不设)

操作类型分类

原则:充分发挥指令码每一位的功能,扩大设置指令种类和灵活性

指令类型的分类与机器的总体结构有关,由于模型机采用“同一编址”方案,故将操作类型分类如下,

传送类指令:MOV。双操作数指令:ADD,SUB,AND,OR,EOR,单操作数指令:COM,NEG,INC,DEC,ROL,ROR。转移类指令:JMP,BR,SKP,RST。转子指令JSR。共五大类。

3.指令格式设计

指令字长:16位

可编程寄存器:7个,需要3位地址码。

寻址方式:采用寄存器寻址,拟定9种寻址方式如下:

1寄存器寻址 寻址方式编码000,汇编符号:R,可指定的寄存器编号:000,汇编符号:R,可指定的寄存器:RO-000 R1-001 R2-010 R3-011 SP-100 PC-111 PSW-101

2. 寄存器间址

3. 自减型寄存器间址

4. 立即/自增型寄存器间址

5. 直接寻址/自增型双间址

6. 相对/变址型

7. 跳步在转指令除可使用上述方式外,将跳步指令SKP按排编码为110

为什么把两个寻址方式放在一起?

是因为两种寻址方式的执行过程完全一样。

5.4.2模型机的总体结构

CPU与MEM,I/O设备则通过单总线结构连接,这组总线我们采取了彼此独立的地址总线,(A-BUS)、数据总线(D-BUS)、控制总线(C-BUS)进行各设备间的通信。

2.模型机的数据通路

指令信息、地址信息、数据信息的传送路径。(流向控制)分述如下:

1指令信息 M ->置入 IR

2地址信息指令地址传送(PC->MAR) PC-A-ALU-移位门-MAR(D),并在CPMAR作用下打入MAR

顺序执行时后继地址的形成(PC+1->PC)

PC-A—ALU(+1)-移位门-PC(D),并在CPPC作用下打入PC

操作数地址的形成路径(略)

3. 数据信息

Ri->Rj

Ri-A(OR B)-ALU-移位门-Rj(D),并在CPRJ作用下,打入Rj

Ri->M

Ri-A(OR B)-ALU-移位门-MBR(MAR)-M (写存储器,一要写地址,二要写数据)

M->Rj

M-(置入)MBR-B-ALU-移位门-Rj(D),并在CPRJ作用下打入Rj

CPU(R)<->(MBR) I/O D (只需注意要经过MBR缓冲器,其他不详解)

M<->(MBR)I/O D (只需注意要经过MBR缓冲器)

拟定时序系统

模型机采用:周期->节拍->脉冲控制方式

模拟机时序系统设计

如图周期状态分配表

2节拍

一个时钟周期需打开一条数据通路,以主存访问周期所需要的时间确定时钟周期的宽度根据不同指令的需要,节拍数可变。为此设计一个个节拍计数器T,从T=0开始计数循环,若需要进入下个节拍则T+!,若本节拍应当结束,则发T=0,计数器复位。

3.脉冲

模型机在每个节拍末尾发一个工作脉冲P,P的前沿作为打入寄存器的同时,标志着一次数据通路操作的完成,P的后沿作为周期切换的同时,打入新的工作周期状态。

5.4.3指令流程与操作时间表

1.建立FT条件

初始化置入,上电初始化,当机器在加电后,首先产生一个总线信号,维持若干毫秒(低地址有效),使FT为1,进入取指周期。

运行中,同步打入FT条件:

2.MOV指令

若现行指令为MOV指令则进入MOV指令流程

FT:取指令:形成下一条指令地址

ST:R型:不经历

非R型:将传送的操作数取出 送C寄存器

DT:R型:不经历

非R型:将传送的目的地址送MAR

ET:完成传送操作

传送过程与寻址方式有关,也就是说流程的分支逻辑为寻址方式。MOV指令中寻址方式不同,执行流程也不同,现分别设计如下:

R型:寄存器寻址.

定义为:操作数在指定寄存器中,放下经历ST周期,而传送的目的地址,由目的寄存器号给出,故也不经历,流程中黑线所示。

(R)型:寄存器间接寻址方式。

定位为:操作数地址在指定的寄存器中,则数据通路与时间分配。

-(R)型:自减型寄存器间址方式。定义为:将制定寄存器内容减1后作为操作数地址。则数据通路与时间分配:

实际上就是压栈操作时使用这个种寻址

I/(R)+型:立即自增型寻址。定义为:操作数地址在指令的寄存器中,操作后将寄存器内容加1;若指令的寄存器为PC,为立即数存放在紧跟指令的下一单元中。(由于是后+1,不能再一个节拍中完成)

D/.(R)+:直接/自增型双间址。

定义为:指定寄存器的内容是间址单元地址,操作后寄存器的内容加1;若指定PC为直接寻址,操作地址存入紧跟指令的系一个单元中。

P/X(R) :相对/变址寻址。定义为:指定寄存器内容与紧跟指令的位移量相加,其结果为操作数地址。如果指定为PC,为相对寻址,偏移量放在紧跟指令的下一个单元中。

进入ET周期

ET:分四种情况

SR。DR SR.DR(非) SR(非)。DR SR(非)DR(非)

双操作数指令

源操作数周期与传送指令完全相同,目的操作数周期只差一个 M-MBR-D 原因是双操作数不但要把目的操作数地址送到MAR,而且要把数据送到D

ET周期内

也分为四种情况。一样

单操作数指令流程

源周期空白 目的周期都与双操作数相同

进入ET周期

4. 转移指令JMP/返回指令RST

首先分为 NJP,此种情况下,又分为与PC有关和与PC无关的情况(涉及PC+1)

当转移的时候,又分为三类, SKP (跳步) JP RST

JP又分为 R型,(R)型 (R)+型

转子指令JSR

5.4.5微命令的综合与产生

微操作无非就是把某一个门打开或关闭

将各个条件化简成相应与或非门(用各信号)控制各个门

5.5微程序控制原理

我们可将它的基本思想概括为如下两点.

1将控制所需的微命令,以代码(微码)形式编程微指令,存入一个用ROM构成的控制存储器中。在CPU执行程序时,从控制存储器中取出微指令,其所包含的微指令控制有关操作。与组合逻辑控制方式不同,它由存储逻辑事先存储于提供微命令。这体现了上一节提出的一种改进方向,将存储逻辑引入CPU

2.将各种机器指令的操作分解为若干微操作序列。每条微指令包含的为命令控制,实现一步操作。若干条微指令组成一小段微程序,解释执行一条机器指令。针对整个指令系统的需要,变址除一套万种的微程序,事先存入控制存储器中。这体现了以一种改进方向,利用程序技术区编排指令的解释与执行,也就是将程序技术引入CPU的构成级

机器指令的读取与执行

在微程序控制器中,通过读取微程序与执行它所包含的微命令,去结束执行器指令

1. 在微程序中有一条或两三条微指令,其微指令实现取值操作,可称为“取机器指令用的微指令”,属于微程序中的公用部分。其微命令使CPU访问主存储器,读取机器命令,送入指令寄存器IR 然后修改程序计数器PC的内容

2. 根据机器指令中的操作码,通过微地址形成电路,找到与该机器指令所对应的微程序入口地址。

3. 逐条取出对应的微程序,每一条微指令提供一个微命令序列,控制有关的操作。执行完一条微指令后,根据微地址形成方法产生后继微地址,读取下一条微指令

4. 执行对应于一条机器指令的一段微程序后,返回到“取机器指令用的微指令”开始又一个机器指令周期。

5.5.3有关的术语与概念

1微命令和微操作

从发布命令和执行命令的角度出发,可把计算机划分为两大部分:控制部件和执行部件。控制器为控制部件:运算器、存储器和外部设备为执行部件

控制部件通过控制线向执行部件发出各种命令、称微命令。如令其打开或关闭一个或一组门

执行部件根据微命令所完成的操作,称为为操作。如把一门或组门打开或关闭

2.状态测试

控制部件和执行部件的另一种联系时反馈信息,这种反馈信息通过反馈线送到控制部件。反信息通常是执行部件产生的结果特征,控制通常要对反馈信息进行测试,根据测试的结果决定流向。这种测试称为状态测试。

3.微周期

从控制存储器读取一条微指令并执行这条微指令所需要的时间,称为一个伪指令周期建成微周期

5. 微指令和微程序

微指令是微程序的基本单位,微指令的结构与机器指令的结构从宏观上很相似,它也包含操作控制部分和地址部分。不同之处在于,操作控制部分给出的不是机器操作码,而是若干微指令的集合;地址码部分给出的也不是用来产生的微操作数的地址,而是用来确定下一条微指令的地址。微程序就是一系列微指令的集合,

工作程序和微程序

程序员编制的工作程序放在主存中,由程序计数器指示其流程,机器设计者变址微程序房子啊控存中。有微程序计数器或微地址字段指示其流程;工作程序时以机器指令为基础的,微程序则是以机器的微操作为基础的,工作程序时微程序执行的依据,而微程序是工作程序执行时的硬件支持。

1. 直接控制法(不译码法)

优点:有较高的并行性,它能空盒子并执行许多草,甚至能控制若干个类似部件同时操作,而且,不需要译码,速度快控制方法简单,

缺点:信息表示率太低。一般中小型机的微命令多达400-位,甚至600位的宽度,很不经济。

选用时应考虑:

1特别需要高度场合。例如,美国巨型机ILLIAC-IV,终点站的微程序控制就是基于不译码原理的。

2. 在考虑到速度和价格兼顾的计算机中,一般只能局部应用。特别是,数据通路中有少数控制门需要经常打开是,针对这种控制门,不译码控制是特别适合的。

3. 为了充分发挥不译码法的特点和弥补信息位表示的效率太低,可借助于其它编码方式,

2.最短字长编码(最小译码法)

优点:微指令长度短,

缺点:编码破坏了操作的并行性,导致执行指令时,器微操作序列完全是串行的

3.分段直接编译法

分段直接编译法,是不译码法与最小译码法之间的折中方案。

分段直接编译法,通常将微指令空盒子字段分为若干小字段,段内通过编码定义各自微命令含义。由于作为每一个独立小字段,每次译码只对应一种微命令,并且是明确定义的,与其他字段无关。因此,又称其为显示编码,或单重定义编码。

因为这种编码建有直接控制并行行好和译码可以提高信息表示效率的双重考虑,为此,选用时考虑如下:

1. 分段原则

分段按相容性和相斥性原则进行。

所谓相容性原则,就是把可以在同一时刻或同一主机周期内发生的微命令安排在不同字段内以使其并行操作。

所谓相斥性原则,就是把不能在同一时刻或同一机器周期内发出的命令安排在同一字段内,这些微命令是串行的。

分段直接编码的优点:

1微指令字长缩短约为不译码的2.4倍

2各段微操作是并行执行的,有利于提高指令的执行速度;每段的位数不多,一般不超过6位,其译码线路及组合线路较简单,门电路的延迟时间不大,有利于减少指令的执行时间,提高微程序的执行速度。

3若采用异功能部件来分段,便于微程序的编制和机器的调试检查。基于上述优点、分段直接编码的方法得到广泛应用。

4. 分段间接译码法(隐式编码,多重定义编码)

分段间接编码是在分段直接编码的基础上,进一步缩短微指令字长的一种编码方法

如果每一个字段的含义还需要另一个字段加解释,则称为字段间接编译法。属于这一类,常见的有

1可解释字段编译法

PDP-11用的是这种编码

若第31位为0,全局性微命令,即各类指令出现的可公用微命令。

若第31位为1,局部性微命令,即一条或几条微指令出现的专用微命令,如,异步服务标志、取址标志、变址标志、奇字节标志等。

2分类编译

IBM370 使用

3.间接编译

4.常数字段K 的设置

5微指令译码与部分机器指令译码的复合控制 (例如,只给除寄存器RI 而用机器号来确定是哪一个)

6微地址参与解释微指令码(例如:004 地址码当做控制信号作用相应门)

5.7微指令顺序控制字段的组成方式与设计

5.7.1确定微指令地址

一段微程序的执行,表现为一条条微指令的有序序列。因此,当前微指令执行时,必须产生后续的微指令地址。一般说来,有显示规定和隐式规定

显示规定,就是在微指令中,含有形成下条微指令地址时不会浪费时间,然而却浪费了控制控制器空间。

隐式规定,是使用一个微程序技术器。这时,出去转移指令外,都可以在微指令中忽略地址域。而只保留相应地解释字段来说明可选择后继微地址的来源。具体做法是:顺序执行时后继微地址由微指令计数器提供,微指令控制字段提供微指令:若转移,微指令控制字段提供转移地址(或高位部分或全部)

5.7.2微指令地址的形成

微指令的形成问题,包括两个内容;

1.初始地址的形成,我们采用功能转移方法。(有时靠着操作码转移)

2.后续微地址的形成。 1.增量方式(顺序-转移型)顺序计数器+1 条件转移一次两分支,多分枝先化两分支 无条件转给出全部或低位地址高位地址由PC给出。 循环情况微地址+2即可 转子时RR直接送给uMAR 注意uMAR既有MAR又有PC的+1功能

2.断定方式 也就是有一个给定部分和一个断定部分

怎样实现断定的?

设用能发器T1-T4 T作为位变量,经过译码形成断定地址

水平型微指令(同时产生的操作多) 垂直型微指令(相反)

5.8模型机的微程序设计

取出微指令并执行的过程叫做微指令周期 ,作用打开一条数据通路 代替了组合逻辑电路的节拍。

1.基本数据通路控制字段

(1)AI;ALU的A输入端选择,3位。

000 无输入

001 Ri->A (由机器指令中的寄存器号辅助指明Ri是谁,如Ro、R1、R2、R3、SP、PC) (复合控制方式)

010 C->A

011 D->A

100 PC->A(专用的PC->A命令,用于取址、变址中对PC的选择。而001编码中的PC->A,用于当指定Ri为PC的寻址)

(1)BI:ALU的B输入端选择,3位。

000 无输入

001 Ri->B(由机器指令中的寄存器号辅助指明Ri是谁,如R1、R2、R3、PSW)

010 C->B

011 D->B

100 MBR->B

AI与BI字段都有一些编码组合尚未定义,可供扩充微指令。

(3)SM:即ALU功能选择信号S3S2S1S0M,共5位,采取直接控制法(不译)原因就是此门使用很多

(4)C0:初始进位设置,2位。

00 C0=0

01 C0=1

10 PSW0(进位触发器)->C

(5) S:移位器控制,2位

00 DM(直送)

01 RL(左移)

10 RR(右移)

11 EX(高低字节交换)

(6)Z0:内总线输出分配,3位。

00 无输出,不发打入脉冲

001 CPRi(由机器指令中的寄存器号辅助指明Ri是谁,如Ro、R1、R2、R3、SP、PC、PSW

010 CPC

011 CPD

100 CPIR
101 CPMAR

110 CPMBR

111 CPPC (专用的CPPC命令,用于取指、变址中的打入PC)

2.访存操作控制字段

EMAR:1位,为1时由MAR向地址总线提供有效地址,为0时MAR与地址总线脱离。。

R:1位,为1时读主存,同时作为SMBR

W:1位,为1时写入主存。

以上三位采取直接控制法。若EMAR为0,CPU不访存,但可由DMA控制器提供地址。若R与W均为0,则主存不工作。

3.辅助操作控制字段ST,2位

01 开中断

10 关中断

JP:微程序顺序控制字段,4位

0000 顺序执行

0001无条件转移由第23~15位提供9位转移微地址

总结:按照化简的逻辑表达式构成与或非门然后加在各个控制门(信号)上 组合逻辑设计

微程序逻辑控制 : 将各个控制信号以微码的形式存入微指令中,需要此信号时,就把该指令读出,直接控制相应的门上,