计算机组织结构(五) 内置存储器
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
Memory存储器由一定数量的单元构成,每个单元可以被唯一标识,每个单元都有存储一个数值的能力.
地址:单元的唯一标识符(采用二进制).
地址空间:可唯一标识的单元总数.
寻址能力: 存储在每个单元中的信息的位数
大多数存储器是字节可寻址的,执行科学计算的计算机通常是64位寻址的.
半导体存储器
主存中广泛地运用了半导体芯片.
Memory Cell:半导体主存的基本元素.
特性:
它们展示了两种稳定(半稳定)的状态,可以用于表示二进制0和1.
能够被写入至少一次.
可以被读.
半导体存储器类型
RAMRAM
Random-Access Memory
Characteristics
易于读/写且快速
易失(断电丢失数据)
类型
DRAM:Dynamic RAM
SRAM:Static RAM
DRAM
以电容器上的电荷来存储数据
电容器中是否存有电荷被解释称二进制1和0
...
计算机组织结构(六) Cache
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
为什么需要 cache?
因为 CPU 比 内存的速度要快得多.`
基本思路
使用较小, 较快的 Cache 和相对较大,更为缓慢的 Memory
Cache 中包含了 Memory 中数据的副本
Cache 位于中央处理器和存储器之间,并可以被集成在 CPU 或者作为主板上的一个模块.
Cache 工作的原理
Check :当处理器试图读取内存中的一个字的时候,会先检查该字是否在 Cache 中.
Hit : 如果确实在, 这个字被传送给处理器.
Miss : 否则,由一定数量的字组成的一块( block )主存中的数据 被读入 Cache ,然后传给处理器.
时间局部性:未来将要使用的信息(指令和数据), 可能是现在正在使用的信息.
空间局部性:未来将要使用的信息, 很可能与正在使用的信息在存储空间上是邻近的(比如遍历一个一维数组).
判断 Hit 与 Miss
冯诺依曼计算机的设计:内存中 ...
计算机组织结构(七) 外存
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
特点
大容量,非常用
非易失性
类型
磁盘
光盘
磁带
U盘,SSD
磁盘
磁盘是一种由非磁性材料制成的称为衬底的圆盘,其上涂有一层磁性材料.
衬底材料: 铝合金,铝,玻璃..
玻璃衬底的优点:
改善磁层表面的均匀性,增加磁盘的可靠性.
显著减少整个表面的缺陷,有助于减少读写错误.
支持更低的飞行高度.
更好的刚度,降低了磁盘的动力需求.
更好的耐冲击和耐磨损能力.
分类:
软盘
硬盘
物理特性
采用可移动磁头,每面只有一个读-写头.磁头固定在支架上,支架可以伸缩,使磁头可以定位到任意磁道.
任何时候,所有的磁头都定位在磁道上,所有的磁道都是同心圆.
磁盘上相对位置相同的所有磁道的集合称为柱面.
读写机制
读-写是通过一个叫做磁头的导电线圈进行的.
读写期间,磁头静止不动,盘片高速旋转
头的数量:
单: 读写共用一个头.用于软盘, 老式硬盘.
双: 单独的读,写头.用于现代 ...
计算机组织结构(八) 纠错
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
基本思想
方法: 添加一些位来存储附加信息以便校正
过程:
读入:$M$ 位的数据 $D$ 通过函数 $f$ 产生 $K$ 位的校验码 $C$
被读出:通过 $f$ 由$D’$ 生成 $C’’$与 $C’$ 相比较
无错误: 发送 $D’$
有错误并可以纠正,发送 $D’’$
有错误且不能纠正, 报告
奇偶校验法
过程$D=D_M…D_2D_1$
奇校验: $D_M \oplus …D_2 \oplus D_1 \oplus 1$
偶校验: $D_M \oplus …D_2 \oplus D_1$
检查 $S=C’ \oplus C’’$
$S=1$ 错误的位数为奇数
$S=0$ 错误的位数为偶数或者无错误
注意: 此处是指$C$与$D$合在一起
优势:
廉价
劣势:
无法确定出错的位置
无法纠正错误
适用于较短的 $D$
汉明码
基本思想:
将数据的位分组, 每位都分到多个 ...
计算机组织结构(九) RAID 磁盘冗余阵列
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
RAID基本思想使用多个磁盘, 分散的 I/O 请求, 以至于单一的 I/O 请求可以被并行处理, 只要请求的数据分散在不同的磁盘上.
特点
RAID 是被视为一块逻辑磁盘的一组物理磁盘.
数据交叉分布在物理磁盘上.
冗余的磁盘可用于存储奇偶校验信息, 以保证再磁盘故障的情况下的数据可恢复性.
RAID 0数据在可用的磁盘上条带 (strip) 状排列, 如果数据跨物理磁盘, 则同时读写
不含冗余盘
用途:
高速率数据传输
高速 I/O 请求
与单个的大容量磁盘相比:
优点: 若两个不同的 I/O 请求等待不同的两块数据, 如果这两块数据位于不同的物理磁盘, 就能加速.
缺点: 若数据跨盘, 只要其中的一块硬盘坏了, 所有的都不能读取.
RAID 1所有的数据都按 RAID 0 的方式存取, 只是每个数据都存两份 ( 镜像 ).
优点: 恢复很简单, 可以加速读取 ( 若两 ...
计算机组织结构(十) 内存管理
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
过去, 只有操作系统和一个程序在内存中.
现在, 操作系统和多个程序都在内存中. 程序等待 I/O 时, 为了避免处理器等待, 需要进行优化, 使得更多的程序可以加载入内存.
内存管理: 在多程序设计系统中, 内存的 “用户部分” 应该被进一步划分以适应多个程序, 这是由系统动态决定的.
加载更多程序的途径
增大内存
使用交换和重叠技术
当没有程序就绪的时候, 系统载入程序
分区和分页
虚拟内存
请求分页
虚拟地址
分区固定大小分区系统: 固定的大小
用户程序: 固定的大小, 但各不相同. 当加载一个程序的时候, 将其载入刚好能够容纳下这个程序的最小的区中.
缺点: 产生大量内部碎片.
可变大小分区系统: 固定的大小
用户程序: 按需分配
缺点: 产生大量外部碎片
分页基本思想:
将内存分为固定大小的块, 称为页框(页帧), 将程序分为固定大小的块, 称为页
将页加载入 ...
计算机组织结构(十一) 总线
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
总线芯片内部总线连接芯片的各个部分
例如连接寄存器, ALU和 CPU 的其他部分
通信总线连接主机和 I/O 设备或者连接不同的计算机系统
系统总线连接 CPU, 主存, I/O 控制器和其他的功能设备
内容总线可以分为三种功能组
数据线: 在系统模块之间移动数据. 数据线的数量决定了一次能能够传送的数据的最大容量
地址线: 指定数据线上的数据的来源或者去向. 地址线也用于 I/O 端口的寻址. 地址线的数量决定了寻址空间的大小
控制线: 控制对数据和地址线路的访问和使用.
各种控制信号:
时钟: 用于总线同步
总线请求(Bus Request): 表示模块需要获得对总线的控制
总线允许(Bus Grant): 表示发出请求的模块已经被允许控制总线
中断请求: 表示某个中断尚未被处理
中断响应: 未决的中断请求被响应
存储器写: 引起总线上的数据写入被寻址的单元
存储器读: 使所寻址的单元的数 ...
计算机组织结构(十二) 指令集: 特征
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
机器指令特征CPU 的操作由它所执行的指令确定, 这些指令被称为机器指令. CPU 能执行的各种不同指令的集合称为 CPU 的指令集
指令周期指令周期: 指单条指令所需的处理过程
取指令: 每次从内存中取一条指令
执行指令: 执行每条指令
只有关机时, 程序执行才会停止, 或者遇到致命错误或者停止计算机的指令.
指令周期状态图:
带有中断的指令周期带有中断的指令周期:
带有中断的指令周期状态图:
机器指令要素
操作码:指定要执行的操作
源操作数引用:操作会涉及一个或多个源操作数, 这是操作所需的输入
结果操作数引用:该操作可能产生一个结果
下一指令引用:它告诉处理器这条指令执行完成后到哪儿去取下一条指令
指令表示
每条指令都由一个位序列表示
指令格式:指令被划分为字段,对应于指令的要素
对于大多数指令集,使用一种以上的格式
符号表示:帮助程序员和教科书的读者处理指令
操作码用 ...
计算机组织结构(十三) 指令集:寻址方式和指令格式
📚 文档目录合集-数的二进制表示-定点运算BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
表示:
A: 指令中地址字段的内容
R: 指向寄存器的指令字段的内容
EA: 被访问未知的实际(有效)地址
(X): 存储器位置 X 或者寄存器 X 的内容
立即寻址 (Immediate Addressing)操作数存在于指令中:
操作数 = A
应用: 定义和使用常数, 或者设置变量的初始值.
优点: 获取操作书不需要访问存储器, 只获取指令
缺点: 数字的大小被限制为地址字段的大小
.jpg)
直接寻址 (Direct Addressing)地址字段包含着操作数的有效地址, 早期计算机常见
EA = A
优点: 只有一次存储器访问, 不需要进行专门计算
缺点: 只能提供有限的地址空间
间接寻址(Indirect Addressing)指令中地址字段只是一个存储器字地址, 而这个地址保存着操作数的全长度地址
EA = (A)
优点: 扩大了寻址空间
缺点: 需要访问 ...
Java 基础(四) 容器与泛型
常用容器
常用 Collections
1. ArrayList类似于 c++ 中 Vector 的存在12345678910111213141516171819202122232425262728293031323334353637383940414243444546package notebook;import java.util.ArrayList;public class NoteBook { private ArrayList<String> notes = new ArrayList<String>();//指定元素的类型 public void add(String s) { notes.add(s); } public void insert(int index, String s) { notes.add(index, s); } public int getSize() { return notes.s ...
