存储器_存储器实验 - CSDN
精华内容
参与话题
  • 计算机存储器介绍

    千次阅读 2018-04-24 10:17:29
    (一)存储器 存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫...

    (一)存储器

        存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。

    存储器的分类结构如下:

    二)RAM

        随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。

        SRAM:

    静态随机存取存储器Static Random-Access Memory,SRAM)是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对之下,动态随机存取存储器(DRAM)里面所储存的数据就需要周期性地更新。 速度快,集成度低,高速缓冲存储器。
    DRAM:
    动态随机存取存储器,最为常见的系统内存,即DRAM(Dynamic Random Access Memory)。DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。 关机就会丢失数据。 集成度高,功耗低,需要不断刷新,一般做内存。

    (三)ROM   

        只读内存(Read-Only Memory)是一种只能读取资料的内存。在制造过程中,将资料以一特制光罩(mask)烧录于线路中,其资料内容在写入后就不能更改,所以有时又称为“光罩式只读内存”(mask ROM)。此内存的制造成本较低,常用于电脑中的开机启动。   

    1.PROM   

        可编程程序只读内存(Programmable ROM,PROM)之内部有行列式的镕丝,视需要利用电流将其烧断,写入所需的资料,但仅能写录一次。 PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用 户可以将其中的部分单元写入1), 以实现对其“编程”的目的。PROM的典型产品是“双极性熔丝结构”,如果我们想改写某些单元,则可以给这些单元通以足够大的电流,并维持一定的时间,原 先的熔丝即可熔断,这样就达到了改写某些位的效果。另外一类经典的PROM为使用“肖特基二极管”的PROM,出厂时,其中的二极管处于反向截止状态,还 是用大电流的方法将反相电压加在“肖特基二极管”,造成其永久性击穿即可。   

     2.EPROM   

        可抹除可编程只读内存(Erasable Programmable Read Only Memory,EPROM)可利用高电压将资料编程写入,抹除时将线路曝光于紫外线下,则资料可被清空,并且可重复使用。通常在封装外壳上会预留一个石英透明窗以方便曝光。               3OTPROM   

        一次编程只读内存(One Time Programmable Read Only Memory,OPTROM)之写入原理同EPROM,但是为了节省成本,编程写入之后就不再抹除,因此不设置透明窗。   

     4.EEPROM  

     电子式可抹除可编程只读内存(Electrically Erasable Programmable Read Only Memory,EEPROM)之运作原理类似EPROM,但是抹除的方式是使用高电场来完成,因此不需要透明窗。   

    5.快闪存储器  

     快闪存储器(Flash memory)的每一个记忆胞都具有一个“控制闸”与“浮动闸”,利用高电场改变浮动闸的临限电压即可进行编程动作。   

    6.快闪存储器  

     指从游戏机主文件存储器里或者正版游戏卡带提取的游戏主文件,可以在各类模拟器上使用。例如街机模拟器,GBA模拟器的ROM,正是此意。

    (四)外部存储器

    1 硬盘

        硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。
        硬盘有固态硬盘(SSD 盘,新式硬盘)、机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)。

        SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘(HHD: Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。

    2 软盘

        软盘(Floppy Disk)是个人计算机(PC)中最早使用的可移介质。软盘的读写是通过软盘驱动器完成的。软盘驱动器设计能接收可移动式软盘,目前常用的就是容量为1.44MB的3.5英寸软盘。
        软盘存取速度慢,容量也小,但可装可卸、携带方便。作为一种可移贮存方法,它是用于那些需要被物理移动的小文件的理想选择。

        软盘在早期计算机上必备的一个硬件,也是计算机上面最早使用的可移介质。软盘英文缩写是FIoppy Disk,它作为一种可移储存硬件适用于一些需要被物理移动的小文件,软盘的读写是用过软驱也就是软盘驱动器来完成的。

    3 光盘

        光盘是以光信息做为存储的载体并用来存储数据的一种物品。分不可擦写光盘,如CD-ROM、DVD-ROM等;和可擦写光盘,如CD-RW、DVD-RAM等。
        光盘是利用激光原理进行读、写的设备,是迅速发展的一种辅助存储器,可以存放各种文字、声音、图形、图像和动画等多媒体数字信息。

        光盘定义:即高密度光盘(Compact Disc)是近代发展起来不同于完全磁性载体的光学存储介质(例如:磁光盘也是光盘),用聚焦的氢离子激光束处理记录介质的方法存储和再生信息,又称激光光盘。

    4 U盘

        U盘,全称USB闪存盘,英文名“USB flash disk”。 [1]  它是一种使用USB接口的无需物理驱动器的微型高容量移动存储产品,通过USB接口与电脑连接,实现即插即用。 [1] 

        U盘的称呼最早来源于朗科科技生产的一种新型存储设备,名曰“优盘”,使用USB接口进行连接。U盘连接到电脑的USB接口后,U盘的资料可与电脑交换。而之后生产的类似技术的设备由于朗科已进行专利注册,而不能再称之为“优盘”,而改称谐音的“U盘”。 [1]  后来,U盘这个称呼因其简单易记而因而广为人知,是移动存储设备之一。现在市面上出现了许多支持多种端口的U盘,即三通U盘(USB电脑端口、iOS苹果接口、安卓接口)。

    (五)缓存

        缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。
        因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在用完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给显卡运算芯片用的缓存,硬盘上也有16M或者32M的缓存。


    展开全文
  • 1.概述 2.主存储器

    1.概述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.主存储器

    2.1基本组成

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    这里没有听明白:看书P78页

    在这里插入图片描述

    2.2半导体芯片简介

    在这里插入图片描述
    在这里插入图片描述
    10根地址线:2^10bit=1k
    20根地址线:1M
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    缺点:通过数组表示地址,内存容量过大时,经过编译后需要的地址线过多

    在这里插入图片描述

    通过矩阵表示地址,地址线减少一半

    2.3随机储存器(RAM)

    在这里插入图片描述
    在这里插入图片描述

    这里的双稳态触发器T1-T4不懂?

    在这里插入图片描述
    在这里插入图片描述
    RAM读写举例
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    经过读放大器的电频会被取反,但读写操作不影响(两次取反)

    在这里插入图片描述

    要求:2ms刷新128行

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    DRAM:内存条
    SRAM: cache缓存
    说出每个比较行的原理(脑海中有两个图)

    2.4 只读储存器ROM

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    2.5存储器与CPU的连接

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    增加房间里的人数

    在这里插入图片描述

    增加房间数

    在这里插入图片描述

    同时增加
    地址线与数据线增加的情况下,可以通过增加芯片数量,再适当调整结构,来增加容量

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    当MREQ为低电平时,CPU访问存储器(圆圈代表低电平有效)

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    2.6存储器的校验

    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

    汉明码的纠错流程
    ①根据公式确定组数
    ②算出纠错位的二进制代码
    ③纠错

    2.7提高访存速度的措施

    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

    通过并行访问存储器来抵消CPU访存等待时间

    在这里插入图片描述

    3.高速缓冲存储器

    在这里插入图片描述

    3.1概述

    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

    3.2 cache-主存的地址映射

    在这里插入图片描述
    在这里插入图片描述

    如何确定已经映射?
    在这里插入图片描述在这里插入图片描述
    距离CPU越近的cache(一级)越使用直接相连:只比较一次标记,效率高
    距离CPU越远的cache(三级)越使用直接相连:比较所有标记,效率低

    在这里插入图片描述

    3.4 辅助存储器【硬盘,了解】

    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

    展开全文
  • 存储器讲述工作原理及作用

    万次阅读 2018-01-15 11:22:32
     存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、...

          转载路径

      介绍

      存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。

      


      存储器的主要功能是存储程序和各种 数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。

      记忆元件的两种稳定状态分别表示为“0”和“1”。日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。

      存储器:存放程序和数据的器件存储位:存放一个二进制数位的存储单元,是存储器最小的存储单位,或称记忆单元存储字:一个数(n位二进制位)作为一个整体存入或取出时,称存储字存储单元:存放一个存储字的若干个记忆单元组成一个存储单元存储体:大量存储单元的集合组成存储体存储单元地址:存储单元的编号字编址:对存储单元按字编址字节编址:对存储单元按字节编址寻址:由地址寻找数据,从对应地址的存储单元中访存数据。

      

    (图片来源:凯利讯半导体)


      以存储体(大量存储单元组成的阵列)为核心,加上必要的地址译码、读写控制电路,即为存储集成电路;再加上必要的I/O接口和一些额外的电路如存取策略管理,则形成存储芯片,比如手机中常用的存储芯片。得益于新的IC制造或芯片封装工艺,现在已经有能力把DRAM和FLASH存储单元集成在单芯片里。存储芯片再与控制芯片(负责复杂的存取控制、存储管理、加密、与其他器件的配合等)及时钟、电源等必要的组件集成在电路板上构成整机,就是一个存储产品,如U盘。从存储单元(晶体管阵列)到存储集成电路再到存储设备,都是为了实现信息的存储,区别是层次的不同。

      构成存储器的存储介质,存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。一个存储器包含许多存储单元,每个存储单元可存放一个字节(按字节编址)。每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为它的存储容量。假设一个存储器的地址码由20位二进制数(即5位十六进制数)组成,则可表示2的20次方,即1M个存储单元地址。每个存储单元存放一个字节,则该存储器的存储容量为1MB。

      


      工作原理

      这里只介绍动态存储器(DRAM)的工作原理。

      动态存储器每片只有一条输入数据线,而地址引脚只有8条。为了形成64K地址,必须在系统地址总线和芯片地址引线之间专门设计一个地址形成电路。使系统地址总线信号能分时地加到8个地址的引脚上,借助芯片内部的行锁存器、列锁存器和译码电路选定芯片内的存储单元,锁存信号也靠着外部地址电路产生。当要从DRAM芯片中读出数据时,CPU首先将行地址加在A0-A7上,而后送出RAS锁存信号,该信号的下降沿将地址锁存在芯片内部。接着将列地址加到芯片的A0-A7上,再送CAS锁存信号,也是在信号的下降沿将列地址锁存在芯片内部。然后保持WE=1,则在CAS有效期间数据输出并保持。

      当需要把数据写入芯片时,行列地址先后将RAS和CAS锁存在芯片内部,然后,WE有效,加上要写入的数据,则将该数据写入选中的存贮单元。由于电容不可能长期保持电荷不变,必须定时对动态存储电路的各存储单元执行重读操作,以保持电荷稳定,这个过程称为动态存储器刷新。PC/XT机中DRAM的刷新是利用DMA实现的。首先应用可编程定时器8253的计数器1,每隔1⒌12μs产生一次DMA请求,该请求加在DMA控制器的0通道上。当DMA控制器0通道的请求得到响应时,DMA控制器送出到刷新地址信号,对动态存储器执行读操作,每读一次刷新一行。

      


      主要作用

      存储器主要是存储程序和数据。就象存放货物的仓库一样,人们在仓库中存放货物时为了便于存放和拿取,通常将货物在放的位置进行编号,并且留有存放及拿取的通路。

      存储器是由存储体、地址译码器 、读写控制电路、地址总线和数据总线组成。能由中央处理器直接随机存取指令和数据的存储器称为主存储器,磁盘、磁带、光盘等大容量存储器称为外存储器(或辅助存储器) 。存储器是计算机的记忆装置,它的主要功能是存放程序和数据。程序是计算机操作的依据,数据是计算机操作的对象。不管是程序还是数据,在存储器中都是用二进制的形式来表示的,并统称信息。 在计算机中,存储器容量以字节(Byte,简写为B)为基本单位,一个字节由8个二进制位(bit)组成。存储容量的表示单位除了字节以外,还有KB、MB、GB、TB(可分别简称为K、M、G、T,例如,128MB可简称为128M)。其中:1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。 存储器一般分成主存储器(内存)和辅助存储器(外存)。存储器的组成见图。 随机存取存储器(RAM) 主存储器(内存) 只读存储器(ROM) 存储器 硬盘 辅助存储器(外存) 软盘 光盘 其它 图1.1.2 存储器的组成 主存储器与CPU直接相连,存放当前正在运行的程序和有关数据,存取速度快,但价格较贵,容量不能做得太大,目前微型计算机的内存配置一般为128MB或256MB; 主存储器(内存)按工作方式又分为随机存取存储器(RAM)和只读存储器(ROM); 随机存取存储器(RAM)中的数据可随机地读出或写入,是用来存放从外存调入的程序和有关数据以及从CPU送出的数据。人们通常所说的内存实际上指的是RAM。

      

    (图片来源:凯利讯半导体)


      按存储介质分类

      (1)半导体存储器用半导体器件组成的存储器称为半导体存储器;特点:集成度高、容量大、体积小、存取速度快、功耗低、价格便宜、维护简单.主要分两大类:双极型存储器:TTL型和ECL型.金属氧化物半导体存储器(简称MOS存储器):静态MOS存储器和动态MOS存储器。

      (2)磁表面存储器用磁性材料做成的存储器称为磁表面存储器,简称磁存储器。它包括磁盘存储器、磁带存储器等。特点:体积大、生产自动化程度低、存取速度慢,但存储容量比半导体存储器大得多且不易丢失。

      (3)激光存储器信息以刻痕的形式保存在盘面上,用激光束照射盘面,靠盘面的不同反射率来读出信息。光盘可分为只读型光盘(CD-ROM)、只写一次型光盘(WORM)和磁光盘(MOD)三种.

      

    (图片来源:凯利讯半导体)


      2.按存取方式分类

      (1)随机存储器(RAM):如果存储器中任何存储单元的内容都能被随机存取,且存取时间与存储单元的物理位置无关,则这种存储器称为随机存储器(RAM)。RAM主要用来存放各种输入/输出的程序、数据、中间运算结果以及存放与外界交换的信息和做堆栈用。随机存储器主要充当高速缓冲存储器和主存储器。

      (2)串行访问存储器(SAS):如果存储器只能按某种顺序来存取,也就是说,存取时间与存储单元的物理位置有关,则这种存储器称为串行访问存储器。串行存储器又可分为顺序存取存储器(SAM)和直接存取存储器(DAM)。顺序存取存储器是完全的串行访问存储器,如磁带,信息以顺序的方式从存储介质的始端开始写入(或读出);直接存取存储器是部分串行访问存储器,如磁盘存储器,它介于顺序存取和随机存取之间。

      (3)只读存储器(ROM):只读存储器是一种对其内容只能读不能写入的存储器,即预先一次写入的存储器。通常用来存放固定不变的信息。如经常用作微程序控制存储器。目前已有可重写的只读存储器。常见的有掩模ROM(MROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM).ROM的电路比RAM的简单、集成度高,成本低,且是一种非易失性存储器,计算机常把一些管理、监控程序、成熟的用户程序放在ROM中。


      3.按信息的可保存性分类

      非永久记忆的存储器:断电后信息就消失的存储器,如半导体读/写存储器RAM。

      永久性记忆的存储器:断电后仍能保存信息的存储器,如磁性材料做成的存储器以及半导体ROM。


      4.按在计算机系统中的作用分

      根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。

      

    (图片来源:凯利讯半导体)



      经常见的实体

      存储器可以是一张卡,也可以是软盘,可以是活动的,也可以是固定的,用于保存图像。


      cf闪存卡

      一种袖珍闪存卡,(compact flash card)。像pc卡那样插入数码相机,它可用适配器,(又称转接卡),使之适应标准的pc卡阅读器或其他的pc卡设备。cf存储卡的部分结构采用强化玻璃及金属外壳,cf存储卡采用standard ata/ide接口界面,配备有专门的pcm-cia适配器(转接卡),笔记本电脑的用户可直接在pcmcia插槽上使用,使数据很容易在数码相机与电脑之间传递。


      sm闪存卡

      即smart media,智能媒体卡,一种存储媒介。sm卡采用了ssfdg/flash内存卡,具有超小超薄超轻等特性,体积37(长)×45(宽)×0.76(厚)毫米,重量是1.8g,功耗低,容易升级,sm转换卡也有pcmcia界面,方便用户进行数据传送。


      memory stick duo

      memory stick duo即微型记忆棒,微型记忆棒的体积和重量都为普通记忆棒的三分之一左右,目前最大存储容量可以达到4g。


      sd闪存卡

      即SecureDigital, 32×24×2.11存储的速度快,非常小巧,外观和MMC一样,市面上较多数数码相机使用这种格式的存储卡,市场占有率第一。

      


      xd闪存卡

      即Fuji film(富士胶卷)和OLYMPUS(奥林巴斯)联合推出的xD-Picture卡,体形很小,传输速度很快,不过价格很昂贵。


      mmc闪存卡

      即MultiMedia Card ,外型和SD完全一样,很多时候也通用。

      微硬盘

      是一种比较高端的存贮产品,“Hitachi(日立)”和国产品牌“南方汇通”都推出了自己的微硬盘产品。微型硬盘外型和CF卡完全一样,使用同一型号接口。

      优卡

      优卡是lexar公司生产的一种数码相机存储介质,外形和一般的cf卡相同,可以用在使用cf卡的数码相机、pda、mp3等数码设备上,同时可以直接通过usb接口与计算机系统联机,用作移动存储器。


      数字胶卷

      数字胶卷是lexar公司生产的的一种数码相机的存储介质,同日立的sm卡、松下的sd卡、索尼的memorystick属同类的数字存储媒体。


      pc卡转换器

      一种接插件,可以把cf卡或sm卡插入其中,然后,整体作为一个pc卡插入计算机的pcmica插口,这是常用于便携机的一种通用扩展接口,可以接入pcmica内存卡、pcmica硬盘、pcmica调制解调器等。

      

    (图片来源:凯利讯半导体)



      能力影响

      从写命令转换到读命令,在某个时间访问某个地址,以及刷新数据等操作都要求数据总线在一定时间内保持休止状态,这样就不能充分利用存储器通道。此外,宽并行总线和DRAM内核预取都经常导致不必要的大数据量存取。在指定的时间段内,存储器控制器能存取的有用数据称为有效数据速率,这很大程度上取决于系统的特定应用。有效数据速率随着时间而变化,常低于峰值数据速率。在某些系统中,有效数据速率可下降到峰值速率的10%以下。

      通常,这些系统受益于那些能产生更高有效数据速率的存储器技术的变化。在CPU方面存在类似的现象,最近几年诸如AMD和 TRANSMETA等公司已经指出,在测量基于CPU的系统的性能时,时钟频率不是唯一的要素。存储器技术已经很成熟,峰值速率和有效数据速率或许并不比以前匹配的更好。尽管峰值速率依然是存储器技术最重要的参数之一,但其他结构参数也可以极大地影响存储器系统的性能。

      


      影响有效数据速率的参数

      有几类影响有效数据速率的参数,其一是导致数据总线进入若干周期的停止状态。在这类参数中,总线转换、行周期时间、CAS延时以及RAS到CAS的延时(tRCD)引发系统结构中的大部分延迟问题。

      总线转换本身会在数据通道上产生非常长的停止时间。以GDDR3系统为例,该系统对存储器的开放页不断写入数据。在这期间,存储器系统的有效数据速率与其峰值速率相当。不过,假设100个时钟周期中,存储器控制器从读转换到写。由于这个转换需要6个时钟周期,有效的数据速率下降到峰值速率的 94%。在这100个时钟周期中,如果存储器控制器将总线从写转换到读的话,将会丢失更多的时钟周期。这种存储器技术在从写转换到读时需要15个空闲周期,这会将有效数据速率进一步降低到峰值速率的79%。表1显示出针几种高性能存储器技术类似的计算结果。

      显然,所有的存储器技术并不相同。需要很多总线转换的系统设计师可以选用诸如XDR、RDRAM或者DDR2这些更高效的技术来提升性能。另一方面,如果系统能将处理事务分组成非常长的读写序列,那么总线转换对有效带宽的影响最小。不过,其他的增加延迟现象,例如库(bank)冲突会降低有效带宽,对性能产生负面影响。

      DRAM技术要求库的页或行在存取之前开放。一旦开放,在一个最小周期时间,即行周期时间(tRC)结束之前,同一个库中的不同页不能开放。对存储器开放库的不同页存取被称为分页遗漏,这会导致与任何tRC间隔未满足部分相关的延迟。对于还没有开放足够周期以满足tRC间隙的库而言,分页遗漏被称为库冲突。而tRC决定了库冲突延迟时间的长短,在给定的DRAM上可用的库数量直接影响库冲突产生的频率。

      大多数存储器技术有4个或者8个库,在数十个时钟周期具有tRC值。在随机负载情况下,那些具有8个库的内核比具有4个库的内核所发生的库冲突更少。尽管tRC与库数量之间的相互影响很复杂,但是其累计影响可用多种方法量化。

      

    (图片来源:凯利讯半导体)


      存储器读事务处理

      考虑三种简单的存储器读事务处理情况。第一种情况,存储器控制器发出每个事务处理,该事务处理与前一个事务处理产生一个库冲突。控制器必须在打开一个页和打开后续页之间等待一个tRC时间,这样增加了与页循环相关的最大延迟时间。在这种情况下的有效数据速率很大程度上决定于I/O,并主要受限于DRAM内核电路。最大的库冲突频率将有效带宽削减到当前最高端存储器技术峰值的20%到30%。

      在第二种情况下,每个事务处理都以随机产生的地址为目标。此时,产生库冲突的机会取决于很多因素,包括tRC和存储器内核中库数量之间的相互作用。tRC值越小,开放页循环地越快,导致库冲突的损失越小。此外,存储器技术具有的库越多,随机地址存取库冲突的机率就越小。

      第三种情况,每个事务处理就是一次页命中,在开放页中寻址不同的列地址。控制器不必访问关闭页,允许完全利用总线,这样就得到一种理想的情况,即有效数据速率等于峰值速率。

      第一种和第三种情况都涉及到简单的计算,随机情况受其他的特性影响,这些特性没有包括在DRAM或者存储器接口中。存储器控制器仲裁和排队会极大地改善库冲突频率,因为更有可能出现不产生冲突的事务处理,而不是那些导致库冲突的事务处理。

      然而,增加存储器队列深度未必增加不同存储器技术之间的相对有效数据速率。例如,即使增加存储器控制队列深度,XDR的有效数据速率也比 GDDR3高20%。存在这种增量主要是因为XDR具有更高的库数量以及更低的tRC值。一般而言,更短的tRC间隔、更多的库数量以及更大的控制器队列能产生更高的有效带宽。

      实际上,很多效率限制现象是与行存取粒度相关的问题。tRC约束本质上要求存储器控制器从新开放的行中存取一定量的数据,以确保数据管线保持充满。事实上,为保持数据总线无中断地运行,在开放一个行之后,只须读取很少量的数据,即使不需要额外的数据。

      

    (图片来源:凯利讯半导体)


      另外一种减少存储器系统有效带宽的主要特性被归类到列存取粒度范畴,它规定了每次读写操作必须传输的数据量。与之相反,行存取粒度规定每个行激活(一般指每个RAS的CAS操作)需要多少单独的读写操作。列存取粒度对有效数据速率具有不易于量化的巨大影响。因为它规定一个读或写操作中需要传输的最小数据量,列存取粒度给那些一次只需要很少数据量的系统带来了问题。例如,一个需要来自两列各8字节的16字节存取粒度系统,必须读取总共32字节以存取两个位置。因为只需要32个字节中的16个字节,系统的有效数据速率降低到峰值速率的50%。总线带宽和脉冲时间长度这两个结构参数规定了存储器系统的存取粒度。

      总线带宽是指连接存储器控制器和存储器件之间的数据线数量。它设定最小的存取粒度,因为对于一个指定的存储器事务处理,每条数据线必须至少传递一个数据位。而脉冲时间长度则规定对于指定的事务处理,每条数据线必须传递的位数量。每个事务处理中的每条数据线只传一个数据位的存储技术,其脉冲时间长度为1。总的列存取粒度很简单:列存取粒度=总线宽度×脉冲时间长度。

      

    (图片来源:凯利讯半导体)


      很多系统架构仅仅通过增加DRAM器件和存储总线带宽就能增加存储系统的可用带宽。毕竟,如果4个400MHz数据速率的连接可实现 1.6GHz的总峰值带宽,那么8个连接将得到3.2GHz。增加一个DRAM器件,电路板上的连线以及ASIC的管脚就会增多,总峰值带宽相应地倍增。

      首要的是,架构师希望完全利用峰值带宽,这已经达到他们通过物理设计存储器总线所能达到的最大值。具有256位甚或512位存储总线的图形控制器已并不鲜见,这种控制器需要1,000个,甚至更多的管脚。封装设计师、ASIC底层规划工程师以及电路板设计工程师不能找到采用便宜的、商业上可行的方法来对这么多信号进行布线的硅片区域。仅仅增加总线宽度来获得更高的峰值数据速率,会导致因为列存取粒度限制而降低有效带宽。

      


      假设某个特定存储技术的脉冲时间长度等于1,对于一个存储器处理,512位宽系统的存取粒度为512位(或者64字节)。如果控制器只需要一小段数据,那么剩下的数据就被浪费掉,这就降低了系统的有效数据速率。例如,只需要存储系统32字节数据的控制器将浪费剩余的32字节,进而导致有效的数据速率等于50%的峰值速率。这些计算都假定脉冲时间长度为1。随着存储器接口数据速率增加的趋势,大多数新技术的最低脉冲时间长度都大于1。

      

    (图片来源:凯利讯半导体)


      选择技巧

      存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择是一个非常重要的决策。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。

      

      选择存储器时应遵循的基本原则

      1、内部存储器与外部存储器

      一般情况下,当确定了存储程序代码和数据所需要的存储空间之后,设计工程师将决定是采用内部存储器还是外部存储器。通常情况下,内部存储器的性价比最高但灵活性最低,因此设计工程师必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。基于成本考虑,人们通常选择能满足应用要求的存储器容量最小的微控制器,因此在预测代码规模的时候要必须特别小心,因为代码规模增大可能要求更换微控制器。目前市场上存在各种规模的外部存储器器件,我们很容易通过增加存储器来适应代码规模的增加。有时这意味着以封装尺寸相同但容量更大的存储器替代现有的存储器,或者在总线上增加存储器。即使微控制器带有内部存储器,也可以通过增加外部串行EEPROM或闪存来满足系统对非易失性存储器的需求。


      2、引导存储器

      在较大的微控制器系统或基于处理器的系统中,设计工程师可以利用引导代码进行初始化。应用本身通常决定了是否需要引导代码,以及是否需要专门的引导存储器。例如,如果没有外部的寻址总线或串行引导接口,通常使用内部存储器,而不需要专门的引导器件。但在一些没有内部程序存储器的系统中,初始化是操作代码的一部分,因此所有代码都将驻留在同一个外部程序存储器中。某些微控制器既有内部存储器也有外部寻址总线,在这种情况下,引导代码将驻留在内部存储器中,而操作代码在外部存储器中。这很可能是最安全的方法,因为改变操作代码时不会出现意外地修改引导代码。在所有情况下,引导存储器都必须是非易失性存储器。

      

    (图片来源:凯利讯半导体)


      3、配置存储器

      对于现场可编程门阵列(FPGA)或片上系统(SoC),人们使用存储器来存储配置信息。这种存储器必须是非易失性EPROM、EEPROM或闪存。大多数情况下,FPGA采用SPI接口,但一些较老的器件仍采用FPGA串行接口。串行EEPROM或闪存器件最为常用,EPROM用得较少。


      4、程序存储器

      所有带处理器的系统都采用程序存储器,但设计工程师必须决定这个存储器是位于处理器内部还是外部。在做出了这个决策之后,设计工程师才能进一步确定存储器的容量和类型。当然有的时候,微控制器既有内部程序存储器也有外部寻址总线,此时设计工程师可以选择使用它们当中的任何一个,或者两者都使用。这就是为什么为某个应用选择最佳存储器的问题,常常由于微控制器的选择变得复杂起来,以及为什么改变存储器的规模也将导致改变微控制器的选择的原因。如果微控制器既利用内部存储器也利用外部存储器,则内部存储器通常被用来存储不常改变的代码,而外部存储器用于存储更新比较频繁的代码和数据。设计工程师也需要考虑存储器是否将被在线重新编程或用新的可编程器件替代。对于需要重编程功能的应用,人们通常选用带有内部闪存的微控制器,但带有内部OTP或ROM和外部闪存或EEPROM的微控制器也满足这个要求。为降低成本,外部闪存可用来存储代码和数据,但在存储数据时必须小心避免意外修改代码。

      在大多数嵌入式系统中,人们利用闪存存储程序以便在线升级固件。代码稳定的较老的应用系统仍可以使用ROM和OTP存储器,但由于闪存的通用性,越来越多的应用系统正转向闪存。表1给出了程序存储器类型的参数比较。

      

      5、数据存储器

      与程序存储器类似,数据存储器可以位于微控制器内部,或者是外部器件,但这两种情况存在一些差别。有时微控制器内部包含SRAM(易失性)和EEPROM(非易失)两种数据存储器,但有时不包含内部EEPROM,在这种情况下,当需要存储大量数据时,设计工程师可以选择外部的串行EEPROM或串行闪存器件。当然,也可以使用并行EEPROM或闪存,但通常它们只被用作程序存储器。当需要外部高速数据存储器时,通常选择并行SRAM并使用外部串行EEPROM器件来满足对非易失性存储器的要求。一些设计还将闪存器件用作程序存储器,但保留一个扇区作为数据存储区。这种方法可以降低成本、空间并提供非易失性数据存储器。针对非易失性存储器要求,串行EEPROM器件支持I2C、SPI或微线(Microwire)通讯总线,而串行闪存通常使用SPI总线。由于写入速度很快且带有I2C和SPI串行接口,FRAM在一些系统中得到应用。


      6、易失性和非易失性存储器

      存储器可分成易失性存储器或者非易失性存储器,前者在断电后将丢失数据,而后者在断电后仍可保持数据。设计工程师有时将易失性存储器与后备电池一起使用,使其表现犹如非易失性器件,但这可能比简单地使用非易失性存储器更加昂贵。然而,对要求存储器容量非常大的系统而言,带有后备电池的DRAM可能是满足设计要求且性价比很高的一种方法。在有连续能量供给的系统中,易失性或非易失性存储器都可以使用,但必须基于断电的可能性做出最终决策。如果存储器中的信息可以在电力恢复时从另一个信源中恢复出来,则可以使用易失性存储器。选择易失性存储器与电池一起使用的另一个原因是速度。尽管非易失存储器件可以在断电时保持数据,但写入数据(一个字节、页或扇区)的时间较长。

      

    (图片来源:凯利讯半导体)


      7、串行存储器和并行存储器

      在定义了应用系统之后,微控制器的选择是决定选择串行或并行存储器的一个因素。对于较大的应用系统,微控制器通常没有足够大的内部存储器,这时必须使用外部存储器,因为外部寻址总线通常是并行的,外部的程序存储器和数据存储器也将是并行的。较小的应用系统通常使用带有内部存储器但没有外部地址总线的微控制器。如果需要额外的数据存储器,外部串行存储器件是最佳选择。大多数情况下,这个额外的外部数据存储器是非易失性的。根据不同的设计,引导存储器可以是串行也可以是并行的。如果微控制器没有内部存储器,并行的非易失性存储器件对大多数应用系统而言是正确的选择。但对一些高速应用,可以使用外部的非易失性串行存储器件来引导微控制器,并允许主代码存储在内部或外部高速SRAM中。


      8、EEPROM与闪存

      存储器技术的成熟使得RAM和ROM之间的界限变得很模糊,如今有一些类型的存储器(如EEPROM和闪存)组合了两者的特性。这些器件像RAM一样进行读写,并像ROM一样在断电时保持数据,它们都可电擦除且可编程,但各自有它们优缺点。从软件角度看,独立的EEPROM和闪存器件是类似的,两者主要差别是EEPROM器件可以逐字节地修改,而闪存器件只支持扇区擦除以及对被擦除单元的字、页或扇区进行编程。对闪存的重新编程还需要使用SRAM,因此它要求更长的时间内有更多的器件在工作,从而需要消耗更多的电池能量。设计工程师也必须确认在修改数据时有足够容量的SRAM可用。

      存储器密度是决定选择串行EEPROM或者闪存的另一个因素。市场上目前可用的独立串行EEPROM器件的容量在128KB或以下,独立闪存器件的容量在32KB或以上。如果把多个器件级联在一起,可以用串行EEPROM实现高于128KB的容量。很高的擦除/写入耐久性要求促使设计工程师选择EEPROM,因为典型的串行EEPROM可擦除/写入100万次。闪存一般可擦除/写入1万次,只有少数几种器件能达到10万次。大多数闪存器件的电压范围为2.7V到3.6V。如果不要求字节寻址能力或很高的擦除/写入耐久性,在这个电压范围内的应用系统采用闪存,可以使成本相对较低。

      

    (图片来源:凯利讯半导体)


      9、EEPROM与FRAM

      EEPROM和FRAM的设计参数类似,但FRAM的可读写次数非常高且写入速度较快。然而通常情况下,用户仍会选择EEPROM而不是FRAM,其主要原因是成本(FRAM较为昂贵)、质量水平和供货情况。设计工程师常常使用成本较低的串行EEPROM,除非耐久性或速度是强制性的系统要求。DRAM和SRAM都是易失性存储器,尽管这两种类型的存储器都可以用作程序存储器和数据存储器,但SRAM主要用于数据存储器。DRAM与SRAM之间的主要差别是数据存储的寿命。只要不断电,SRAM就能保持其数据,但DRAM只有极短的数据寿命,通常为4毫秒左右。与SRAM相比,DRAM似乎是毫无用处的,但位于微控制器内部的DRAM控制器使DRAM的性能表现与SRAM一样。DRAM控制器在数据消失之前周期性地刷新所存储的数据,所以存储器的内容可以根据需要保持长时间。由于比特成本低,DRAM通常用作程序存储器,所以有庞大存储要求的应用可以从DRAM获益。它的最大缺点是速度慢,但计算机系统使用高速SRAM作为高速缓冲存储器来弥补DRAM的速度缺陷。

      

    (图片来源:凯利讯半导体)

      可以使用任何类型的存储器来满足嵌入式系统的要求,但终端应用和总成本要求通常是影响我们做出决策的主要因素。有时,把几个类型的存储器结合起来使用能更好地满足应用系统的要求。例如,一些PDA设计同时使用易失性存储器和非易失性存储器作为程序存储器和数据存储器。把永久的程序保存在非易失性ROM中,而把由用户下载的程序和数据存储在有电池支持的易失性DRAM中。不管选择哪种存储器类型,在确定将被用于最终应用系统的存储器之前,设计工程师必须仔细折中考虑各种设计因素。


           这个文章转载路径

    展开全文
  • 计算机组成原理学习笔记 -- 第四章 -- 存储器: (1) 概述 (2) 主存储器 (3) 高速缓冲存储器 (4) 辅助存储器

    本章知识框架:
    在这里插入图片描述

    一、概述

    1. 存储器分类

    按存储介质分类:

    • 半导体存储器 :分为TTL、MOS (断电信息易失)

    • 磁表面存储器:磁头、载磁体 (非易失)

    • 磁芯存储器:硬磁材料、环状元件 (非易失)

    • 光盘存储器:激光、磁光材料 (非易失)

        实际上是三类:半导体、磁、光
      

    按存取方式分类:

    • 随机存储器(RAM) (在程序的执行过程中可读可写) 存取时间与物理地址无关(随机访问)
    • 只读存储器(ROM) (在程序的执行过程中只读) (随机访问)
    • 顺序存取存储器:磁带 存取时间与物理地址有关(串行访问)
    • 直接存取存储器(DMA):磁盘 (串行访问)

    按在计算机中的作用分类:

    {{RAM{RAMRAMROM{MROMPROMEPROMEEPROMFlashMemory \color{maroon}存储器 \begin{cases} 主存储器&\begin{cases} RAM&\begin{cases} 静态RAM\\ \\ 动态RAM\\ \end{cases} \\\\ ROM&\begin{cases} MROM\\ PROM\\ EPROM\\ EEPROM\\ \end{cases} \\ \end{cases} \\ Flash Memory\\ \\ 高速缓存存储器\\ \\ 辅助存储器& 磁盘、磁带、光盘 \end{cases}

    2. 存储器的层次结构

    对存储器的要求是容量大、速度快、成本低,但是在一个存储器中要同时兼顾这三个方面是困难的。为了解决这方面的矛盾,目前在计算机系统中,通常采用多级存储器体系结构,即使用高速缓冲存储器CACHE、主存储器和辅助存储器三级结构,如图所示。其中磁盘、磁带、光盘为辅助存储器。
    存储器三个主要特征的关系

    主存-辅存层次:为了解决容量问题
    缓存-主存层次:为了解决速度问题
    存储器三个主要特征的关系

    	主存-辅存:虚拟存储器,地址空间为虚地址(即逻辑地址)
    	缓存-主存:主存储器,(实际上缓存是按内容查找)用到的地址为实地址(即物理地址)
    

    二、主存储器

    1. 概述

    1.1 主存的组成

    主存的基本组成有存储体、MAR、MDR、译码驱动电路、读写控制电路

    现在的存储芯片没有MAR、MDR;MAR、MDR放在了CPU里


    1.2 主存中存储单元地址分配

    不同的机器存储字长不同,为了满足字符处理的需要,常用8位进制数表示一个字节,因此存取字长都取8的倍数

    大端模式

    小端模式


    1.3 主存的技术指标

    1. 存储容量

    2. 存储速度 存取周期 > 存取时间 (因为存取周期还包括恢复时间)

    3. 存储器带宽:单位时间内写入存储器或者从存储器读出信息的最大数量
      =存储带宽=\frac {存储字长}{存取周期}

      提高存储器带宽的措施: (1)缩短存取周期 (2)增加存储字长 (3)增加存储体


    2. 半导体存储芯片

    2.1 半导体存储芯片基本结构

    如图所示,并加上电源线和地线:
    半导体存储芯片基本结构


    2.2 半导体存储芯片的译码驱动方式

    • 线选法:
      地址译码器只有一个,其输出叫字选择线,选择某个字的所有位。
      结构简单,只适用于容量不大的存储芯片。

    • 重合法
      地址译码器分为X和Y两个译码器。
      适用于容量较大的存储芯片。


    3. 随机存储器RAM

    3.1 静态RAM (SRAM)

    静态RAM(SRAM)基本电路:
    静态RAM(SRAM)基本电路

    静态RAM芯片举例:
    Intel 2114  容量:1k×4   内部存储矩阵:64×64


    3.2 动态RAM (DRAM)

    常见的动态RAM基本单元电路有三管式和单管式两种,图中左边为三管式,右边为单管式
    动态RAM(DRAM)基本电路

    动态RAM芯片举例:
    三管动态RAM Intel 1103  容量:1k×1    内部存储矩阵:32×32
    单管动态RAM 4116     容量:16k×1   内部存储矩阵:128×128


      因为动态RAM靠电容存储电荷的原理来寄存信息,电容上有电荷表示1,无电荷表示0。 而电容上的电荷一般只能维持1-2ms,所以即使电源不掉点,信息也会自动消失,因此必须在2ms内对其所有存储单元恢复一次原状态,这个过程叫再生或刷新


    3.3 动态RAM的刷新

    刷新过程的实质是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程。在一定时间内,对动态RAM的全部基本单元电路作一次刷新,这个时间叫做刷新周期(再生周期)。

    1. 集中刷新:在规定的刷新周期内,对全部存储单元集中一段时间 逐行 进行刷新。

      缺点:这种刷新方式存在“死区”。

    2. 分散刷新:把对每行的刷新分散在每个读写周期内完成。

      缺点:刷新过于频繁;虽然不存在死区,但是存取周期时间变长(分散刷新里的一个存取周期包含一个读写周期和刷新一行所用的时间),不能提高工作效率

    3. 异步刷新:分散刷新与集中刷新相结合,既克服出现“死区”,又充分利用最大刷新间隔为2ms的特点

    集中刷新异步刷新的刷新周期都是2ms,
    分散刷新的刷新周期是:行数 × (读写周期+刷新一行所需时间)


    3.4 静态RAM和动态RAM的比较

    静态RAM和动态RAM的比较

    4. 只读存储器(ROM)

    1. 掩模ROM (MROM):行列选择线交叉处有MOS管为“1”,无MOS管为“0”。

      MROM制成后不可能改变原行、列交叉处的MOS管是否存在,用户无法改变原始状态,所以只能读不能写

    2. PROM (一次性编程):熔丝断为“0”,未断为“1”。

      已断的熔丝无法恢复,所以这种ROM只能实现一次性编程,不能多次修改

    3. EPROM (多次性编程 ) :价格便宜 、集成度高

    4. EEPROM (多次性编程 ) :电可擦写、局部擦写、全部擦写

    5. Flash Memory (闪速型存储器) :价格便宜 、集成度高,电可擦写,具备RAM功能


    5. 存储容量的扩展

    5.1 位扩展(扩展字长)

    位扩展增加了存储字长,要求存储器字数与芯片上的字数相同
    位扩展

    5.2 字扩展(扩展字数)

    字扩展增加了存储单元的个数,只在字的方向上进行扩充,而位数不变。
    字扩展

    字扩展采用简单译码器或专用译码器进行扩展,常用的专用译码器有:
    2:4线译码器74139、3:8线译码器74138、4:16线译码器4067 等


    5.3 字位全扩展

    先进行位扩展,再进行字扩展
    字位全扩展

    5.4 CPU与存储器的连接

    CPU与存储器的连接要注意:

    1. 地址线的连接:CPU地址线的低位与存储芯片的地址线相连,CPU地址线的高位做扩充,如做片选信号
    2. 数据线的连接:分为字扩展和位扩展两种情况
    3. 读/写命令线的连接
    4. 片选线的连接
    5. 合理的选择芯片:通常选用ROM存放系统程序,选用RAM存放用户程序

    CPU与存储器连接习题的答题步骤:

    1. 第一步,先将十六进制地址范围写成二进制地址码,并确定其总容量
    2. 第二步,根据地址范围的容量以及该范围在计算机系统中的作用,确定芯片的数量及类型
    3. 第三步,分配地址线
    4. 第四步,确定片选信号
      例题:
      CPU与存储器的连接示例

    6. 提高访存速度的措施

    随着计算机领域的不断扩大,处理的信息越来越多,对存储器的工作速度和容量要求就越来越高。此外,CPU的功能不断增强,I/O设备的数量不断增多,导致主存的存取速度成为计算机系统的瓶颈,因此,提高访存速度已经成为迫不及待的任务。

    • 采用高速元件
    • 采用层次结构:Cache-主存
    • 调整主存结构

    本节讲 调整主存结构

    6.1 单体多字系统

    单体多字系统:增加存储器的带宽

    特点:由于程序和数据在存储体内是连续存放的,因此CPU访存取出的信息也是连续的,在一个存取周期内可按地址读出4×W位的指令或数据,使主存带宽提高到4倍。但是采用这种办法的前提是:指令和数据在主存内必须是连续存放的,一旦遇到转移指令,或者操作数不能连续存放,这种办法的效果不太明显。

    6.2 多体并行系统

    多体并行系统就是采用多体模块组成的存储器。每个模块有相同的容量和存取速度,各模块各自都有独立的地址寄存器、数据寄存器、地址译码器、驱动电路和读写电路,它们能并行工作也能交叉工作。并行工作即同时访问N个模块,同时启动,同进读出,完全并行的工作(不过,同时读出的N个字在总线上需分时传送)。

    多体并行系统里的两种编址方式:

    • 高位交叉 顺序编址
    • 低位交叉 轮流编址

    高位交叉 顺序编址:各个体之间并行工作
    高位交叉,顺序编址

    采用这种编址方式,只要合理调动,就可以提高存储器的带宽。例如,当第一个体用以执行程序的时候,另一个体用来供外部设备进行访问。

    低位交叉 轮流编址
    低位交叉

    低位交叉的特点:采用流水方式存取
    低位交叉流水方式存取
    虽然对每个体而言,存取周期均未缩短,但由于CPU交叉访问各体、最终在一个存取周期的时间内,实际上向CPU提供了4个存储字。
    如果每模块存储字长为32位,则在一个存取周期内,存储器向CPU提供了32×4=128位二进制代码,大大加宽了存储器的带宽。

    设四体低位交叉存储器,存取周期为T,总线传输周期为τ,为实现流水线方式存取,应满足:T4τT = 4\tau
    连续读取 4 个字所需的时间为: T(41)τT+(4 -1)τ
    存取周期与总线传输周期的关系


    三、高速缓冲存储器

    缓存是为了解决CPU和主存之间的速度不匹配问题。

    1. 概述

    1.1 Cache的工作原理

      CPU读主存时,便把地址同时送给Cache和主存,Cache控制逻辑依据地址判断此字是否在Cache中,若在此字立即传送给CPU ,否则,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。

    • CPU与Cache/主存之间的数据传送是以字为单位
    • 主存与Cache之间的数据传送是以块为单位

    1.2 Cache的设计依据

      Cache的设计依据是程序访问的局部性原理
      通过大量典型程序的分析,发现CPU从主存取指令或取数据,在一定时间内,只是对主存局部地址区域的访问。这是由于指令和数据在主存内都是连续存放的,并且有些指令和数据往往会被多次调用,即指令和数据在主存的地址分布不是随机的,而是相对的簇聚,使得CPU在执行程序时,访存具有相对的局部性,这就称为程序访问的局部性


    1.3 命中与未命中

    因为 主存的块数 >> 缓存的块数,所以存在命中与未命中的情况。

    • 命中:主存块调入缓存,与缓存块建立了对应关系
    • 未命中:主存块未调入缓存,与缓存块未建立对应关系

    命中率:指CPU要访问的信息已经在Cache内的比率
    h=NcNc+Nm h = \frac{N_c}{N_c+N_m}

    设命中率为h,访问Cache命中的次数为Nc ,访问主存的次数为Nm ,命中率h约等于1但不可能等于1

    平均访问时间
    ta=htc+(1h)tm t_a = ht_c + (1-h)t_m

    设 tc 为命中时的Cache访问时间,tm 为未命中时的主存访问时间,1-h表示未命中率

    访问效率
    e=tcta×100%=tchtc+(1h)tm×100% e = \frac{t_c}{t_a} \times 100\% = \frac{t_c}{ht_c + (1-h)t_m} \times 100\%


    1.4 Cache的基本结构

    Cache的基本结构

    1.5 Cache的读/写操作

    读操作:
    Cache的读操作

    写操作:

    • 写直达法(全写法):写数据时既写入Cache又写入主存
    • 写回法:只把数据写入Cache不写入主存,当Cache数据被替换出去时才写回主存

    1.6 Cache的改进

    1. 增加Cache的级数
    2. 统一缓存与分立缓存

    2. Cache-主存地址的映射

    2.1 地址映射与变换

    • 地址映射:把主存块按照某种规则装入或定位到Cache中过程称为地址映射
    • 地址变换:信息按这种映像关系装入Cache后,在执行程序时,将主存地址变换成Cache地址的过程称为地址变换
    • 地址映射和变换密切相关
    • 地址映射方式有直接方式、全相联方式、组相联方式三种

    2.2 直接映射

    直接映射是一种多对一的映射关系,但一个主存块只能映射到Cache的一个特定块位置上去
    直接映射

    Cache的第 i 块和主存的第 j 块有如下函数关系:
    i = j mod m (m为Cache的总块数)

    优点:硬件实现简单,成本低。只需利用主存地址的某些位直接判断,即可确定所需字块是否在缓存中。

    缺点:不灵活,存在Cache有空行而不能存数据块的问题,即造成替换频繁,效率下降,降低了命中率。

    直接映射适合需要大容量Cache的场合(更多的行数可以减少冲突的机会)。


    2.3 全相联映射

    全相联映射中主存的各字块可映象到Cache的任一个字块
    全相联映射

    全相联映射只是一个理想的方案,原因有二:

    1. 标记位数从i位增加到n位,使Cache标记容量加大
    2. 访问Cache时,需要和Cache的全部标记进行“比较”后才能判断出所访主存地址单元的内容是否已在Cache中 。而Cache速度要求高,实际上需要采用各种措施来减少所需比较的地址数目。

    优点:灵活,Cache的命中率高。

    缺点:与直接映射相比,Cache标记的位数增多、比较的次数也增多。速度较慢,成本较高(比较器电路难以设计和实现)。

    全相联映射适用于小容量的Cache。


    2.4 组相联映射

    主存和Cache都分组,主存中一个组内的块数Cache中的分组数相同。组间采用直接映射,组内采用全相联映射。
    组相联映射

    组相联映射的特点

    1. 具有块在组中存放的灵活性——冲突少;
    2. 比较器电路不太复杂。

    n路组相联
    主存中的一块能对应到Cache中的一个特定组中的任意一块上。若组中有n个块,则称其为n路组相联

    直接映射和全相联映射都是组相联的特例
    直接映射是:1路组相联
    直接映射是:m路组相联


    3.替换算法

    当新的主存字块需要调入Cache,而Cache中可用位置又被占满时,就产生替换算法问题。

    • 先进先出(FIFO)算法:实现简单,但不能正确反映程序的局部性,因为最先进入的字块也可能是经常访问的字块,所以采用这种算法可能产生较大的失效率
    • 近期最少使用(LRU)算法
    • 随机法(RAND)

    直接映射方式不存在替换算法,因为每个主存块的映射位置都是固定的。替换算法主要是针对全相联映射和组相联映射。


    四、辅助存储器

    辅助存储器的特点:

    • 容量大
    • 成本低
    • 在断电后能保存信息(其中大部分存储介质还能脱机保存信息)

    辅助存储器主要有: 磁表面存储器和光盘存储器


    1. 磁表面存储器

    磁表面存储器是利用某些磁性材料来存储信息。磁盘存储器、磁带存储器均属于磁表面存储器。

    1.1 特点

    • 存储密度高,记录容量大,价格低;
    • 记录介质可以重复使用;
    • 记录信息可长时间保存而不致丢失;
    • 非破坏性读出,读出时不需再生信息;
    • 存取速度较低,机械结构复杂,对工作环境要求较严。

    1.2 磁记录原理

    读写原理:

    • 写入原理:写“1”和写“0”时分别在读写线圈中通以不同方向的电流,当磁头相对磁层运动时就在磁层的表面留下不同方向的磁化单元,分别代表“1”和“0”。
    • 读出原理:当磁头相对磁层运动时,磁层表面不同方式的磁化单元在读写线圈中感应出不同方向的电势,分别记为“1”和“0”。

    磁层上被磁化的小区域,称为磁化单元。

    信息的记录方式:
    是一种编码方法,把待写入的二进制信息按照某种规律变成对应的脉冲序列,这种写入电流波形的组成方式称为记录方式

    常见的记录方式:归零制(RZ)、不归零制(NRZ)、见1就翻的不归零制(NRZ1)、调相制(PM)、调频制(FM)、改进调频制(MFM)

    信息的还原:
    无论采用哪一种磁记录方式,从读出线圈读出的信号都需要经过一些变换、选通才能还原成写进去的信息


    1.3 硬盘存储器

    根据磁盘的盘体材料可分为硬磁盘和软磁盘,本节将介绍硬磁盘存储器。

    硬磁盘存储器的分类:

    • 根据磁头运动与否可分为:固定磁头磁盘、活动磁头磁盘
    • 根据盘片是否可更换可分为:可换盘片磁盘、固定盘片磁盘
    • 根据磁头是否与盘面接触可分为:接触式磁头(结构简单、价格低廉,多用于软盘)、浮动式磁头(主要应用于各类硬盘)

    温彻斯特磁盘:
      温彻斯特磁盘简称温盘,是一种可移动磁头固定盘片的磁盘存储器。是目前应用最广最具代表性的硬磁盘存储器。

      它是一种密封组合式的硬磁盘,即磁头、盘片、电机等驱动部件乃至读写电路等组装成一个不可随意拆卸的整体,叫“头盘组合体”。工作时,高速旋转在盘面上形成的气垫将磁头平稳浮起。优点是防尘性能好,可靠性高,对使用环境要求不高。


    1.4 硬盘的信息分布

    在硬盘中信息分布是按记录面、圆柱面、磁道、扇区层次安排的。

    基本概念:

    • 记录面:磁盘片的表面称为记录面(上下两个面都是记录面)
    • 磁道:记录面上一系列的同心圆称为磁道
    • 柱面:所有记录面上半径相等的磁道构成的集合称为圆柱面(所以圆柱面数 = 磁道数)
    • 扇区:将每一个磁道分成若干段,每段称为一个扇区

    磁道和扇区的编址:

    • 磁道的编址是从外向内依次编号。最里面的一个同心圆叫n磁道,该磁道并不用来记录信息。
    • 扇区可连续(交叉因子=1)或不连续编号。因为读一个扇区需一定时间,当读完1号扇区并处理完后,磁头已经滑过2号扇区,需等盘片转一圈才能找到2号扇区,降低传输速率。所以可采用不连续编号。

    硬盘的地址格式

    驱动器号 磁道号(圆柱面号) 记录面号(磁头号) 扇区号

    当存放信息存放不下时先改变记录面号再改变磁道号,因为改变磁道号需要移动磁头,磁头的机械运动会给存取速度带来影响


    1.5 磁盘存储器的技术指标

    存储密度:磁盘单位面积能记录的二进制信息量

    • 道密度:沿磁盘半径方向单位长度上的磁道数 道密度 = 磁道数/存储区域的长度
    • 位密度:磁道单位长度上可以记录的二进制代码数(一般位密度指内圈的位密度) 位密度 = 磁道容量/内圈的周长
    • 面密度:以上两个的乘积

    存储容量:磁表面存储器可以存储的总字节数 非格式化容量 > 格式化容量

    • 格式化容量:按特定的记录格式所能存储的信息总量 格式化容量 = 记录面数 × 每面的磁道数 × 扇区数 × 记录块的字节数
    • 非格式化容量:磁记录表面可以利用的磁化单元的总数 非格式化容量 = 记录面数 × 每面的磁道数 × 磁道容量

    平均寻址时间 = 平均寻道时间 + 平均等待时间


    数据传输率:磁表面存储器在单位时间内向主机传送数据的字节数。设磁盘的旋转速度为每秒n转,每条磁道的容量为N个字节,则 数据传输率Dr = nN (B/s)


    2. 光盘存储器

    光盘存储器是利用激光束在记录表面上存储信息的。和硬盘、软盘相比,光盘具有如下优点

    1. 存储密度高:光盘的线密度一般为1000bit/mm,道密度是600~700道/mm
    2. 数据传输率高:一般数据传输的速度可达每秒几兆至几十兆字节
    3. 数据保存时间长:光盘的记录介质是封在两层保护膜中的,并且激光存取过程是非接触式的,因此寿命长,数据保存时间一般在10年以上
    4. 信息位价格低:由于光盘存储密度高,每100Mb信息的成本是1美分

    但是到目前为止,光盘的工作速度还低于硬盘,可擦除重写的光盘价格仍较高

    光盘分类:

    • 只读型光盘(CD-ROM)
    • 只写一次型光盘(WORM)
    • 可擦写型光盘

    光盘中数据存放的形式:光道
    信息记录的轨迹称为光道。光道上划分出一个个扇区,它是光盘的最小可寻址单位。扇区的结构如图所示。

    扇区的结构

    ID区的MD为模式控制。用于控制数据区和校验区的使用。共有三种模式:
    模式0规定数据区和校验区的全部2336个字节都是0,这种扇区不用于记录数据;
    模式1规定288个字节的校验区为4字节的检测码、8字节的保留域和276字节的纠错码。这种扇区有2048字节的数据并有很强的检测和纠错能力,适合于计算机程序和数据。
    模式2规定288字节的校验区也用于存放数据,用于保存声音、图像等对误码率要求不高的数据。

    展开全文
  • 存储器

    2018-11-02 08:51:07
    程序无影无形,硬件实实在在,是存储器沟通了两者。 对于程序来水存储器是一个空盒子,可以放入数据和语句,最基础的由1和0的二进制数组成。对于硬件来说存储器是一些开关组,每一个开关都有2个状态—“开”和“关”...
  • 【知识点】存储器

    2020-07-16 15:35:21
    MAR(Memory Address Register,存储地址寄存器) MDR(memory data register,存储数据寄存器) 现代计算机,图中的驱动器、译码器和读写电路都在主存中,而MAR、MDR都在cpu中。
  • 04计组课后习题:存储器

    千次阅读 2019-11-17 17:51:05
    第4章 存储器 教材课后思考题与习题: 4.1解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory 主存:主存储器,用于存放正在执行的程序和数据。CPU可以直接进行...
  • stm32系列--存储器介绍

    千次阅读 2019-06-17 15:56:52
    存储器就像是人的记忆,如果人遭遇失忆亦或者失去了记忆的功能,那是多么残酷的,同样的,现代技术也是朝着仿生物的方向发展的,因为大自然生产出来的东西总是那么完美的。言归正传,存储器在MCU中的作用保存数据,...
  • 存储器的分类

    千次阅读 2019-08-11 22:24:07
    一直想总结的发到博客的,之前都是记在笔记本上,但以后笔记本有时候太不方便了(一直不写在博客上,其实是自己懒,因为有的知识点需要...内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以...
  • 寄存器和存储器

    万次阅读 多人点赞 2018-04-12 12:43:48
    一、计算机硬件 先说内核:内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。...
  • 什么是存储器?存储器可分为哪三类?

    千次阅读 2018-10-17 23:49:24
    什么是存储器?  存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置...
  • 虚拟存储器和cache的异同

    千次阅读 2015-12-01 13:32:40
    相同点 都是基于程序局部性原理,把程序中最近常用的部分驻留在高速存储器中 一旦这部分程序不常用,把它们送回到低速存储器中 ...cache是一个物理存储器,而虚拟存储器是一个逻辑存储器,其物理结构建立
  • 比如8031内部有数据存储器而没有程序存储器,所以它一般要外接一块程序存储芯片,内部的数据存储器叫做9031的片内存储器,外部扩展的存储芯片叫做片外存储器。  早期,片内存储器,还是片外存储器,确实是根据...
  • CPU可以设置多种存储器,从而得到多种脉冲
  • 存储器在计算机中处于不同的位置,可分为主存储器和辅助存储器。   主存储器或内存:在主机内部,直接与CPU交换信息的存储器。指CPU能够通过指令中的地址码直接访问的存储器,常用于存放处于活动状态的程序和数据...
  • 寄存器、存储器、内存的区别

    万次阅读 多人点赞 2019-04-06 15:52:31
    从范围来看,它们所指的范畴不一样。 寄存器是中央处理器内的组成部份。它跟CPU有关。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、... 存储器范围最大,它几乎涵盖了所有关于存储的范畴。寄存器,内存...
  • 存储器与寄存器

    千次阅读 2013-06-10 13:30:03
    存储器:(主存储器即内存条)存放程序及数据供CPU存取,RAM读写存储器,ROM只读存储器等。 寄存器:CPU内部的高速存储单元,为处理单元提供各种所需地址数据等。
  • 常见存储器的分类

    万次阅读 2018-11-09 11:53:33
    现有常见存储器的分类     易失性存储器就是和非易失性存储器的唯一区别在于前者掉电数据会被清除。 1、 易失性存储器的代表就是RAM,RAM又分DRAM(动态随机存储器)和SRAM(静态随机存储器),他们之间不同...
  • 程序存储器与数据存储器

    万次阅读 2011-04-26 11:43:00
    一种是普林斯顿结构(Princeton),将程序和数据合用一个存储器空间,即ROM和RAM的地址同在一个空间里分配不同的地址。CPU访问存储器时,一个地址对应惟一的一个存储单元,可以是ROM,也可以是RAM,用同类的访问指令...
  • 存储器容量计算及相关概念

    万次阅读 多人点赞 2017-06-04 19:20:15
    存储器容量计算公式:  按位计算 (b) : 存储容量 = 存储单元个数 x 存储字长  按字节计算(B): 存储容量 = 存储单元个数 x 存储字长 / 8 存储单元 :CPU访问存储器的最小单位,每个存储单元都有一个地址。 ...
1 2 3 4 5 ... 20
收藏数 211,975
精华内容 84,790
关键字:

存储器