计算机组成原理 主存储器2

2.4只读存储器(ROM)

一、掩模ROM(MROM)

二、PROM(一次性编程)

三、EPROM(多次性编程)

四、EEPROM(多次性编程)

五、Flash Memory(闪速型存储器)

2.5存储器与CPU的连接

一、存储器容量的扩展

1、位扩展(增加存储字长)

2、字扩展(增加存储字的数量)

二、存储器与CPU的连接

1、地址线的连接

2、数据线的连接

3、读/写命令线的连接

4、片选线的连接

5、合理选择芯片

2.6存储器的校验

合法代码集合

一、编码的最小距离

二、汉明码的组成

2.7 提高访存速度的措施

一、单体多字系统

二、多体并行系统

1、高位交叉 顺序编址

2、低位交叉 各个体轮流编址

三、高性能存储芯片

1、SDRAM(同步DRAM)

2、RDRAM

3、带Cashe的DRAM


2.4只读存储器(ROM)

  • 早期只读存储器--厂家提前写好内容
  • 改进1 --用户可以自己写--一次性
  • 改进2--可以多次写--要能对信息进行擦除
  • 改进3--电可擦写--特定设备
  • 改进3--电可擦写--直接连接到计算机

一、掩模ROM(MROM)

厂家把信息直接写在ROM上

  1. 1K*1的掩模ROM
  2. 最上面一排晶体管是预充电管
  3. 经过预充电管预充电后(当作限流电阻使用),所有V线都是高电平,在行列交叉点上有的有晶体管,有的没有晶体管
  4. 假设某交叉点被选中且有晶体管,若被选中晶体管被导通,两端被导通,V线高电平会变成低电平
  5. 输出放大器会对数据进行反向
  6. 行列选择线交叉处有MOS管为1否则为0

二、PROM(一次性编程)

  1. 熔丝如果进行读出和写入可以用熔丝的通和断来保存信息,如果想保存0用大电流烧断熔丝
  2. 编程后如果程序需要修改,只能重新购买芯片

三、EPROM(多次性编程)

N型沟道浮动栅MOS电路

  • G 栅极、S 源、D漏
  • 若在D加正电压,就会在源和漏之间形成浮动栅,使源和漏不导通,保存的信息认为是0
  • 如果在D不加电压,不形成浮动栅 S与D导通 为1
  • 如果要进行修改,重新写入,需要驱散浮动栅
  • 使用紫外线照射进行擦洗

 

四、EEPROM(多次性编程)

  • 电可擦写
  • 局部擦写
  • 全部擦写

五、Flash Memory(闪速型存储器)

用在u盘或者硬盘,缓存

2.5存储器与CPU的连接

一、存储器容量的扩展

1、位扩展(增加存储字长)

  • 用  2片  1K*4位存储芯片组成1K*8位的存储器
  • 2114 1K的容量需要10根地址线,将十根地址线输入到每一个2114地址管脚
  • 2114是4位的 2个2114提供8位数据 每个2114数据线分别和cpu数据线上的四条进行连接,这样可以满足cpu需要8位数据的要求
  • 两个芯片的片选要连接在一起,使两个芯片同时进行工作
  • 一旦有读写信号会从两个芯片内部相同的地址单元各读出4位数据信息放在8条不同的数据线上

2、字扩展(增加存储字的数量)

  • 用  2片 1K*8位 存储芯片组成2K*8位的存储器 2K需要11条地址线
  • 每个芯片用的是A0-A9,系统余了一条地址线A10 
  • 若A10=0选择第一个芯片如果A10=1就选择第二个芯片,A10就是片选信号

3、字、位扩展

  • 用 8片 1K*4位 存储芯片组成 4K*8位的存储器 12根地址线 8根数据线
  • 使用2-4译码器 00第一组 01第二组 10第三组 11第四组 

二、存储器与CPU的连接

1、地址线的连接

CPU给出地址,存储器找到相应存储单元,一般地址连接时,地址低位作为地址送到存储器地址线中,高位作为芯片选择信号

2、数据线的连接

CPU的数据线条数可能比存储器长度多,这时要做位扩展,使存储器输入输出数据满足CPU要求。

3、读/写命令线的连接

ROM除外(只读不写)

4、片选线的连接

片选线连接时要确认CPU要访问存储器,每一个内存芯片都有自己的地址范围,这个地址范围要满足CPU的要求

5、合理选择芯片

保存系统程序用ROM,保存配置信息的部分用ROM,用户程序或者系统程序运行区域是可读可写的用RAM芯片

  • MREQ信号一定要用,只有这个信号是低电平时这次访问的地址才在存储器当中

 

2.6存储器的校验

