计算机组成原理学习(哈工大视频)第四章(1)

4.1概述
存储器分类:
按存储介质分类:半导体存储器 (TTL,MOS),磁表面存储器(磁头,磁载体),磁芯存储器(硬磁材料,环状元件),光盘存储器(激光,磁光材料)
按存储方式分类:存储时间与物理地址无关(随机访问,随机存储器:在程序的执行过程中可读可写;只读存储器:在程序的执行过程中只读),存储时间和物理地址有关(串行访问,顺序存取存储器:磁带;直接存取存储器:磁盘)
按在计算机中的作用分类:
计算机组成原理学习(哈工大视频)第四章(1)_第1张图片
存储器的层次结构:
存储器三个主要特性的关系:
计算机组成原理学习(哈工大视频)第四章(1)_第2张图片
缓存——主存层次和主存——辅存层次:
计算机组成原理学习(哈工大视频)第四章(1)_第3张图片
程序的局部性原理:程序在执行时,呈现出局部性规律,既在一段时间内,整个程序的执行仅限于程序中的某一部分,相应的执行所访问的存储空间也局限于某一个内存区域。

4.2主存储器
4.2.1 概述
主存的基本组成:
计算机组成原理学习(哈工大视频)第四章(1)_第4张图片
主存和CPU的联系:
计算机组成原理学习(哈工大视频)第四章(1)_第5张图片
主存中存储单元地址的分配:
字地址=存储字地址=存储单元地址
存储字长32位=4字节,所以包含4个字节的地址
字地址只取其包含的4个字节的地址的首地址,比如字地址为0,计算机会自动读取0123这4个字节数据组成一个完整的存储字
计算机组成原理学习(哈工大视频)第四章(1)_第6张图片
主存的技术指标:存储容量(主存存放二进制代码的总位数),存储速度(存取时间:存储器的访问时间,分为读出时间和写入时间;存取周期:连续两次独立的存储器操作(读或写)所需的最小间隔时间,分为读周期和写周期),存储器的带宽 位/秒
4.2.2半导体存储芯片简介
半导体存储芯片的基本结构:
计算机组成原理学习(哈工大视频)第四章(1)_第7张图片
计算机组成原理学习(哈工大视频)第四章(1)_第8张图片
片选线:CS是芯片选择信号(chip select),CE是芯片使能信号(chip enable),其作用是能够让某一组或者某些芯片同时进行工作。如下:要使用16K X 1的存储芯片实现 64K X 8位的存储器,首先使用 8 个芯片一组,使其同时工作,来模仿 8 位的芯片,而要实现 64K 的内存要求,就需要 4 组这样的组合,总共需要 32 片16K X 1的存储芯片。然后将4组进行分区,来作为片区的选择对象。
计算机组成原理学习(哈工大视频)第四章(1)_第9张图片
读/写控制线:WE(低电平写,高电平读,write enable)OE(允许读)WE(允许写)

半导体存储芯片的译码驱动方式:
线选法:如下,A0到A4代表有16种选择,16个地址,每个地址下有8位的内存大小,总共的内存为16*8。相当于把内存布局为一个线性表。
计算机组成原理学习(哈工大视频)第四章(1)_第10张图片
重合法:如下,相当于把内存布局为一个二维的阵列。将存储器的集成度提高
计算机组成原理学习(哈工大视频)第四章(1)_第11张图片

4.2.3随机存取存储器(RAM)
静态RAM(SRAM)的基本电路:
计算机组成原理学习(哈工大视频)第四章(1)_第12张图片
静态RAM基本电路的读操作:
计算机组成原理学习(哈工大视频)第四章(1)_第13张图片
静态RAM基本电路的写操作:
计算机组成原理学习(哈工大视频)第四章(1)_第14张图片
静态RAM芯片举例:Intel2114外特性
计算机组成原理学习(哈工大视频)第四章(1)_第15张图片
Intel2114RAM矩阵(64X64)的读操作:其使用的译码驱动方式为重合法。首先理解整个图的内容:将10条地址线分成了两部分,一部分6条作为行地址线,对应64位,另一部分4条作为列地址线,对应每组内的16位。而输入输出线4条,对应4组内的各一位,每组内的位数就是列地址对应的16位,故总的内存相当于64X16X4。输出或输入时,对应的是对应行的各个组内的对应列的内容。
计算机组成原理学习(哈工大视频)第四章(1)_第16张图片
Intel2114RAM矩阵(64X64)的写操作
计算机组成原理学习(哈工大视频)第四章(1)_第17张图片
动态RAM基本单元电路:没听懂呀!!!
计算机组成原理学习(哈工大视频)第四章(1)_第18张图片
动态RAM芯片举例:
三管动态RAM芯片(Intel 1103)读操作
计算机组成原理学习(哈工大视频)第四章(1)_第19张图片
三管动态RAM芯片(Intel 1103)写操作
计算机组成原理学习(哈工大视频)第四章(1)_第20张图片
单管动态RAM4116(16KX1位)外特性:要实现16K的要求,则需要14根地址线,这里通过7根地址线做两次接受,先接受7位的行地址,再接受7位的列地址:
计算机组成原理学习(哈工大视频)第四章(1)_第21张图片

