第五章 中央处理机_第1页
第五章 中央处理机_第2页
第五章 中央处理机_第3页
第五章 中央处理机_第4页
第五章 中央处理机_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章中央处理(器)机

计算机的核心部分称为中央处理器(CentralProcessingUnit),简称CPU,它(早期)由运算器、控制器和寄存器组成。现代CPU中增加了Cache器件。5.1CPU的功能和组成计算机(微型机)的工作过程为:加电→产生Reset信号→执行指令→停机→断电对于冯.诺曼结构的计算机而言,一旦程序进入存储器后,就由控制器负责协调并控制计算机的各部件执行程序的指令序列,其基本工作过程为:取指令分析指令执行指令CPU的功能:(1)指令控制:控制指令的执行顺序,逐条执行或跳转执行。(2)操作控制:解释并控制指令的运行,即产生完成每条指令所需的控制命令。(3)时间控制:产生操作时序,按时间顺序启动各类操作,即对各种操作实施时间上的控制。(4)数据加工:对数据进行算术运算和逻辑运算。(5)处理中断:对异常情况进行处理。CPU的基本组成

CPU通常由以下四部分组成:(1)CU:能发出各种操作命令序列的控制部件。(2)ALU:能实现算逻运算的部件。(3)寄存器组:能存放指令或数据、指令地址或数据地址、状态信息等。(4)中断系统:能处理异常情况和特殊请求。CPUALUCU寄存器中断系统控制总线数据总线地址总线CPU的寄存器

CPU中的寄存器大致可分为两类:一类属用户可见寄存器,用户可对这类寄存器编程,以及通过优化使CPU因使用这类寄存器而减少对主存的访问次数。另一类属控制和状态寄存器,用户不可对这类寄存器编程,它们被控制部件使用,以控制CPU的操作,也可被带有特权的操作系统程序使用,从而控制程序的执行。(1)数据缓冲寄存器

DR

用于暂存由CPU送往内存的数据信息,或由内存送往CPU的指令信息和数据信息。(2)指令寄存器

IR

保存现行指令,从存储器取出的指令存放在

IR

中。指令寄存器中操作码字段输出作为指令译码器的输入,经译码转换为具体操作信号。

(3)程序计数器

PC

保存下一条指令地址,又称为指令地址寄存器。PC是具有计数功能的寄存器。(4)地址寄存器

AR

用于保存当前CPU所访问的内存单元地址。由于内存与CPU的速度差异,地址需保存至内存读/写操作完成为止。(5)通用寄存器组

GR

由多个寄存器组成,可存放操作数及地址信息。CPU中的通用寄存器有多个,可组成通用寄存器堆结构。使用时对寄存器进行编号,按寄存器号进行访问。(6)累加寄存器

ACAC简称为累加器,它是特殊的通用寄存器。其功能是暂存ALU运算结果,运算器中至少要有一个累加寄存器。(7)程序状态寄存器

PSW(SR)

SR是一个由各种状态条件标志组成的寄存器,用于存放程序状态字PSW。

PSW包含按算术、逻辑指令运行或测试的结果建立的条件码,如进位标志(C),溢出标志(V),结果为零标志(Z),负标志(N)等,这些标志分别由1位触发器保存。除此之外,PSW还包含中断和系统工作状态等信息,以便使系统及时了解机器运行状态和程序运行状态。操作控制器与时序发生器(1)数据通路

通常把许多寄存器之间传送信息的通路称为数据通路。信息由源传送到目的,其传输路径、传输方法由操作控制器决定。操作控制器的功能是根据指令操作码和时序信号,产生各种操作控制信号,从而建立数据通路,完成取指令和执行指令的控制。(2)操作控制器为数据通路的建立提供各种操作信号。根据设计方法不同,可分为时序逻辑型(硬布线控制器)和存储逻辑型(微程序控制器)。(3)时序产生器对各种操作实施时间上的控制,即提供定时和时序信号提供定时和时序信号。

5.2指令周期

计算机所以能自动地工作,是因为CPU能从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令……,如此周而复始,构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。指令周期的基本概念