内存为例,内存是电子设备,信息保存在电容当中,如果采用静态RAM,会保存在四管触发器当中,如果内存所处的电磁环境比较复杂,或者是在空间环境下收到带电粒子的打击,就可能会造成电容的充电放电,或者是触发器的反转,存放在存储器当中的信息就可能会出错。存储器中保存了程序运行需要用的代码,如果不进行校验,会导致程序的运行错误

合法代码集合

1、{000,001,010,011,100,101,110,111} 检0位错、纠0位错

从000-111连续变换,其中任何代码出错变化之后依然是集合中的合法代码,计算机检测不出代码出错。

2、{000,011,101,110} 检1位错,纠0位错

000 101 110 错1位都可以转为100

3、{000,111}检1位错,纠1位错

4、{0000,1111}检2位错,纠1位错

5、{00000,11111}检2位错,纠2位错

一、编码的最小距离

最小距离:合法代码集中,任意两组合法代码之间二进制位数的最小差异。

编码的检错、纠错能力与编码的最小距离有关

二、汉明码的组成

汉明码采用奇偶检验

  • 奇校验:加上一个校验位,加上原来的数据位,让代码1的个数是奇数个
  • 偶校验:加上一个校验位,加上原来的数据位,让代码1的个数是偶数个

汉明码采用分组校验

00100011  -> 100100011 第一位校验位,总共偶数个1 偶校验 ->1001000011 两位校验位分两组校验

 

汉明码的分组是一种非划分方式

三个圈为P3 P2 P1三组 

分成三组,每组1位校验位,幷包括4位数据位,1、2、4、8位置放校验码

2.7 提高访存速度的措施

内存速度与cpu速度提升速度相差很多,但是cpu运行程序的时候,需要的数据和指令都要来自于内存,训醒的结果要保存的内存当中去,如果存储器很慢,cpu再快也无法提升整机的速度,cpu得不到所需要的数据和指令就只能空等,这种现象叫做存储墙。

  • 采用高速器件
  • 采用Cashe-主存
  • 调整主存的结构

一、单体多字系统

把存储器的存储字长加长,CPU的字长是16位,存储器的存储字长设为64位,cpu每次存储器,都可以访问出4个机器字,每一个都可以是一个机器指令,或者是长度为16的数字,一次性把这个4个字取出存到数据寄存器当中,用的时候从数据寄存器中将其取走即可提升速度。

问题1:cpu向存储器中某单元写一个长度为16的字,先写到单字长寄存器,再写到4个字长的数据寄存器中,再写入到存储器当中。会造成,我们可能只需要写16位,但剩下的48位也会被写入到给定的存储单元,会造成给定的存储字有48位被修改,修改可能是错误修改。

问题2:如果我们要取的数据或指令不是连续存储的,比如一次取出了4条指令,第一条就是跳转指令,但是跳转比较大,不在这4条当中,这时取出的4位只有一条有用。

 

二、多体并行系统

1、高位交叉 顺序编址

给存储体构成的存储器进行编址时,从某一个存储体开始顺序对其中单元进行编址

若每个存储体都有自己的控制电路,都有自己的MAR、MDR、地址译码器,能够对读写信号进行锁存,那么4个存储体就可以进行并行操作了

把多个存储体进行独立,并且每个存储体都有自己的控制电路来进行访存操作,四个存储体就有了并行操作的基础

问题:如果用户使用一个程序,程序在计算机中是按序存储的,若一条指令存在000000,下一条存在000001,指令按序执行,在执行程序过程中M0被CPU不停访问,其他存储体是空闲的,按照程序存取特征来说,会造成一个繁忙其他空闲的问题

用高位作为选择信号,选择存储体,低位作为存储体内部的地址输入到存储体当中寻找存储单元。适合存储器容量扩展不适合提高带宽和访存速度

2、低位交叉 各个体轮流编址

代码在存储体当中按地址进行顺序存储,000000,000001,cpu取指令时,在一个访存周期的开始给出要访问的地址包括体号和体内地址。这个信号假如访问M0,M0会把内部地址和读写命令进行锁存,自己完成读操作,cpu在同一个主存周期中继续传输地址给M1、M2,轮流的对M0、M1、M2、M3进行访问。如果M0准备好了数据,在一个存取周期要结束时,可以向cpu进行传送。此方法为分离式通讯提高存储器带宽

三、高性能存储芯片

1、SDRAM(同步DRAM)

在系统时钟的控制下进行读出和写入

如果采用同步方式要求CPU和存储器之间在给定的时间点上必须开始或者完成给定的操作,这样存储器的操作就可以和cpu的速度保持一致,cpu不需要等待

这要求存储器芯片速度非常快

2、RDRAM

主要解决存储器带宽问题

3、带Cashe的DRAM

在DRAM的芯片内集成了一个由SRAM组成的Cashe,有利于猝发式读取

读第一个数据时要从内存中读,速度比较慢,但是读后续的数据,因为已经被缓冲到Cashe当中,速度会非常快。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章