4116(16KX1位)芯片读原理:读取的内容是行地址0111111,列地址0000000,所对应的内容,通过I/O输出
计算机组成原理学习(哈工大视频)第四章(1)_第22张图片
4116(16KX1位)芯片写原理:写入的内容是行地址0111111,列地址0000000,所对应的地址,通过I/O写入
计算机组成原理学习(哈工大视频)第四章(1)_第23张图片
动态RAM刷新:为了保持电路中的电容的电荷量;
动态RAM的刷新只与行地址有关,既相当于每次刷新都以行为单位进行刷新;
动态RAM的刷新方式:以下刷新要求2ms内刷新一遍所有的行
集中刷新(存取周期为0.5μs)以128X128矩阵为例:死区即为刷新所持续的时间段,此段时间内,动态RAM不在进行读写操作
计算机组成原理学习(哈工大视频)第四章(1)_第24张图片
分散刷新(存取周期为1μs)以128X128矩阵为例:每一次读写结束后,接着对相应的行进行刷新,造成的结果是存取周期的翻倍,虽然没有了所谓的死区,但是牺牲了性能,不可取:
计算机组成原理学习(哈工大视频)第四章(1)_第25张图片
分散刷新和集中刷新相结合(异步刷新):以128X128的存储芯片,存取周期为0.5μs(2ms内要把128行全部刷新一遍),若每隔15.6μs刷新一行,则相当于每行每隔2ms刷新一次,“死区”为0.5μs。若将刷新安排在指令译码阶段,不会出现“死区”
计算机组成原理学习(哈工大视频)第四章(1)_第26张图片
动态RAM和静态RAM的比较:动态RAM用于做主存,静态RAM用于做缓存
计算机组成原理学习(哈工大视频)第四章(1)_第27张图片

4.2.4只读存储器(ROM)
掩模ROM(MROM) :行列选择线交叉处有MOS管为“1”;行列选择线交叉处无MOS管为“0”;出厂已经设置好信息
PROM(一次性编程):通过熔丝是否烧断,决定信息的表达,但是是破坏性编程,只能编写一次
计算机组成原理学习(哈工大视频)第四章(1)_第28张图片
EPROM(多次性编程):
N型沟道浮动栅MOS电路:使用紫外线进行擦洗,但擦洗麻烦
计算机组成原理学习(哈工大视频)第四章(1)_第29张图片
EEPROM(多次性编程):电可擦写,局部擦洗,全部擦洗
Flash Memory (闪速型存储器):速度较快,可作为硬盘和内存之间的链接
EPROM:价格便宜,集成度高;EEPROM:电可擦洗重写;Flash Memory:比EEPROM快,具备RAM功能

4.2.5存储器与CPU的连接
存储器容量的扩展:用现有的存储芯片组合构成所需的存储器
位扩展(增加存储字长):使用 2 片 1KX4位 存储芯片组成的 1KX8 位的存储器(1K代表10根地址线,8位代表8根数据线):位扩展的关键是将两个芯片当成一个芯片来用,并让两个芯片同时工作,既同时做读操作,同时做写操作,要保证同时,就必须使两个芯片使用同样的片选信号
计算机组成原理学习(哈工大视频)第四章(1)_第30张图片
字扩展(增加存储字的数量):使用 2 片 1KX8位 存储芯片组成 2KX8位的存储器(2K代表需要11根地址线,8位为8根数据线),两个芯片不能同时工作,并以A10作为片选(A10为1是选一个,为零时,选另一个),来选择两个芯片中的一个进行操作。以此完成存储器的字的扩展,增加了存储器的容量。
计算机组成原理学习(哈工大视频)第四章(1)_第31张图片
字、位同时扩展:使用 8片 1KX4位的存储芯片组成一个 4KX8位的存储器(4K代表有12个地址线,8位代表8根数据线):首先,使用两个 1KX4位的芯片构成一个 1KX8位的存储芯片,这两个芯片的片选是相同的,接受同样的信号作为片选的输入,同时工作。使用4组这样的芯片组成所需的芯片。
计算机组成原理学习(哈工大视频)第四章(1)_第32张图片
存储器和CPU之间的连接:地址线的连接,数据线的连接,读写命令线的连接,片选线的连接,合理选择存储芯片,其他(时序、负载)

