-
主存中存储单元的地址分配
-
主存的技术指标
-
存储容量:主存的单位为存储单元,一个存储单元存放的二进制位数为存储字长。故存储容量 = 存储单元个数 × 存储字长
-
存储速度:存取时间是指启动一次存储器操作到完成该操作所需要的时间。存取周期是指存储器进行连续两次独立的存储器操作所需的最小间隔时间
-
存储器带宽指单位时间内存储器存取的信息量。提高存储器带宽的措施:缩短存取周期、增加存储字长、增加存储体
-
存储器的位扩展:增加存储字长(扩展数据线)
-
存储器的字扩展:增加存储器字的数量(扩展地址线,即增加存储容量)
-
存储器字、位扩展设计例题基本步骤
-
将十六进制地址范围转换成二进制地址码
-
根据地址范围的容量,选择存储芯片
-
分配CPU地址线
-
片选信号形成(通常使用74138译码器)
-
基于程序的局部性原理,Cache的出现解决目前主存速度远低于CPU的问题
-
工作原理:将主存与Cache分成若干大小相同的块,每块内包含若干个字。故主存和Cache中的地址分为块号和块内地址。当CPU读取数据某字时,若该字不在Cache中,则会将主存中该字所在的整个块的数据调入Cache中,此时表示CPU访问Cache未命中;若该字在Cache中,表示CPU访问Cache命中。
-
Cache的命中效率、Cache-主存系统的平均访问时间、访问效率的计算
-
Cache的读写操作
-
Cache的改进
-
Cache-主存地址映射
-
直接映射
-
全相联映射
-
组相联映射
-
不同映射方式下主存地址格式的计算
- Cache替换策略
-
FIFO算法
-
LRU算法
-
随机法
=====================================================================
-
I/O软件:I/O指令、通道指令
-
I/O硬件设备
-
程序查询方式:由CPU通过程序不断查询I/O设备是否已经做好准备,从而控制I/O设备与主机交换信息。这种方式使CPU和I/O设备处于串行工作状态,CPU的工作效率不高
-
程序中断方式:当I/O设备准备就绪后向CPU发出中断请求,CPU响应中断请求,与I/O设备交换信息。这种方式CPU的工作效率较高。
-
DMA方式:主存与I/O设备有一条数据通路,交换信息时I/O设备无需向CPU发送中断请求。(若DMA和CPU同时访问主存,CPU将优先权让给DMA,即窃取)。这种方法进一步提高CPU的利用率。
-
中断的概念: 计算机在执行程序过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现形程序的间断处,继续执行原程序。
-
程序中断的接口电路
-
中断请求触发器和中断屏蔽触发器
-
中断向量地址形成部件
- I/O中断处理的过程
-
CPU响应中断的条件和响应时间
-
I/O中断处理过程
- 中断服务程序的流程
-
保护现场
-
中断服务
-
恢复现场
-
中断返回
- 单重中断与多重中断服务程序的区别
-
引入DMA方式的原因
-
DMA的定义
-
DMA方式的特点
-
DMA与主存交换数据的三种方式
-
停止CPU访问主存: DMA直接抢占主存控制权,数据传送结束后交回给CPU
-
周期挪用(周期窃取):I/O发出DMA请求时,I/O挪用或窃取总线占用权的一个或者几个主存周期
-
DMA与CPU交替访问:DMA与CPU以固定时间轮流获得主存控制权
-
DMA接口的功能和组成
-
DMA的工作过程
=======================================================================
-
机器数的表示方法:原码、反码、补码和移码
-
定点数和浮点数的表示方法
-
定点运算:不同编码算术移位的规则、补码加减法运算、原码移位乘除运算原理
-
浮点运算:加减运算的步骤
-
快速进位链:串行进位链和并行进位链
-
原码、补码移位乘除法原理
功能
-
实现数据的算术和逻辑运算,包含溢出判断,有无进位,判零等
-
暂存参加运算的数据和中间结果,由其内部的一组寄存器承担
-
为了实现乘除运算,运算器设有能自行左右移位的专用寄存器,称为乘商寄存器
组成
-
ALU
-
寄存器组
-
移位寄存器
-
多路选通门
===================================================================
-
指令格式:操作码和地址码、操作码扩展及计算
-
操作类型和操作数类型
-
寻址方式
-
指令寻址:顺序寻址、跳跃寻址(转移类指令实现)
-
数据寻址
- 数据寻址方式
-
立即寻址:操作数本身在指令中,不用访问存储器
-
直接寻址:操作数的有效地址在指令中,通过有效地址访问存储器取出操作数
-
隐含寻址:操作数的地址隐含在操作码或某个寄存器中
-
间接寻址:操作数有效地址的地址在指令中,先从存储器中取出有效地址,再访问存储器取出操作数
-
寄存器寻址:指令中给出操作数在寄存器中的有效地址,用改地址从寄存器中取出操作数
-
寄存器间址:指令中给出操作数的间址,根据间址从寄存器中取出有效地址,再根据有效地址访问存储器取出操作数
-
基址寻址:设有基址寄存器BR存有基地址,指令中给出形式地址。根据基地址与形式地址之和访问存储器取出操作数
-
变址寻址:与基址寻址以为相似,将变址寄存器IX与指令中的形式地址之和访问存储器取出操作数
-
相对寻址:根据程序计数器PC的值和指令中形式地址之和访问存储器取出操作数
-
堆栈寻址:从堆栈中取出操作数有效地址
- RISC与CISC
-
RISC(精简指令系统计算机):80-20规律
-
CISC(复杂指令系统计算机):控制器大多采用微程序控制
========================================================================
取指令、分析指令、执行指令
ALU(算术逻辑单元)、寄存器、中断系统、CU(控制单元)
-
用户可见寄存器: 通用寄存器、数据寄存器、地址寄存器、条件码寄存器
-
控制和状态寄存器
-
MAR(存储器地址寄存器):存放CPU欲访问的存储单元地址
-
MDR(存储器数据寄存器):存放需要CPU处理的数据
-
PC(程序计数器):存放下一条指令的地址
-
IR(指令寄存器):存放欲执行的指令
1.定义
定义:从开始取指到执行完指令的时间(无条件转移指令、加法指令和乘法指令三者区别)
间接寻址的定义
2.四个部分
一个完整的指令周期包含取指、间址、执行、中断四个部分
3.指令周期的数据流
见文章《计算机组成原理》指令周期数据流的详解blog.csdn.net/Dae\_Lzh/ar…
4.指令流水
-
例如执行部件执行指令时,取指部件取下一条指令,原理类似工厂流水线
-
六级流水及影响因素
中断系统解决的问题
1、各中断源如何向CPU提出中断请求
2、多个中断源同时提出请求是,中断系统按照何种优先级响应中断请求
3、CPU在什么条件、什么时候、什么方式来响应中断
4、CPU响应中断后如何保护现场
5、CPU响应中断后,如何停止原程序执行进而转入中断服务程序的入口地址
6、中断服务程序结束后,CPU如何恢复现场,如何返回原程序的间断处
7、在中断处理过程中又出现了新的中断请求,CPU该如何处理
中断请求标记
中断系统中设置中断请求触发器 INTR,其状态为“1”时表示有中断请求
中断判优逻辑
-
硬件排队:链式排队器、CPU内排队器
-
软件排队:通过编写软件查询程序实现
中断服务程序入口地址的寻找
-
硬件向量法:利用向量地址形成部件形成向量地址,再由该地址找到中断服务程序的入口地址(现代计算机普遍采用)
-
软件查询法
中断响应
-
中断响应条件:允许中断触发器 EINT 可被开中断指令置“1”此时CPU允许响应中断;关中断指令置“0”,此时CPU禁止响应中断。当EINT = 1,且INTR = 1(有中断请求),CPU响应中断请求
-
中断响应的时间:指令执行周期结束后
-
中断隐指令:①保护程序断点 ②寻找中断服务程序的入口地址的两种方式为将向量地址送PC、软件查询入口地址 ③关中断
-
保护现场: 保护程序断点由中断隐指令完成,保护CPU内寄存器内容由中断服务程序完成
-
恢复现场: 恢复寄存器内容,由中断服务程序完成
-
中断屏蔽技术
-
单重中断:CPU处理中断时对新的中断请求不响应,梳处理完成后再响应
-
多重屏蔽
-
提前设置开中断指令
-
优先级高的中断源有权中断优先级低的中断源
-
屏蔽触发器MASK与屏蔽字:屏蔽触发器组合在一起构成屏蔽寄存器,其内容就是屏蔽字,与中断源的优先级以一一对应,屏蔽字中“1”的个数越多,表示中断源的优先级越高。
-
多重中断断点保护:保存在堆栈或特定的存储单元中
=====================================================================
控制指令执行,在取指周期、间址周期、执行周期、中断周期的基本流程
(一)取指周期
程序计数器PC值送存储器地址寄存器MAR,PC->MAR
CU向主存发出读命令,1->R
根据指令地址(MAR)从主存中取出指令,通过数据总线送至存储器数据寄存器MDR,M(MAR)->MDR
将MDR的内容送至指令寄存器IR保存,MDR->IR
指令的操作码送至CU译码,OP(IR)->CU
程序计数器自增,(PC)+1->PC
(二)间址周期
如果指令中有间接地址,进入间址周期。
即通过间接地址从存储器中取出有效地址。
收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!