(1)指令周期:CPU从内存取出一条指令并执行这条指令的时间总和。通常一个指令周期包含3~4个机器周期。如取指令周期、取操作数周期、指令执行周期等。(2)机器周期:又称CPU周期,通常把一条指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。机器周期对应指令执行的不同阶段,如取指令、取操作数、执行等阶段。各阶段长短不一,按最长的阶段划分机器周期。不同的指令,可能包含不同数目的机器周期。一个机器周期包含若干

个时钟周期。(3)时钟周期:两次时钟脉冲的时间间隔(主振频率的倒数)。又称节拍或T周期,对应基本定时信号在一个机器周期内,要完成若干个微操作。因而需要把一个机器周期分为若干个相等的时间段,每一个时间段称为一个节拍。节拍常用具有一定宽度的电位信号表示,称之为节拍电位。

多级时序系统反映了指令周期、机器周期和时钟周期之间的关系。一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期。每个指令周期内的机器周期数可以不等,每个机器周期内的时钟周期数也可以不等。例1:定长的机器周期。时钟T0机器周期机器周期机器周期T1T2T3T0T1T2T3T0T3T2T1(取指令)(取有效地址)(执行指令)指令周期节拍(状态)

设某处理机的主振频率f,p个时钟周期组成一个机器周期,且平均q个机器周期完成一条指令,则:时钟周期:t=1/f

平均一条指令的执行时间:T=p*q*t

平均运算速度:V=1/T=1/(p*q*t)例2:某微机的主振频率为40MHz,平均指令执行速度为

5MIPS,每个机器周期平均含有4个时钟周期,则该机每个指令周期平均含有多少个机器周期?

q=1/(p*V*t)=f/(p*V)=40/(4*5)=2非访内(MOV)指令的指令周期开始取指令PC+1对指令译码执行指令取下条指令PC+1一个CPU周期一个CPU周期取指周期执行周期直接访内(LAD、ADD、STO)指令的指令周期译地址码取出操作数送操作数地址执行操作取下条指令PC+1开始取指令PC+1指令译码一个CPU周期一个CPU周期一个CPU周期取指周期执行周期程序控制指令的指令周期地址译码取下条指令PC+1对指令译码执行周期取指周期取指令PC+1开始一个CPU周期一个CPU周期送转移地址用方框图语言表示指令周期在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。(1)方框:代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。(2)菱形:通常用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的CPU周期,而不单独占用一个CPU周期。指令执行过程可分解为一组操作序列,这些操作是功能级的。还可把它再细分为微操作序列,微操作序列是最基本的、不可再分割的操作。用方框图语言表示指令周期

PCABUS(I)IBUSIRPC+1R1+R2

R2译码IR

ARR1

R0R3

ARIR

PCARABUS(D)DBUSDRDRR1R2DBUS开始RD(I)RD(D)MOVLADADDSTOJMP例3:下图所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。5.3时序产生器和控制方式时序信号的作用和体制时序信号的作用是按一定的时间序列产生一系列脉冲与电位信号,控制器根据电位和定时脉冲的顺序和间隔指挥机器运作。组成计算机硬件的器件决定了时序信号最基本的体制是电位–脉冲制。如寄存器由多个触发器组成,在触发器的数据输入端D提供电平信号,在触发器的时钟端CLK提供脉冲信号,脉冲的上升沿时将电平信号打入,实现数据存储。用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢?(1)从时间上来说,取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。(2)从空间上来说,如果取出的代码是指令,那么一定送往指令寄存器,如果取出的代码是数据,那么一定送往运算器。总之,计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。控制器发出的各种控制信号一般都是时间因素(时序信号)和空间因素(部件位置)的函数,只要在要求的时间产生与要求部件相对应的控制信号,就可以控制计算机自动、连续、协调地运行。硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。在微程序控制器中,时序信号比较简单,一般采用节拍电位-节拍脉冲二级体制。⑴周期电位——机器周期持续时间,标志该周期对应的状态触发器被置“1”。⑵节拍电位——节拍持续时间,即一个时钟周期。一次寄存器之间的传送或一次ALU操作称为一个节拍。⑶节拍脉冲——节拍电位内的控制脉冲,对应最基本的定时信号和最基本的操作动作。时序信号产生器

微程序控制器中使用的时序信号产生器由时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。(1)时钟源:时钟源用来为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其输出送至环形脉冲发生器。(2)环形脉冲发生器:环形脉冲发生器的作用是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路对时钟脉冲信号进行分频、组合,产生所需周期电位、节拍电位和节拍脉冲。(3)节拍脉冲和存储器读/写时序:节拍脉冲T1—T4

