计算机组成原理
计算机组成原理
第1篇 概论
第1章 计算机系统概论
1.1 计算机系统简介
1.1.1 计算机的软硬件概念
1.1.2 计算机系统的层次结构
1.1.3 计算机组成和计算机体系结构
在学习计算机组成时,应当注意如何区别计算机体系结构与计算机组成这两个基本概念。 计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。 计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。例如,指令系统体现了机器的属性,这是属于计算机结构的问题。但指令的实现,即如何取指令、分析指令、取操作数、运算、送结果等,这些都属于计算机组成问题。
1.2 计算机的基本组成
1.2.1 漏·诺依曼计算机的特点
1945年,数学家冯·诺依曼(von Neumann)在研究EDVAC机时提出了“存储程序”的概念。以此概念为基础的各类计算机通称为冯·诺依曼机。它的特点可归结如下:
- 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。
- 指令和数据以同等地位存放于存储器内,并可按地址寻访。
- 指令和数据均用二进制数表示。
- 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
- 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
- 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。
计算机的五大部件(又称五大子系统)在控制器的统一指挥下,有条不紊地自动工作:
- 运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内。
- 存储器用来存放数据和程序。
- 控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果。
- 输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等。
- 输出设备可将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输出等。
由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现后,这两大部件往往集成在同一芯片上,因此,通常将它们合起来统称为中央处理器(Central Processing Unit,CPU)。 把输入设备与输出设备简称为I/O设备。
算术逻辑单元(Arithmetic Logic Unit,ALU)简称算逻部件,用来完成算术逻辑运算。 控制单元(Control Unit,CU)用来解释存储器中的指令,并发出各种操作命令来执行指令。 ALU和CU是CPU的核心部件。
1.2.2 计算机的硬件框图
- 系统复杂性管理的方法-2(3’Y)
- 层次化(Hierachy):将被设计的系统划分为多个模块或子模块
- 模块化(Modularity):有明确定义(well-defined)的功能和接口
- 规则性(regularity):模块更容易被重用
1.2.3 计算机的工作步骤
存储器的基本组成:
- 为了能实现按地址访问的方式,主存中还必须配置两个寄存器MAR和MDR.
- MAR(Memory Address Register)是存储器地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数。
- MDR(Memory Data Register)是存储器数据寄存器,用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。
- 存储器 - 存储体 & MAR & MDR
- 存储体 - 存储单元 - 存储原件
- 存储单元 存放一串二进制代码
- 存储字 存储单元中二进制代码的组合
- 存储字长 存储单元中二进制代码的位数
- 每个存储单元赋予一个地址号
- 按地址寻访
- MAR 存储器地址寄存器
- 反映存储单元的个数
- 4位 0000~1111 16个
- MDR 存储器数据寄存器
- 反映存储字长
- 8个
运算器的基本组成:运算器最少包括3个寄存器和一个算术逻辑单元(ALU)。
- 其中ACC(Accumulator)为累加器
- MQ(Multiplier-Quotient Register)为乘商寄存器
- X为操作数寄存器
控制器的基本组成:
- 过程:
- 取指:控制器是计算机的神经中枢,由它指挥各部件自动、协调地工作。具体而言,它首先要命令存储器读出一条指令,称为取指过程(也称取指阶段)。
- 分析:接着,它要对这条指令进行分析,指出该指令要完成什么样的操作,并按寻址特征指明操作数的地址,称为分析过程(也称分析阶段)。
- 执行:最后根据操作数所在的地址以及指令的操作码完成某种操作,称为执行过程(也称执行阶段)。
- PC 取指令 控制器由程序计数器(Program Counter,PC)
- IR 分析指令 指令寄存器(Instruction Register,IR)
- CU 执行指令 以及控制单元(CU)组成
1.3 计算机硬件的主要技术指标
1.3.1 机器字长
- 机器字长
- 机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。
1.3.2 存储容量
存放二进制信息的总位数
1.3.3 运算速度
- 运算速度
- 核数,每个核支持的线程数
- CPI 执行一条指令所需时钟周期数
- MIPS 每秒执行百万条指令
- FLOPS 每秒浮点运算次数
1.4 本书结构
本书介绍计算机组成原理,其内容安排如下: 第1篇:概论,介绍计算机系统的基本组成、应用与发展。 第2篇:计算机系统的硬件结构,引导读者自顶向下了解计算机系统的硬件结构,包括中央处理器、存储器、I/O等主要部件以及连接它们的系统总线。其中,除中央处理器比较复杂放在第3篇单独讲述外,其他各部件均在此篇介绍。 第3篇:中央处理器(CPU),本篇讲述CPU的功能和结构,并对影响CPU特性、结构和功能的算逻单元及其运算方法、指令系统、指令流水、中断系统等进行详细分析。有关控制单元(CU)在第4篇单独介绍。 第4篇:控制单元(CU),本篇在详细分析时序系统以及微操作命令节拍安排的基础上,分别介绍如何用组合逻辑控制及微程序控制两种方法设计和实现控制单元。 总之,全书按自顶向下、由表及里的层次结构,向读者展示计算机的组成及其工作原理,目的是使读者能先从整体上对计算机有一个粗略的认识,然后,逐步深入到机器内核,从而更容易形成计算机的整体概念。图1.12形象地描述了上述各章节之间的联系。
第2章 计算机的发展及应用
2.1 计算机的发展史
2.1.2 微型计算机的出现和发展
2.1.3 软件技术的兴起和发展
2.2 计算机的应用
2.2.1 科学计算和数据处理
2.2.3 网络技术的应用
2.2.4 虚拟现实
2.2.5 办公自动化和管理信息系统
2.2.6 CAD/CAM/CIMS
2.2.8 人工智能
2.3 计算机的展望
第2篇 计算机系统的硬件结构
第3章 系统总线
3.1 总线的基本概念
计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接; 另一种是将各部件连到一组公共信息传输线上,称为总线连接。
3.2 总线的分类
3.2.1 片内总线
片内总线是指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间、寄存器与算逻单元ALU之间都由片内总线连接。
3.2.2 系统总线
系统总线是指CPU、主存、IO设备各大部件之间的信息传输线。由于这些部件通常都安放在主板或各个插件板(插卡)上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。
按系统总线传输信息的不同,又可分为三类:数据总线、地址总线和控制总线。
- 数据总线的位数称为数据总线宽度,它是衡量系统性能的一个重要参数。
- 地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或IO设备的地址。
- 地址线的位数与存储单元的个数有关,如地址线为20根,则对应的存储单元个数为2^{2 0}。
- 由于数据总线、地址总线都是被挂在总线上的所有部件共享的,如何使各部件能在不同时刻占有总线使用权,需依靠控制总线来完成,因此控制总线是用来发出各种控制信号的传输线。
3.2.3 通信总线
这类总线用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信。由于这类联系涉及许多方面,如外部连接、距离远近、速度快慢、工作方式等,差别极大,因此通信总线的类别很多。但按传输方式可分为两种:串行通信和并行通信。
3.3 总线特性及性能指标
3.3.1 总线特性
从物理角度来看,总线由许多导线直接印制在电路板上,延伸到各个部件。
为了保证机械上的可靠连接,必须规定其机械特性;为了确保电气上正确连接,必须规定其电气特性;为保证正确地连接不同部件,还需规定其功能特性和时间特性。
- 机械特性
- 机械特性是指总线在机械连接方式上的一些性能,如插头与插座使用的标准,它们的几何尺寸、形状、引脚的个数以及排列的顺序,接头处的可靠接触等。
- 电气特性
- 电气特性是指总线的每一根传输线上信号的传递方向和有效的电平范围。
- 通常规定由CPU发出的信号称为输出信号,送入CPU的信号称为输入信号。
- 例如,地址总线属于单向输出线,数据总线属于双向传输线,它们都定义为高电平为“1”,低电平为“0”。控制总线的每一根都是单向的,但从整体看,有输入,也有输出。有的定义为高电平有效,也有的定义为低电平有效,必须注意不同的规格。
- 功能特性
- 功能特性是指总线中每根传输线的功能
- 地址总线用来指出地址码;
- 数据总线用来传递数据;
- 控制总线发出控制信号。
- 功能特性是指总线中每根传输线的功能
- 时间特性
- 时间特性是指总线中的任一根线在什么时间内有效。每条总线上的各种信号互相存在一种有效时序的关系,因此,时间特性一般可用信号时序图来描述。
3.3.2 总线性能指标
总线性能指标如下。
- 总线宽度:通常是指数据总线的根数,用bit(位)表示,如8位、16位、32位、64位(即8根、16根、32根、64根)。
- 总线带宽(标准传输率):总线带宽可理解为总线的数据传输速率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位可用MBps(兆字节每秒)表示。
- 时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线。
- 总线复用:一条信号线上分时传送两种信号。
- 例如,通常地址总线与数据总线在物理上是分开的两种总线,地址总线传输地址码,数据总线传输数据信息。
- 为了提高总线的利用率,优化设计,特将地址总线和数据总线共用一组物理线路,在这组物理线路上分时传输地址信号和数据信号,即为总线的多路复用。
- 信号线数:地址总线、数据总线和控制总线三种总线数的总和。
- 总线控制方式:包括突发工作、自动配置、仲裁方式、逻辑方式、计数方式等。
- 其他指标:如负载能力、电源电压(是采用5 V还是3.3V)、总线宽度能否扩展等。
3.3.3 总线标准
3.4 总线结构
3.4.2 多总线结构
3.4.3 总线结构举例
3.5 总线控制
3.5.1 总线判优控制
基本概念
- 主设备
- 从设备
总线判优控制:
- 集中式
- 链式查询
- 计数器定时查询
- 独立请求方式
- 这种方式的特点是:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。
- 分布式
3.5.2 总线通信控制
通常将完成一次总线操作的时间称为总线周期,可分为以下4个阶段。
- 申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授于某一申请者。
- 寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。
- 传数阶段:主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目的模块。
- 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。 通常用四种方式:
- 同步通信
- 某个输入设备向CPU传输数据的同步通信过程
- 这种通信的优点是规定明确、统一,模块间的配合简单一致。
- 其缺点是主、从模块时间配合属于强制性“同步”,必须在限定时间内完成规定的要求。
- 并且对所有从模块都用同一限时,这就势必造成,对各不相同速度的部件而言,必须按最慢速度的部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。
- 异步通信
- 异步通信克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。它没有公共的时钟标准,不要求所有部件严格的统一操作时间,而是采用应答方式(又称握手方式),即当主模块发出请求(Request)信号时,一直等待从模块反馈回来“响应”(Aoknowledge)信号后才开始通信。当然,这就要求主、从模块之间增加两条应答线(握手交互信号线 Handshaking).
- 不互锁
- 主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号;从模块接到请求信号后,在条件允许时发出回答信号,并且经过一段时间(这段时间的设置对不同设备而言是不同的)确认主模块已收到回答信号后,自动撤销回答信号。
- 半互锁
- 主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号,有互锁关系;而从模块在接到请求信号后发出回答信号,但不必等待获知主模块的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号,无互锁关系。由于一方存在互锁关系,一方不存在互锁关系,故称半互锁方式。
- 全互锁
- 主模块发出请求信号,必须待从模块回答后再撤销其请求信号;从模块发出回答信号,必须待获知主模块请求信号已撤销后,再撤销其回答信号。双方存在互锁关系,故称为全互锁方式。例如,在网络通信中,通信双方采用的就是全互锁方式。
- 半同步通信
- 半同步通信既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;同时又像异步通信那样,允许不同速度的模块和谐地工作。为此增设了一条“等待 响应信号线,采用插入时钟(WAIT等待)周期的措施来协调通信双方的配合问题。
- 半同步通信适用于系统工作速度不高但又包含了由许多工作速度差异较大的各类设备组成的简单系统。半同步通信控制方式比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还不是很高。
- 分离式通信
- 以上三种通信方式都是从主模块发出地址和读写命令开始,直到数据传输结束。在整个传输周期中,系统总线的使用权完全由占有使用权的主模块和由它选中的从模块占据。进一步分析读命令传输周期,发现除了申请总线这一阶段外,其余时间主要花费在如下3个方面。
- 主模块通过传输总线向从模块发送地址和命令。
- 从模块按照命令进行读数据的必要准备。
- 从模块经数据总线向主模块提供数据。
- 这种通信方式的特点如下:
- 各模块欲占用总线使用权都必须提出申请。
- 在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号。
- 各模块在准备数据的过程中都不占用总线,使总线可接受其他模块的请求。
- 总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分地利用了总线的有效占用,从而实现了总线在多个主、从模块间进行信息交叉重叠并行式传送,这对大型计算机系统是极为重要的。
- 以上三种通信方式都是从主模块发出地址和读写命令开始,直到数据传输结束。在整个传输周期中,系统总线的使用权完全由占有使用权的主模块和由它选中的从模块占据。进一步分析读命令传输周期,发现除了申请总线这一阶段外,其余时间主要花费在如下3个方面。
第4章 存储器
4.1 概述
4.1.1 存储器分类
- 按存储介质分类
- 存储介质是指能寄存“0”“1”两种代码并能区别两种状态的物质或元器件。存储介质主要有半导体器件、磁性材料和光盘等。
- 半导体存储器
- 磁表面存储器
- 磁芯存储器
- 光盘存储器
- 按存取方式分类
- 随机存储器(Random Access Memory,RAM)
- RAM是一种可读/写存储器,其特点是存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。
- 计算机系统中的主存都采用这种随机存储器。
- 由于存储信息原理的不同,RAM又分为静态RAM(以触发器原理寄存信息)和动态RAM(以电容充放电原理寄存信息)。
- 只读存储器(Read Only Memory,ROM)
- 串行访问存储器
- 随机存储器(Random Access Memory,RAM)
- 按在计算机中的作用分类
- 按在计算机系统中的作用不同,存储器主要分为主存储器、辅助存储器、缓冲存储器。
- 主存储器(简称主存)的主要特点是它可以和CPU直接交换信息。
- 辅助存储器(简称辅存)是主存储器的后援存储器,用来存放当前暂时不用的程序和数据,它不能与CPU直接交换信息。两者相比,主存速度快、容量小、每位价格高;
- 辅存速度慢、容量大、每位价格低。
- 缓冲存储器(简称缓存)用在两个速度不同的部件之中,例如,CPU与主存之间可设置一个快速缓存(有关内容将在4.3节中讲述),起到缓冲作用。
4.1.2 存储器的层次结构 77
- 存储器的三个主要特性的关系:
- 速度/容量/价格
- 缓存-主存层次 和 主存-辅存层次
4.2 主存储器 78
4.2.1 概述
现代计算机的主存都由半导体集成电路构成,图中的驱动器、译码器和读写电路均制作在存储芯片中,而MAR和MDR制作在CPU芯片内。 存储芯片和CPU芯片可通过总线连接。 MDR <> 数据总线 MAR <> 地址总线 当要从存储器读出某一信息字时,首先由CPU将 读该字的地址送到MAR,经地址总线送至主存,然后发出读命令。主存接到读命令后,得知需将该地址单元 地址总线MAR的内容读出,便完成读操作,将该单元的内容读至数据总线上,至于该信息由MDR送至什么地方,这已不是主存的任务,而是由CPU决定的。 若要向主存存入一个信息字时,首先CPU将该字所在主存单元的地址经MAR送到地址总线,并将信息字送入MDR,然后向主存发出写命令,主存接到写命令后,便将数据线上的信息写入对应地址线指出的主存单元中。
主存中存储单元地址的分配:
- 主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。不同的机器存储字长也不同,为了满足字符处理的需要,常用8位二进制数表示一个字节,因此存储字长都取8的倍数。通常计算机系统既可按字寻址,也可按字节寻址。
- 大端:高位字节地址为字地址
- 小端:低位字节地址为字地址
主存的技术指标:
- 主存的主要技术指标是存储容量和存储速度。
- (1)存储容量
- 存储容量是指主存能存放二进制代码的总位数,即
- 存储容量=存储单元个数×存储字长
- 它的容量也可用字节总数来表示,即
- 存储容量=存储单元个数×存储字长/8
- 存储容量是指主存能存放二进制代码的总位数,即
- (2)存储速度
- 存储速度是由存取时间和存取周期来表示的。
- (3)存储器带宽
- (1)存储容量
4.2.2 半导体存储芯片简介
基本结构:
- 地址线:代表存储单元个数
- 数据线:每个存储单元几位数据
- 控制线:控制线主要有读/写控制线与片选线两种。
- 片选线:CS、CE
- 读写控制:WE、OE、WE
4.2.3 随机存取存储器 82
静态 RAM(Static RAM,SRAM)
- 保存0和1的原理是什么?
- 基本单元电路的构成是什么?
- 对单元电路如何读出和写入?
静态RAM基本电路:
- 存储器中用于寄存“0”和“1”代码的电路称为存储器的基本单元电路。
动态RAM(Dynamic RAM,DRAM)
- 保存0和1的原理是什么?
- 基本单元电路的构成是什么?
- 对单元电路如何读出和写入?
动态RAM的基本单元电路: 常见的动态RAM基本单元电路有三管式和单管式两种,它们的共同特点都是靠电容存储电荷的原理来寄存信息。 若电容上存有足够多的电荷表示存“1”,电容上无电荷表示存“0”。 电容上的电荷一般只能维持1~2ms,因此即使电源不掉电,信息也会自动消失。 为此,必须在2ms内对其所有存储单元恢复一次原状态,这个过程称为再生或刷新。 由于它与静态RAM相比,具有集成度更高、功耗更低等特点,目前被各类计算机广泛应用。
4.2.4 只读存储器
4.2.5 存储器与 CPU 的连接
4.2.6 存储器的校验
4.2.7 提高访存速度的措施
4.3 高速缓冲存储器
4.3.1 概述
4.3.2 Cache——主存地址映射
4.4 辅助存储器
4.4.1 概述
4.4.2 磁记录原理和记录方式
4.4.4 软磁盘存储器
4.4.5 砸带存储器
4.4.7 光盘存储器
第5章 输入输出系统
5.1 概述
5.1.1 输入输出系统的发展概况
5.1.3 I/O 设备与主机的联系方式
5.1.4 I/O设备与主机信息传送的控制方式
5.2 1/0设备
5.2.1 概述
5.2.2 输入设备
5.2.3 输出设备
5.2.4 其他1/0 设备
5.2.5 多媒体技术
5.3 I/O 接口
5.3.3 接口类型
5.4 程序查询方式
5.4.1 程序查询流程
5.4.2 程序查询方式的接口电路
5.5 程序中断方式 - 192
5.5.2 I/O 中断的产生
5.5.3 程序中新方式的接口电路
5.5.4 1/0 中新处理过程
5.5.5 中断服务程序的流程
5.6 DMA 方式
5.6.1 DMA方式的特点
5.6.2 DMA接口的功能和组成
5.6.3 DMA 的工作过程
5.6.4 DMA接口的类
第3篇 中央处理器
第6章 计算机的运算方法
6.1 无符号数和有符号数
6.1.1 无符号数
6.1.2 有符号数
6.2 数的定点表示和浮点表示
6.2.1 定点表示
6.2.2 浮点表示
6.2.3 定点数和浮点数的比较
6.2.4 举例
6.2.5 IEEE 754标准
6.3 定点运算
6.3.1 移位运算
6.3.2 加法与减法运算
6.3.3 乘法运算
6.3.4 除法运算
6.4 浮点四则运算
6.4.1 浮点加减运算
6.4.2 浮点乘除法运算
6.4.3 浮点运算所需的硬件配置
6.5 算术逻辑单元
6.5.1 ALU 电路
6.5.2 快速进位键
第7章 指令系统
7.1 机器指令
7.1.1 指令的一般格式
7.1.2 指令字长
7.2 操作数类型和操作类型
7.2.1 操作数类型
7.2.2 数据在存储器中的存放方式
7.2.3 操作类型
7.3 寻址方式
7.3.1 指令寻址
7.3.2 数据寻址
7.4 指令格式举例
7.4.1 设计指令格式应考虑的各种因素
7.4.2 指令格式举例
7.4.3 指令格式设计举例
7.5 RISC 技术
7.5.1 RISC 的产生和发展
7.5.2 RISC 的主要特征
7.5.3 RISC和CISC 的比较
第8章 CPU的结构和功能
8.1 CPU 的结构 8.1.1 CPU的功能 8.1.2 CPU结构框图 8.1.3 CPU的寄存器 8.1.4 控制单元和中断系统
8.2 指令周期 8.2.2 指令周期的数据流
8.3 指令流水 8.3.1 指令流水原理 8.3.3 流水线性能 8.3.4 流水线中的多发技术 8.3.5 流水线结构
8.4 中断系统
8.4.1 概述
8.4.3 中斯服务程序入口地
8.4.4 中断响应
第4篇 控 制 单 元
第9章 控制单元的功能
9.1 微操作命令的分析 9.1.3 执行周期 9.1.4 中断周期
9.2 控制单元的功能 9.2.1 控制单元的外特性 9.2.2 控制信号举例 9.2.3 多级时序系统 9.2.4 控制方式
第10章 控制单元的设计
10.1 组合逻辑设计 10.1.1 组合逻辑控制单元框图 10.1.2 微操作的节拍安排 10.1.3 组合逻辑设计步骤
10.2 微程序设计 10.2.1 微程序设计思想的产生 10.2.2 微程序控制单元枢图及工作原理 10.2.3 微指令的编码方式 10.2.4 微指令序列地址的形成 10.2.5 微指令格式 10.2.6 静态微程序设计和动态微程序设计 10.2.7 毫微程序设计 10.2.8 串行微程序控制和并行微程序控制 10.2.9 数程序设计举例
引用
- 计算机组成原理:最详细笔记: https://blog.csdn.net/haojie_duan/article/details/112739522
时钟周期是指什么?
时钟周期(Clock Cycle)是计算机系统中一个最基础的时间单位,由处理器的**主时钟信号(Clock Signal)**驱动。它定义了计算机硬件操作的最小时间节奏,直接影响处理器的执行速度和性能。以下是时钟周期的详细解析:
一、时钟周期的本质
定义
时钟周期是 主时钟信号完成一次完整振荡(高电平→低电平→高电平)所需的时间,通常以纳秒(ns)或皮秒(ps)为单位。- 频率(Frequency):时钟周期的倒数,单位为赫兹(Hz)。例如,4 GHz 的 CPU 的时钟周期为:
[ T = \frac{1}{4 \times 10^9} = 0.25 , \text{纳秒(ns)} ]
- 频率(Frequency):时钟周期的倒数,单位为赫兹(Hz)。例如,4 GHz 的 CPU 的时钟周期为:
作用
- 同步硬件操作:所有数字电路(如CPU、内存)通过时钟信号同步动作,确保数据处理的正确性。
- 控制指令执行:处理器每个动作(取指令、解码、执行)按时钟节拍推进,形成流水线(Pipeline)。
二、时钟周期与计算机性能
1. 单周期与多周期设计
- 单周期处理器:每条指令在一个时钟周期内完成。
- 优点:逻辑简单。
- 缺点:时钟周期必须按最慢指令设计,效率低(如 MIPS 教学架构)。
- 多周期处理器:将指令拆分为多个阶段(取指、解码、执行等),每个阶段占用一个时钟周期。
- 优点:时钟周期更短,频率更高。
- 缺点:需要复杂的控制逻辑(如经典 RISC 架构)。
2. 流水线技术
现代 CPU 采用 多级流水线(Pipeline),将指令处理拆分为多个阶段并行执行。
- 示例:5 级流水线(取指→解码→执行→访存→写回)
- 每个时钟周期完成一个阶段的处理,理想情况下每个周期可完成一条指令(IPC=1)。
- 超流水线(Hyper-Pipelining):增加流水线级数(如 Intel Pentium 4 的 20+ 级),允许更高频率,但分支预测失败代价更高。
3. 时钟频率与性能的关系
- 公式:
[ \text{性能} \propto \text{时钟频率} \times \text{IPC(每周期指令数)} ]- 提高频率:缩短时钟周期,直接提升速度,但受限于功耗和散热(如 5 GHz 以上需液冷)。
- 提高 IPC:通过架构优化(如乱序执行、SIMD)提升每个周期的指令吞吐量。
三、时钟周期的实际影响
1. 超频(Overclocking)
- 原理:手动提高 CPU 的时钟频率(如从 3.6 GHz 超至 5.0 GHz),缩短时钟周期。
- 风险:
- 功耗和发热剧增(( P \propto f \times V^2 )),可能烧毁硬件。
- 时序错乱(Setup/Hold Time Violation)导致计算错误。
2. 动态频率调节(如 Intel Turbo Boost)
- 机制:根据负载和温度动态调整时钟频率,平衡性能与功耗。
- 示例:轻负载时运行在 2.0 GHz(长周期),重负载时提升至 4.5 GHz(短周期)。
3. 时钟门控(Clock Gating)
- 作用:关闭空闲模块的时钟信号,降低功耗(常见于移动设备 CPU)。
- 示例:当 GPU 闲置时,暂停其时钟信号,节省电量。
四、时钟周期与其他周期概念
概念 | 定义 | 与时钟周期的关系 |
---|---|---|
机器周期 | 完成一个基本操作(如内存读写)所需的时间 | 通常包含多个时钟周期(如 8086 的总线周期为 4 个时钟周期) |
指令周期 | 执行一条完整指令所需的时间 | 由多个机器周期组成(如 ADD 指令可能需 3 个机器周期) |
总线周期 | CPU 与外部设备(如内存)通信的时间 | 取决于总线协议(如 DDR4 的突发传输周期) |
五、总结
- 时钟周期是计算机硬件同步和性能的核心单位,决定了处理器的基础运行节奏。
- 现代 CPU 通过 提高频率、优化流水线 和 增加并行性 提升性能,但受物理极限(如量子隧穿效应)和功耗制约。
- 理解时钟周期有助于优化代码(减少指令数)、超频调校和选择硬件(权衡频率与 IPC)。