‘壹’ 什么是指计算机一次能并行存取
随着计算机应用领域的不断扩大,处理的信息量越来越多,并且现代计算机的I/O设备也在不断增加,因此,提高访存的速度已经成为了迫不及待的任务。于是就出现了并行存储器。
在介绍并行存储器之前,先来介绍一个概念:
**存储器的带宽:表示单位时间内存储器存取的信息量,可用字/秒或者位/秒表示。是衡量数据传输率的重要技术指标。**存储器的带宽是决定了以存储器为中心的机器获得信息的速度。可以通过下面的几种方式提高:
1.缩短存取周期
2.增加存储字长
3.增加存储体
双口RAM
为了提高CPU访问存储体的速度,可以采用双端口的存储器,多模块存储器等技术,它们同属于并行技术。前者为空间并行,后者为时间并行。
多模块存储器
我们还可以从时间上并行并行存取。我们知道CUP的速度要比存储器要快,如果我们同时从存储器中取出几条指令,那么我们就可以充分利用CPU资源,提高运行效率。
多体并行存储器
由多体模块构成,每个模块都有相同的容量和存取速度,有独立的读写控制电路,地址寄存器和数据寄存器。
多体并行存储器分为高位交叉编址和低位交叉编址两种。
高位交叉编址
当程序按体内地址顺序存放,即一个体存满之后,再存入下一个体时,这种方式称为顺序存储,
低位交叉编址
对应于高位交叉编址,低位交叉编址指的是将程序连续存放在相邻体中,又称交叉存储。
访存冲突
但是低位交叉存储可能导致访存冲突,当访存地址在相邻的四次访存中,出现在同一存储块内,就会发生访存冲突。
两种并行存储器的访问时间
设存储器的模块数为n,存取周期为T,总线传输周期为i,当采用流水线方式存取的时候,:
若采用高位交叉编址,那么连续读取n个字节所需的时间t1为: t1 = nT
若采用低位交叉编址,那么连续读取n个字节所需的时间t2为:t2 = T +(n - 1 )i
存储器的交叉模块数 m >= T/i
‘贰’ 多体交叉存储器
地址顺序存放(一个体存满后,再存入下一个体),故又有顺序存储之称。高位地址可表示体号,低位地址为体内地址。
高位地址:又称片选地址
串行工作:并没有提高访问速度,一个一个访问,读m个字仍需 m个周期时间
设存储周期为 T ,总线传送周期为 t ,交叉模数为m。
1、一个4体并行低位交叉存储器,每个模块的容量是64K×32位,存取周期为200ns,在以下说法中,( )是正确的。
A. 在200ns内,存储器能向CPU提供256位二进制信息
B. 在200ns内,存储器能向CPU提供128位二进制信息
C. 在50ns内,每个模块能向CPU提供32位二进制信息
D. 都不对
解:对CPU来说,它可以在一个存取周期内连续访问4个模块,32位×4=128位。本题答案为B
2、采用4体并行低位交叉存储器,每个模块的容量是32K×16位,存取周期为400ns,在以下说法中, 是正确的。
A. 在0.1µs内,存储器能向CPU提供 2 6 位二进制信息
B. 在0.1µs内,存储器能向CPU提供 1 6 位二进制信息
C. 在0.4µs内,存储器能向CPU提供 2 6 位二进制信息
D. 都不对
解:400ns=0.4µs,16位×4=64位= 2 6 位。本题答案为C
3、多体并行方式有两种,其中高位交叉编址的多体存储器中,程序 ① 存放,而低位交叉编址的多体存储器中,程序 ② 。
解:本题答案为:① 按体内地址顺序 ② 连续存放在相邻体中。
采用多体交叉存储器时,主要由地址的低位部分来选择各个存储体。
采用多体交叉存储器时,当连续访问的存储单元位于不同的存储体时可获得较高的存取速度。
有M个存储体的低位交叉编址的多体存储器是采用模M编址方式
4、为了通过交叉访问提高存储系的访问速率,必须满足
5、一个4体低位交叉的存储器,假设存取周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?
答:
本题中,只有访问第一个字需一个存取周期,从第二个字开始,每隔1/4存取周期即可访问一个字,因此,依次访问64个字需:
存取周期个数 =(64-1)×(1/4)T+T =(63/4+1)T =15.75+1 =16.75T
‘叁’ 计算机组成原理(三)存储系统
辅存中的数据要调入主存后才能被CPU访问
按存储介质,存储器可分为磁表面存储器(磁盘、磁带)、磁心存储器半导体存储器(MOS型存储器、双极型存储器)和光存储器(光盘)。
随机存取存储器(RAM):读写任何一个存储单元所需时间都相同,与存储单元所在的物理位置无关,如内存条等
顺序存取存储器(SAM):读写一个存储单元所需时间取决于存储单元所在的物理位置,如磁盘等
直接存取存储器(DAM):既有随机存取特性,也有顺序存取特性。先直接选取信息所在区域,然后按顺序方式存取。如硬盘等
相联存储器,即可以按内容访问的存储器(CAM)可以按照内容检索到存储位置进行读写,“快表”就是一种相联存储器
读写存储器—即可读、也可写(如:磁盘、内存、Cache)
只读存储器—只能读,不能写(如:实体音乐专辑通常采用CD-ROM,实体电影采用蓝光光盘,BIOS通常写在ROM中)
断电后,存储信息消失的存储器——易失性存储器(主存、Cache)
断电后,存储信息依然保持的存储器——非易失性存储器(磁盘、光盘)
信息读出后,原存储信息被破坏——破坏性读出(如DRAM芯片,读出数据后要进行重写)
信息读出后,原存储信息不被破坏——非破坏性读出(如SRAM芯片、磁盘、光盘)
存储器芯片的基本电路如下
封装后如下图所示
图中的每条线都会对应一个金属引脚,另外还有供电引脚、接地引脚,故可以由此求引脚数目
n位地址对应2 n 个存储单元
假如有8k×8位的存储芯片,即
现代计算机通常按字节编址,即每个字节对应一个地址
但也支持按字节寻址、按字寻址、按半字寻址、按双字寻址
(Dynamic Random Access Memory,DRAM)即动态RAM,使用栅极电容存储信息
(Static Random Access Memory,SRAM)即静态RAM,使用双稳态触发器存储信息
DRAM用于主存、SRAM用于Cache,两者都属于易失性存储器
简单模型下需要有 根选通线,而行列地址下仅需 根选通线
ROM芯片具有非易失性,断电后数据不会丢失
主板上的BIOS芯片(ROM),存储了“自举装入程序”,负责引导装入操作系统(开机)。逻辑上,主存由 辅存RAM+ROM组成,且二者常统一编址
位扩展的连接方式是将多个存储芯片的地址端、片选端和读写控制端相应并联,数据端分别引出。
字扩展是指增加存储器中字的数量,而位数不变。字扩展将芯片的地址线、数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。
实际上,存储器往往需要同时扩充字和位。字位同时扩展是指既增加存储字的数量,又增加存储字长。
两个端口对同一主存操作有以下4种情况:
当出现(3)(4)时,置“忙”信号为0,由判断逻辑决定暂时关闭一个端口(即被延时),未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。
多体并行存储器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交义工作。多体并行存储器分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)两种.
①高位交叉编址
②低位交叉编址
采用“流水线”的方式并行存取(宏观上并行,微观上串行),连续取n个存储字耗时可缩短为
宏观上,一个存储周期内,m体交叉存储器可以提供的数据量为单个模块的m倍。存取周期为T,存取时间/总线传输周期为r,为了使流水线不间断,应保证模块数
单体多字系统的特点是存储器中只有一个存储体,每个存储单元存储m个字,总线宽度也为m个字。一次并行读出m个字,地址必须顺序排列并处于同一存储单元。
缺点:每次只能同时取m个字,不能单独取其中某个字;指令和数据在主存内必须是连续存放的
为便于Cache 和主存之间交换信息,Cache 和主存都被划分为相等的块,Cache 块又称Cache 行,每块由若干字节组成。块的长度称为块长(Cache 行长)。由于Cache 的容量远小于主存的容盘,所以Cache中的块数要远少于主存中的块数,它仅保存主存中最活跃的若干块的副本。因此 Cache 按照某种策略,预测CPU在未来一段时间内欲访存的数据,将其装入Cache.
将某些主存块复制到Cache中,缓和CPU与主存之间的速度矛盾
CPU欲访问的信息已在Cache中的比率称为命中率H。先访问Cache,若Cache未命中再访问主存,系统的平均访问时间t 为
同时访问Cache和主存,若Cache命中则立即停止访问主存系统的平均访问时间t 为
空间局部性:在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的
时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息
基于局部性原理,不难想到,可以把CPU目前访问的地址“周围”的部分数据放到Cache中
直接映射方式不需要考虑替换算法,仅全相联映射和组相联映射需要考虑
①随机算法(RAND):若Cache已满,则随机选择一块替换。实现简单,但完全没考虑局部性原理,命中率低,实际效果很不稳定
②先进先出算法(FIFO):若Cache已满,则替换最先被调入Cache的块。实现简单,依然没考虑局部性原理
③近期最少使用算法(LRU):为每一个Cache块设置一个“计数器”,用于记录每个Cache块已经有多久没被访问了。当Cache满后替换“计数器”最大的.基于“局部性原理”,LRU算法的实际运行效果优秀,Cache命中率高。
④最不经常使用算法(LFU):为每一个Cache块设置一个“计数器”,用于记录每个Cache块被访问过几次。当Cache满后替换“计数器”最小的.并没有很好地遵循局部性原理,因此实际运行效果不如LRU
现代计算机常采用多级Cache,各级Cache之间常采用“全写法+非写分配法”;Cache-主存之间常采用“写回法+写分配法”
写回法(write-back):当CPU对Cache写命中时,只修改Cache的内容,而不立即写入主存,只有当此块被换出时才写回主存。减少了访存次数,但存在数据不一致的隐患。
全写法(写直通法,write-through):当CPU对Cache写命中时,必须把数据同时写入Cache和主存,一般使用写缓冲(write buffer)。使用写缓冲,CPU写的速度很快,若写操作不频繁,则效果很好。若写操作很频繁,可能会因为写缓冲饱和而发生阻塞访存次数增加,速度变慢,但更能保证数据一致性
写分配法(write-allocate):当CPU对Cache写不命中时,把主存中的块调入Cache,在Cache中修改。通常搭配写回法使用。
非写分配法(not-write-allocate):当CPU对Cache写不命中时只写入主存,不调入Cache。搭配全写法使用。
页式存储系统:一个程序(进程)在逻辑上被分为若干个大小相等的“页面”, “页面”大小与“块”的大小相同 。每个页面可以离散地放入不同的主存块中。CPU执行的机器指令中,使用的是“逻辑地址”,因此需要通“页表”将逻辑地址转为物理地址。页表的作用:记录了每个逻辑页面存放在哪个主存块中
逻辑地址(虚地址):程序员视角看到的地址
物理地址(实地址):实际在主存中的地址
快表是一种“相联存储器”,可以按内容寻访,表中存储的是页表项的副本;Cache中存储的是主存块的副本
地址映射表中每一行都有对应的标记项
主存-辅存:实现虚拟存储系统,解决了主存容量不够的问题
Cache-主存:解决了主存与CPU速度不匹配的问题
‘肆’ 存储器是按位编址,还是按字节编址,还是按字编址呢
存储器在 操作系统 或者软件开发中。都是按字节编址的,因此,我们一般称内存为“字节数组”
‘伍’ 想问一下计算机的内存和外存的编址单位是不是一样,各是什么
计算机的内存和外存的编址单位是不一样。
计算机内存和外存的编址方式有按字和按字节编址两种方式。按字节寻址,指的是存储空间的最小编址单位是字节。
按字编址,总存储容量是确定的,字地址和字节地址所需的代码数是不同的。由于地址单元大(zd1 word=32bit=4b),按字地址编码的数目较少,而按字节地址编码的数目较多,因为代码单元小(1 word section=1b=8bit)。
(5)多体并行存储器编址是按字编址吗扩展阅读:
计算机的存储器分为内部存储器和外部存储器。很可能遇到这样的情况:用电脑写文件时,突然断电,新写的文字没有及时保存。再次打开计算机时,将找不到未保存的文本。
这是因为未保存的文本暂时存储在内存中。一旦断电数据就会丢失。如果文件被保存,数据将被传送到硬盘,也就是说将被存储在外部存储器中,因此在断电的情况下,数据不会丢失。
‘陆’ “计算机的内存是按字节来进行编址的”这句话是什么意思内存指的是什么
“计算机的内存是按字节来进行编址的”这句话意思是:内存是按字节编址,每个地址的存储单元可以存放8bit的数据。内存就是主存。它是与CPU进行沟通的桥梁。按字节编址的意思。
内存(Memory)也被称为内存储器和主存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。 内存是由内存芯片、电路板、金手指等部分组成的。
(6)多体并行存储器编址是按字编址吗扩展阅读
内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)。只不过因为RAM是其中最重要的存储器。(synchronous)SDRAM同步动态随机存取存储器:SDRAM为168脚,这是目前PENTIUM及以上机型使用的内存。
SDRAM将CPU与RAM通过一个相同的时钟锁在一起,使CPU和RAM能够共享一个时钟周期,以相同的速度同步工作,每一个时钟脉冲的上升沿便开始传递数据,速度比EDO内存提高50%。DDR RAM :SDRAM的更新换代产品,他允许在时钟脉冲的上升沿和下降沿传输数据,这样不需要提高时钟的频率就能加倍提高SDRAM的速度。
‘柒’ 微型计算机内存储器是按什么进行编址
计算机处理信息的方式是二进制,微机内存按字节编址。
按字编址:是指存储空间的最小编址单位是字,总的存储器容量是一定的,按字编址和按字节编址所需要的编码数量是不同的,按字编址由于编址单位比较大(1字=32bit=4B),从而编码较少,而按字节编址由于编码单位较小(1字节=1B=8bit),从而编码较多。
‘捌’ 内存 内存 微型计算机的内存储器是按什么编址的啊
微型计算机内存储器是按字节编址