的脉冲宽度均为200ns,因此一个CPU周期便是800ns,在下一个CPU周期中,它们又按固定的时间关系,重复T1,T2,T3,T4的先后次序,以供给机器工作所需的原始节柏脉冲。信号RD’和WE’是来自微程序控制器的控制信号,它们都是持续时间为一个CPU周期的节拍电位信号。节拍电位与节拍脉冲时序关系

控制方式控制方式即控制不同操作序列时序信号的方法。常用的有同步控制、异步控制、联合控制三种方式,其实质反映了时序信号的定时方式。(1)同步控制方式(又称固定时序方式)在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。根据不同情况,同步控制方式可选取如下方案:采用完全统一的机器周期执行各种不同的指令。采用不定长机器周期。中央控制与局部控制结合。(2)异步控制方式(又称可变时序方式)各部件不采用统一的周期和节拍。可设置独立的时序系统,也可以使用同一时钟系统,但按不同的需要选择时间。时间上的衔接通过应答通讯方式实现,即以前一部件的结束信号作为后一部件的启动信号。其特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。(3)联合控制方式为同步控制和异步控制相结合的方式。机器周期数不固定,对大多数指令采用同步控制,对少部分指令采用异步控制,即局部性异步控制。5.4微程序控制器

微程序设计思想是英国剑桥大学教授M.V.Wilkes在1951年首先提出来的。他指出:一条机器指令可以分解为许多基本的操作序列,这些操作可以归结为信息的传送控制,其关键就是对逻辑门的控制。而对逻辑门的控制则可以通过存储阵列中的信息位来实现,从而用一种规则的,类似于程序设计的方法来设计计算机的控制逻辑,这就是微程序设计的基本思想。微程序设计的本质是用软件方法组织和控制系统中的信息传送,并用硬件结构加以管理。微程序的出现给计算机控制器的设计和实现技术带来了巨大影响。它与纯硬件方法相比,大大减少了硬连逻辑控制器的复杂程度。由于微程序在设计上象软件,在制作上象硬件,于是人们将它称为“固件”。

微程序控制原理微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。(1)名词术语(a)微命令:在微程序控制的计算机中,用来管理控制门的打开或关闭的控制信号。(b)微操作:指执行部件接受微命令后所执行的操作。相斥性微命令:在同一CPU周期内不能并行执行的微命令。相容性微命令:在同一CPU周期内可以并行执行的微命令。(c)微指令:是若干微命令的集合,存放在控制存储器中。(d)微周期:是指控存读取一条微指令并执行相应的微操作所需的时间。(e)微程序:是若干微指令的有序集合,用于解释一条机器指令的执行。(f)微程序设计:所谓微程序设计就是用类似程序设计的方法,组织和控制计算机内部信息的传送和相互联系,其设计任务包括:设计微指令和编制微程序。因此要求微程序设计人员必须掌握程序设计的方法、非常熟悉计算机的数据通路、微命令系统和时序系统。(2)微程序控制器的组成主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。(a)控制存储器:这是微程序控制器的核心部件,用来存放实现全部指令系统的微程序,它是一种只读存储器。一旦微程序固化,机器运行时则只读不写。(b)微指令寄存器:用于存放由控制存储器读出的一条微指令信息,它的位数同微指令字长相等。(c)微地址寄存器:存放下一条微指令的地址。顺序执行时从微指令中获取下微指令地址,转移时由地址修改逻辑自动修改微地址。(d)地址转移逻辑:用来产生初始微地址和后继微地址,以保证微指令的连续执行。微程序跳转执行时,判别测试字段P和执行部件的“状态条件”反馈信息,自动修改微地址寄存器内容。(3)微程序控制器工作原理

