精华内容
下载资源
问答
  • 存储计算机当前正在执行的应用程序和相应的数据的存储器是什么存储计算机当前正在执行的应用程序和相应的数据的存储器是“RAM”。RAM是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,...

    存储计算机当前正在执行的应用程序和相应的数据的存储器是什么

    存储计算机当前正在执行的应用程序和相应的数据的存储器是“RAM”。RAM是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。

    3c8671d2a317dc77287b863ac0f966cc.png

    存储器是数字系统中用以存储大量信息的设备或部件,是计算机和数字设备中的重要组成部分。存储器可分为随机存取存储器(RAM)和只读存储器(ROM)两大类。

    存储计算机当前正在执行的应用程序和相应的数据的存储器是“RAM”,ROM为只读存储器。

    随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。

    RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失。RAM在计算机和数字系统中用来暂时存储程序、数据和中间结果。

    RAM由存储矩阵、地址译码器、读/写控制器、输入/输出、片选控制等几部分组成。

    存储计算机当前正在执行的应用程序和相应的数据的存储器是什么?的教程已介绍完毕,更多请关注跳墙网其他文章教程!

    存储计算机当前正在执行的应用程序和相应的数据的存储器是什么相关教程

    mysql当前时间怎么表示

    表示mysql当前时间的方法:1、使用【current_timestamp】方法;2、使用【current_time】方法;3、使用【current_data】方法;4、使用【now()】方法;5、使用【curdate()】方法。 表示mysql当前时间的方法: 1、current_timestamp 2、current_time 3、current

    在微型计算机中,运算器和控制器合称为什么

    在微型计算机中,运算器和控制器合称为“微处理器”。微处理器由一片或少数几片大规模集成电路组成的中央处理器;一般而言,微处理器芯片上集成有控制器、运算器、寄存器以及连接它们的内部总线等部件。 在微型计算机中,运算器和控制器合称为“微处理器”。

    现代计算机采用二进制是谁提出的

    现代计算机采用二进制是德国数学家“莱布尼茨”提出的。17世纪至18世纪的德国数学家莱布尼茨,是世界上第一个提出并完善二进制记数法的人;用二进制记数,只用0和1两个符号,无需其他符号。 现代计算机采用二进制是德国数学家“莱布尼茨”提出的。 戈特弗里

    字典树Trie

    字典树Trie 文章目录 存储 插入操作insertinsertinsert 代码 检索searchsearchsearch 代码 完整代码 例题 存储 我们的字典树是这样的: 我们的字典树是用一个二维数组进行维护的: Trie[P][c]=Q; 我们的PPP是起始节点,ccc是字符的ASCLLASCLLASCLL码(但是我

    MySQL InnoDB存储引擎-索引篇

    MySQL InnoDB存储引擎-索引篇 InnoDB存储引擎支持三种常见的索引类型: B+树索引 全文索引 哈希索引 由于平衡二叉树的插入、删除操作需要通过一系列的旋转操作维护平衡,而维护平衡的代价之大,使得实际环境中基本没人去用它,B+树就在这一基础上发展而来。B+

    动手学计算机视觉---第一章,一个简单的视觉例子

    动手学计算机视觉---第一章,一个简单的视觉例子 动手学计算机视觉---1 一名计算机视觉从业人员 第一章,一个简单视觉实例,本章分为两个篇幅,包括基础环境的搭建和源码分析; 目录 (1)如何安装Anaconda (2)如何创建虚拟环境 (3)如何使用国内镜像安装

    计算机二级C语言知识点大全,弄懂这些题集所含知识点稳过(三)

    计算机二级C语言知识点大全,弄懂这些题集所含知识点稳过(三) 综合题集知识点三 以下是备考计算机二级C语言冲刺阶段总结的题集中所含的知识点!踏踏实实弄懂每一个知识点,就稳了。 2020年9月1日星期二 有以下程序: #include main(){char c; for(;(c=getch

    超级计算机与人工智能:大国超算,无人领航

    超级计算机与人工智能:大国超算,无人领航 作者 | 谭婧 来源 | 亲爱的数据(id:deardata) 美国先有星球大战计划,中国后有“863”计划。 1986年底,年过四十的李国杰从美国回到中国, 成为中国科学院计算技术研究所的一名研究员。 他就是后来的“曙光一号

    展开全文
  • 内部存储器——①静态存储器

    千次阅读 2020-03-20 16:04:12
    (1) 当前计算机正在执行程序和数据(除了暂存于CPU寄存器的)均存放在存储器中。CPU直接从存储器取指令或存取数据。 (2) 计算机系统输入输出设备数量增多,数据传送速度加快,因此采用了直接存储器存取(DMA)技术...

     在现代计算机中,存储器处于全机中心地位,其原因是:

    (1) 当前计算机正在执行的程序和数据(除了暂存于CPU寄存器的)均存放在存储器中。CPU直接从存储器取指令或存取数据。

    (2) 计算机系统中输入输出设备数量增多,数据传送速度加快,因此采用了直接存储器存取(DMA)技术和I/O通道技术,在存储器与输入输出系统之间直接传送数据。

    (3) 共享存储器的多处理机的出现,利用存储器存放共享数据,并实现处理机之间的通信,更加强了存储器作为全机中心的地位。

        由于中央处理器都是由高速器件组成,不少指令的执行速度基本上取决于主存储器的速度。所以,计算机解题能力的提高、应用范围的日益广泛和系统软件的日益丰富,无一不与主存储器的技术发展密切相关。

     

    一、存储器概述

            存储器是一个记忆装置,用来存放程序和数据。它是计算机五大功能部件中的重要部件,是计算机能够实现“存储程序控制”的基础。

     

            通常,将两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件或者软件和硬件相结合的方法连接起来就组成了存储系统。

     

    (一)几个基本概念


    1、存储器:是计算机系统中的记忆设备,用来存放程序和数据。

    2、存储元:存储器的最小组成单位,用以存储1位二进制代码。 

    3、存储单元:是CPU访问存储器基本单位,由若干个具有相同操作属性的存储元组成。 

    4、单元地址:在存储器中用以表识存储单元的唯一编号,CPU通过该编号访问相应的存储单元。 

    5、字存储单元:存放一个字的存储单元,相应的单元地址叫字地址。 

    6、字节存储单元:存放一个字节的存储单元,相应的单元地址叫字节地址 

    7、按字寻址计算机:可编址的最小单位是字存储单元的计算机。 

    8、按字节寻址计算机:可编址的最小单位是字节的计算机。 

    9、存储体:存储单元的集合,是存放二进制信息的地方

     

    存储器各个概念之间的关系

     

    (二)存储器功能


     

    (1)存取方式:随机存储器与存取时间和存储单元的物理位置无关。

    (2)存储介质:目前主要采用半导体器件和磁性材料。

    (3) 系统中的作用一 -可分为外部存储器、内部存储器;又可分为主存储器、高速缓冲存储器、控制存储器、辅助存储器。

    (4) 信息易失性:断电后信息消失的存储器,称为易失性存储器。

     

    (三)主存储器概述:


     

    CPU通过使用AR (地址寄存器)、DR (数据寄存器)和总线与主存进行数据传送。为了从存储器中取一个信息字,CPU必须指定存储器字地址并进行“读’操作。

    CPU需要把信息率的地址送到AR,经地址总线送往主存储器、同时,CPU应用控制线(read) 发一个“读”请求。此后,CPU等待从主存储器发来的回答信号通知CPU“读”操作完成。

    主存储器通过ready线做出回答,若ready信 号为“1”,说明存储器的内容已经读出,并放在数据总线上,送人DR,这时“取”数操作完成。

    为了"存”一个字到主存,CPU先将信息在主存中的地址经AR送地址总线,并将信息字送DR、同时发出“写”命令,CPU等待写操作完成信号;

    主存储器从数据总线接收到信息字并按地址总线指定的地址存储,然后经ready控制线发回存储器操作完成信号、这时“存”数操作完成。

     

    (四)主存和高速缓存之间的关系:

    在CPU和主存之间插入的由高速电子器件组成的容量不大,但速度很高的存储器作为缓冲区

    为解决CPU和主存之间的速度差距,提高整机的运算速度

    存取速度最快,容量小,存储控制和,管理由硬件实现

     

    缓存----主存层次和主存----辅存层次

     

    (五)存储器分类


     

            构成存储器的存储介质,目前主要采用的是半导体器件和磁性材料。存储器中最小的存储单位,我们成为是存储位元,即存放一位二进制代码。由若干个存储位元可以组成一个存储单元。由许多存储单元就可以组成一个存储器。

     

    1. 按存储介质分  

    • 半导体存储器:用半导体器件组成的存储器。

    • 磁表面存储器:用磁性材料做成的存储器。 

    • 磁表面存储器:在金属或者塑料基体上,涂覆一层磁性材料。常见的有磁盘、磁带等。多做辅助存储器。

    • 光存储器:采用激光技术控制访问的存储器,存储容量大,多做辅助存储器。

    2. 按存储方式分  

    • 随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关。半导体存储器都是随机存储器。

    • 顺序存储器:只能按某种顺序来存取,存取时间和存储单元的物理位置有关。

    3. 按存储器的读写功能分 

    • 只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。只读存储器(ROM)所存储的内容是固定不变的,只能读出而不能写入的半导体存储器。它通常用于存放固定不变的程序、字符、汉字字型库及图形符号等。由于它和读写存储器共享主存储器的相同地址空间,因此仍属于主存储器的一部分。

      (1) MASK ROM (掩模型只读存储器)

      (2) PROM ( Programmable ROM,可编程只读存储器)

      (3) EPROM ( Erasable Programmable,可擦可编程只读存储器)

      (4) EEPROM ( Electrically ErasableProgrammable,电可擦除可编程只读存储器)

      (5) Flash Memory (快闪存储器)

    • 随机读写存储器(RAM):既能读出又能写入的半导体存储器。既能读出又能写入的半导体存储器。随机存储器(又称读写存储器)指通过指令可以随机地、个别地对各个存储单元进行访问,访问所需时间一般基本固定,与存储单元地址无关。在计算机系统中,不论是大、中、小型及微型计算机的主存储器主要都采用随机存储器。

    4. 按信息的可保存性分  

    • 非永久记忆的存储器:断电后信息即消失的存储器。  

    • 永久记忆性存储器:断电后仍能保存信息的存储器。

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

        根据存储器在计算机系统中所起的作用,可分为: 主存储器、辅助存储器、高速缓冲存储器、微控制存储器等。

     

    半导体存储器

     

    (六)存储器层次结构


     

            对存储器的要求是:容量大,速度快,成本低。但是要在一个存储器中同时兼顾这三个方面是比较困难的。为此,目前的计算机系统中,通常采用多级存储器体系结构。

     

            通常把各种不同存储容量、不同存取速度的存储器,按一定的体系结构组织在一起,就形成了一个统一整体的存储系统。

     

    目前,比较常用的存储系统是由高速缓冲存储器(cache)、主存储器和外存储器构成的三级存储系统。

     

      

    图5.1-1 存储器的层次结构

     

     

     

    图5.1-2 存储器的层次结构(从硬件角度)
     

     

    为解决三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。

     

     

     

    存储器的用途和特点

     

     

    三级存储系统分为两个层次,其中高速缓冲存储器和主存之间层位Cache-主存层次,主存和辅存之间成为主存-辅存层次。

    图5.1-3 两种存储层次
     

     

     

            Cache存储器是为了解决主存速度不足而提出来的。在cache和主存之间,增加辅助的硬件,构成一个整体。从cpu的角度看,速度接近cache的速度,容量是主存的容量,价格接近主存的价格。由于cache的管理是用硬件来管理的,因此对程序员和用户而言是透明的。

     

            虚拟存储器是为了解决主存容量不足而提出来的。在主存和辅存之间,增加辅助的软件和硬件,让它们构成一个整体。从cpu的角度看,速度接近主存的速度,容量接近辅存的容量,价格接近辅存的价格。由于虚拟存储器需要通过软件和硬件来统一管理,因此,对系统程序员是不透明的,但是对应用程序员是透明的。

     

    层次间应满足的原则:

    • 一致性原则:处在不同层次的同一个信息应保持相同的值。

    • 包含性原则:处在内层的信息一定被包含在其外层的存储器中,反之则不成立,即内层存储器的全部信息,是其相邻外层信息的一部分的复制品

     

     

     

    (七)存储器的技术指标


     

     

    1.存储容量:存放信息的总数,容量S存储字数W*存储字长度L。通常以字节Byte)为单位B、KB、MB、GB、TB

     

    2.存取时间TA(存储器访问时间):是存储器从接到寻找存储单元的地址码开始,到读出或存入数据为止所需要的平均时间,称为存储器的存取时间,记为tA,也称为取数时间,tA对随机存储器一般是指:从中央处理器CPU的地址寄存器门输出端发出读数请求时起,到所要求的读出信息出现在存储器输出端为止,这期间所需要化费的时间值。

     

    3.存储周期TM:存储器进行一次完整的读写操作所需要的全部时间,称为存取周期。或具体地说,CPU连续两次访问存储器所需要的最短时间间隔。存储周期略大于存取时间,即TM>TA。

      tM = tA+复原时间:

      破坏性读出方式:tM=2tA。

      非破坏性读出:tM = tA+稳定时间

     

     

    4.存储器的价格:通常以每位价格P来衡量。

     

    5.存贮器带(频)宽BM:是单位时间内存储器所存取的信息量,称为数据传输率或称为存储器传输带宽bM。通常以位/秒或字节/秒做度量单位。

    BM=W/TM

            其中,存储周期的倒数1/tM是单位时间(每秒)内能读写存储器的最大次数。W表示存储器一次读取数据的宽度,即位数,也就是存储器传送数据的宽度。

     

     

    6.可靠性:主存储器的可靠性通常用平均无故障时间 MTBF(Mean Time Between Failures)来表征。MTBF指连续两次故障之间的平均时间间隔。显然,MTBF越长 ,意味着主存的可靠性越高。

     

    7.功耗:作为目前的主存储器的主体的半导体存储器的功耗包括“维持功耗”和“操作功耗”,应在保证速度的前提下尽可能地减小功耗,特别是要减小“维持功耗”。

     

    8.集成度 所谓集成度是指在一片数平方毫米的芯片上能集成多少个存储单元,每个存储单元存储一个二进制位,所以集成度常表示为位/片。      

     

    9.存储器速度

    (1)存储器取数时间(Memory Access Time) :从存储器写出/读入一个存储单元信息或从存储器写出/读入一次信息(信息可能是一个字节或一个字)所需要的平均时间,称为存储器的存数时间/取数时间,记为TA,也称为取数时间,TA对随机存储器一般是指: 从CPU的地址寄存器输出端开始发出读数命令,到读出信息出现在存储器输出端为止,这期间所需要花费的时间值。

    • 数据传输率:单位时间可写入存储器或从存储器取出的信息的最大数量,称为数据传输率或称为存储器传输带宽BM。BM =W/ TM

     

    (八)主存储的基本结构


    1.基本结构    

    存储器是由存储体、地址寄存器、数据寄存器、和读/写控制线路组成。

    图5.2-1 主存的组成框图

     

    存储体:是主存储器的核心,程序和数据都存放在存储体中。

     

    地址译码驱动电路:包含译码器和驱动器两部分。译码器将地址总线输入的地址码转换成与之对应的译码输出线上的有效电平,以表示选中了某一存储单元,然后由驱动器提供驱动电路去驱动相应的短些电路,完成对被选中存储单元的读写操作。

     

    I/O和读写电路:包括放大器、写入电路和读写控制电路,用以完成被选中的存储单元中各位的读出和写入操作。

     

    2.存储单元:

    位是二进制数的最基本的单位,也是存储器存储信息的最小单位。

     

    存储字:作为一个整体存入或读出存储器的若干位二进制信息。

     

    存储单元:存放存储字或存储字节的主存空间村委存储单元或主存单元。

     

    存储体:存储单元的集合。

     

    存储单元地址:存储单元的编号。

     

    一个存储单元可能存放一份字,也可能存放一个字节,对于字节编址的计算机,最小寻址单位就是一个字节,相邻的存储单元地址指向相邻的存储字节;对于字编址的计算机,最小寻址单位是一个字,相邻的存储单元地址指向相邻的存储字。 所以,存储单元是CPU对主存可访问操作的最小存储单位。

     

    (九)主存储器的基本操作


    主存储器和CPU的连接是由总线支持的。

    图5.2-2 主存储器与CPU的联系

     

             CPU通过使用MAR和MDR和主存进行数据传送,若MAR为K位字长,MDR为n位字长,则允许主存包含2K个可寻址单位(字节或字)。在一个存储周期内,CPU和主存之间通过总线进行n为数据传送。控制总线包括控制数据传送的读(read)、写(write)和表示存储器功能完成的(ready)控制线。

     

    1.读操作

    (1)CPU必须指定存储器字地址,把信息字的地址送到AR,经地址总线送往主存储器;

    (2)CPU应用控制线发出一个“读”请求;•CPU等待从主存储器发来的应答信号,通知CPU“读”操作完成。

    (3)主存储器通过ready线做出回答,若ready信号为1,说明存储字的内容已经读出,并放在数据总线上送入MDR。

     

    2.写操作

    (1)CPU先将信息字在主存中的地址经MAR送地址总线;

    (2)将信息字送MDR

    (3)发出“写”命令,等待写操作完成信号;

    (4)主存储器从数据总线上接收到信息字并按地址总线指定的地址存储,然后经ready控制线发挥存储器操作完成信号。

     

     

    (十)存储器的读、写周期

         在与CPU连接时,  CPU的控制信号与存储器的读、写周期之间的配合问题是非常重要的。

    读周期:

            读周期与读出时间是两个不同的概念。 

            读出时间——从给出有效地址到外部数据总线上稳定地出现所读出的数据信息所经历的时间。  

            读周期时间——则是存储器进行两次连续读操作时所必须间隔的时间,它总是大于或等于读出时间。 

     

     

    SRAM存储器时序

    静态存储器的读周期:地址有效→CS有效→数据输出→CS复位→地址撤销

    tRC —— 读周期            tA —— 读出周期     tCO —— 片选到数据输出延迟tCX —— 片选到输出有效            tOTD —— 从断开片选到输出变为三态     tOHA —— 地址改变后的维持时间

     

     

    静态 RAM (2114) 读 时序  

     

     

    静态 RAM (2114) 写 时序  

     

    写周期:地址有效→CS有效→数据有效→CS复位(数据输入)→地址撤销

    静态存储器的读写周期

     

     

     

     

    二、静态存储器

            主存储器通常分为RAM和ROM两大部分,RAM可读可写,ROM只能读不能写。

     

            静态RAM:靠双稳态触发器来记忆信息的;

     

            通常把存放一个二进制位的物理期间称为记忆单元,他是存储器的最基本的构件,地址码相同的多个记忆单元构成一个存储单元。RAM又可分为静态RAM(Static RAM ,SRAM)和动态RAM(Dynamic RAM,DRAM)两种。

     

    (一)SRAM存储器

    1.基本存储元

            基本存储元是组成存储器的基础和核心,它用来存储一位二进制信息0或1。

     

    图5.2-4 6管SRAM记忆单元电路

     

     

    (1)存储元的工作原理:

            T1和T2管构成存储信息的双稳态触发器;T3和T4管构成门控电路,控制读写操作;T5和T6是T1和T2的负载管;字线用来选择这个记忆单元;两条位线用来传送读写信号;

     

            T1截止,T2导通,表示该记忆单元中存储的是“1”信息;T1导通,T2截止,表示该记忆单元中存储的是“0”信息;

    当字线为低电平时,这个记忆单元未被选中,T3和T4截止,触发器与位线隔开,原存储信息不变,成为保持状态;当字线为高电平,这个记忆单元被选中,T3和T4导通,可进行读写操作。位线I/O被称为读写“1”线,位线        被称为读写“0”线;

     

            当字线为低电平时,这个记忆单元未被选中,T3和T4截止,触发器与位线隔开,原存储信息不变,成为保持状态;当字线为高电平,这个记忆单元被选中,T3和T4导通,可进行读写操作。位线I/O被称为读写“1”线,位线        被称为读写“0”线;

     

    (2)读操作

    因为T3和T4导通,相当于A和B点分贝与位线I/O和     相连,若记忆单元原存“1”,则I/O输出高电平,完成读“1”操作。若记忆单元原存“0”,则I/O线输出低电平,完成读“0”操作。

    图5.2-5 读操作时序图

     

    (3)写操作

    如果要写入“1”,则在I/O线上输入高电平,      线上输入低电平,它们将分别通过T3和T4管迫使T1截止,T2导通,该记忆单元内容成为“1”,完成写“1”操作;

     

    如果要写入“0”,则在I/O线上输入低电平,      线上输入高电平,它们将分别通过T3和T4管迫使T1导通,T2截止,该记忆单元内容成为“0”,完成写“0”操作;

     

    图5.2-6 写周期时序图

     

     

    16×1  bit SRAM

     

    1K bit SRAM

     

     

    2.SRAM存储器的组成

            一个SRAM存储器由存储体、读写电路、地址译码电路和控制电路等组成。

    标题

    (1)   存储体—— 存储单元的集合

    • 一个基本存储电路只能存储一个二进制位。

    • 将基本的存储电路有规则地组织起来,就是存储体。 

    • 存储体又有不同的组织形式:

             将各个字的同一位组织在一个芯片中;

             将各个字的4位组织在一个芯片中, 如:2114  1K×4;

             将各个字的8位组织在一个芯片中, 如:6116  2K×8;

        如图所示:存储体将4096个字的同一位组织在一个集成片中;    需16个片子组成4096×16的存储器;    4096通常排列成矩阵形式,如 64×64,由行选、列选线选中所需的单元。

     

    (2)  地址译码器—— 地址译码器的输入信息来自CPU的地址寄存器

    •    单译码方式——适用于小容量存储器中,只有一个译码器。

     

    • 双译码方式——地址译码器分成两个,可有效减少选择线的数目。

     

     

    (3) 驱动器——通常加在译码器的输出之后

           双译码结构中,在译码器输出后加驱动器,驱动挂在各条X方向选择线上的所有存储元电路。 

     

    (4) I/O电路

            处于数据总线和被选用的单元之间, 控制被选中的单元读出或写入,放大信息。

     

    (5) 片选与读/写控制电路

            在地址选择时,首先要选片,只有当片选信号有效时,此片所连的地址线才有效。

     

    (6) 输出驱动电路

            为了扩展存储器的容量,常需要将几个芯片的数据线并联使用;另外存储器的读出数据或写入数据都放在双向的数据总线上。这就用到三态输出缓冲器。

     

     

     

    3.SRAM结构与地址译码

    (1)字结构或单译码方式

           ①存储容量M=W行×b列;

           ②阵列的每一行对应一个字,有一根公用的字选择线W;每一列对应字线中的一位,有两根公用的位线BS0与BS1 。

           ③ 存储器的地址不分组,只用一组地址译码器。

           ④ 优点:结构简单,速度快:适用于小容量M。 缺点:外围电路多、成本昂贵,结构不合理结构。

     

    (2)位结构或双译码方式

            ①容量:N(字)×b(位)的RAM,把每个字的同一位组织在一个存储片上,每片是N×1;再把b 片并列连接,组成一个N×b的存储体,就构成一个位结构的存储器。

            ②在每一个N×1存储片中,字数N被当作基本存储电路的个数。若把N=2n 个基本存储电路排列成Nx行与Ny列的存储阵列,把CPU送来的n位选择地址按行和列两个方向划分成nx 和ny 两组,经行和列方向译码器,分别选择驱动行线X与列线Y。

            ③采用双译码结构,可以减少选择线的数目。

            ④ 优点:驱动电路节省,结构合理,适用于大容量存储器。

     

     

     

     

     

    4.SRAM存储器芯片实例

    Intel 2114——1024×4 的存储器:

    •  4096 个基本存储元,排成 64×64 (64×16×4) 的矩阵(平面效果);请问构成三维的立体效果应该怎样排列?

    • 需 10 根地址线寻址;

    • X 译码器输出 64 根选择线,分别选择 1-64 行; 

    • Y 译码器输出 16 根选择线,分别选择 1-16 列控制各列的位线控制门。

     

    Intel 2114——1K×4  SRAM

     

     

     

     

    展开全文
  • 存储器

    2020-03-29 14:51:47
    存储器概述存储器分类按存储介质分类按存取方式分类按在计算机的作用分类存储器的层次结构存储器三个主要特征的关系2. 缓存 主存层次和主存 辅存层次主存储器概述主存的基本组成主存和CPU的关系主存中存储单元地址...

    概述

    存储器分类

    按存储介质分类

    存储介质是指能寄存’0’、'1’两种代码并能区别两种状态的物质或元器件。
    存储介质主要有半导体器件、磁性材料和光盘等。

    (1) 半导体存储器 	易失	(体积小、功耗低、存取时间短)
      种类:
    	①TTL:高速
    	②MOS:高度集成(目前使用较广泛)
    	
    (2) 磁表面存储器	非易失	
      组成:
    	磁头(工作时用磁头在磁层上进行读写操作)
    	载磁体(工作时磁层随载磁体高速运转)  
      种类:
    	①磁盘
    	②磁带
    	③磁鼓(很少采用)		
    	
    (3) 磁芯存储器(几乎不用)		非易失	
      组成:
    	由硬磁材料做成的环状元件	
    	
    (4) 光盘存储器					非易失
      组成:
      	应用激光在记录介质上进行读写
      种类:
      	激光、磁光材料
    
    按存取方式分类
    (1) 存取时间与物理地址无关(随机访问存储器)
      随机存储器(RAM)	在程序的执行过程中 可 读 可 写
      特点:存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。
      	①静态RAM(以触发器原理寄存信息)
      	②动态RAM(以电容充放电原理寄存信息)
      只读存储器(ROM)	在程序的执行过程中 只 读
      特点:通常用它存放固定不变的程序、常数以及汉字字库、甚至用于操作系统的固话、它与随机存储器可共同作为主存的一部分,统一构成主存的地址域。
      	①MROM:掩膜型只读存储器
      	②PROM:编程只读存储器
      	③EPROM:可擦除可编程只读存储器
      	④EEPROM:电可擦除可编程
      	⑤Flash Memory:快擦型,具有EEPROM的特点,速度更快
    (2) 存取时间与物理地址有关(串行访问存储器)
    特点:对存储单元进行读写操作时,需按其物理位置的先后顺序寻找地址,则这种存储器叫作串行访问存储器。
      顺序存取存储器    磁带
      直接存取存储器    磁盘
    
    按在计算机中的作用分类
    主存储器:和CPU直接交换信息
    
    辅助存储器:它是主存储器的后援存储器,用来存放当前暂时不用的程序和数据,不能与CPU直接交换信息。
    
    Cache:缓冲作用。
    

    存储器分类总结

    在这里插入图片描述

    存储器的层次结构

    存储器三个主要特征的关系

    在这里插入图片描述

    2. 缓存——主存层次和主存——辅存层次

    在这里插入图片描述

    1. 缓存——主存缓存——主存这一层次的速度接近于缓存,高于主存。
      主要解决CPU与主存速度不匹配问题

    2. 主存——辅存主存——辅存这一层次速度接近于主存,容量接近于缓存。
      主要解决存储系统的容量问题

    3. 主存——辅存这一层次的不断发展中,形成了虚拟存储系统。在这个系统中,程序员编程的地址范围与虚拟存储器的地址空间相对应。

    4.地址空间
    虚地址(逻辑地址):程序员编程时采用的地址(相对地址),
    地址空间大于实际主存。
    • 实地址(物理地址):主存的实际地址。
    **• 虚地址转换为实地址:**由计算机系统的硬件和操作系统自动完成,
    对程序员是透明的。

    主存储器

    概述

    主存的基本组成

    在这里插入图片描述
    现代计算机的主存都由半导体集成电路构成,图中的驱动器、译码器和读写电路均制作在存储芯片中,而MAR和MDR制作在CPU芯片内,存储芯片和CPU芯片可通过总线连接

    主存和CPU的关系

    在这里插入图片描述
    读出信息:首先由CPU将该字的地址送到MAR,经地址总线送至主存,然后发出读命令主存接到读命令后,得知需将该地址单元的内容读出,便完成读操作,将该单元的内容读至数据总线上,由CPU决定该信息由MDR送至何方

    写入信息:首先CPU该字所在主存单元的地址MAR送到地址总线,并将信息字送入MDR,然后向主存发写命令,主存接到写命令后,便将数据线上的信息写入到对应地址线指出的主存单元中

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

    在这里插入图片描述
    在这里插入图片描述
    数据存储模式:大端vs小端
    小端模式
    – 是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址
    大端模式
    – 是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址

    主存的技术指标
    主存的主要技术指标是存储容量和存储速度。
    (1)存储容量:主存存放二进制代码总位数
    (2)存储速度:
     	存取时间:存储器的访问时间,指启动一次存储器操作(读或写)到完成该操作所需的全部时间(读出时间、写入时间)。
     	读出时间:从存储器接收到有效地址开始,到产生有效输出所需的全部时间。
     	写入时间:从存储期接收到有效地址开始,到数据写入被选中单元为止所需的全部时间。
     	存取周期:连续两次独立的存储器操作(读或写)所需的最小间隔时间(读周期 写周期)
     	通常:存取周期 > 存取时间
    (3)存储器的带宽:位/秒   单位时间内存储器存取的信息量
    带宽=存储器时频率×存储器数据总线位数/8
    (4)为了提高存储器的带宽,可采用以下措施:
    	①缩短存取周期
    	②增加存储字长,使每个存取周期可以读/写更多的二进制位
    	③增加存储体
    

    半导体存储芯片简介

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

    芯片内集成具有记忆功能存储矩阵、译码驱动电路和读写电路

    读/写电路:包括读出放大器和写入电路,用来完成读/写操作。
    在这里插入图片描述
    在这里插入图片描述

    1.译码驱动能把地址总线送来的地址信号翻译成对应存储单元的选择信号,该信号在读写电路的配合完成对被选中单元的读写操作
    2.读写电路包括读出放大器和写入电路,用来完成读写操作。
    3.存储芯片通过地址总线、数据总线和控制总线与外部连接。
    4.地址线单向输入的,其位数与芯片容量有关。
    5.数据线是双向的(有的芯片可用成对出现的数据线分别作输入或输出),其位数与芯片可读出或写入的数据位
    有关。
    6.控制线主要有读/写控制线与片选线两种。读/写控制线决定芯片进行读/写操作片选线用来选择存储芯片
    在这里插入图片描述
    由多个存储芯片扩展成大容量存储器:
    ① 需要的存储芯片数量
    ② 存储芯片的地址线条数与构成的存储器地址线
    条数及地址线之间的关系
    ③ 存储芯片的数据线条数与构成的存储器数据线
    条数及数据线之间的关系
    ④ 存储器的地址范围和各组存储芯
    片的地址范围(会用二进制数写出其范围)
    ⑤ 如何选择某一个(组)芯片
    在这里插入图片描述

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

    半导体存储芯片的译码驱动方式有两种:线选法和重合法
    在这里插入图片描述
    **线选法:特点是用一根字选择线(字线),直接选中一个存储单元的各位(如一个字节)。这种方式结构比较简单,但只适合于容量不大的存储芯片。**如当地址线A3A2A1A0为1111时,则第15根线被选中,对应图中最后一行八位代码可以直接读出或写入。
    在这里插入图片描述
    重合法:在这里插入图片描述
    在这里插入图片描述

    随机存取存储器(RAM)

    补充知识
    在这里插入图片描述
    随机存取存储器按其存储信息的原理不同,可分为静态RAM和动态RAM两类。
    静态RAM(Static RAM 或记作 SRAM)

    1.所谓的“静态”,是指这种存储器只要**保持通电**,里面储存的数据就可以**恒常保持**。然而,当**电力供应停止**时,SRAM储存的数据还是会消失(被称为volatile memory),这与在断电后还能储存资料的ROM或闪存是不同的。
    2.SRAM不需要刷新电路即能保存它内部存储的数据。
    

    1.保存0和1的原理是什么?
    触发器存储数据。
    在这里插入图片描述
    在这里插入图片描述
    2.基本单元电路的构成是什么?
    SRAM一般可分为五大部分:存储单元阵列(core cells array),行/列地址译码器(decode),灵敏放大器(Sense Amplifier),控制电路(control circuit),缓冲/驱动电路(FFIO)。SRAM是静态存储方式,以双稳态电路作为存储单元,SRAM不像DRAM一样需要不断刷新,而且工作速度较快,但由于存储单元器件较多,集成度不太高,功耗也较大。
    在这里插入图片描述

    3.单元电路如何读出和写入
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.典型芯片的结构是什么样子的?
    在这里插入图片描述
    5.静态RAM芯片如何进行读出和写入操作?
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    动态随机存储器DRAM

    1.保0和1的原理是什么?
    电容充放电原理寄存信息

    2.基本单元电路的构成是什么?
    在这里插入图片描述
    3.单元电路如何读出和写入?
    4.典型芯片的结构是什么样子的?
    在这里插入图片描述

    5.动态RAM芯片如何进行读出和写入操作?
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    动态 RAM 时序
    在这里插入图片描述

    6.动态RAM为什么要刷新,刷新方法?
    在这里插入图片描述
    集中刷新
    (存取周期为0.5μs)以 128 × 128 矩阵为例 刷新与行地址有关
    在这里插入图片描述
    分散刷新
    (存取周期为1μs)
    在这里插入图片描述

    分散刷新与集中刷新相结合(异步刷新)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    只读存储器(ROM)

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

    2.PROM(一次性编程)
    在这里插入图片描述
    熔丝断为"0" 熔丝未断为"1"

    3.EPROM(多次性编程)
    在这里插入图片描述
    4.EEPROM(多次性编程)
    电可擦写
    局部擦写
    全部擦写

    5.Flash Memory(闪速性存储器)

    存储器与CPU的连接

    1.存储器容量的扩展
    在这里插入图片描述
    (1)位扩展 增加存储字长
    位扩展是指只在**位数(数据线)**方向扩展(增加存储器的字长),而芯片的字数(地址线)和存储器的字数(地址线)是一致的。
    连接方法:

    1. 将各存储芯片的地址线、片选线和读写线相应地并联起来;
    2. 各芯片的数据线单独列出。

    位扩展的方法:
    4. 在给定的芯片中选择合适的芯片,并确定使用数量;
    5. 将各存储芯片的地址线、片选线和读写线相应地并联起来;
    6. 各芯片的数据线单独列出,拼接成要求的数据宽度。
    在这里插入图片描述
    (2)字扩展
    增加存储字(存储单元)的数量
    字扩展是指仅在字数方向(存储单元个数或地址线)扩展,而位数不变。
    连接方法:
    7. 将各存储芯片的将芯片的地址线、数据线、读写线并联;
    8. 由多出来的地址线作为片选信号来选中高低芯片。

    字扩展的方法:
    9. 在给定的芯片中选择合适的芯片,并确定使用数量;
    10. 将选中芯片的低位地址线、读写线、数据线对应并联起来;
    11. 用高位地址线译码,将输出接至各芯片的片选端。
    在这里插入图片描述
    (3)字、位扩展
    字、位扩展是指仅在字数方向和位数方向上同时扩展(指既增加存储器的字的数量又增加字长)。
    连接方法:
    12. 先进行位扩展;
    13. 然后按组进行字扩展。

    字、位扩展的方法:
    14. 在给定的芯片中选择合适的芯片,并确定使用数量;
    15. 先进行位扩展,扩展成“组”,使得“组”的字长达到要求的字长;
    16. 再用“组”进行字扩展,按照字扩展的方法将字数增加到目标字数

    2.存储器和CPU的连接(重点)
    (1)地址线的连接
    CPU的地址线数往往比存储芯片的地址线数多,通常总是将CPU地址线的低位与存储芯片的地址线相连,CPU地址线的高位或在存储芯片扩充时用,或做其他用途,如片选信号等
    (2)数据线的连接
    CPU的数据线与存储芯片的数据线也不一定相等,必须对存储芯片扩位,使其数据位数与CPU的数据线数相等
    (3)读/写命令线的连接
    CPU的读/写命令线一般可直接与存储芯片的读/写控制端相连,通常高电平为读,低电平为写。
    (4)片选线的连接
    正确工作的关键。片选信号由CPU的MREQ的非(访存控制信号,低电平有效。若CPU访问I/O,则MREQ的非为高,表示不要求存储器工作)和未与存储芯片相连的高位地址线共同产生(需要用到一些逻辑电路,如译码器)。
    (5)合理选择存储芯片
    通常选用ROM存放系统程序、标准子程序和各类常数等,RAM则是为用户编程而设置的。
    (6)考虑CPU和存储芯片的配合问题、速度问题、负载匹配问题。

    例题1:
    设CPU有16根地址线,8根数据线,用MREQ作访存控制现有下列芯片:1K×4位RAM;4K×8位RAM;8K×8位RAM;2K×8位ROM;4K×8位ROM;8K×8位ROM及74LS138等电路要求:构成地址为6000~67FFH的系统程序区;
    地址为6800~6BFFH的用户程序区,选择芯片并画出逻辑连接图。
    在这里插入图片描述
    (1)写出地址范围对应的二进制地址码,并确定总容量
    在这里插入图片描述
    (2)确定芯片的数量及类型
    系统程序区:需要的容量为 2K×8位,根据其特点,
    选择ROM。
    所以选择1片2K×8位的ROM,不需扩展。

    用户程序区:需要的容量为 1K×8位,根据其特点,
    选择RAM。
    所以选择2片1K×4位的RAM,需位扩展。
    (3)分配CPU的地址线
    CPU连接ROM:
    在这里插入图片描述
    CPU连接RAM:
    在这里插入图片描述
    在这里插入图片描述
    (4)确定片选信号
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    例题2:
    CPU有20条地址线和16条数据线。并用"IO/" “M” ̅作为访存控制信号,(“RD” ) ̅为读命令,(“WR” ) ̅为写命令,CPU可以通过BHE和A0来控制按字节或字两种形式访存(如表4.1)。要求采用图4.39所示的芯片,门电路自定,试回答:
    (1)CPU按字节访问和按字访问的地址范围各是多少?
    (2)CPU按字节访问时需分奇偶体,且最大64KB为系统程序区,与其相邻的64KB为用户程序区。写出每片存储芯片对应的二进制地址码。
    (3)画出对应上述地址范围的CPU与存储芯片的连接图。
    在这里插入图片描述
    (1)CPU按字节访问和按字访问的地址范围各是多少?
    ∵CPU地址线为20条,∴按字节访问的地址范围为220=1M
    ∵CPU数据线为16条,则存储器的字长为16位。
    ∴按字访问的地址范围为1M/2=512K
    (2)CPU按字节访问时需分奇偶体,且最大64KB为系统程序区,与其相邻的64KB为用户程序区。写出每片存储芯片对应的二进制地址码。

    CPU可以通过BHE和A0来控制按字节或字两种形式访存
    在这里插入图片描述
    (3)画出对应上述地址范围的CPU与存储芯片的连接图。
    在这里插入图片描述
    在这里插入图片描述
    (3)画出对应上述地址范围的CPU与存储芯片的连接图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    存储器的校验

       具有发现错误或者同时能给出错误所在位置的数据编码,
    就称为数据校验码。 
       校验码用于数据传输、存储过程中确保信息正确。
    

    ~~奇偶校验
    ~~循环冗余校验
    ~~海明码

    **码距:**任意两组合法代码之间 不同的二进制位数 的 最小值。
    在这里插入图片描述
    在这里插入图片描述
    1. 编码的最小距离(码距)
    任意两组合法代码之间 二进制位数 的 最少差异
    编码的纠错 、检错能力与编码的最小距离有关
    在这里插入图片描述
    2. 汉明码的组成能检查并纠正1位错误
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    各检测位 Ci 所承担的检测小组及特点:
    在这里插入图片描述
    2. 汉明码(n+k,n)的组成
    在这里插入图片描述
    例题:
    在这里插入图片描述
    3. 汉明码的纠错过程
    在这里插入图片描述
    在这里插入图片描述

    例题1:
    在这里插入图片描述
    例题2:
    在这里插入图片描述
    例题3:
    在这里插入图片描述

    提高访存速度的措施

    提高访存速度的措施:
    采用高速器件(提高存储器的带宽 P74)
    缩短存储器的存取周期;增加存储字长
    采用层次结构 Cache –主存(4.3)
    程序访问的局部性原理
    调整主存结构

    解释:
    解释:若CPU字长16位,提高存储器存储字长到64位。CPU每次访存发送一个地址,都可以访问到64位(4个机器字长,即4个指令字长)到MDR。提高访存速度。
    问题:
    1、单体多字并行存储器一次能读取4个指令字。如果这些指令字中有分支指令,而且分支成功,那么该分支指令之后的指令是无用的。
    2、当前执行指令所需要的多个操作数也不一定正好都存放在同一个长存储字中。由于数据存放的随机性比程序指令存放的随机性大所以发生这种情况的概率较大。
    3、在这种存储器中必须凑齐了4个数之后才能一起写入存储器。如果只写个别字,就必须先把相应的长存储字读出来放到数据寄存器中然后在地址码的控制下修改其中的一个字最后再把长存储字写回存储器。 写操作变复杂。
    4、当要读出的数据字和要写入的数据字处于同一个长存储字内时读和写的操作就无法在同一个存储周期内完成。

    单体多字系统 增加存储体的存储字长及MDR位数

    在这里插入图片描述
    优点:增加存储器的带宽,提高访存速度
    缺点:遇到转移指令、操作数不能连续存放、只需要单字长操作,效率不高。

    多体并行系统

    在这里插入图片描述
    (1)高位交叉编址(顺序存储)
    在这里插入图片描述
    高位地址表示体号低位地址表示体内地址。程序和数据按体内地址顺序存放,一个存储体存满后,再存储下一个。

    交叉:不连续
    高位交叉:高位(体号或体地址)不连续

    优点:各存储体可并行工作,体内地址连续,便于存储器的扩充。
    缺点:由于程序和数据按顺序存放,导致某个存储体访问过于频繁,其余存储器空闲。
    高位交叉编址的特点:
    通过多体并行提高访存速度,有利于存储器容量的扩展。
    若采用高位交叉编址,则连续读取n个字所需时间为nT(T为存取周期)。
    (2)低位交叉编址(交叉存储)
    各个存储体轮流编址
    在这里插入图片描述
    高位地址表示体内地址低位地址表示体号。程序连续存放在相邻的存储体中

    每个模块的单元地址是不连续的;连续地址分布在相邻的不同模块内。
    对于数据的成块传送,各模块可以实现多模块流水式并行存取;

    优点:充分挖掘总线的每个瞬间(分离式通信),结合流水技术,有利于增加存储器带宽
    低位交叉编址的特点:在不改变单体的存取周期的前提下,结合流水线技术增加存储器的带宽
    在这里插入图片描述
    为保证第二次启动某个体时,它的上一次存取操作已经完成,存储体的数量应该大于等于n
    在这里插入图片描述
    例题:
    在这里插入图片描述
    在这里插入图片描述
    (3)存储器控制部件(简称存控)
    在这里插入图片描述
    写数请求高于读数,读数请求高于读指令

    因为若运算部件不能尽快送走已算出的结果,会严重影响后续指令的执行,因此写数指令优先级高于读数和读指令;同样,若没有操作数参与运算,取出再多指令也无济于事, 因此读数的优先级高于读指令

    多体并行存储器总结:
    相当于把每个存取周期分成4段,每段为总线周期τ。每隔τ启动一个存储体。
    在这里插入图片描述

    高性能存储芯片(了解)

    (1)SDRAM (同步 DRAM)
    需要与系统时钟相同步的外部时钟;
    非同步DRAM,CPU需先与主存进行时钟同步,再读写数据;
    同步DRAM,主存在系统时钟控制下工作,CPU无需同步等待时间
    SDRAM支持猝发模式,发出一个地址即可连续访问一个数据块;
    采用多存储体结构,多个存储体紧密配合,高速读写数据。
    (2)RDRAM(Rambus DRAM)
    由 Rambus 开发,主要解决 存储器带宽问题
    不像传统的DRAM,采用/RAS,/CAS和/WE信号来控制,而是采用异步的传输协议传送地址信息和数据信息,数据交换以包为单位
    (3)CDRAM(带Cache的DRAM )
    在 DRAM 的芯片内 集成 了一个由 SRAM 组成的 Cache ,有利于 猝发式读取

    高速缓冲存储器

    概述

    1. 问题的提出
    避免 CPU “空等” 现象
    CPU 和主存(DRAM)的速度差异
    理论基础:局部性原理
    空间局部性:指当CPU访问某个存储单元时,该存储单元附近的存储单元最有可能被随后访问;

    时间局部性:指当CPU访问某个存储单元时,该存储单元最有可能被再次访问。

    例如:
    int sum(int *a,int n)
    {
    int i, s=0; //s变量,时间局部性
    for(i=0;i<n;i++)
    s+=a[i]; //a数组,空间局部性
    return s;
    }

    2. Cache的工作原理
    ^^主存和缓存的编址
    ^^命中与未命中
    ^^Cache 的命中率
    ^^cache—主存系统的效率
    (1) 主存和缓存的编址
    主存和缓存按块存储 块的大小相同
    B 为块长

    在这里插入图片描述
    (2) 命中与未命中
    在这里插入图片描述
    (3) Cache 的命中率
    在这里插入图片描述
    (4) Cache –主存系统的效率
    设访问 Cache 的时间为 tc ,访问主存的时间为 tm1-h表示未命中率,则主存系统的平均访问时间ta为:
    ta=h*tc+(1-h)*tm
    在这里插入图片描述
    3. Cache 的基本结构
    在这里插入图片描述
    Cache存储体以块为单位与主存交换信息,为加速cache
    与主存之间的调动,主存大多采用多体结构,且cache访存的优先级最高。

    当cache内容已满,无法接受来自主存块的信息时,就由
    Cache内的替换机构按一定的替换算法来确定应从cache内移出哪个块返回主存,而把新的主存块调入cache。

    是将CPU送来的主存地址转换为cache地址。
    4. Cache 的 读写 操作
    在这里插入图片描述
    Cache 和主存的一致性
    在这里插入图片描述
    5. Cache 的改进
    在这里插入图片描述

    Cache --主存的地址映射

    地址映射:主存地址映射到Cache地址。方法有:
    1.直接映射 2.全相联映射 3.组相联映射

    直接映射

    在这里插入图片描述
    每个缓存块 i 可以和 若干 个 主存块 对应
    每个主存块 j 只能和 一 个 缓存块 对应
    在这里插入图片描述

    全相联映射

    在这里插入图片描述
    主存 中的 任一块 可以映象到 缓存 中的 任一块

    组相联映射

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

    三种映射方式的主存和缓存地址划分

    在这里插入图片描述

    三种映射方式的比较

    直接映射:某一主存块只能映射到唯一缓存块。映射方式简单,但是不够灵活,容易导致块冲突。
    全相联映射:某一主存块可映射到任一缓存块,最灵活,不易冲突,但成本高。
    组相联映射:某一主存块可映射到某一组的任一块,兼顾了灵活性和成本。

    替换算法

    1. 先进先出 ( FIFO )算法
    2. 近期最少使用法( LRU)算法
      1. 随机法
        例题:
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述
        在这里插入图片描述

    辅助存储器

    一、概述

    1. 特点 容量大、速度慢、成本低、非易失性、不直接与 CPU 交换信息
    2. 磁表面存储器的技术指标
      (1) 记录密度
      道密度 Dt 位密度 Db

    (2) 存储容量
    C = n × k × s

    (3) 平均寻址时间
    寻道时间 + 等待时间

    (4) 数据传输率
    Dr = D × V
    在这里插入图片描述

    (5) 误码率
    出错信息位数与读出信息的总位数之比

    二、磁记录原理和记录方式
    1. 磁记录原理
    在这里插入图片描述
    在这里插入图片描述
    2. 磁表面存储器的记录方式
    在这里插入图片描述
    三、硬磁盘存储器

    1. 硬磁盘存储器的类型
      (1) 固定磁头和移动磁头
      (2) 可换盘和固定盘
    2. 硬磁盘存储器结构
      在这里插入图片描述
      (1) 磁盘驱动器
      在这里插入图片描述
      (2) 磁盘控制器
      • 接受主机发来的命令,转换成磁盘驱动器的控制命令
      • 实现主机和驱动器之间的数据格式转换
      • 控制磁盘驱动器读写
      在这里插入图片描述
      (3) 盘片
      由硬质铝合金材料制成

    四、软磁盘存储器
    在这里插入图片描述
    在这里插入图片描述
    五、光盘
    在这里插入图片描述

    特别注意

    仅供参考学习,转载请附上原文链接
    图片来源于网络、个人收藏、个人制作、老师PPT
    该篇文章不做任何商业用途,纯属分享学习心得,如有侵权,望联系本人处理
    还在读大学的程序员,项目经验少,如有纰漏,感谢指正
    需要源代码请私聊联系本人
    谢谢配合

    如果这篇文章对您有帮助,小小的点个赞,算是给小学弟的鼓励吧!谢谢大佬!!/呱呱.jpg

    展开全文
  • 内部存储器——③主存储器

    千次阅读 2020-03-20 16:36:26
    即使电源断电,ROM中存储的信息也不会丢失。 (一)ROM的类型 ROM工作是只能读出,不能写入。 把向ROM写入的过程称为对ROM进行编程,根据编程方法的不同,通常可分为以下几类: (1)掩膜式ROM(MROM) 它的...

    一、只读存储器ROM


     

    即使电源断电,ROM中存储的信息也不会丢失。

     

    (一)ROM的类型

    ROM工作是只能读出,不能写入。 把向ROM写入的过程称为对ROM进行编程,根据编程方法的不同,通常可分为以下几类:

    (1)掩膜式ROM(MROM)

    它的内容是由半导体制造厂按用户提出的要求在芯片的生产过程中直接写入的。写入之后任何都无法改变。

    (2)一次可编程ROM(PROM)

    PROM允许用户利用专门的设备(编程器)写入自己的程序,一旦写入,其内容将无法改变。

    (3)可擦除可编程ROM(EPROM)

    EPROM不仅可以由用户利用编程器写入信息,而且可以对其内容进行多次修改。

    EPROM又可分为两种:紫外线擦除(UVEPROM)和电擦除(EEPROM).

    (4)闪速存储器

    闪速存储器(Flash Memory,简称闪存)是一种允许在操作中被多次擦除或重写的只读存储器,它的主要特点是既可在不加电的情况长期保存信息,又能在线进行快速擦除与重写。兼备了EEPROM和RAM的有点。

     

     

    1.EPROM

             EPROM由以色列工程师Dov Frohman发明,是一种断电后仍能保留数据的计算机储存芯片——即非易失性的(非挥发性)。它是一组浮栅晶体管,被一个提供比电子电路中常用电压更高电压的电子器件分别编程。一旦编程完成后,EPROM只能用强紫外线照射来擦除。通过封装顶部能看见硅片的透明窗口,很容易识别EPROM,这个窗口同时用来进行紫外线擦除。可以将EPROM的玻璃窗对准阳光直射一段时间就可以擦除。

     

    (1)简介

             EPROM是一种具有可擦除功能,擦除后即可进行再编程的ROM内存,写入前必须先把里面的内容用紫外线照射它的IC卡上的透明视窗的方式来清除掉。这一类芯片比较容易识别,其封装中包含有“石英玻璃窗”,一个编程后的EPROM芯片的“石英玻璃窗”一般使用黑色不干胶纸盖住, 以防止遭到阳光直射。

     

    (2)特点

            EPROM的编程需要使用编程器完成。编程器是用于产生EPROM编程所需要的高压脉冲信号的装置。编程时将EPROM的数据送到随机存储器中,然后启动编程程序,编程器便将数据逐行地写入EPROM中。

            一片编程后的EPROM,可以保持其数据大约10~20年,并能无限次读取。擦除窗口必须保持覆盖,以防偶然被阳光擦除。老式电脑的BIOS芯片,一般都是EPROM,擦除窗口往往被印有BIOS发行商名称、版本和版权声明的标签所覆盖。EPROM已经被EEPROM取代(电擦除只读寄存器)。

            一些在快闪记忆体出现前生产的微控制器,使用EPROM来储存程序的版本,以利于程式开发;如使用一次性可编程器件,在调试时将造成严重浪费 。

     

    (3)工作原理

            EPROM是可编程器件,主流产品是采用双层栅(二层poly)结构,主要结构如图一所示。浮栅中没有电子注入时,在控制栅加电压时,浮栅中的电子跑到上层,下层出现空穴.由于感应,便会吸引电子,并开启沟道.如果浮栅中有电子的注入时,即加大的管子的阈值电压,沟道处于关闭状态.这样就达成了开关功能。

            如图二所示,这是EPROM的写入过程,在漏极加高压,电子从源极流向漏极沟道充分开启.在高压的作用下,电子的拉力加强,能量使电子的温度极度上升,变为热电子(hot electrON).这种电子几乎不受原子的振动作用引起的散射,在受控制栅的施加的高压时,热电子使能跃过SiO2的势垒,注入到浮栅中.

            在没有别的外力的情况下,电子会很好的保持着.在需要消去电子时,利用紫外线进行照射,给电子足够的能量,逃逸出浮栅。

            EEPROM的写入过程,是利用了隧道效应,即能量小于能量势垒的电子能够穿越势垒到达另一边.

            量子力学认为物理尺寸与电子自由程相当时,电子将呈现波动性,这里就是表明物体要足够的小就pn结来看,当p和n的杂质浓度达到一定水平时,并且空间电荷极少时,电子就会因隧道效应向导带迁移.电子的能量处于某个级别允许级别的范围称为"带",较低的能带称为价带,较高的能带称为导带.电子到达较高的导带时就可以在原子间自由的运动,这种运动就是电流。

    EEPROM写入过程,如图3所示,根据隧道效应,包围浮栅的SiO2,必须极薄以降低势垒。源漏极接地,处于导通状态.在控制栅上施加高于阈值电压的高压,以减少电场作用,吸引电子穿越。

     

     

    二、高速缓冲存储器


     

    Cache是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。

     

    1.访问局部性原理:

            在程序执行过程中, 处理器访问存储器中的指令和数据倾向于成块进行。 程序通常包含许多迭代循环和子程序,一旦进入了一个循环或子程序, 则需要重复访问一小组指令, 同样, 对于表和数组的操作, 包含存取一块块的数据字。 在一长段时间内, 使用的块是变化的, 而在一个小段时间内, 处理器主要访问存储器中的固定块。

     

    2.功能:

            cache是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。cache是介于CPU和主存之间的小容量存储器,但存取速度比主存快。

     

    3.基本原理

            Cache和主存都被分成若干个大小相等的块,每块由若干字节组成。由于cache的容量远小于主存的容量,所以cache中的块数要远小于主存的块数,它保存的信息只是主存中最急需执行的若干块的副本。

     

            CPU与Cache之间的数据交换是以块为单位的。当CPU读取主存中一个字时,便发出此字的内存地址到CACHE和主存。此时CACHE控制逻辑依据地址判断此字当前是否在CACHE 中,若是,为命中,此字立即传送给CPU;若非,为不命中则用主存读周期把此字从内存读出送到CPU,与此同时,把含由这个字的整个数据块从主存读出送到CACHE中。

    图5.4-1 Cache 原理图

     

     

    三、虚拟存储器


     

    虚拟存储器是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。

    虚拟存储器指的是主存——外存层次。它以透明的方式给用户提供 了一个比实际主存空间大得多的程序地址空间。

     

    1.实地址与虚地址

            用户编制程序时使用的地址称为虚地址或逻辑地址。其对应的存储空间称为虚存空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序再定位。

     

    2.虚存的访问过程

            每次访存是,首先判断该虚地址所对弈的部分是否在实存中,如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存。

     

    3.cache与虚存的异同

    在三级存储体系中 ,cache-主存和主存-辅存这两个存储层次有许多相同点:

    (1)出发点相同:二者都是为了提高存储系统的性能价格比而购置的分层存储体系,都力图使存储系统的性能接近高速存储器,而价格和容量接近低速存储器。

    (2)原理相同:都是利用了程序运行时的局部性原理吧最近常用的信息块从相对慢速而大容量的存储器调入相对高速而小容量的存储器。

    (3)侧重点不同:cache主要解决主存与CPU的速度差异问题;而就性能价格比的提高而言,虚存主要是解决存储容量问题。

    (4)数据通路不同:CPU与cache和主存之间均有直接访问通路,cache不命中时可直接访问主存,而虚存所一栏的辅存与CPU之间不存在直接的数据通路,而主存不命中时只能通过调页解决,CPU最终还是要访问主存。

    (5)透明性不同:cache的管理完全有硬件完成,对系统程序员和应用程序员均透明;而虚存管理由软件(操作系统)和硬件共同完成,由于软件的介入,虚存对实现存储管理的系统程序员不透明,而支队应用程序员透明。

    (6)未命中时的损失不同:由于主存的存取时间是cache的存取时间的5-10倍,而主存的存取速度通常比辅存的存取速度快上千倍,故主存未命中时系统的性能损失要远岛屿cache未命中时的损失。

     

     

    四、辅助存储器


     

    辅助存储器用于存放当前不需要立即使用的信息,一旦需要, 则与主存成批地交换数据, 它作为主存的后备和补充, 是主机的外部设备。 辅助存储器的特点是容量大、成本底、通常在断电后仍然保存信息。

     

    辅助存储器的种类•磁表面存储器-磁盘-磁带光存储器光盘

     

    磁盘由一组绕轴旋转的盘片组成,盘片的数量为1~20片。磁盘系统的转速一般在每分钟3600转到12000转之间,即3600rpm~ 12000rpm。

     

    1.辅助存储器的技术指标

    (1)存储密度:单位长度或单位面积的磁层表面所能存储的二进制信息量。可用道密度和位密度来表示。

    (2)磁道的单位长度所能记录二进制信息的位数为位密度或线密度。

    (3)存储容量:磁盘的存储容量是指所能存储的二进制信息总量。一般用字节表示。

              磁盘存储器含有格式化和非格式化容量两个指标。

                      格式化容量按某种特定的记录格式所能存储信息的总量。

                      非格式化量指磁记录表面全部可利用的磁化单元总数。一般格式化容量相当于非格式化容量的70%。

    (3)寻址时间:包括两部分:一是找道时间;二是等待时间。

              找道时间:磁头寻找目标磁道所需要的时间。

              等待时间:磁头从目的道等待需要访问的扇区恰好旋转到它的正下方所经历的时间。

     

    所需扇区转到磁头之下所需要的时间称为旋转时间。平均延迟是磁盘转半圈的时间,所以对大部分磁盘的平均旋转时间TAR为:

    数据传输率:磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率。

     

    举例:

             磁盘组有6片磁盘,每片有两个记录面,最上最下两个面不用,存储区域内径550px,外径825px,道密度为40道/cm, 内层位密度400位/cm,转速2400转/分。问:

    (1)共有多少个柱面?

    (2)盘组总存储容量是多少?

    (3)数据传输率是多少?

    (4)采用定长数据块记录格式,直接寻址的最小单位是什么?寻址命令中如何表示磁盘地址?

    (5)如果某文件长度超过一个磁道的容量,应将它记录在同一个存储面上,还是记录在同一个柱面上?

     

    解:(1) 有效存储区域=16.5-11=5.5(cm)

                     道密度=40道/cm

                      40*5.5=220道

                      即220个柱面.

          (2) 内层磁道周长==2*3.14*11=69.08(cm)

                     每道信息量=400位/cm*69.08=27632=3454位

                     每面信息量=3454B*220=759880B

                     盘组总容量=759880*10=7598800B

          (3) 磁盘数据传输率Dr=rN=2400/60*3454=13816B/s

     

    五、主存储器的基本组织  


     

    1.存储器的基本组织

    (1)  与CPU的连接:主要是 地址线、控制线、数据线 的连接。

    (2)   多个芯片连接 :存储器容量与实际存储器的要求多有不符。 如前所述存储器芯片有不同的组织形式,如1024*1、1024*4、4096*8等;       实际使用时,需进行字和位扩展(多个芯片连接),组成 你所需要的实际的存储器,如 1K*8、4K*8  等的存储器。

     

    2.位扩展法

    说明:当芯片的容量和主存容量相同,而位数不足时,就要对位数进行扩展。

     

    方法:将多片存储芯片的地址端、片选端和读/写控制端各自并联在一起,而他们的数据端分别引出,连到存储器不同位的数据总线上。只加大字长,而存储器的字数与存储器芯片字数一致, 对芯片没有片选要求。

     

    某机字长32位,存储容量1MB,若按字编址,它的寻址范围是0~256kb

    假设机器字长是n位,

    按字编制:由于机器一字为n位,则一字也为nbits=n/8 字节;

    按半字编制:由于机器一字为n位,,则半字为n/2 bits = n/16 字节;

    按双字编制:由于机器一字为n位,,则双字为n*2 bits = n/4 字节;

    通过上述方法得出 计算机的单位 字/半字/双字,然后采用主存容量/ 单位 = 寻址范围了。

     

     

    例如:

            用8k*1的芯片组成8k*8的存储器需 8 个芯片

            地址线——需 13 根    8k=2^13所以需要13根地址线

            数据线—— 8根            8位意味着8根数据线

            控制线—— WR接存储器的WE                                  

     

    3.字扩展法

    说明:当芯片字长与主存相同,而容量不足时,就需要用几片存储器芯片组成合起来对存储空间即地址空间进行扩展,称为字扩展。

     

    方法:将各芯片的地址线,数据线、读/写线分别并联在一起,片选信号单独连接,用来区分各片地址,用高位地址经过译码而产生的输出信号作为各个芯片的片选信号,用低位地址作为各芯片的片内地址。

     

    例如:

    用16K*8位的芯片组成64K*8位的存储器需4个芯片

        地址线—— 共需16根

        片内:(214 = 16K) 14根,片选:2根

        数据线—— 8根

        控制线 —— WE

     

    地址分配表

     

    4.字位同时扩展法

            一个存储器的容量假定为M×N位,若使用l×k位的芯片(l<M,k<N)需要在字向和位向同时进行扩展。此时共需要(M/l)×(N/k)个存储器芯片。

            其中,M/l表示把M×N的空间分成(M/l)个部分(称为页或区),每页(N/k)个芯片。

    地址分配:

        ①用log2 l位表示低位地址:用来选择访问页内的l个字

        ②用log2(M/l)位表示高位地址:用来经片选译码器产生片选信号。

     

    例如:

     

    用1k * 4 的存储器芯片 2114 组成  2k * 8 的存储器

     

     

        例:有若干片1M×8位的SRAM芯片,采用字扩展方法构成4MB存储器,问

    (1) 需要多少片RAM芯片?

    (2) 该存储器需要多少地址位?

    (3) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ和R/W#。

    (4) 给出地址译码器的逻辑表达式。

    解:(1) 需要4M/1M = 4片SRAM芯片;(2) 需要22条地址线 (3) 译码器的输出信号 

    (4) 逻辑表达式为:

     

     

    例  设有若干片256K×8位的SRAM芯片,问:

    (1) 采用字扩展方法构成2048KB的存储器需要多少片SRAM芯片?

    (2) 该存储器需要多少字节地址位?

    (3) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。

     

    解:

    (1) 该存储器需要2048K/256K = 8片SRAM芯片;

    (2) 需要21条地址线, 因为221=2048K,其中 高3位用于芯片选择, 低18位作为每个 存储器芯片的地址输入。 

    (3) 该存储器与CPU连接 的结构图如下。

     

    例 设有若干片256K×8位的SRAM芯片,问:   

     (1) 如何构成2048K×32位的存储器?    

    (2) 需要多少片RAM芯片?    

    (3) 该存储器需要多少字节地址位?    

    (4) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。

     

    解:采用字位扩展的方法。需要32片SRAM芯片。

     

    存储容量 = 存储单元个数 X 存储字长

    存储单元个数 = 2^地址总线数

    存储字长 = 2^数据总线数

     

    六、双端口存储器


     

    双端口存储器由于同一个存储器具有两组相互独立的读写控制电路而得名。

    1.逻辑结构

    图5.3-1 双端口存储器IDT7133逻辑框图

     

    2.无冲突读写控制

            当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。当任一个端口被选中驱动时,就可对整个存储器进行存取,每一个端口有自己的片选控制和输出驱动控制。 读操作时, 端口的   打开输出驱动器,有存储矩阵读出的数据就出现在I/O线上。

     

    3.有冲突读写控制

            当两个端口同时存取存储器同一存储单元时, 变发生读写冲突。为了解决此问题,特设置了标志。在这种情况下, 片上的判断逻辑可以决定对哪个端口优先进行读写操作,而对另一个被延迟的端口置标志(变为低电平),即暂时关闭此端口。换句话说,读写操作对变为低电平的端口是不起作用的。 一旦优先端口完成读写操作,才将被延迟端口的标志复位(变为高电平),开放此端口,允许延迟端口进行存取。

     

     

     

    七、交叉存储器


     

    一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何安排,有两种方式:一种是顺序方式,一种是交叉方式。

     

    1.顺序方式

            设存储器容量为32个字,分成M0、M1、M2、M3四个模块,每个模块存储8个字,访问地址按顺序分配给一个模块后,接着又按顺序为下一个模块分配访问地址,这样,存储器的32个字可由5位地址寄存器指示,其中高2位选择4个模块中的一个,低3位选择每个模块中的8个字。

     

    2.交叉方式

            将4个线性地址0,1,2,3依次分配给M0、M1、M2、M3四个模块,再将线性地址4,5,6,7依次分配给M0、M1、M2、M3四个模块……直到全部线性地址分配完毕为止。当存储器寻址时,用地址寄存器的低2位选择4个模块中的一个,而 用高3位选择模块中的8个字。

     

    3.基本结构

            主存被分为4个相互独立、容量相同的M0、M1、M2、M3四个模块。每个模块都有自己的读写控制电路、地址寄存器和数据寄存器,各自以等同的方式与CPU传送信息。

     

            CPU同时方位四个模块,由存储器控制部件控制他们分时使用数据总线进行信息传送。这样,对每一个存储模块来说,从CPU给出访存命令知道读出信息仍然使用了一个存储周期时间,而对CPU来说,它可以在一个存取周期内连续访问四个模块。各个模块的读写将重叠进行,所以多模块交叉存储器是一种并行存储器结构。

    图5.3-2 顺序方式和交叉方式的存储

     

            假设模块自称等于数据总线宽度,模块存取一个字的存储周期为T,总线传送周期为,存储器的交叉模块数为m,那么为了实现流水线方式存取,应当满足: T=mt
    即成块传送可按 间隔流水方式进行,也就是每经 时间延迟后启动下一个模块。
    m=T/r 称为交叉存取度。交叉存储器要求其模块数必须大于或等于m,以保证启动某模块后经 时间再次启动该模块是,他的上次存取操作已经完成。 这样,连续读取m个字所需的时间为:t1 = T +(m-1)t
    而顺序方式存储器连续读取m个字的时间为:t2 = mT
         

     

    八、相联存储器


     

    是按内容访问存储器。相联存储器的基本原理是把存储单元所存内容的某一部分作为检索项(即关键字项),去检索存储器,并将存储器中该检索项符合的存储单元内容进行读出或写入。

     

    采用相联存储器可以极大地简化查找的形式和改进查找时间。

     

    1.相联存储器的组成: 检索寄存器、屏蔽寄存器、符合寄存器、比较线路、代码寄存器、存储体。

    图5.3-3  相联存储器逻辑图

     

    九、命中率


     

    在一个程序执行期间,设Nc表示完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率。则有:

     

    若tc表示命中时的CACHE访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则CACHE/主存系统的平均访问时间ta为: 

     

    例如:CPU执行一段程序时,cache完成存取的次数为1900此,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取后期为250ns,求cache/主存系统的效率和平均访问时间。 

     
     

    十、地址映射


     

            为了把主存块放到cache中,必须应用某种方法把主存地址定位到cache中,称作地址映射。主要方式有:直接映射方式、相联映射方式、组相联映射方式。

     

            Cache的数据块的大小称为行,用Li表示,其中i=0,1,2,…m-1,共有m=2r行。主存的数据块大小称为块,用Bj表示,其中j=0,1,2,…n-1,共有n=2s块。行与块是等长的,每个块(行)是由k=2w个连续的字组成,字是CPU每次访问存储器时可存取的最小单位。

     

    1.全相联映射方式

            在全相联映象中,主存中任一个块能够映象到Cache中任意一个块的位置。将主存中的一个块的地址(块号)与块的内容(字)一起存于cache的行中,其中块地址存于cache行的标记部分中。

     

    主存地址长度=(s+w)位,寻址单元数=2s+w个字或字节,块大小=行大小=2w个字或字节,主存的块数=2s,Cache的行数=不由地址格式确定,标记大小=s位

    (a)全相联映射示意图
     
     
    b)全相联cache的检索过程
    图5.4-2 全相联映射的cache组织
            检索过程:CPU访存指令制定了一个内存地址(包括主存和cache),为了快速检索,指令中的块号与cache中所有行的标记同时在比较器中进行比较。如果块号命中,则按字地址从cache中读取一个字;如果块号未命中,则按内存地址从主存中读取这个字。
    全相联方式的主要缺点是比较器电路难于设计和实现,因此只适合小容量cache采用。
     
    2.直接映射方式
             一种多对一的映射关系,一个主存块只能拷贝到cache一个特定行的位置上。
            在直接映象Cache中, 地址被划分未标志、页号和偏移量。页号用于确定数据地址在Cache存储器中的物理位置。 
            直接映象方式:根据 Cache 的大小把主存分成若干个区,因此主存容量是 Cache 容量的若干倍。
          i=j     mod m      
            式中: m cache 的总行数
            主存地址长度 = s+w) 位, 寻址单元数 =2 s+w 个字或字节, 块大小 = 行大小 =2 w 个字或字节, 主存的块数 =2 s, Cache 的行数 =m=2 r ,标记大小 = s-r )位。
     
    (a)直接映射示意图

     

    (b)直接映射cache的检索过程
    图5.4-3 直接映射的cache组织
     
            检索过程:Cache将s位的块地址分为两部分:r位作为cache的行地址,s-r位作为标记(tag)与块数据一起保存在该行。当CPU以一个给定的内存地址访问cache时,首先 用r位行号找到cache中的此行,然后 用地址中的s-r位标记部分与此行的标记在比较器中做比较; 若相符即命中,在cache中找到所需要的块;而后 用地址中的最低的w位读取所需要的字; 若不符, 则未命中,有主存读取所需要的字。
    直接映射方式的优点是硬件简单,成本低。缺点是每个主存块只有一个固定的行位置可存放。效率低下。直接映射方式适合于需要大容量cache的场合,更多的行数可以减少冲突的机会。
     
    3. 组相联映像
    组相联映象提供了在性能和价格之间的一种良好平衡。组相联映象是直接映象和相联映象的结合。组内是全相联映象, 组间是直接映象。
     
    这种方式将cache分为u组,每组v行。主存块存放到哪个组是固定的,至于存到该组的哪一行是灵活的,即有如下函数关系:
    m=u ╳ v
    组号 q=j mod u
            块内存地址中 s 位块号划分成两部分:低序的d位( 2 d =u )用于表示cache组号,高序的s-d位作为标记(tag)与块数据一起存于此组的某行中。
              主存地址长度=(s+w)位, 寻址单元数=2 s+w 个字或字节, 块大小=行大小=2 w 个字或字节, 主存的块数=2 s, 每组的行数=k, 第组的v=2 d, Cache的行数=kv, 标记大小=(s-r)位
    (b)组相联cache的检索过程
    图5.4-4 组相联的cache组织

     

            cache的每一小框代表的不是“字”而是“行”。当CPU给定一个内存地址访问cache时,首先用块号域的低d位找到cache的相应组,然后将块号域的高s-d位与该组v行中的所有标记同时进行比较。哪行的标记与之相符,哪行即命中。此后再以内存地址的w位字域部分检索此行的具体字,并完成所需要求得存取操作。如果词组没有一行的标记与之相符,即cache未命中,次数需要按内存地址访问内存。

     

    举例:

    一个组相联cache由64个行组成,每组4行,主存储器包含4K个块,每块128个字,请表示内存地址的格式。

    解:块大小=行大小=2w个字=128=27,所以w=7

        每组的行数=k=4

            Cache的行数=kv=K╳2d=4╳2d=64, 所以d=4

        组数=v=2d=24=16

              主存的块数=28=4K=22╳210=212,所以s=12

              标记大小(s-d)位=12-4=8位

              主存地址长度(s+w)位=12+7=19位

              主存寻址单元数2s+w=219

     

     

    十二、替换策略和写策略


     

    1.替换策略

    当一个新的主存块需要拷贝到cache,而允许存放此块的行位置都被其他主存块占满时,就要产生替换。

    常用的替换算法主要有以下三种:

        (1)最不经常使用(LFU)算法

    LFU算法认为应将一段时间内被访问次数最少的那行数据换出。

        (2)近期最少使用(LRU)算法

    LRU算法将近期内长久未被访问过的行换出。

        (3)随机替换

    从特定的行位置中随机地选取一行换出即可。

     

    图5.4-5 

     

     

    2.Cache写

    在Cache存储器与主存储器只能关键保持一致是很重要的。 一种方法是只写Cache,在页替换时再传送给主存。另一种方法是只要对缓存写操作, 就要同时写至主存中。有三种写操作策略:分别是写操作策略、写回法、全写法写一次法。

     

    写回法:当CPU写CACHE命中时,只修改CACHE的内容,而不立即写入主存。只有当此行被换出时才写回主存。如果CPU写CACHE未命中,为了包含欲写字的主存块在CACHE分配一行,将此块整个拷贝到CACHE后对其进行修改。

     

    全写法:当写CACHE命中时,CACHE与主存同时发生写修改,因而较好地维护了CACHE和主存内容的一致性。当写CACHE未命中时,只能直接项主存进行写入。

     

    写一次法:写命中与写未命中的处理方法与写回法基本相同,指示第一次写命中时同时要写入主存。

     

     

     

    十三、虚拟存储器的管理方式


     

    (一)页式虚拟存储器

    页式虚拟存储系统中,虚地址空间被分成等长大小的页,称为逻辑页;主存空间也被分成同样大小的页,称为物理页。

     

    1.页式虚存地址映射

            虚地址分为两个字段:高字段为逻辑页号,低字段为页内地址(偏移量);

            实存地址也分为两个字段:高字段为物理页号,低字段为页内地址。通过页表可以把虚地址转换成物理地址。

     

     

    2.转换后援缓冲器(TLB)

            由于页表通常在主存中,因而及时逻辑页已经在主存中,也至少要访问两次物理存储器才能实现一次访存,这将使虚拟存储器的存取时间加倍。为了避免对主存访问次数的增多,可以对页表本身实行耳机缓存,把页表中的最活跃的部分存放在高速存储器中。这个专用于页表缓存的高速存储部件通常称为转换后援缓冲器(TLB),又称快表。而保存在主存中的完整页表则称为慢表。快表的作用是加快地址变换。

            地址变换时,根据逻辑页号同时查快表和慢表,当在快表中有此逻辑页时,就能很快的找到对应的物理页号。根据程序的局部性原理,多数虚拟存储器访问都将通过TLB进行,从而有效降低访存的时间延迟。

     

    图5.5-2 TLB的地址映射过程

     

     

     

    (二)段式虚拟存储器

            在段式虚拟存储系统中,段是按照程序的逻辑结构划分的,各个段的长度因程序而异,虚拟地址由段号和段内地址组成。

     

            在段式虚拟粗出系统中,虚地址由段号和段内地址(偏移量)组成。虚地址到实主存地址的变换通过段表实现。每个程序设置一个段表,段表的每一表项对应一个段。每个表项至少包含三个字段:

        (1)有效位:指明该段是否已经调入实存

        (2)段起址:指明在该段已经调入实存的情况下,该段在实存中的首地址。

        (3)段长:记录该段的实际长度。

     

            段表本身也是一个段,可以存在辅存中,但一般是驻留在主存中。

            针对每个虚地址,存储管理部件首先以段号s为索引访问段表的第s个表项。若该表项的有效位为1,则将虚地址的段内偏移量d与该表项的段长字段比较:若偏移量较大,则说明地址越界,将产生地址越界中断;否则,将该表项的段起址与段内偏移量相加,求得主存实地址并访存。如果该表项的有效位为0,则产生 调页中断,从辅存中调入该页,并修改段表。

    图5.5-3 段式虚拟存储器的地址映射过程

     

     

    优点:

    (1)段的逻辑独立性使其易于编译、管理、修改和保护,便于多道程序共享;

    (2)段长可以根据需要动态改变,允许自由调度,有效利用主存空间;

     

     

    3.段页式虚拟存储器

            段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。

     

            实存被等分为页。每个程序则按逻辑结构分段,每段再按照实存的页大小分页。

     

            在段页式虚拟存储系统中,每到程序均通过一个段表和多个页表进行两级再定位。段表中的每个表项对应一个段,每个表项有一个指针指向该段的页表。页表则指明该段该段各页在主存中的位置,以及是否已装入,是否已修改等状态信息。

    一个虚地址由段号、段内地址和页内偏移量构成。 在多任务系统中,操作系统还会在每个虚地址中前增加一个表明该程序再系统的序号的基号。

     

            程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护。因此,它可以兼取页式和段式系统的优点。它的缺点是在地址映象过程中需要多次查表。目前,大中型机一般都采用这种段页式存储管理方式。

     

    举例:

            今假设有三道程序(用户标志号为A,B,C),其基址寄存器内容分别为SA,SB,SC,逻辑地址到物理地址的转移过程见图5--7。在主存中,每道程序都有一张段表,A程序有4段,C程序有3段。每段应有一张页表,段表的每行就表示相应页表的起始位置,而页表内的每行即为相应的物理页号。

     

    地址转换过程如下:

       (1)根据基号C,执行SC(基址寄存器内容)加1(段号)操作,得到段表相应行地址,其内容为页表的起始地址b。

       (2)执行b(页表起始地址)+2(页号),得到物理页号的地址,其内容即为物理页号10。

       (3)物理页号与页内地址拼接即得物理地址。

     

    虚存的替换算法

        常用的替换算法有FIFO算法、LRU算法、LFU算法等。

        虚拟存储器的替换算法与cache的替换算法不同的是:

        (1)cache的替换全部靠硬件实现,而虚拟存储器的替换有操作系统的支持。

        (2)虚存缺页对系统性能的影响比cache未命中要大得多,因为调页需要访问辅存,并且要哦进行任务切换。

        (3)虚存页面替换的选择余地很大,属于一个进程的页面都可替换。

     

     

     

     

     

     

     

     

     
     
     
     
     
     
    展开全文
  • 指令寄存器(IR):用来保存当前正在执行的一条指令。当执行一条指令时,先把它从存取到数据寄存器(DR),然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对...
  • android内部存储器和外部存储器

    千次阅读 2013-08-10 09:27:36
    Android使用的文件系统与其他平台的基于磁盘的文件系统类似。本节课介绍如何使用File ...本节课介绍在你的应用程序中如何执行基本的文件相关的任务。本节课假定你熟悉Linux文件系统基础和java.io中标准的输入/输出AP
  • 存储器存储系统

    千次阅读 2008-04-12 21:21:00
    存储器存储系统1、存储系统的组成1.1、存储器的分类按存储器在计算机系统的作用分类:高速缓冲存储器:高速缓冲存储器(Cache)位于主存和CPU之间,用于存放正在执行程序段和数据,以便CPU能高速地使用它们...
  • 51单片机程序存储器和数据存储器

    万次阅读 多人点赞 2017-12-14 14:34:37
     为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定一条指令的地址。程序计数器PC正是起到了这种作用,所以通常又称其为指令地址计数器。在程序开始执行前,必须将其起始地址。即程序的第一条指令所在的...
  • Android 内部存储器/外部存储器 /保存文件等 2014-01-10 00:07 773人阅读 评论(0) 收藏 举报  分类: Android(262)  本文译自:...
  • 内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。,DDRSDRAM具有出众性能、很低的功耗以及更具竞争力的成本。可与以前的SDRAM技术相比,
  • 常用存储器分类

    2019-10-03 11:41:01
    1.存储器是计算机实现记忆功能的部件,用来存放程序和数据,是微机系统重要的组成部分,存储器的容量越大,表明能存储的信息越多,计算机的处理能力也就越能充分展现。存储器系统由外存储器内存储器两部分组成。...
  • 存储器系统

    2021-08-18 23:10:54
    主存可由 CPU 直接访问,存取速度快,但容量较小,一般用来存放当前正在执行程序和数据。辅存设置在主机外部,它的存储容量大,价格较低,但存取速度较慢,一般用来存放暂时不参与运行的程序和数据,CPU 不可以...
  • ③将编好的程序和原始数据事先存入存储器中,然后在启动计算机工作,这就是存储程序的基本含义。2.根据冯·诺依曼的计算机结构准则,计算机应有哪五大部件组成运算器,存储器,控制器,输入设备和输出设备3.计算机的...
  • 存储器管理

    2020-11-29 18:07:09
    存储器是计算机系统的一个主要部件,用于保存进程运行时的程序和数据,CPU的控制部件只能从主存储器中取得指令和数据,数据能够从主存储器中读取并将他们装入到寄存器,或者从寄存器存入到主存储器,CPU与外围...
  • 是主存储器的后援存储器,用来存放当前暂时不用的程序和数据,以及一些需要永久性保存的信息,它不能与CPU直接交换信息;特点是容量极大,存储速度较慢,造价低 高速缓冲存储器:简称Cache;它位于主存和CPU之间,...
  • 计算机存储器介绍

    万次阅读 多人点赞 2018-04-24 10:17:29
    (一)存储器 存储器(Memory)是现代信息技术用于保存信息的记忆设备。其概念很广,有很多层次,在数字...计算机全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。...
  • 先明白定义再说区别和原理: <br />1、程序存储器(program storage)  在计算机的主存储器中专门用来存放程序、子程序的一个区域。 <br />2、指令寄存器(IR ):用来保存当前正在执行的一条...
  • Core,一条存储器指令首先经过取值,译码,Dispatch等一系列操作后,率先到达LSU(Load/Store Unit)部件。LSU部件可以理解为存储器子系统的最高层,在该部件包含Load Queue与Store Queue。其中Load Queue与Store ...
  • 内存储器程序执行期间被计算机频繁地使用,并且在一个指令周期期间是可直接访问的。外存储器要求计算机从一个外贮藏装置例如磁带或磁盘读取信息。这与学生在课堂上做笔记相类似。如果学生没有看笔记就知道内容,...
  • 描述计算机存储器指计算机的内部存储区域,以芯片格式和集成电路形式存在。计算机存储器应用于录音机或磁盘。术语“存储器”通常视为物理存储器的简称,作为保留数据的实际可能芯片。有些计算机也使用虚拟存储器,即...
  • PC值=当前程序执行位置+8

    千次阅读 2011-03-31 11:05:00
    ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理与存储器系统之间的操作更加流畅,连续,能...一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,
  • 虚拟存储器

    2020-05-12 10:33:11
    当运行数据超过内存限度,部分数据自动“溢出”,这时系统会将硬盘上的部分空间模拟成内存——虚拟内存,并且将暂时不运行的程序或不使用的数据存放到虚拟内存等待需要时调用 虚拟存储器是指具有请求调入功能和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,579
精华内容 25,831
关键字:

内存储器中存储当前正在执行的程序