计算机组成原理
- 第一章、 计算机系统概论
- 第三章 系统总线
- 第四章 存储器
- 第五章 输入输出系统
- 第七章 指令系统
- 第八章 CPU 的结构和功能
- 第九章 控制单元的功能
- 第十章 控制单元的设计
第一章、 计算机系统概论
- 计算机系统的结构
计算机由计算机硬件和计算机软件组成,计算机软件由系统软件和应用软件组成,系统软件是对计算机的管理,包括语言处理程序、操作系统等,常见的操作系统有Windows,Unix,Linux,Android和iOS, 应用软件指的是在操作系统等系统软件上具有某些特定功能的应用程序 - 计算机的层次结构
逐层分为五层,微指令服务、机器语言服务、操作系统服务、汇编语言服务和高级语言服务 - 计算机组成和体系结构的区别
计算机组成是指在已具备的计算机属性下如何实现和执行计算机相关的指令等硬件设备, 计算机体系结构主要指概念性的结构和功能特性 - 冯诺依曼计算机和现代计算机的组成和特点
冯诺依曼,具备存储结构的计算机,由运算器、控制器、存储器、输入和输出设备组成,指令和数据以二进制表示存储在存储器中,需要寻址访问,指令由操作码和地址码组成,指令和数据具有相等的地位,指令是按顺序存放的,按序执行,以运算器为中心,从存储器和输入输出设备读取数据到运算器中进行计算
现代计算机,以存储器为中心,包括主机和输入输出设备(IO),主机包括CPU和存储器,CPU包括ALU和CU,存储器包括主存储器和辅存储器,主存储器用存储容量计算主存储容量,辅存储器用字节数反映辅助容量 - 指令 和 程序,数据的区分
指令是指操作的命令,一个程序里包含多个指令,运行所需的所有操作,数据是进行操作的数,指令执行的对象,指令在计算机中由操作码和地址码组成。 - 硬件的主要技术指标
机器字长:CPU寄存器一次能够进行操作的字节长度
存储容量: 存储单元*存储字长
运算速度:CPI 一条指令执行所需时钟周期
MIPS 每秒执行百万条指令的数目
FLOPS 每秒浮点计算数 - 主机、CPU、主存、存储单元、存储基元、存储字、存储字长、存储容量、机器字长、指令字长
主机: CPU+存储器
CPU: 中央处理器,包括算术逻辑单元ALU和控制单元CU
存储单元:指的是一连串的二进制字符串,由一连串存储基元(存储元件0、1)组成
存储字:存储单元中二进制字符串的组合
存储字长: 存储字的位数
存储容量: 存储字长*存储单元
机器字长: CPU一次进行操作的位数
指令字长:指的是指令所有的位数 - CPU/PC/IR/CU/ALU/ACC/MQ/X/M/MAR/MDR/IO/CPI/MIPS/FLOPS 的意义
依次是中央处理器、程序计数器(存放预处理的指令的地址)、指令寄存器(存放要执行的指令)、控制单元(对指令进行分析操作)、算术逻辑单元(处理算术逻辑)、累加器、乘商寄存器、操作数寄存器、存储体、存储器地址寄存器(存储单元的个数)、存储器数据寄存器(存储字长)、输入输出设备、一条指令执行所需时钟周期数、每秒能执行的百万条指令数、每秒浮点计算数
第三章 系统总线
- 总线的基本概念和传输方式
总线是连接各个部件的信息传输线,是各个部件共享的传输介质,传输方式有串行和并行传输 - 总线的分类
按连接部件分为片内总线(芯片内的连接),系统总线(计算机内部通信的连接)和通信总线(计算机与计算机,计算机系统的通信连接), 系统总线按照传输内容分为地址总线(单向,取地址),数据总线(双向,数据的输入输出)和控制总线(处理控制请求,中断允许,请求,总线请求和统一,时钟,存储器读写等) - 总线特性
机械特性、电气特性、功能特性和时间特性(信号的时序关系) - 总线性能指标
总线宽度(连接的数据总线总数),总线带宽(单位时间内总线上传输数据的位数,每秒传输信息的最大字节数),时钟特性(同步异步)、总线复用、信号线数(系统总线的数目)、总线控制方式(自动、仲裁、逻辑、计数、突发)、其他指标(负载、扩展性等) - 总线标准
ISA/ EISA/ VESA/ PCI/AGP/RS-232总线(串行通信总线标准)/USB(通用串行总线) - 总线结构
单总线、双总线(主存总线和io总线,有通道),三总线(DMA总线、局部总线)、四总线(局部总线,系统总线,高速总线,扩展总线) - 总线控制
解决如何确定通信的设备和执行通信
判优控制和通信控制
8.判优控制的方式和设备分类
方式: 分离式和集中式(链式查询、计数器查询和独立请求方式)
设备:主设备 对总线有控制权,从设备 相应主设备发来的总线命令 - 总线传输周期
申请分配、寻址、传数、结束
10.通信方式
同步通信、异步通信(不互锁,半互锁、全互锁)、半同步通信(增加了等待响应信号)和分离式通信(充分发挥总线瞬间的潜力)
第四章 存储器
- 存储器的分类
按存储介质分为 半导体存储器、磁表面存储器、磁芯存储器、光盘存储器
按存取方式分为 随机访问: 随机存储器、只读存储器; 串行访问: 顺序存取存储器、直接存取存储器
按在计算机的作用分
主存:随机存储器(静态RAM,动态RAM),只读存储器(MROM,PROM,EPROM,EEPROM)
高速缓存存储器 cache
辅助存储器 磁盘、磁带、光盘
闪速存储器 flash memory
2.存储器的性能指标和层次结构
速度、容量、位价
寄存器、缓存----CPU
主存 ---------- 主机
磁盘 磁带 光盘---- 辅存
缓存到主存 + 主存到辅存 硬件+硬、软件
辅存用虚地址、逻辑地址表示存储的地址码 主存用实地址、物理地址表示存储的地址码 - 主存的技术指标
存储容量 存储周期和存储时间(存储速度) 存储器带宽 - 对24位地址线的主存而言,按字节寻址的范围是? 如果计算机存储字长位32位,按字寻址的范围是?
- 主存的基本组成
MAR存放欲访问的存储单元地址,经译码器和驱动器可读出某单元的内容或者将某信息写入某单元中。MDR存放从某单元读取的信息或即将写入的信息,与读写电路配合完成存储器读写功能,一起包装在CPU 芯片中,存储芯片包含了驱动器、译码器 和 读写电路, 二者通过总线连接 - 主存存储芯片分类
主要是半导体存储芯片,分为随机存取存储器RAM 和 只读存储器ROM
随机存取存储器按电路结构和存储原理不同可分为静态RAM 和动态RAM 。静态RAM 采用触发器工作原理存储信息,动态RAM 采用电容存储电荷的原理存储信息,需要2ms动态刷新一次。动态RAM 功耗小,价格便宜,容量可扩展,集成度高,但速度慢,需要定时刷新,广泛用于计算机主存,静态RAM 速度高,无须刷新广泛用于高速缓冲存储器
只读存储器ROM可分为 MROM,PROM,EPROM,EEPROM,分别是不可修改,一次性,可重复和电可重复 - 存储容量的扩展
位扩展,扩展存储字长, 字扩展, 字位扩展 - 主存与CPU 的连接
主要是地址线,数据线和控制线的连接
地址线,通常将CPU地址线的地位与存储芯片的所有地址相连,高位用作片选信号或扩充
数据线,CPU的数据线数和存储芯片的位数一致
读写命令线的连接,CPU 与 存储芯片读写控制端相连,高电平为读,低电平为写
片选线,片选控制端CS 与CPU 的MREQ访存控制信号有关
合理选择存储芯片类型和数量 - 如何提高访存速度
采用高速存储芯片,高速缓存存储器cache , 调整主存结构,加大存储器带宽 - 如何提高主存的可靠性
采用汉明码纠错编码技术将原信息配置成汉明码检验 - 高速缓冲存储器的缓存主存地址映射机制
缓存和主存按块存储,每块内的字数相同,缓存以块为单位与主存交换信息,常用的映射机制有直接映射,全相联映射和级相连映射,直接映射每个主存块与一个缓存块对应,一个缓存块对应多个主存块,位置固定,不够灵活,缓存空间不能充分利用,影响命中率
全相连映射是多对多的关系,但是判断逻辑复杂,成本高,而级联映射分区分组,综合了前两种映射,被广泛使用 - 缓存的工作原理
CPU 访存时将主存地址转换成缓存地址,迅速判断欲访问的信息是否已调入缓存,已调入则直接进行读写操作,否则判断缓存是否已满,未满则调入新的主存块,已满则利用替换算法排除不用的主存块再次导入, 替换算法有先进先出,随机访问和近期最少使用原则 - 辅助存储器
主要用于解决存储器的容量问题,用于扩容,常见的有磁表面存储器,磁盘存储器
第五章 输入输出系统
- 输入输出系统的基本组成
IO硬件和软件,软件的主要任务是将用户编制的程序或数据输入至主机内,将运算结果输出给用户,实现IO系统与主机工作的协调。采用接口模块方式,利用IO 指令集管理程序实现协调工作。
IO 硬件主要包括接口模块和IO设备。 - IO 指令
包括操作码、命令码和设备码,操作码判别操作指令,命令码实现具体操作,设备码相当于设备地址
3.通道指令
指明参与传送的数据组在内存中的首地址,字节数或末地址,所选设备的设备码和操作的命令码。
4.IO与主机的联系方式
解决的问题: 如何寻址、如何对IO 编制、串并行传送数据、联络方式、连接方式
IO设备编址方式包括独立编址和存储器统一编址,统一编址占用存储器空间,减少访存指令
设备寻址通过设备选择电路选中要交换信息的设备
传送方式包括串行、并行或串并行联用方式
联络方式包括立即响应、异步请求回答、同步时标联络匹配速率
连接方式包括辐射是和总线式 - IO 设备与主机信息传送的控制方式
程序查询、程序中断、DMA直接存取方式、IO通道方式、IO处理机方式 - 常用的IO设备及分类
人机交互设备、计算机信息存储设备、机机通信设备
常用的:
输入设备:键盘、鼠标、激光笔、扫描仪、传真机、触摸屏等
输出设备: 显示器、打印机、绘图仪、音响等
终端设备: 键盘和显示器
汉字处理设备、数模转换器、多媒体设备、脱机设备 - IO 接口的功能和组成
数据线、设备选择线、命令线和状态线
数据线传输数据、设备选择线传输设备码(地址)、命令线传输操作命令信号、状态线标志设备所处状态
功能: 选址+设备选择电路、传送数据+数据缓冲寄存器、传输命令+存放命令寄存器和命令译码、反映设备工作状态+状态标志触发器(完成触发器D和工作触发器B) - 接口类型
传送方式:并行串行
功能选择灵活性:可编程和不可编程接口
通用性分类:通用性和专用型接口
数据传送控制方式:程序性和DMA型接口 - 程序查询方式
一旦启动CPU必须停止运行现有程序,查询IO设备的准备状况,等待准备就绪实现IO设备与主机交换信息,有踏步等待线性,CPU 与IO设备处于串行工作状态,有工作触发器B和完成触发器D - 程序中断的含义
中断是指计算机在执行程序过程中出现异常或特殊请求,计算机停止现行程序先处理异常,再回到现行程序,实现了CPU与IO设备的并行工作,但是仍然需要CPU进行总线占用和指令操作,打断现行程序 - IO中断需配置的相关硬件电路
中断请求触发器和中断屏蔽触发器,只有当mask为0,设备未被屏蔽,且设备准备就绪D=1,CPU的中断查询信号可以将中断请求触发器置1,INTR=1;
排队器,确定中断的优先等级,通过链式排队器或程序设计
中断向量地址形成部件(设备编码器),通过向量地址寻找设备中断服务程序入口地址,由硬件电路产生
程序中断方式接口电路 - 中断特点
CPU启动IO设备后不必停止现行程序等待,待IO自身准备就绪向CPU发送请求,CPU判断中断条件是否成立,执行中断服务程序,结束后执行源程序 - 中断处理过程
中断请求,中断判优,中断响应,中断服务,中断返回,一般中断服务流程还包括保护现场(保护断点,保护通用寄存器和状态寄存器内容),中断服务(设备执行的服务程序)、恢复现场(出栈或者向量地址送回PC)和中断返回(单重中断和多重中断) - DMA 方式
直接存储器方式,主存与DMA接口之间有一条直接数据通路,DMA接口与CPU同时访存时,CPU自动让出总线控制权,DMA实现周期窃取、周期挪用 - DMA 传送方式
停止CPU访问主存、周期挪用、DMA与CPU 交替访存,通常用第二种
DMA接口发送信号,准备数据,获得总线控制权后占用周期进行数据传送,结束后返回总线控制权,在CPU放弃控制阶段可以执行不访存的程序 - DMA 接口的功能和组成
向CPU申请DMA传送,处理总线控制权的转交,管理系统总线,控制数据传输,确定数据传送的首地址和数据长度,修正数据传送过程中的书地址和长度,移交总线控制权,发出DMA完成信号
组成: 主存地址寄存器AR,字计数器WC,数据缓冲寄存器(BR),DMA控制逻辑,中断机构,设备地址寄存器(DAR) - DMA 传送过程
预处理、数据传送、后处理 - DMA接口与系统的连接方式、接口类型
公共请求线、独立DMA请求
选择型和多路型 - DMA 和程序中断的比较
程序中断靠程序传送,DMA靠硬件
程序中断在一条指令结束时响应,DMA在指令周期的任意存取周期结束时响应
程序中断可以处理异常,DMA 用于大批量数据传送
程序中断需要中断现行程序,保护现场,优先级低 - 调用中断服务程序和子程序的区别
中断服务程序与中断时CPU 正在运行的程序时相互独立的,没有确定关系,而子程序与正在执行的程序是统一程序的不同部分
除了软中断,中断时随机产生的,子程序需要CALL 指令调用
中断服务程序的入口地址可以通过硬件向量法产生向量地址,再由向量地址找到入口地址,子程序的入口地址有CALL指令的地址码给出
调用两者都需要保护程序断点,前者由中断隐指令完成,后者有call指令本身完成
处理中断服务程序时需要判优,进行中断仲裁
二者都要保护寄存器内容
第七章 指令系统
- 指令的组成
指令包括操作码和地址码
操作码的长度可变会增加指令移码和分析的难度,使控制器设计复杂化,通常采用扩展操作码有效缩短指令长度,使操作码的长度随地址数的减少而增加,考虑安排指令使用频率高的指令占用较短的操作码,使用频率低的指令占用较长的操作码,可以缩短译码时间
地址码用来指出该指令的源操作数的地址、结果的地址或者下一条指令的地址
四地址三地址二地址单地址零地址 访存次数为四次、四次、三次、两次、一次 - 指令字长
指令字长取决于操作码的长度,操作码地址的长度和操作码地址的个数 - 操作数类型
操作数类型有地址、数字、字符、逻辑数据等 - 访问方式和存储字节地址
存储器可以按字节、半字、字、双字访问,有的机器以低字节地址作为字地址,有的以高字节地址作为字地址
5.字节编址
字节编制方式分为任意位置存储,从一个存储字的起始位置开始和边界对准方式
不浪费存储资源,访问其他类型的字节可能需要花费两个存储周期,读写控制复杂
读写控制简单,内存资源浪费
从地址整数倍开始访问,综合前两者 - 操作类型
操作类型包括数据传送、算术逻辑、移位、转移、输入输出、其他指令包括停机,等待,空操作,关中断,置条件码等,其中转移操作包括无条件转移,条件转移,调用和返回,陷阱指令 - 寻址方式
指令寻址包括顺序寻址和跳跃寻址
数据寻址方式包括立即寻址,直接寻址,间接寻址,隐含寻址,寄存器寻址,寄存器间接寻址,基址寻址(基址寄存器提供基准量+偏移量,系统规定不可改变,多道程序的使用),变址寻址(IR提供修改量+基准量,适合数组程序),相对寻址(PC+偏移量,适用于程序浮动),堆栈寻址 - RISC精简指令系统计算机的特点
选用简单指令,复杂指令组合实现
指令长度固定,指令格式种类少,寻址方式种类少
只有load和store访存,其余指令在寄存器中执行
CPU有多个通用寄存器
控制器采用组合逻辑控制
采用流水技术,大部分指令在一个时钟周期完成
编译程序优化 - CISC 特点
指令复杂,指令使用频率相差大
指令长度可变,寻址方式多,种类多
访存指令不受限制
CPU有专用寄存器
指令执行时间差异大
控制器采用微程序控制
难以优化编译程序 - 二者的比较
RISC更能充分利用VLSI芯片面积
提高运算速度
降低成本提高可靠性,便于设计
利于编译优化
不易实现指令兼容
第八章 CPU 的结构和功能
- CPU 功能
控制器:取指令,分析指令,执行指令,控制输入输出,总线管理,异常处理和特殊请求
运算器: 算术逻辑功能
总结:控制程序的顺序执行—指令控制
产生完成每条指令所需的控制命令—操作控制
对各种操作加以时间上的控制—时间控制
对数据进行算术运算和逻辑运算—数据加工
处理计算机在运行过程中出现的异常情况和特殊请求—中断处理 - CPU的组成
ALU,CU,寄存器,终端系统 - CPU的寄存器
用户可见寄存器:
通用寄存器 (AX,DX,存放操作数,做寻址方式所需的专用寄存器)
数据寄存器(存放操作数)
地址寄存器(存放操作数地址)
条件码寄存器(正负零溢出等条件,进位标志)
控制和状态寄存器:
MAR 存储器地址寄存器,存放将被访问的存储单元的地址
MDR 存储器数据寄存器,存放欲处理的数据
PC 程序计数器 存放现行指令的地址,具有计数功能
IR 指令寄存器 存放当前预执行指令
状态寄存器 存放条件码
PSW寄存器 存放程序状态字 - 控制单元和中断系统
CU 是提供完成计算机全部指令操作的微操作命令序列部件,可以利用组合逻辑设计(硬连线逻辑),也可以利用微程序设计(存储逻辑)实现 - 指令周期
CPU 每执行一条指令所需的全部时间
取指和分析 ---- 取指周期
执行指令 ---- 执行周期
间接寻址包括取值、间址周期和执行周期
中断方式下还有中断周期 - CPU 的工作周期
CPU访问一次存储器的时间
取指周期(取指令),间址周期(取有效地址),中断周期(保护程序断点)和执行周期(存取操作数),采用四个标志触发器FE,IND,INT,EX控制 - 指令周期的信息流
取指周期: PC-MAR-地址总线-存储器
CU-控制总线-存储器
存储器-数据总线-MDR-IR(存放指令)
间址周期信息流
IR/MDR –MDR-地址总线-存储器
CU-控制总线-存储器
存储器-数据总线-MDR(存放有效地址)
中断周期信息流
程序断点存入堆栈,进栈先修改栈指针后存放数据
CU控制SP-1—SP—MAR—地址总线—存储器
CU-控制总线-存储器
PC—MDR—数据总线—存储器(程序断点存入存储器) - 指令流水性能
吞吐率、加速比、效率,影响因素: 结构相关(停顿等待),数据相关(后推法,定向技术),控制相关,多发技术包括超标量技术,超长指令流水技术,超流水线技术 - 引起中断的因素
人为设置的中断,程序性事故,硬件故障,IO设备,外部事件 - 中断需解决的问题
中断源发出中断请求,请求响应优先级,响应形式,保护现场,入口地址,恢复现场,中断返回,多重中断 - 中断系统中的软硬件技术
设置中断请求标记,中断请求触发器INTR
设置中断判优逻辑,硬件通过链式排队器,软件通过编写查询程序,
中断服务程序的入口地址,硬件向量法产生向量地址,在找到入口地址,软件通过程序查询入口地址
CPU响应中断的条件和时间,当允许中断触发器EINT=1,表示可以响应中断源请求,在每条指令执行周期结束后查询中断信号并响应,进入下一条指令
CPU一旦进入中短周期,中断隐指令完成保护程序断点和通用寄存器,寻找中断服务程序的入口地址,硬件关中断
保护现场和恢复,保护程序断点和CPU 各寄存器内容,恢复状态
中断屏蔽技术,用于多重中断,提前开中断指令,优先级高的可以中断优先级低的,设置屏蔽字
多重中断的断点保护,断点保存在堆栈里,或者特定的存储单元
第九章 控制单元的功能
-
微操作指令的分析
取指周期,间址周期,执行周期,中断周期
执行周期:
非访存指令 清除累加器CLA,累加器取反COM,算术右移一位SHR,循环左移一位CSL,停机指令STP
访存指令 加法指令ADD X 存数指令STA X 取数指令 LDA X
转移类指令 无条件转移指令JMP X 条件转移指令 BAN X -
控制单元的外特性
时钟信号,指令寄存器,标志,来自系统总线的控制信号,CPU控制信号,传送系统总线的信号 -
多级时序系统
机器周期 所有指令执行过程中的一个基准时间,机器周期取决于指令的功能及器件的速度,通常以一次访存时间为基准,
时钟周期 每个节拍器内完成一个或几个需要同时执行的操作的最小时间单位
CPU 主频越快,时钟周期越小,机器运行速度越快。
在机器周期所含时钟周期数相同的情况下,两机平均指令执行速度之比等于两机主频之比 -
控制单元的控制方式
同步控制:采用定长的机器周期或不定长的,或采用中央控制与局部控制相结合
异步控制:不存在基准时标信号,应答
联合控制方式:同异步相结合
第十章 控制单元的设计
- 组合逻辑设计
列出微操作命令的操作时间表—写出最简逻辑表达式—逻辑图 - 微程序设计思想
将每一条机器指令编写成一个微程序,包含若干条微指令