首先将取指微程序(公用)和每条机器指令所对应的微程序存入控制存储器,然后通过执行微程序来实现取指令和执行指令,其过程如下:(a)取指令将用户程序的首地址送至PC,进入取指阶段:取指微程序首地址送至CMAR→执行取指微程序→将一条指令取至IR。(b)执行指令根据IR中的操作码形成相应指令的微程序首地址送至CMAR→执行对应的微程序→微程序结束则一条机器指令被解释完→转取指微程序首地址。(c)重复(a)和(b),直到整个程序执行完为止。对应ADD指令的微程序控制存储器MM+1M+2Q+2Q+1QK+2K+1KQ+2Q+1M+1M+2MK+1K+2M对应STA指令的微程序取指微程序(公操作)微程序设计技术设计微指令结构追求的目标是:(a)缩短微指令字的长度(b)减小控制存储器容量(c)提高微程序执行速度(d)便于修改微指令(e)提高微程序设计的灵活性(1)微指令的基本格式操作控制字段:发出各种控制信号。顺序控制字段:指出下条微指令的地址,以控制微指令序列(微程序)的执行顺序。操作控制字段顺序控制字段(2)微命令编码

指如何对微指令的的操作控制字段进行编码,以形成控制信号。通常有三种编码方法:直接表示法、编码表示法、混合表示法。(a)直接表示法:指微指令操作控制字段的每一位代表一个微命令,直接对应于一种微操作。例如某位置“1”,表示该微命令(控制信号)有效;置“0”表示该微命令(控制信号)无效。优点:微指令执行速度快、并行控制能力强、编制微程序短。缺点:微指令字长很长、控存位码利用率很低。

1控制信号操作控制1000下地址(b)编码表示法:将操作控制字段分为若干个小段,采用分段译码,对控制字段的二进制位进行译码,以不同的码点定义不同的微命令。一般将互斥的微命令组合在同一字段中,而将相容的微命令组合在不同的字段中,从而达到缩短微指令字长的目的。编码表示法特点:可以避免互斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢

译码7个微命令操作控制译码控制信号下地址(c)混合编码方式该方法将直接控制方式和字段编码方式混合使用,既能缩短微指令的字长,又具有并行操作效率高、速度快的特点,因而得到了广泛的应用。(3)微地址形成方法微指令执行的顺序控制问题,实际上是如何确定下一条微指令的地址问题。通常,产生后继微地址有两种方法:(a)计数器的方式使用微程序计数器μPC,顺序执行时每执行一条微指令后μPC+1,跳转执行时由跳转指令提供转移地址。

根据转移方式字段BCF的要求,生成不同的后继微指令地址。若BCF=3位,则有8种转移方式;BAF=8位,则表示转移范围≤256(条微指令空间)。例4:

(a)BCF=000,顺序执行:(μPC)+1→μPC。

(b)BCF=001,结果为0转移:运算结果=0,BAF→μMAR,否则顺序执行,(μPC)+1→μPC。

(c)BCF=011,无条件转移:BAF→μMAR。操作控制字段BCFBAF转移方式转移地址(b)多路转移方式在多路转移方式中,当微程序不产生分支时,后继微地直接由微指令的顺序控制字段给出;当微程序出现分支时,有若干“后选”微地址可供选择:即按顺序控制字段的“判别测试”标志和“状态条件”信息来选择其中一个微地址。“状态条件”有n位标志,可实现微程序2的n次方路转移。操作控制字段H字段L字段μIR测试网络测试源测试地址非测试地址后继微指令地址

若L字段=n位,则可实现2n

路分支转移。

n=24路分支0000011011(4)微指令的分类(a)水平型微指令水平型微指令字长较长、能控至多个并行操作,微命令与控制点之间有较好的直接对应关系,在微指令中不必给出源部件和目的部件的编址,执行效率高、速度快。采用水平型微指令编制的微程序称为水平型微程序。(b)垂直型微指令垂直型微指令的字长短、控存位码利用率高,但一条微指令只能控制1~2种微操作,并行控制能力低。微命令与控制点之间不存在直接对应关系,在微指令中必须给出源部件和目的部件的编址,执行效率低。采用垂直型微指令编制的微程序称为垂直型微程序。水平型微指令是面向数据通路的描述,而垂直型微指令是面向操作算法的描述。(5)水平型微指令和垂直型微指令的比较

(a)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。(b)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(c)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。(d)水平型微指令用户难以掌握,因为水平型微指令与机器指令差别很大,一般需要对机器的结构、数据通路、时序系统及微命令很精通才能设计,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。微程序设计举例

微程序控制器是根据数据通路和指令系统来设计的,其核心是如何编制微程序(微码)并存入控存。设计步骤如下:(1)画出数据通路,标出微操作控制信号。(2)确定微指令格式。(3)画出每条指令的微程序流程。(4)列出每条指令的微程序清单(编制微程序),转换成微代码。(5)将微代码写入控存。例5:编程举例1

