九、浮点数的表示和运算
定点数的局限性
2B定点整数 short表示: -8540
马云的财富:88888888888888888
4B定点整数 int 无法表示
从科学计数法理解浮点数:
+3.026 * 10^11
阶码(大小):阶符 + 阶码的数值 常用补码或者移码表示的定点整数
尾数(精度):数符+尾数数值 常用原码或者补码表示的定点小数
浮点数尾数的规格化
尾数的最高位不能是无效值
若是无效值,可以左移最高数值位,此时阶码的值也要减去左移位数(左规)
如果运算后尾数出现溢出(双符号位为01或10),不符合科学计数法,阶码值加上右移位数 (右规)
采用“双符号位”,当溢出发生时。可以挽救。更高的符号位是正确的符号位
规格化浮点数的特点
十、存储系统的基本概念
存储器的层次结构
CPU Cache(多级cache/指令数据分离) 主存 辅存
TLB(快表)->页基址寄存器+慢表
解决的问题
主存的读写速度跟不上CPU运算速度,所以加入cache高速缓存器,解决了速度不匹配的问题
主存辅存(va技术)解决了主存容量不够的问题
eg:辅存 (1TB):100 MB/s : SATA6 Gb/s 现在用SSD固态 :500MB/s 更快更稳定
m.2接口SSD读写速度可达4GB/s
因此固态中的系统启动更快
三星内存条 (8G):4 GB/s
cache(L1 ~L3)(i5 12MB):200~900 GB/s
上层:速度快、容量小、价格高
1. 寄存器
2. Cache 高速缓存
3. 内存 (主存)
4. 磁盘 (辅存)
5. 外存 (磁带、光盘)
下层:速度慢、容量大、价格低
存储器的分类
1.是否可以被CPU直接读写:
内存和Cache可以
2.存储介质:
半导体存储器
光存储器
磁性材料
3.存取方式:
RAM 随机存取、 SAM 顺序存取 、DAM 直接存取 (串行访问存储器)
相联存储器:根据内容检索地址比如快表
4.信息的可更改性:
读写存储器
只读存储器(BIOS通常写在ROM中,事实上ROM也可以多次读写但是很麻烦)
5.信息的可保存性:
易失性存储器
非
破坏性读出
非破坏性读出
存储器的性能指标
存储字长:字数*字长
单位成本:总成本/总容量
存储速度:数据传输率=数据的宽度/存储周期
存取时间
存取周期:存取时间+恢复时间
主存带宽(数据传输率)
十一、主存储器的基本组成
半导体元件的原理
主存逻辑上可分为
MAR MDR 存储体
一个存储体由多个存储单元组成,存储单元由多个存储元组成
存储元: MOS管+电容
充放电过程就是存储读取01的过程
于是科学连接这些存储元就可以一次性写多个二进制数(接上同一根MOS管电压线)
也就是组成了一个存储字,比如说8个存储元组成8b的存储字
存储芯片的原理
如何根据地址读写到具体存储字(找到存储字)?
/:译码器根据MAR中的地址,给某个字选线接通,点亮这个存储字的MOS管,输出一个字的二进制数
(译码器将地址信号转换为字选线的高低电平)
然后接收到输出的数据线把结果给MDR /
在这个过程中,需要控制电路(位于芯片外):
1.各个线稳定后再打开通道 ,通过驱动器实现讲点信号放大
2.存储芯片对外(CPU)提供片选线 CS CE,低电平有效
3.读写控制线,可能有一条或者两条,WE,OE;WE:写,读,注意引脚数
总结: 片选线 译 码 存 储 读 写 数据线
地址线 驱 动 矩 阵 电 路 读写控制线
4类引脚数:1.选择芯片:片选线
2.输入输出:数据线和地址线
3.读写控制线,接通WE OE
片选线(CS)作用:选择工作芯片
n位地址 -> 2^n个存储单元
总容量 = 存储单元个数*存储字长
8 * 8 位的存储芯片
常见的描述:
如何实现不同的寻址方式
寻址
如,总容量为1KB(说明地址线有10根,地址空间从10个全0到10个全1),字长为4B,存储矩阵为:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
… … … …
1020 1021 1022 1023
按字节寻址:1K个单元,每个单元1B;(按每个存储单元)
按字寻址:256个单元,每个单元4B;(按行)
按半字寻址:512个单元,每个单元2B;(按半行)
按双字寻址:128个单元,每个单元8B;(按两行)
按字节寻址时,和数据线没有任何关系;只有当按字寻址时,才考虑数据线,通过数据线来判断字长。
【例】cpu有20根地址线和32根数据线,按字节和字寻址,寻址范围分别是多少?
按字节寻址,寻址范围:220=1MB;
按字寻址,32根数据线可以看做存储字长有32位,那么一个存储字就有4个字节,这4个字节的区分,需要从20根地址线拿出两根作为字内寻址,这样剩下18根数据线来寻址,寻址范围:218=256KB
字地址和字节地址的关系
【例】地址线20根,数据线16根,按字节寻址:220=1MB;按字寻址:219=512KB;
a × \times × b的芯片,a是字线,连接的是地址线,b是位线,连接的是数据线。
2K × \times × 4位芯片:11根地址线,4根数据线
十二、SRAM和DRAM(静态动态RAM)
DRAM用于主存、SRAM用于Cache
存储元件的特性差异
DRAM芯片:栅极电容
SRAM芯片:双稳态触发器
存储元的区别:
栅极电容 (电容只能维持2ms,必须刷新充电)
读:电容放电,信息被破坏,读出后需要重写
(读写速度更慢、成本低、集成度高、功耗低) 成本低,制作主存
双稳态触发器:呈现两种稳定状态:1(A高B低 )0(A低B高)
读:触发器状态保持稳定,无需重写
(读写速度更快、成本高、集成度低、功耗大)适合高速缓存的作用,高速存放信息
断电信息都会丢失
DRAM的刷新
1.多久刷新一次
2ms
2.每次刷新多少存储单元
以行为单位,每次刷新一行存储单元
行列地址减少选通线数量,分为行译码器,列译码器
3.如何刷新
有硬件支持不需要CPU控制,读出一行的信息后重写写入,占用1个读、写周期
4.什么时刻刷新
分散刷新,每个读写周期后,刷新也占用一次
集中刷新,2ms中某一段时间专门用来刷新,无法访问主存,称为死区
异步刷新,每隔一段时间刷新,可在译码阶段刷新
DRAM的地址线复用技术
本来需要n位地址线同时送行列地址,现在用n/2个地址线,前后传送给行列地址缓冲器
减少了地址线,也减少了引脚数
PS:现在主存通常采用SDRAM芯片
十三、只读存储器ROM(非易失性)
了解各种ROM
MROM——掩模式只读存储器:可靠性高、灵活性差、生产周期长、适合批量定制
PROM——可编程只读存储器:用户可以自己写一次数据
EPROM——可擦除可编程只读存储器:写完可以用某种方法擦除数据,可进行多次重写
UVEPROM 紫外线照射擦除,擦除所有信息
EEPROM 电擦除的方式,擦除特定的字
Flash Memory——闪存(U盘、SD卡)——每个存储元只需要单个MOS管,位密度比RAM高
断电后能保存信息,可进行多次快速擦除重写
写速度比读速度慢,因为写数据的时候需要先擦除
SSD——固态硬盘
由控制单元+存储单元(Flash芯片)构成,核心区别在于控制单元不同。
计算机内的重要ROM(BIOS)
主板上的BIOS芯片,存储了“自举装入程序”,负责引导装入操作系统(开机)
逻辑上,主存由RAM+ROM组成,且二者常统一编址