4.2.6存储器的校验
合法代码集合:
在这里插入图片描述
计算机组成原理学习(哈工大视频)第四章(1)_第33张图片
编码的检错能力和纠错能力和什么有关:(1)把合法代码改变以一位变成另一个合法代码,则没有检错能力,因为任何一位错了,就变成了另一个合法代码,不能检错;(2)要想把一个合法代码变成另外一个合法代码,则至少要改变两位,这样才能检测出发生的错误;(3)一个合法代码要改变成另外一个至少要改变三位,则可以检测一位,并纠错一位;(4)一个合法代码要转化为另一个合法代码,至少要改变四位,则可以检测两位错,并纠正一位错;(5)一个合法代码要转化为另外一个合法代码,至少要改变五位,则可以检测两位错,并纠正两位错;总的来说,检错和纠错能力和合法代码中,任意两组合法代码之间二进制位的最少差异数有关。

编码的最小距离:任意两组合法代码之间二进制位数的最少差异(既将一个合法码转化为另一个合法码的最少的改变位数):编码的纠错,检错能力和编码的最小距离有关,最小距离越大,纠错和检错能力越强:
L-1=D+C(D>=C)
其中L ——编码的最小距离,D——检错的位数,C——纠错的位数

汉明码的组成
汉明码采用奇偶校验(奇偶校验:增加一个校验位,使数字中1或者0的个数为偶数或奇数个):比如 0010 0011 对1的个数的偶校验为1 0010 0011
汉明码采用分组校验 :均匀分组偶校验,1 0010 0 0011 每四位一组,加一位,进行校验
汉明码的非划分形式的分组校验:比如7位数1234567,分成3组,每组有1位校验位,每组包括4位数据位(如下图),以1357作为第一组P1,2367作为第二组P2,4567作为第三组P3,则每组中的的校验位组成的数:P3P2P1,为000时,表示都是正确的,001表示第一位错了(既可以理解为只有第一组中出现了错误,故应该是第一组独有的某位错了,故为第一位,也可以使用三个校验位组成的十进制数直接说明是第一位),101表示第5位错了(同样既可以理解为第一组和第三组中同时出现了错误,故应该是第一组和第三组共有的某位错了,故为第五位,也可以使用三个校验位组成的十进制数直接说明是第五位),111表示第七位错了(同样既可以理解为第一组、第二组和第三组中同时出现了错误,故应该是第一组、第二组和第三组共有的某位错了,故为第七位,也可以使用三个校验位组成的十进制数直接说明是第七位)。校验位放置的位置应该是没组数据自己独有的一位,故可放在1,2,4,8等2的次方位置。交叉部分的数值,由对应的校验位的十进制相加得出,比如第一组和第二组交叉部分为1+2得出的3,第二组和第三组交叉部分为2+4得出的6,三组共同的交叉部分为1+2+4得出的7.
计算机组成原理学习(哈工大视频)第四章(1)_第34张图片
汉明码如何分组?
计算机组成原理学习(哈工大视频)第四章(1)_第35张图片
汉明码的组成三要素:汉明码的 组成需要增加的多少位的检测位(增减多上校验位,相当于分成了多少组,同时这么多个位组成的二进制数要能表示出来数据的所有状态,要满足2^k≥n+k+1,其中n是数据位数,k是增添的校验位,1代表正确的状态 ),检测位的位置(2的i次方,i为0,1,2,3……),检测位的取值(检测位的取值与该位所在的检测小组承担的奇偶校验任务有关)
各检测位Ci所承担的检测小组为:
C1检测的g1小组包含第1,3,5,7,9,……位置的二进制编码为X……XXX1
C2检测的g2小组包含第2,3,6,10,11,……位置的二进制编码为X……XX1X
C4检测的g3小组包含第4,5,6,7,12,13,……位置的二进制编码为X……X1XX
C8检测的g4小组包含第8,9,10,11,12,13……位置的二进制编码为X……1XXX
……
gi小组独占第2的(i-1)次方位置的二进制编码为0……10……0
gi和gj小组共同占有的是第2的(i-1)次方加上2的(j-1)次方所在的位,位置的二进制编码为0……010……010……0
同样gi,gj,gl小组共同占有的……
……

4.2.7提高访存速度的措施
采用高速器件;采用层次结构 Cache-主存;调整主存结构
调整主存结构:
(1)单体多字系统(增加存储器的带宽)
计算机组成原理学习(哈工大视频)第四章(1)_第36张图片
(2)多体并行系统
高位交叉,顺序编址,提高存储器的容量,但并不提高速度
计算机组成原理学习(哈工大视频)第四章(1)_第37张图片
高位交叉,各个体并行工作
计算机组成原理学习(哈工大视频)第四章(1)_第38张图片
低位交叉,各个体 轮流编址
计算机组成原理学习(哈工大视频)第四章(1)_第39张图片
低位交叉的特点:在不改变存取周期的前提下,增加存储器的带宽
计算机组成原理学习(哈工大视频)第四章(1)_第40张图片
高位交叉用于存储器容量的扩展,低位交叉用于存储器带宽和访问速度的提高
(3)高性能存储芯片
SDRAM(同步DRAM):在系统时钟的控制下,进行读出和写入,CPU无需等待
RDRAM:由Rambus开发,主要解决存储带宽问题
带Cache的DRAM

你可能感兴趣的:(计算机组成原理(哈工大视频))