单总线结构中的数据通路和控制信号CU时钟IRPCMARMDR控制信号IRiPCiPCOMARiMDRiMDROALU控制信号ALUiACACiCPU内部总线地址线数据线下标:

i为输入控制

o为输出控制例PCi

=1,输入有效0,输入无效IRo执行加法指令ADDX的控制过程。(1)取指周期(a)PCO=1和MARi

=1:完成PC→MAR。(b)1→R:向主存发读命令。(c)存储器将指令送至MDR。(d)MDRO=1和IRi

=1:MDR(指令)→IR,操作码送CU。(e)PC内容加1。(2)执行周期(a)IRO=1和MARi

=1:IR(有效地址)→MAR。(b)1→R:向主存发读命令。(c)存储器将操作数送至MDR。(d)MDRO=1和ALUi

=1。(e)CU向ALU发“ADD”控制信号,完成(AC)+(MDR)→Z的操作。(f)ACi

=1:(结果)→AC。数据通路采用单总线结构,微指令操作控制字段取

24位(直接控制),下地址字段取6位。其中:0位:PC→MAR1位:1→R2位:M(MAR)→MDR3位:(PC)+1→PC4位:MDR→IR5位:0→AC10位:Ad(IR)→MAR11位:(MDR)+(AC)→AC12位:1→W13位:AC→MDR14位:MDR→M(MAR)15位:MDR→AC16位:Ad(IR)→PC(a)取指微程序(c)ADD指令的微程序

PC→MAR,1→RAd(IR)→MAR,1→RM(MAR)→MDR,(PC)+1→PCM(MAR)→MDRMDR→IR(MDR)+(AC)→AC(b)CLA指令的微程序(d)JMP指令的微程序

0→ACAd(IR)→PC微指令地址(八进制)微程序名称29282726252423222120191817161514131211109876542310微程序清单(4条指令)微指令(二进制代码)操作控制字段下地址字段取指CLAADDSTALDAJMP0001020310111213141516172021111111111111111111111******11111111111111表中:空格=0例6:编程举例2(1)画出数据通路,标出微操作控制信号。(2)确定微指令格式。(3)画出每条指令的微程序流程。(4)列出每条指令的微程序清单(编制微程序),转换成微代码。(5)将微代码写入控存。(1)基本模型机数据通路框图299ALUARR2R1R0DR2DR1PCIR微控器译码INOUTRAMAR299-BUSMS0S1S2S3ALU-BUSCNLDDR1LDDR2LDR0LDR1LDR2R0-BUSR1-BUSR2-BUSW/RA8A9LDIRCS3CS2CS1SW-BUSLEDW/RW/RCELDPCLDARLOAD数据总线地址总线(2)微指令格式SW-BPX1UA5UA4UA3UA2UA1UA0WELDR0LDDR1LDDR2LDIRLDPCLDARPX2S3S2S1S0MCNLOADCEA8A9PX3保留位ABC中断M19M18M17M16M15M14M13M12M11M10M9M8M7M6M5M4M3M2876543M1M0A字段CBA选择禁止识别操作码000011110001101001110101PC-BALU-B299-BRs-BRd-B保留位保留位B字段中断M9M1PX3PX2PX1选择000011110011001101010101P(1)P(2)P(Z)P(I)P(D)P(C)关闭测试判寻址方式Z标志测试中断响应保留位C标志测试中断服务(3)微程序流程:PC

ARPC+1RAM

BUSBUSIRPC

ARPC+1RAM

BUSBUSARR0

BUSBUSRAMR0

DR1(DR1)+(DR2)

R0P(1)PC

ARPC+1SW

R0PC

ARPC+1PC

ARPC+1RAM

BUSBUSARRAM

BUSBUSDR2RAM

BUSBUSARRAM

BUSBUSLEDRAM

BUSBUSPC010208090A0B0C0D0307131504161405060101010101INADDSTAOUTJMP(4)机器指令程序如下:地址(二进制)内容(二进制)

助记符说明

000000100000INR0数据开关内容

