第一章计算机系统概论
硬件:计算机的实体,如主机,外设等
软件:具有各类特殊功能的信息(程序)组成
软件类型 |
定义 |
举例 |
系统软件 |
用来管理整个计算机系统 |
标准程序库,语言处理程序,操作系统,数据库管理系统,网络软件 |
应用软件 |
按任务需要编制成的各种程序 |
科学计算程序,数据处理程序,过程控制程序,事务管理程序 |
计算机系统的层次结构
计算机系统的体系结构
分类 |
区别 |
定义 |
计算机体系结构 |
有无乘法指令 |
程序员见到的计算机系统的属性,即概念性的结构和功能特性(指令系统,数据类型,寻址技术,I/O机理) |
计算机组成 |
如何实现乘法指令 |
实现计算机体系结构所体现的属性(具体指令的实现) |
冯.诺依曼计算机的特点
1.计算机由运算器,存储器,控制器,输入设备和输出设备五大部分组成
2.指令和数据以同等地位存放与存储器内,并可按地址寻访
3.指令和数据用二进制表示
4.指令由操作码和地址码组成
5.存储程序
6.以运算器为中心
冯.诺依曼计算机硬件框图
现代计算机硬件框图
设某机的指令字长为16位,其中操作码占6位,地址码占10位。
操作码 |
操作性质 |
具体内容 |
000001 |
取数 |
将指令地址码指示的存储单元中的操作数取到运算器的累加器ACC中 |
000010 |
存数 |
将ACC中的数存至指令地址码指示的存储单元中 |
000011 |
加 |
将ACC中的数与指令地址码指示的存储单元中的数相加,结果存于ACC中 |
000100 |
乘 |
将ACC中的数与指令地址码指示的存储单元中的数相乘,结果存于ACC中 |
000101 |
打印 |
将指令地址码指示的存储单元中操作数打印输出 |
存储器的基本组成
组成 |
解释 |
存储单元 |
存放一串二进制代码 |
存储字 |
存储单元中二进制代码的组合 |
存储字长 |
存储单元中二进制代码的位数每个存储单元赋予一个地址号 |
MAR |
存储器地址寄存器,反映存储单元的个数 2**n |
MDR |
存储器数据寄存器,反映存储字长 n |
运算器基本组成
寄存器,操作数,运算 |
加法 |
减法 |
乘法 |
除法 |
ACC |
被加数及和 |
被减数及差 |
乘积高位 |
被除数及余数 |
MQ |
|
|
乘数及乘积低位 |
商 |
X |
加数 |
减数 |
被乘数 |
除数 |
控制器的基本组成
简称 |
意义 |
作用 |
解释 |
PC |
取指令 |
取指,访存 |
存放当前欲执行指令的地址,具有计数功能(PC)+1->pc |
IR |
分析指令 |
取指,访存 |
存放当前欲执行的指令 |
CU |
执行指令 |
执行,访存 |
控制单元 |
以取数指令为例
程序首地址PC
取指令:PC->MAR->存储体M-MDR->IR
分析指令:IR->CU
执行指令:IR->MAR->M->MDR->ACC
计算机硬件的主要技术指标
机器字长:CPU一次能处理数据的位数,与CPU中的寄存器位数有关。
运算速度:主频,吉普森法(每条指令的执行的时间以及他们在全部操作中所占的百分比\(T_M=\sum_{i=1}^{n}f_it_i\)),MIPS(百万条指令每秒),CPI(执行一条指令所需时钟周期数),FLOPS(每秒浮点运算次数)
存储容量(存放二进制信息的总位数)
分类 |
组成 |
主存容量 |
存储单元×字节数 |
主存容量 |
字节数 |
辅存容量 |
字节数 |
指令和数据都存于存储器中,计算机如何区分它们?
1.通过不同的时间段,在取指令阶段取出的为指令,在执行指令阶段取出为数据
2.通过地址源:由PC提供存储单元地址的取出的是指令,由指令地址码提供存储单元地址取出的是操作数。
第二章 计算机的发展及应用
Moore定律:微芯上集成的晶体管数目每三年翻两番
计算机的应用
一、科学计算和数据处理
二、工业控制和实时控制
三、网络技术
1.电子商务
2.网络教育
3.敏捷制造
四、虚拟现实
五、办公自动化和管理信息系统
六、CAD/CAM/CIMS
七、多媒体技术
八、人工智能
芯片集成度的提高受以下三方面的限制
芯片集成度受物理极限的制约
按几何级数递增的制作成本
芯片的功耗、散热、线延迟
计算机 |
代替部分 |
光计算机 |
利用光子取代电子进行运算和存储 |
DNA生物计算机 |
通过控制DNA分子间的生化反应 |
量子计算机 |
利用原子所具有的量子特性 |
第三章 系统总线
计算机系统五大部件之间的互连的方式有两种
1.分散连接:各部件之间使用单独的连线
2.总线连接:将各部件连到一组公共信息传输线上
总线:连接各个部件的信息传输线,是各个部件共享的传输介质
总线传输特点:某一时刻只能有一路信息在总线上传输,即分时使用。为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线相连
总线上信息的传输:
串行:每条线可一位一位的传输二进制代码,一串二进制代码可在一段时间内逐一传输完成
并行:若干条传输线同时传输若干条二进制代码
面向 CPU 的双总线结构框图
单总线结构框图
以存储器为中心的双总线结构框图
总线分类 |
解释 |
片内总线 |
芯片内部的总线,如寄存器与寄存器之间,寄存器与算逻单元ALU之间。 |
系统总线 |
计算机各部件之间的信息传输线(CPU,主存,I/O设备等) |
系统总线-数据总线 |
双向传输,其位数与机器字长,存储字长有关 |
系统总线-地址总线 |
单向,与存储地址,I/O地址有关 |
系统总线-控制总线 |
单向,发出各种控制信号。有出(存储器读、存储器写总线允许、中断确认),有入(中断请求、总线请求) |
通信总线 |
用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信。分为串行通信和并行通信 |
总线物理实现
总线特性
总线特性 |
|
机械特性 |
指总线在机械连接方式上的一些性能,尺寸,形状,引脚的个数以及排列的顺序,接头处的可靠接触 |
电气特性 |
总线的每一根传输线上信号的传输方向和有效的电平范围 |
功能特性 |
每根传输线的功能。地址总线用来指出地址码;数据总线传递数据;控制总线发出控制信号 |
时间特性 |
信号的时序关系 |
总线性能指标
性能 |
指标 |
总线宽度 |
数据线分根数,用bit |
总线带宽 |
每秒传输的最大字节数(MBps) |
时钟同步/异步 |
同步,异步 |
总线复用 |
地址线与数据线复用 |
信号线数 |
地址线,数据线和控制线的总和 |
总线控制方式 |
突发,自动,仲裁,逻辑,计数 |
其他指标 |
负载能力(驱动能力),电源电压,总线宽度能否扩展等 |
总线标准
总线标准:系统与各模块,模块与模块之间的一个互连的标准界面
为什么要设立总线标准:为了使设计简化,模块生产批量化,确保其性能稳定,质量可靠,实现可移化,便于维护。
总线标准 |
数据线 |
地址线 |
总线时钟 |
带宽 |
特性 |
ISA |
16 |
24 |
8MHz(独立) |
16MBps |
|
EISA |
32 |
32 |
8MHz(独立) |
33MBps |
|
VESA(VL-BUS) |
32 |
|
33MHz(CPU) |
133MBps |
|
PCI |
32 64 |
|
33MHz(独立)66MHz(独立) |
132MBps528MBps |
良好的兼容性,即插即用,支持多主设备,具有与处理器和存储器子系统完全并行操作的能力,提供数据和地址奇偶校验,可扩充,软件兼容性好,支持两种电压标准5V、3.3V,采用多路复用 |
AGP |
32 |
|
66.7MHz(独立)133MHz(独立) |
266MBps533MBps |
|
RS-232C |
串行通信总线标准 |
|
数据终端设备(计算机)和数据通信设备(调制解调器)之间的标准接口 |
|
|
USB |
串行接口总线标准 |
|
普通无屏蔽双绞线带屏蔽双绞线最高 |
1.5 Mbps(USB1.0)12Mbps(USB1.0)480Mbps(USB2.0) |
具有真正的即插即用,很强的连接能力,数据传输率,标准统一 |
总线结构
单总线结构
双总线结构
三总线结构
三总线结构又一
四总线结构
总线判优控制
为什么要设置总线判优控制:总线上所连接的各类设备,按其对总线有无控制功能分为主设备(模块)和从设备(模块)。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令,对总线没有控制权。总线上的信息是又主设备启动的,若多个主设备同时要使用总线时,就由总线控制器的优判,仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。
总线优判控制分为集中式和分布式两种
集中式种类 |
特点 |
链式查询 |
连线简单,易于扩充,对电路故障最敏感 |
计数器定时查询 |
优先级设置较灵活,对故障不敏感,连线及控制过程较复杂 |
独立请求 |
响应速度快,优先级次序控制灵活,但连线多,总线控制复杂 |
总线通信
通信方式 |
特点 |
适用场合 |
同步通信 |
指由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降 |
一般用于总线长度较短,各部件存取时间比较一致的场合 |
异步通信 |
指没有统一时钟控制的通信,部件采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率 |
又分为不互锁,半互锁,全互锁 |
半同步通信 |
既可以像同步通信一样由统一时钟控制,又可以像异步通信一样允许传输时间不一致,工作效率介于两者之间 |
|
分离式通信 |
1.各模块欲占用总线使用权必须提出申请2.在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式,不再等待对方回答信号3.各模块在准备数据的过程中都不占用总线,使总线可以接受其他模块的请求4.总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分的利用了总线的有效占用,从而实现了总线在多个主,从模块间进行交叉重叠并行传送。 |
大型计算机系统 |
同步式数据输入传输
同步式数据输出传输
第四章 存储器
存储器分类
存储器速度容量和价位的关系
缓存主存层次和主存辅存层次
缓存主存--解决CPU和主存速度不匹配的问题
主存辅存--解决存储系统的容量问题
主存的主要技术指标
存储容量
指主存能存放二进制代码的总位数
存储容量=存储单元个数*存储字长
存储容量=存储单元个数*存储字长/8
存储速度
由存取时间和存取周期来表示,存取时间指存储器的访时间,存取周期指存储器进行两次独立的存储器操作所需的最小时间间隔
存储器带宽
单位时间内存储器存取的信息量,单位可以用字/秒或字节/秒或位/秒。提高存储器带宽可以1.缩短存取周期2.增加存储字长,使每个存取周期可读/写更多的二进制位数3.增加存储体
静态RAM
动态RAM
动态RAM通过电容来存储电荷的原理来存储信息,电容上有足够多的电荷表示存1,无电荷表示存0,电容上电荷一般只能维持1——2ms,因此,必须在2ms内对其所存储单元恢复一次原状态,这个过程称为再生或刷新。
动态RAM时序图
先由\(\overline{RAS}\)将行地址送入行地址缓存器,再由\(\overline{CAS}\)将列地址送入列地址缓存器,因此\(\overline{CAS}\)滞后于\(\overline{RAS}\)的时间必须要超过其规定值
\(\overline{RAS}\)和\(\overline{CAS}\)正、负电平的宽度要大于规定值,以保证芯片内部正常工作
行地址对\(\overline{RAS}\)的下降沿以及列地址对\(\overline{CAS}\)的下降沿应有足够的地址建立时间和地址保持时间,已确定行、列地址均能准确写入芯片。
动态RAM读时序
行地`\(\overline{RAS}\)有效
写允许\(\overline{WE}\)有效(高)
列地址\(\overline{CAS}\)有效
数据\(D_{OUT}\)有效
动态RAM写时序
行地址\(\overline{RAS}\)有效
写允许\(\overline{WE}\)有效(低)
数据\(D_{IN}\)有
列地址\(\overline{CAS}\)有效
动态RAM刷新
刷新实质是将原信息读出,在由刷新放大器形成原信息并重新写入的再生过程
集中刷新--在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。之后剩余的时间进行读写操作或维持信息。因此存在“死时间”或访存“死区”。
分散刷新--对每行存储单元的刷新分散到每个存取周期内完成。其中把机器的周期\(t_c\)分成两段,前半段\(t_M\)用来读写或维持信息,后半段\(t_R\)用来刷新,不存在死时间,但存取周期长
异步刷新--异步刷新为前两种的结合,既可以缩短死时间,又可以充分利用2ms的特点
动态RAM和静态RAM的比较
在同样大小的芯片中,动态RAM的集成度远高于静态RAM。
动态RAM行、列地址按先后顺序输送,减少了芯片的引脚,封装尺寸也减少
动态RAM的功耗比静态RAM小
动态RAM的价格比静态RAM的价格便宜
由于使用动态元件(电容),因此它的速度比静态RAM低
动态RAM需要再生,故需要配置再生电路,也需要消耗一部分功率。通常,容量不大的高速缓存器大多用静态RAM实现
存储器与CPU的连接
存储容量的扩展
位扩展--增加存储字长
字扩展--增加存储器字的数量
字、位扩展--既增加存储字的数量,又增加存储字长
存储器与CPU连接
地址线的连接--CPU的地址线往往比存储芯片的地址线数多,通常总是将CPU地址线的低位与存储器的芯片的地址线相连,CPU地址线的高位或在存储芯片的扩充时用,或作其他用途。
数据线的连接--CPU的数据线与存储器的也不等,因此必须对存储芯片扩位使其相等
片选线的连接--是CPU与存储芯片正确工作的关键
合理选择存储芯片--指存储芯片类型(RAM或ROM)和数量的选择。通常用ROM存放程序,标准子程序和各类常数等。RAM为用户编程设计。此外,尽量选择连线简单方便。
提高访存速度的措施
单体多字系统--在一个存取周期内,从同一地址取出4条指令,然后在逐条送至CPU执行。增大存储器带宽,提高存储器工作速度。前提是,指令和数据在主存内必须是连续存放。
多体并行系统--采用多提模块组成的存储器,每个模块具有相同的容量和存取速度,各自具有独立的寄存器(MAR),数据寄存器(MDR),地址译码,驱动电路和读写电路。
高位交叉编址的多体存储器
低位交叉编址的多体存储器
高速缓冲存储器
Cache的基本结构
地址映射变换机构--将CPU送来的主存地址转换为Cache地址。
Cache--主存地址映射
直接映射
优点:实现简单,只需要利用主存地址的某些位直接判断,即可确定所需字块是否在缓存中
缺点:不够灵活,每个主存快只能固定的对应某个缓存块,即使缓存内还空着许多位置也不能被占用,使缓存的空间得不到充分的利用。此外,如果程序恰好重复访问对应同一缓存位置不同的主存块,就要不停的进行替换,降低命中率。
全相联映射--允许主存中每一字块映射到Cache中的任何一块位置上。
优点:灵活,命中率高,缩小了快冲突率。
缺点:所需的逻辑电路甚多,成本较高。
组相联映射
第五章 输入输出系统
输入输出系统发展的四个阶段
1.早期阶段
分散连接 CPU和I/O设备 串行工作 程序查询方式
2.接口模块和DMA阶段
总线连接 CPU和I/O设备并行工作
3.具有通道结构的阶段
4.具有I/O处理机的阶段
输入输出系统的组成
1.I/O软件
I/O指令 CPU指令的一部分
通道指令:通道自身的指令 指明数组的首地址、传送字数、操作命令。
I/O硬件
设备 I/O接口
设备 设备控制器 通道
I/O设备与主机的联系方式
1.I/O设备编址方式
统一编址 用取数存数指令
不统一编址 有专门的I/O指令
2.设备寻址
用设备选择电路识别是否被选中
3.传送方式
串行 并行
4.联络方式
立即响应方式
异步方式采用应答信号
同步工作采用同步时标联络
5.I/O设备
辐射式连接
总线式连接
I/O设备与主机信息传送的控制方式
1.程序查询方式
2.程序中断方式
倘若CPU在启动I/O设备后,不查询设备是否已准备就绪,继续执行自身程序,只是当I/O设备准备就绪并向CPU发出中断请求后才予以响应。
3.DMA方式(直接存储器存取)
主存与I/O设备之间有一条数据通路,主存与I/O设备交换信息时,无须调用中断服务程序。若出现DMA和CPU同时访问主存,CPU总是将总线占有权让给DMA,通常把DMA这种占有称为窃取或挪用。窃取的时间一般为一个周期,故又把DMA占用的存取周期窃取周期或挪用周期。
I/O接口
为什么设置I/O接口
实现设备的选择
实现数据缓冲达到速度匹配
实现数据串--并格式转换
实现电平转换
实现电平转换
传送控制命令
反映设备的状态("忙","就绪","中断请求")
端口和接口的关系
端口是指接口电路中的一些寄存器,这些寄存器用来存放数据信息,控制信息和状态信息,相应的端口被分别称为数据端口,控制端口,和状态端口。若干个端口加上相应的控制逻辑才能组成接口。
接口的功能和组成
总线连接方式的I/O接口电路
设备选择线,数据线,命令线,状态线
接口的功能和组成
接口功能 |
接口组成 |
选址功能 |
设备选择电路 |
传送命令的功能 |
命令寄存器,命令译码器 |
传送数据的功能 |
数据缓冲寄存器 |
反映设备状态的功能 |
设备标记状态 |
接口类型
分类 |
种类 |
按数据传送方式 |
并行接口(Intel 8255) 串行接口(Intel 8251) |
按功能选择的灵活性 |
可编程接口(Intel 8255,Intel 8251) 不可编程接口(Intel 8212) |
按通用性 |
通用接口(Intel 8255、 Intel 8251) 专用接口(Intel 8279、 Intel 8275) |
按数据传送的控制方式 |
中断接口(Intel 8259) DMA接口(Intel 8257) |
程序查询方式
指令 |
作用 |
测试指令 |
用来查询I/O设备已准备就绪 |
传送指令 |
当I/O设备已准备就绪时,执行传送指令 |
转移指令 |
若I/O设备未准备就绪,执行转移指令,转至测试指令,继续测试I/O设备的状态 |
程序流程
1)CPU发I/O地址设备开始工作;地址总线接口设备选择器译码选中发SEL信号;2)CPU发启动命令DBR开命令接收门;D置0,B置1接口向设备发启动命令;3)CPU等待,输入设备读出数据;4)外设工作完成,B置0,D置1;5)准备就绪信号接口完成信号控制总线CPU;6)输入:CPU通过输入指令(IN)将DBR中的数据取走。
程序中断方式
中断:在执行程序过程中,当出现异常情况或特殊情况请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊情况的请求的处理,处理结束后再返回到现行程序的间断处,继续执行源程序。
程序中断方式配置中断请求和中断寄存
接口电路的基本组成
中断处理过程
1.CPU响应中断的条件和时间
(1)条件
允许中断触发器 EINT = 1
用 开中断 指令将 EINT 置 “1”
用 关中断 指令将 EINT 置“ 0” 或硬件 自动复位
(2)时间
当 D = 1(随机)且 MASK = 0 时
在每条指令执行阶段的结束前
CPU 发 中断查询信号(将 INTR 置“1”)
2.I/O中断处理过程
1.CPU发启动I/O设备命令,将接口中的B置1,D置0
2.接口启动输入设备开始工作
3.输入设备将数据送入数据缓冲寄存器
4.输入设备向接口发出"设备工作结束"信号,将D置1,B置0
5.当设备准备就绪(D=1),且本设备未被屏蔽(MASK=0),在指令执行阶段的结束时刻,由CPU发出中断查询信号
6.设备中断请求触发器INTR被置1,标志设备向CPU提出中断请求。于此同时,INTR被送至排队器,进行中断优判
7.若CPU允许中断(EINT=1),设备又被选中排队,即进入中断响应阶段
8.向量地址送至PC,作为下一条指令的地址
9.无条件转至设备服务程序的入口地址,进入中断服务阶段
10.执行结束,中断返回至原程序的断点处
中断服务程序的流程
保护现场
中断服务
恢复现场
中断返回
DMA接口的功能和组成
DMA接口具有的功能
向CPU申请DMA传送
在CPU允许DMA工作时,处理总线控制权的转交
在DMA期间管理系统总线,控制数据传送
确定数据传送的气势地址和数据长度,修正数据传送过程中的数据地址和数据长度
在数据块传送结束时,给出DMA操作完成的信号
DMA与主存交换数据的三种方式
1.停止CPU访问主存
2.周期挪用
3.DMA与CPU交替访问
DMA基本组成
DMA的工作过程
预处理、数据传送、后处理
DMA方式与中断程序的比较
|
中断方式 |
DMA方式 |
数据传送 |
程序 |
硬件 |
响应时间 |
指令执行结束 |
存取周期结束 |
处理异常情况 |
能 |
不能 |
中断请求 |
传送数据 |
后处理 |
优先级 |
低 |
高 |
第七章 指令系统
指令的一般格式
操作码 反映机器做什么操作
1).长度固定:用于指令字长较长的情况,RISC。如IBM 370 操作码 8位
2).长度可变:操作码分散在指令字段的不同字段中。
指令字长
指令字长决定于操作码的长度,操作数地址的长度,操作数地址的个数
指令字长固定的话=存储字长
指令字长可变的话=,按字节的倍数变化
操作数类型和操作种类
类型 |
代表 |
地址 |
无符号整数 |
数字 |
定点数、浮点数、十进制数 |
字符 |
ASCII |
逻辑数 |
逻辑运算 |
操作类型
操作类型 |
解释 |
数据传送 |
寄存器->寄存器、寄存器->存储器等 |
算数逻辑运算 |
加、减、乘、除等 |
移位操作 |
算数移位、逻辑移位、循环移位(带进位,不带进位) |
转移 |
无条件转移(JMP)、条件转移 |
调用和返回 |
|
陷阱(Trap)与陷阱指令 |
意外事故的中断 |
输入和输出 |
端口地址->CPU的寄存器,CPU的寄存器->端口地址 |
寻址方式
指令寻址 |
解释 |
顺序寻址 |
自动形成下一条指令的地址 |
跳跃寻址 |
通过转移类指令实现 |
数据寻址 |
例子 |
立即寻址 |
op # A |
直接寻址 |
EA=A |
隐含寻址 |
ACC x |
间接寻址 |
EA=(A) |
寄存器寻址 |
EA=R |
寄存器间接寻址 |
EA=(R) |
基址寻址 |
EA=A+(BR) |
变址寻址 |
EA=A+(IX) |
相对寻址 |
EA=(PC)+A |
堆栈寻址 |
PUSH A |
设计指令格式应考虑的各种因素
因素 |
详细 |
操作类型 |
包括指令数及操作的难易程度 |
数据类型 |
确定哪些数据类型可以参与操作 |
指令格式 |
指令字长是否固定、操作码数、是否采用扩展操作码技术,地址码位数、地址个数、寻址方式类型 |
寻址方式 |
指令寻址、操作数寻址 |
寄存器个数 |
寄存器的多少直接影响指令的执行时间 |
RISC技术
RISC:精简指令系统计算机
CISC:复杂指令系统计算机
RISC的主要特征
选用使用频度较高的一些简单指令,复杂指令的功能由简单指令来组合
指令 长度固定、指令格式种类少、寻址方式少
只有 LOAD / STORE 指令访存
CPU 中有多个 通用 寄存器
采用 流水技术 一个时钟周期 内完成一条指令
采用 组合逻辑 实现控制器
采用 优化 的 编译 程序
RISC和CISC的比较
RISC更能 充分利用 VLSI 芯片的面积
RISC 更能 提高计算机运算速度(指令数、指令格式、寻址方式少,通用 寄存器多,采用组合逻辑,便于实现指令流水)
RISC 便于设计,可 降低成本,提高 可靠性
RISC 有利于编译程序代码优化
RISC 不易 实现 指令系统兼容
第八章 CPU的结构
CPU的功能
控制器的功能
取指令、分析指令、执行指令,发出各种操作命令、控制程序输入及结果的输出、总线管理、处理异常情况和特殊情况;分别对应指令控制、操作控制、时间控制、处理中断、数据加工。
运算器的功能
实现算数运算和逻辑预算
CPU的结构
CPU的寄存器
分类 |
寄存器 |
作用 |
用户可见寄存器 |
通用寄存器 |
存放操作数:可做某种寻址方式所需的专用寄存器 |
用户可见寄存器 |
数据寄存器 |
存放操作数(满足各种数据类型)两个寄存器拼接存放双倍字长数据 |
用户可见寄存器 |
地址寄存器 |
存放地址:其位数应满足最大的地址范围用于特殊的寻址方式 段基值 栈指针 |
用户可见寄存器 |
条件码寄存器 |
存放条件码:可作程序分支的依据如 正、负、零、溢出、进位等 |
控制和状态寄存器 |
控制寄存器 |
PC->MAR->M->MDR->IR,控制CPU |
控制和状态寄存器 |
状态寄存器 |
状态寄存器(存放条件码),PSW寄存器(存放子程序状态字) |
指令周期
取出并执行一条指令所需的全部时间。分为取值周期和执行周期
指令周期的数据流
取值周期数据流
间址周期数据流
执行周期数据流--不同指令的执行周期数据流不同
中断周期数据流
影响指令流水线性能的因素
因素 |
解释 |
解决 |
结构相关 |
不同指令争用同一功能部件产生资源冲突使指令流水出现停顿,影响流水线效率 |
停顿、指令存储器和数据存储器分开、指令预取技术 |
数据相关 |
不同指令因重叠操作,可能改变操作数的 读/写 访问顺序 |
后推法、采用旁路技术 |
控制相关 |
由转移指令引起 |
今早判别转移是否发生、及早生成转移目标地址、预取转移成功或不成功两个控制流方向上的目标指令、加快和提前形成条件码等 |
流水线性能
指标 |
性能 |
吞吐率 |
单位时间内 流水线所完成指令 或输出结果的数量 |
加速比 |
m 段的流水线的速度与等功能的非流水线的速度之比 |
效率 |
流水线中各功能段的 利用率 |
流水线的多发技术
超标量技术、超流水线技术、超长指令字技术
流水线结构
指令流水线结构
运算流水线
中断请求
中断请求标记、中断判优逻辑、(硬件排队、软件排队)
中断响应
响应中断的条件:允许中断触发器 EINT = 1
响应中断的 时间:指令执行周期结束时刻由CPU发查询信号
中断隐指令
1.保护程序断点
2.寻找服务程序入口地址
3.硬件 关中断
保护现场和恢复现场
程序断点保护和保护CPU内部个寄存器内容
中断屏蔽技术
1.多重中断的概念
2.实现多重中断的条件
1).提前设置“开中断”指令
2).优先级别高的中断源有权中断优先级别低的中断源
3.屏蔽技术
1).屏蔽触发器和屏蔽字
2).屏蔽技术可改变优先等级
3).屏蔽技术的其他应用
4.多重中断的断点保护
第九章 控制单元功能
取值周期
PC->MAR
1->R
M(MAR)->MDR
MDR->IR
OP(IR)->CU
(PC)+1->PC
间址周期
Ad(IR)->MAR
1->R
M(MAR)->MDR
MDR->Ad(IR)
执行周期
指令类别 |
步骤 |
非访存指令 |
0->ACC、\(\overline{ACC}\)->ACC、L(ACC)->R(ACC),\(ACC_0\)->\(ACC_0\)、R(ACC)->L(ACC),\(ACC_0\)->\(ACC_0\)、0->G |
访存指令-加法指令 |
ADD X、Ad(IR)->MAR、1->R、M(MAR)->MDR、(ACC)+(MDR)->ACC |
访存指令-存数指令 |
STA X、Ad(IR)->MAR、1->W、ACC->MDR、MDR->M(MAR) |
访存指令-取数指令 |
LDA x、Ad(IR)->MAR、1->R、M(MAR)->MDR、MDR-ACC |
转移指令-无条件转移 |
JMP x、Ad(IR)->PC |
转移指令-条件转移 |
BAN X(负则转)、\(A_0*Ad(IR)+\overline {A_0}(PC)->PC\) |
中断周期
0->MAR
1->W
PC->MDR
MDR->M(MAR)
中断程序识别程序入口地址M->PC
0->EINT
控制方式
控制方式 |
解释 |
同步控制方式 |
任一微操作均由统一基准时标的时序信号控制 |
异步控制方式 |
无基准时标信号、无固定的周期节拍和严格的时钟同步、采用 应答方式 |
联合控制方式 |
同步与异步相结合 |
人工控制方式 |
Reset、连续和单条指令执行转换开关、符合停机开关 |