R0000101000000ADDR0,09HR0+[09H]R0001000001001001101100000STA0BH,R0R0[0BH]010000001011010110000000OUT0BH,LED[0BH]LED011000001011011110100000JMP00H00HPC100000000000100101010101自定

10101010

1010

自定

1011(前3位为操作码)求和结果(4)机器指令对应的微程序如下:微程序:M0000402080M0120006040M0200801012M0300804020M04008008A0M05A0000460M0640290280M0700804068M080000

0080M0900000281IN指令入口M0A200060C0ADD指令入口M0B200060E0STA指令入口M0C200060C8OUT指令入口M0D200060A8JMP指令入口M0E200060E8M0F20006098M1000402089M1120006048M1200800189M1300804028M1403800080M1500C02080M16A0800180(5)微程序的编写特征码(状态位)区域号(03)微地址(03F)微程序(8位)(显示)微指令区域分配表区域号A8A9PX3保留ARABCS3S2S1S0MCNADCEPX2ARPCIRDR2DR1R0WEU0U1U2U3U4U5PX1SW微指令区对应位空间对应位控制功能012331……………….2423……………….1615………………..8

7………………...05.5硬连线控制器

硬布线控制器是早期设计计算机的一种方法。这种方法是把控制部件看作为产生专门固定时序控制信号的逻辑电路,而此逻辑电路以使用最少元件和取得最高操作速度为设计目标。一旦控制部件构成后,除非重新设计和物理上对它重新布线,否则要想增加新的控制功能是不可能的。这种逻辑电路是一种由门电路和触发器构成的复杂树形逻辑网络,故称之为硬布线控制器。布尔代数为理论基础,将指令译码器输出、时序信号及状态条件用组合逻辑方法产生各种微操作控制信号。

微操作=周期•节拍•脉冲•指令码•状态。硬布线控制器的结构图逻辑网络的输入信号来源有三个:⑴

来自指令操码译码器的输出。⑵

来自执行部件的反馈信息。⑶

来自时序产生器的时序信号,包括节拍电位信号M和节拍脉冲信号T。逻辑网络N输出微操作控制信号,用于对执行部件进行控制。

C=f(Im,Mi,Tk,Bj)微操作控制信号的产生(微操作的节拍安排)在微程序控制器中,微操作控制信号由微指令产生,并且可以重复使用。在硬联线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。假设机器采用同步控制,每个机器周期包含3个节拍T0、T1、

T2,微操作节拍安排如下:(1)取指周期微操作的节拍安排(a)T0节拍安排两个微操作:PC→MAR,1→R(b)T1节拍安排两个微操作:M(MAR)→MDR,

(PC)+1→PC。

(c)T2节拍安排:MDR→IR,OP(IR)→ID。

(2)间址周期微操作的节拍安排(a)T0节拍安排:Ad(IR)→MAR,1→R。(b)T1节拍安排:M(MAR)→MDR。(c)T2节拍安排:MDR→Ad(IR)。(3)执行周期微操作的节拍安排(a)清除累加器指令CLAT0:

T1:

T2:0→AC。(b)加法指令ADDXT0:Ad(IR)→MAR,1→R。

T1:M(MAR)→MDR。

T2:(AC)+(MDR)→AC。

(c)存数指令STAXT0:Ad(IR)→MAR,1→W。

T1:AC→MDR。

T2:MDR→M(MAR)。(d)取数指令LDAXT0:Ad(IR)→MAR,1→R。

T1:M(MAR)→MDR。

T2:MDR→AC。(e)无条件转移指令JMPXT0:

T1:

T2:Ad(IR)→PC。组合逻辑设计步骤(1)绘制指令操作流程图(前趋图)根据机器的总体结构、数据通路、指令的格式、寻址方式和各种操作的运算方法,把每条指令都分解为机器各部件能实现的基本微操作,用指令流程图的形式,简明地表示每条指令的执行过程。(2)列出微操作命令的操作时间表根据各条指令的操作流程,弄清每个微操作的执行时间,然后把它们落实到选定的周期、节拍和脉冲中去,得到操作时间表。(3)写出微操作命令的最简表达式将操作时间表中各条指令的微命令(控制信号)加以整理,通常把同一个微操作产生的条件、所需的周期、节拍和脉冲综合在一起,写出它们的逻辑表达式。例6: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均来自操作码译码器的输出,FE、IND、EX均来自周期状态发生器的输出,T1来自节拍状态发生器的输出。(4)画出微操作命令的逻辑图,设计逻辑电路。组合逻辑设计步骤(a)列出操作时间表T2T1T0

FE取指JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII1111111111111111111111111111111111111111111111(a)列出操作时间表T2T1T0

IND

间址JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND11111111111111111111(a)列出操作时间表T2T1T0

IND

间址JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND11111111111111111111(a)列出操作时间表T2T1T0

EX执行JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)ACMDRM(MAR)MDRAC0AC1W1111111111111(b)写出微操作命令的最简表达式=FE

·T1+IND·T1(ADD+STA+LDA+JMP+BAN)+EX·T1(ADD+LDA)M(MAR)MDR=T1{FE+IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)}(c)画出逻辑图特点

思路清晰简单明了

庞杂调试困难修改困难

速度快&&&11&&&&&≥FEINDEXLDAADDJMPBANSTAT1M(MAR)MDR(RISC)&&5.6流水CPU并行处理技术(1)并行性概念

所谓并行性通常包含同时性和并发性两个方面。同时性是指两个或多个事件在同一时刻发生,并发性是指两个或多个事件在同一时间段发生。(2)并行性等级并行性体现在不同等级上,通常分为四个级别:作业级或程序级、任务级或进程级、指令之间级、指令内部级。前两级为粗粒度,又叫过程级;后两级为细粒度,又叫指令级。粗粒度并行性一般用算法(软件)实现,细粒度并行性一般用硬件实现。为了达到高性能的要求并满足大量计算应用领域的需要,一方面可在单处理内广泛采取多种并行性措施,沿着时间重叠、资源重复和资源共享三条技术途径向现代并行处理领域发展,另一方面把多台计算机连接起来、相互配合、各尽其能,沿着功能专门化、多机群和网络化这三种基本技术途径向现代并行处理领域发展。流水CPU的结构为了实现CPU流水,将指令执行过程分割为一系列子过程,为每个子过程设置相应执行部件,各部件可并发执行。当任务(指令)连续不断地输入流水线时,在流水线的输出端连续输出执行结果,从而实现流水。

例7:某计算机将指令执行过程分为取指令IF、译码ID、执行EX、回写WB四个步骤,采用非流水线及流水线处理时空图为:IFIDEXWB入出S1S2S3S4非流水CPU流水CPU设操作步骤为m,m=4,时钟周期为△t

,△t=50ns,指令条数为n,n=4。(a)采用非流水线操作时间为:

n×m×△t=4×4×50=800ns。(b)而采用流水线操作时为:

m×△t+(n–1)×△t=200+3×50=350ns。当指令条数n很大时,流水线执行时间近似为n×△t

,即每个节拍执行一条指令。

流水线的分类(1)按完成的功能分:单功能流水线、多功能流水线。(2)按同一时间内各段之间的连接方式分:静态、动态流水线。(3)按流水线的级别分:部件级、处理机级、系统级流水线。(4)按数据表示分:标量流水线、向量流水线。(5)按流水线中是否有反馈回路分:线性流水线、非线性流水线。流动顺序:S1、S2、S3、S4、S2、S3、S4、S3。S1S4S3S2入出反馈回路流水线中的主要问题

(1)访存冲突由于取指令、取操作数和存结果都要访问存储器,因此当前一条指令取指操作和后一条指令取数操作出现在同一时间段时,就发生了访存冲突。解决方法如下:(a)设置两个独立的存储器分别存放指令和操作数,以免取指令和取操作数同时进行时互相冲突,使取某条指令和取另一条指令的操作数实现时间上的重叠。(b)根据程序局部性原理,设置指令缓冲器IBR,再采用指令预取技术,将指令预取进IBR。顺序执行指令时,CPU直接从IBR中快速获得指令;程序转移时,若转移点不在IBR内,则废除IBR中的内容,由PC指向主存,取出转移点对应的指令到IR,同时也将该点之后的若干指令取入IBR,以便程序从转移点处继续执行。(2)相关问题所谓相关是指程序的相近指令之间出现某种关联,使指令流水线出现停顿,影响了流水线的效率。流水处理过程中会出现以下三种相关冲突,使流水线断流。(a)资源相关:指多条指令在流水线同一时钟周期内争用同一资源发生的冲突。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论