1555913999747

第1章 计算机系统概论1.1 计算机系统简介1.1.1 计算机的软硬件概念1. 计算机系统2. 计算机的解题过程1.1.2 计算机系统的层次结构1.1.3 计算机体系结构和计算机组成*1.2 计算机的基本组成1.2.1 冯·诺依曼计算机的特点1.2.2 计算机硬件框图1.2.3 计算机的工作步骤*1.3 计算机硬件的主要技术指标1.3.1机器字长1.3.2存储容量1.3.3运算速度1.4 本书结构1.5 习题第2章 计算机的发展及应用2.1 计算机的发展史2.1.1 计算机的产生和发展2.1.2 微型计算机的出现和发展2.1.3 软件技术的兴起和发展2.2 计算机的应用2.3 计算机的展望第3章 系统总线3.1 总线的基本概念3.1.1 总线的基本概念*3.2 总线的分类3.2.1 片内总线3.2.2系统总线3.3.3 通信总线*3.3 总线特性及性能指标3.3.1 总线特性3.3.2 总线性能指标3.3.3 总线标准3.4 总线结构3.4.1 单总线结构3.4.2 多总线结构3.4.3 总线结构举例*3.5 总线控制3.5.1 总线判优控制(解决总线使用权问题)3.5.2 总线通信控制(获得使用权后,如何通信)补充:奇偶校验位总结:3.6 习题第4章 存储器4.1 概述4.1.1 存储器分类4.1.2 存储器的层次结构4.2 主存储器4.2.1 概述4.2.1.1主存的基本组成4.2.1.2主存和 CPU 的联系4.2.1.3 主存中存储单元地址的分配(存储器的编址方案)4.2.1.4 区别以下几点4.2.1.5 主存的技术指标4.2.2 半导体存储器芯片简介4.2.2.1 半导体存储芯片的基本结构补充:译码器4.2.2.2 半导体存储芯片的译码驱动4.2.3 随机存取存储器 ( RAM ) 4.2.3.1 静态 RAM (SRAM)4.2.3.2 动态 RAM ( DRAM )4.2.3.3 动态 RAM 和静态 RAM 的比较4.2.4 只读存储器4.2.5 存储器与CPU的连接4.2.5.1 存储容量的扩展4.2.5.2 存储器与 CPU 的连接补充:门电路4.2.6 存储器的校验4.2.7 提高访存速度的措施

第1章 计算机系统概论

1.1 计算机系统简介

1.1.1 计算机的软硬件概念

1. 计算机系统

1555914167439

1555914196168

1555914222309

2. 计算机的解题过程

1554367070458

1.1.2 计算机系统的层次结构

1554434714866

 

1554367307119

1.1.3 计算机体系结构和计算机组成

1554367809964

*1.2 计算机的基本组成

1.2.1 冯·诺依曼计算机的特点

  1. 五大组成部件。运算器、计算器、控制器、输入设备和输出设备。

  2. 指令和数据以同等地位存于存储器,可按地址寻访。

  3. 指令和数据用二进制表示。

  4. 指令由操作码和地址码组成。操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。

  5. 指令在存储器内按顺序存放。(存储程序

  6. 以运算器为中心,I/O设备与存储器间的数据传送通过运算器完成。

    1554368315517

     

1.2.2 计算机硬件框图

  1. 以存储器为中心的计算机硬件框图

    1554368372903

    运算器:用来完成算术运算和逻辑运算,并将中间结果暂存其中。

    存储器:存放数据和程序。

    控制器:用来控制、指挥程序和数据的输入、运行以及处理运算结果。

    输入设备:将人们熟悉的信息形式转化为机器能识别的信息形式,常见的有键盘、鼠标。

    输出设备:将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输出等。

    现代计算机以存储器为中心。

  2. 现代计算机硬件框图

    1554368751405

    ALU(算数逻辑单元):用来完成算数逻辑运算。

    CU(控制单元):用来解释存储器中的指令,并发出各种操作命令来执行指令。

    I/O设备也受CU控制,用来完成相应的输入、输出操作。

1.2.3 计算机的工作步骤

  1. 上机前的准备

    1. 建立虎穴模型
    2. 确定计算方法
    3. 编制解题程序

    操作码:表示机器所执行的各种操作,如取数、存数、加、减、乘、除、停机、打印等。

    地址码:表示参加运算的数在存储器内的位置。

    指令=操作码+地址码

  2. 计算机的工作过程

    1554432335649

    a. 存储器的基本组成

    1554433065884

    MAR(存储器地址寄存器):存储器地址寄存器,反映存储单元个数。

    MDR(存储器数据寄存器):存储器数据寄存器,反映存储字长。

    存储单元:用于存放一串二进制代码。(用于存放一个存储字的所有存储元集合)

    存储字:存储单元中二进制代码的组合。(存放在一个存储单元中的二进制代码组合)

    存储字长:存储单元中二进制代码的位数。(存放在一个存储单元中的二进制代码位数)

    存储容量:存储器内二进制信息的位数。

    每个存储单元赋予一个地址号,按地址寻访

    1554433844819

    b. 运算器的基本组成及操作过程

    1554434870836

    ACC(累加器)

    MQ(乘商寄存器)

    X(操作数寄存器)

    c. 控制器的基本组成

    • 功能:控制指令的读出、解释和执行,中断事件的处理等 。

    • 组成:

      ① 指令部件: 程序计数器PC—提供要执行的指令地址; 指令寄存器IR—寄存现行指令; 指令译码器ID—解释现行指令,产生相应的控制电位。 ② 时序部件:产生计算机运行所需的时序信号。 ③ 微操作信号发生器:产生执行指令的微操作控制信号。

    • 程序:有序指令的集合,用来解决某一特定问题。

    • 指令:机器完成某种操作的命令,包括操作码和地址码。

      1554715671102

      d. 主机完成一条指令的过程

      1554716804105

      1554716827741

      1. 将程序计数器PC中的指令地址送至地址寄存器MAR

      2. 根据MAR的地址指定存储器的存储单元

      3. 将存储单元中的值送至数据寄存器MDR(在控制器的控制下执行)

      4. 将MDR中的指令送至指令寄存器IR

        ------------------------------------前四步取址操作------------------------------------

        之后PC+1

      5. 将IR中的指令操作码送至控制器(CU),分析操作码和地址码

        ---------------------------------第五步分析指令操作---------------------------------

      6. 将IR中的指令地址N送至MAR

      7. 根据MAR的地址,指定存储器的存储单元

      8. 将累加器ACC中的数据送至MDR(在控制器的控制下执行)

      9. 将MDR中的数据送到存储单元N,完成存数操作

       

    同理:

    1554717478313

     

     

*1.3 计算机硬件的主要技术指标

1.3.1机器字长

1.3.2存储容量

存储容量:存放二进制信息的总位数

1554720419497

1.3.3运算速度

  1. 衡量方法1:平均运算速度Vm(指令平均执行速度)

    定义:计算机每秒钟执行指令的条数 ​ 单位:MIPS(百万条指令每秒) ​ 求法:先求平均运算时间(平均指令周期)Tm

    1554720997109

    式中:n:指令的种类;f i:第i种指令出现的频度(%) t i:第i种指令的指令周期(秒) 则平均运算速度: Vm=1 ⁄ Tm

    f:主频

    Tm:平均指令周期(跟运算速度有关)

    T:CPU时钟周期(跟主频有关)

    T=1/f

    Tm=CPI*T

    Vm=f*IPC

  2. 衡量方法2:指令的平均周期数CPI 定义:计算机执行一条指令所需的时钟周期数 求法:

    1554721159486

    相关参数:IPC(CPU 每一时钟周期内所执行的指令条数)

    说明:一旦处理器设计完成,IPC值就不会再改变了(逻辑电路完全相同,IPC、CPI相同)

    1/MHZ=μs

    1/MIPS=μs

1.4 本书结构

1554723227104

1.5 习题

  1. 计算机存储结构的基本单位是 比特(bit),常用单位是 字节(Byte)

  2. 控制器由 程序计数器(PC存放当前欲执行指令地址)指令寄存器(IR存放当前欲执行的指令)控制单元(CU分析当前指令所需要完成的操作) 组成; CU 负责指令译码,分析操作码和地址码。

  3. 固件 具有某种软件功能的硬件,一般用ROM实现(是将一部分软件永恒地存储于只读存储器中)。

  4. 常用的辅助存储器有 磁盘磁带 等。

  5. 计算机硬件的主要技术指标包括 机器字长存储容量运算速度

第2章 计算机的发展及应用

2.1 计算机的发展史

2.1.1 计算机的产生和发展

发展阶段 时间 硬件技术 速度
1946-1957 电子管 40 000
1958-1964 晶体管 200 000
1965-1971 中、小规模集成电路 1 000 000
1972-1977 大规模集成电路 10 000 000
1977年到现在 超大规模集成电路 100 000 000

 

2.1.2 微型计算机的出现和发展

2.1.3 软件技术的兴起和发展

2.2 计算机的应用

 

2.3 计算机的展望

 

第3章 系统总线

3.1 总线的基本概念

3.1.1 总线的基本概念

  1. 为什么要用总线

    使用分散连接几乎无法满足人们增添或撤减设备的需求。

  2. 什么是总线?

    总线是连接多个部件公共信息传输线,是各个部件分时、共享的传输介质。(在任何时刻只能有一对部件使用总线)

  3. 总线上信息的传送

    1555918726320

    1555918778992

    在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

  4. 总线结构的计算机举例

    a. 面向 CPU 的双总线结构框图

    1555919018311

    特点:当I/O设备与主存交换信息时,要占用CPU,CPU运算将会停止,因此会影响CPU工作效率。

    b. 单总线结构框图

    1555919244848

    特点:当I/O设备与主存交换信息时,CPU可以继续处理不访问主存或者I/O设备的操作。因为只有一组总线,当CPU要读取主存中的指令,会发生冲突(总线冲突)。另外,因为只有一根总线,如果设备很多,这条系统总线会比较长,导致两个部件在进行信息交换时,延迟比较长。

    c. 以存储器为中心的双总线结构框图

    1555920755289

    特点:存储总线速度高,只提供CPU与主存之间传输信息,保留了I/O设备与存储器之间交换信息不经过CPU的特点,这样既提供了传输效率,又减轻了系统总线的负担。

*3.2 总线的分类

3.2.1 片内总线

片内总线:芯片内部 的总线。如CPU内部,寄存器与寄存器之间、寄存器与算术逻辑单元ALU之间都由片内总线连接。

3.2.2系统总线

1555923396947

数据总线:用来传输各功能部件之间的信息。

地址总线:主要用来指出数据总线上的源数据或目标数据在主存单元的地址或I/O设备的地址。

控制总线:用来发出各种控制信号的传输线。

3.3.3 通信总线

1555923028034

*3.3 总线特性及性能指标

3.3.1 总线特性

  1. 机械特性:尺寸、形状、管脚数及排列顺序
  2. 电气特性:传输方向和有效的电平范围
  3. 功能特性:每根传输线的 功能:地址、数据、控制
  4. 时间特性:信号的时序关系(何时有效)

3.3.2 总线性能指标

  1. 总线宽度 数据线的根数,用位表示。
  2. 总线带宽 每秒传输的最大字节数(MBps),单位时间内总线上传输数据的位数
  3. 时钟同步/异步 同步总线、异步总线
  4. 总线复用 举例:地址总线与数据总线共用线路,分时复用
  5. 信号总线 地址线、数据线和控制线
  6. 总线控制方式 突发、自动、仲裁、计数
  7. 其他指标 负载能力、电源电压、总线宽度扩展

3.3.3 总线标准

总线标准:系统与各模块、模块与模块之间一个互联的标准界面

常见的总线标准如下:

总线标准 数据线 总线时钟 带宽 备注
ISA 16 8 MHz (独立) 16 MBps 不支持总线仲裁,无法连接多台具有申请总线控制权的设备,ISA上的数据传送必须通过CPU,浪费CPU时间
EISA 32 8 MHz (独立) 33 MBps 为配合32位CPU而设计的总线标准,对ISA完全兼容。
VESA (VL-BUS) 32 33 MHz (CPU) 133 MBps 由视频电子标准协会提出的总线标准,主要针对多媒体PC要求高速传送活动图像的大量数据而生的。
PCI 32/64 33 MHz(独立) 66 MHz(独立) 132 MBps 528 MBps PCI:专为高度集成的外围部件、扩充插板和处理器/存储系统而设计总线标准,目前PCI标准常用于显卡、声卡、网卡等。
AGP 32 66.7 MHz(独立)133 MHz(独立) 266 MBps 533 MBps AGP:一种是视频接口标准,AGP技术主要解决了三维图像问题。
RS-232 串行通信总线标准 数据终端设备(计算机)和数据通信设备(调制解调器)之间的标准接口   一种串行通信总线标准,应用于串行二进制交互的数据终端设备和数据通信设备之际的标准接口。
USB 串行接口总线标准 普通无屏蔽双绞线带屏蔽双绞线最高 1.5 Mbps(USB1.0) 12 Mbps (USB1.0) 480 Mbps USB2.0) 通用串行总线,用于实现外部设备的连接。

其他常见的总线标准:

总线标准 描述
IDE 主要用于硬盘和光驱,已逐渐淘汰
SCSI 主要用于打印机以及服务器的硬盘接口
SATA 串行接口,当前主流的硬盘接口
PCI-Express 最新的总线标准,将全面取代现行PCI和AGP

3.4 总线结构

3.4.1 单总线结构

1556415296427

优点:结构简单,成本低,易接入新设备 缺点:负载重,同一时刻只能在两个设备之间传送数据,总线数据传输的效率和速度受到限制。

3.4.2 多总线结构

  1. 双总线结构:将速度较低的I/O设备从单总线分离

    1556415711594

    优点:将低速的I/O设备分离,避免CPU浪费。 缺点:需要增设通道等硬件设备。

  2. 三总线结构:高速外设通过DMA总线直接访问内存

    1556415957273

  3. 三总线结构的又一形式

    1556417685809

  4. 四总线结构

1556417736705

3.4.3 总线结构举例

  1. 传统微型机总线结构

    1556418005353

  2. VL-BUS局部总线结构

    1556418039863

  3. PCI 总线结构

    1556418077654

  4. 多层PCI总线结构

*3.5 总线控制

总线控制:统一管理总线上多个部件如何发送信息,如何接收信息,如何防止信息丢失等一系列问题。 总线控制主要包括:判优控制和通信控制

判优控制解决总线使用权问题

通信控制解决获取使用权后,如何有效传输问题

3.5.1 总线判优控制(解决总线使用权问题)

总线判优控制:当多个设备同时请求占用总线时,由总线判优控制器按其优先级别仲裁,决定由哪个主设备占用总线。

基本概念: 主设备:对总线有控制权,可向总线发送请求。 从设备:对总线没有控制权,只能响应主设备发来的总线命令。

1556420246697

  1. 链式查询

    1556420409811

    优点:需3根控制线(BS、BR、BG各需要1根),线路少,优先级固定,易扩展。 缺点:优先级低的设备可能难获得总线使用权,对电路故障敏感。

  2. 计数器定时查询

    1556421609413

    优点:设备的优先级可改变,系统故障敏感度降低 缺点:需(lgn+2)条控制线,线路复杂。其中n为设备总数。

  3. 独立请求查询

1556422711797

优点:设备的优先级可灵活改变,响应速度快 缺点:控制线数量多(2N),结构复杂

3.5.2 总线通信控制(获得使用权后,如何通信)

目的:主要解决通信双方如何获知传输开始和传输结束、以及通信双方如何协调如何配合。

总线传输周期:完成一次总线操作的时间。包括四个阶段:

  1. 申请分配阶段:主模块申请,总线仲裁决定
  2. 寻址阶段:主模块向从模块 给出地址 和 命令
  3. 传数阶段:主模块和从模块 交换数据
  4. 结束阶段:主模块 撤消有关信息

总线通信的四种方式:

  1. 同步通信:由统一时标控制数据的传送
  2. 异步通信:没有公共时钟标准,采用 应答方式
  3. 半同步通信:同步、异步结合
  4. 分离式通信:充分挖掘系统总线每个瞬间的潜力

(1) 同步通信

1556440935937

T1:主模块发地址

T2:主模块发读命令

T3:从模块提供数据

T4:主模块撤销读命令,从模块撤销数据

优点:规定明确、统一,模块间配合简单一致。 缺点:主从模块的时间配合属于“强制性同步”,对于速度不同的部件而言,严重影响总线工作效率,缺乏灵活性。 适用场合:总线长度短(短距离)、各部件存取时间一致的场合。

特点:有定宽定距时钟,在固定的时间点上要给出固定的操作。

(2) 异步通信(无统一时钟,应答方式

应答方式:又称握手方式,即主模块发出请求,从模块响应,然后开始通信。 应答方式分类:不互锁、半互锁和全互锁。

  1. 不互锁方式

1556443034086

  1. 半互锁方式

1556443061197

  1. 全互锁方式

1556443083129

区别:请求信号与回答信号的撤销时机。

不互锁:主模块与从模块之间没有依赖,请求信号与回答信号都是经过一段时间自行撤销。

半互锁:主模块发出请求信号必须确保从模块接收到,也就是说主模块必须接到从模块的回答信号,才能撤销请求信号;而从模块的回答信号不必等主模块的请求信号撤销,而是经过一段时间自动撤销回答信号。

全互锁:主模块发出请求信号必须确保从模块接收到,也就是说主模块必须接到从模块的回答信号,才能撤销请求信号;而从模块的回答信号也必须等主模块的请求信号撤销,其才能撤销。

补充:奇偶校验位

奇校验位=Bn⊕ Bn -1…… ⊕ B1 ⊕1

偶校验位= Bn⊕ Bn -1…… ⊕ B1

(3) 半同步通信

特点:既有公共时钟控制,又允许速度不同的工作模块协调的工作,只需插入等待周期的措施来协调通信双方的配合问题,称作半同步控制。

同步:发送方 用系统 时钟前沿 发信号;接收方 用系统 时钟后沿 判断、识别

异步:允许不同速度的模块和谐工作, 增加一条 “等待”响应信号 WAIT

1556521857045

优点:控制方式比异步通信简单,可靠性高。 缺点:对系统时钟频率不能要求太高,系统工作速度不高。

总结:

上述三种通信的共同点

一个总线传输周期(以输入数据为例)

(4) 异步通信

思路:充分挖掘系统总线每个瞬间的潜力。

1556522547013

特点:充分提高了总线的有效占用。

  1. 各模块有权申请占用总线;
  2. 获得使用权后,采用同步方式通信,不等对方回答;
  3. 各模块准备数据时,不占用总线;
  4. 总线被占用时,无空闲。

3.6 习题

  1. 总线分类

    按连接部件不同,总线通常可以分为 片内总线系统总线通信总线

    按传输内容的不同,可分为 数据总线地址总线控制总线

    按数据传输方式的不同,总线可分为串行 传输总线并行传输总线

  2. 总线的传输周期

    ① 申请分配阶段 ② 寻址阶段 ③ 传数阶段 ④ 结束阶段

  3. 总线上的主模块是指 对总线有控制权的模块,从模块是指被主模块访问的模块,只能响应总模块发来的各种总线命令

  4. 总线判优控制解决 总线使用权问题。可分为集中式和分布式两种。

    集中式包括链式查询方式、计数器定时查询方式、独立请求方式

  5. 总线通信控制解决 获得使用权后,通信双方如何通信(如何获取传输开始和传输结束,以及通信双方如何协调、如何配合)

    在同步通信中,设备之间没有应答信号,数据传输在 公共时钟信号数据控制 下进行。一般用于总线长度较短,总线上各部件存取时间比较一致场合。

    在异步通信中,没有固定的总线传输周期(统一时钟),通信双方通过 应答信号 联络。一般用于总线上各部件速度不一致的。

    在半同步通信中,既有统一的时钟信号,又允许不同速度的模块和谐工作。为此需增加一条 “等待”(WAIT)响应 信号线。

    在分离式通信中,充分对总线进行了有效占用,总线上所有模块都是模块。

  6. 总线宽度是指 数据总线的根数;总线带宽是指 单位时间内总线上传输数据的位数。

  7. 三总线结构包括:I/O总线(连接CPU与I/O设备),主存总线(连接CPU与主存),DMA总线(连接主存与I/O设备)

第4章 存储器

4.1 概述

4.1.1 存储器分类

  1. 按存储介质分类
  1. 按存取方式分类

    (1) 存取时间与物理地址无关(随机访问)

    • 随机存储器(RAM) 在程序的执行过程中可读可写

      主要用于:主存,高速缓冲存储器

    • 只读存储器(ROM) 在程序的执行过程中只读

      主要用于:BIOS芯片,U盘

    特点:容量小,访存速度快。

    (2) 存取时间与物理地址有关(串行访问)

    • 顺序存取存储器

      特点:存储容量大,位价格低廉,存取速度慢。

      主要用于:辅助存储器 如:磁带

    • 直接存取存储器

      特点:存储容量较大,价位和存取速度在二者之间。

      主要用于:辅助存储器 如:硬盘

  2. 按在计算机中的作用分类

1556762621048

4.1.2 存储器的层次结构

  1. 存储器三个主要特性的关系

    1556763391439

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

    1556763429330

    缓存—主存层次主要解决CPU和主存速度不匹配的问题

    主存—辅存层次层次主要解决存储系统容量问题

4.2 主存储器

4.2.1 概述

4.2.1.1主存的基本组成

1556782664393

4.2.1.2主存和 CPU 的联系

1556782699712

疑惑:为什么将主存储器时MAR、MDR在主存里,现在在CPU里面?

个人理解,理论上MAR、MDR是指主存里,实际上已经集成在CPU中,是CPU中AR、DR的隶属。

4.2.1.3 主存中存储单元地址的分配(存储器的编址方案)

字编址计算机:计算机可寻址的最小信息单位是一个存储字,一个存储字所包含的二进制位数称为存储字长。

注意:按字编址时访问的单位为字长。

字节编址的计算机:计算机可寻址的最小信息单位是一个字节。

注意:按字节编址时访问的单位为一个字节。

1556783991759

 

4.2.1.4 区别以下几点

设有一个1MB容量的存储器,字长32位,问:按字节编址,字编址的寻址范围以及各自的寻址范围大小?

(1) 区分寻址空间与寻址范围两个不同的概念

寻址范围仅仅是一个数字范围,不带有单位,寻址范围的大小很明显是一个数,指寻址区间的大小;

如用0~(2^20)-1 或用数量单位M来表示寻址范围为1M

而寻址空间指能够寻址最大容量,单位一般用MB、B来表示,寻址空间为1MB。

(2) 按字节寻址,指的是存储空间的最小编址单位是字节;按字编址,是指存储空间的最小编址单位是字。以上 题为例,总的存储器容量是一定的,按字编址和按字节编址所需要的编码数量是不同的,按字编址由于编址 单位比较大(1字=32bit=4B),从而编码较少,而按字节编址由于编码单位较小(1字节=1B=8bit),从而 编码较多。

(3) 区别M和MB。

M为数量单位。1024=1K,1024K=1M

MB指容量大小。1024B=1KB,1024KB=1MB.

(4) 练习题

①某计算机字长为32位,其存储容量为16MB,若按双字编址,它的寻址范围是多少?

②某机字长为32位,存储容量为64MB,若按字节编址.它的寻址范围是多少?

解答:

我的方法是全部换算成1位2进制的基本单元来算。先计算总容量,如第一题中是16mb中,一B为8位,也就是8个一位基本单元组成,16M=2^24位=2^24个一位基本单元。所以总的基本单元是2^24*8。

一个字长是n位,就是说一个字是由n个一位基本单元组成。按照字来编址就是说由一个字所包含的一位基本单元的个数作为一个地址单元,它对应一个地址。同理,双字编址就是两个字所包含的的基本单元数作为一个地址单元。由于一个字节(1B)永远是8位,所以按字节编址永远是8个一位基本单元作为一个地址单元。寻址范围就是说总共有多少个这样的地址。

第一题中一个字长是32位,对于按字编址来说一个地址单元有32个基本单元,按双字编址则是一个地址单元有64个,按字节是8个,总容量是2^248个。所以按字编址的地址数是2^248/32个,按双字是2^248/64个,按字节是2^248/8个。因此,第一题答案是2^21=2M。

同理,第二题答案是2^26*8/8=2^26=64M。

以上补充内容参考播客http://blog.csdn.net/qq_26222859/article/details/50558253

另外 关于存储器按字节寻址和按字寻址的理解 可参考播客https://blog.csdn.net/Xavier_97/article/details/72511186#commentsedit (此播客中例题解析有误,注意辨别)

4.2.1.5 主存的技术指标

  1. 存储容量:(基本单位:位;常用单位:字节)

    存储容量=存储单元个数 × 存储字长 (存放二进制代码总位数)

    存储容量=存储单元个数 × 存储字长/8 (也可用字节数来表示)

  2. 存储速度(由存取时间和存取周期来表示)

    存取时间:启动一次存储器操作到完成该操作所需的全部时间(分读出时间和写入时间) 读出时间:存储器收到有效地址开始,到产生有效输出所需的全部时间 写入时间:存储器收到有效地址开始,到数据写入被选中单元所需的全部时间

    存取周期:连续两次独立的存储器操作(读或写)所需的 最小间隔时间

    注:通常存取周期大于存取时间,存取周期=存取时间+复原时间

  3. 存储器的带宽(与存取周期密切相关)

    定义:单位时间内存储器存取的信息量

    单位 :字/秒 字节/秒 或 位/秒

    提高存储器带宽的方法 :

    (1)缩短存取周期 (2)增大存储字长 (3)增加存储体

4.2.2 半导体存储器芯片简介

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

1556935619582

一个叫做片选信号,一个叫做使能信号 ,cs,片选,S是select ,CE使能信号,E是enable.先片选再使能芯片才工作,,片选只是选择了芯片但没有使能信号也是不工作的。

补充:译码器

74LS138译码器

用于地址译码的3-8译码器; 输入3位地址信号,译码产生8个不同的选通输出;

引脚作用: 输入信号A、B、C: 引入所要译码的三位地址信号

输出信号/Y0 ~ /Y7 : 对应每一个存储单元,低电平有效

使能信号G1、/G2A、/G2B : ​ 当且仅当G1=1、/G2A =0 、/G2B =0时,译码器正常工作

外部的结构图

1557731040791

1557731133567

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

(1)线选法:以 16×1字节 存储芯片为例

1556939852226

特点:一根字选择线可直接选中一个存储单元的各位。 结构简单,但只适用于容量不大的存储芯片

(2)重合法:以 1K×1位 存储芯片为例

1556941847195

被选单元由X和Y两个方向的地址决定,故称为重合法。

4.2.3 随机存取存储器 ( RAM )

4.2.3.1 静态 RAM (SRAM)

 

静态RAM存储原理:用触发器工作原理存储信息 特点: 信息读出后,仍保持原状态,不需要再生; 断电后,原信息丢失。

存取速度快,但集成度低,功耗大,一般用于组成高速缓冲存储器。

(1)静态RAM基本单元电路

1556954029528

① 静态 RAM 基本单元电路的 读 操作

1556954088119

② 静态 RAM 基本单元电路的 写 操作

1556954120759

(2) 静态 RAM 芯片举例

1556954154935

1556958217986

1556958191354

(3) 静态RAM读/写时序

4.2.3.2 动态 RAM ( DRAM )

动态RAM存储原理:电容存储电荷的原理 存储信息

特点:

(1) 动态 RAM 基本单元电路

1556964612932

② 写原理分析

写入时,将写入信号加到写数据线,由写选择线打开T3,这样Cg便能随输入信息充电(写1),放电(写0)

如图(假设写1):

1556963997335

1556965818458

② 写原理分析

写入时,字线为高电平使T导通,经T管对Cs充电,使其存“1”;若数据线为低电平,则Cs经T放电,使其无电 荷而存“0“。如图(假设写入1):

1556965902927

(2) 动态 RAM 芯片举例

① 三管动态 RAM 芯片 Intel 1103( 1K × 1位 )

② 单管动态 RAM 芯片4116 ( 16K × 1位 )

注意:4116的地址线只有7根,分两次送地址信息

(3) 动态RAM时序

(4) 动态RAM的刷新

  1. 何为刷新?

    刷新的过程实质上就是将原存信息读出,再经由刷新放大器形成原信息并重新写入的过程。(刷新与存储有着相似的过程)

  2. 为什么要刷新?

    电容上的电荷一般只能维持1~2ms,即使不断电,信息也会自动消失。如果存储单元长期得不到访问,则其原信息将会慢慢消失。

  3. 如何刷新

    在刷新周期(一般取2ms),对动态RAM的全部基本单元电路逐行进行一次刷新。

  4. 刷新的方式

    常用的刷新方式有三种:集中式、分散式、异步式。

    1) 集中刷新

    集中刷新是在规定的一个刷新周期(2ms)内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。

    刷新一行的时间=存取周期

    刷新时间=存储矩阵行数*存取周期

    举例:128×128矩阵的存储芯片,设该芯片的存取周期为tc=0.5 μs

    在2ms(占4000个存取周期)内,对128行的存储单元逐行进行信息再次写入,刷新时间=128*0.5=64μs

    其余时间用来读/写或维持信息,而刷新时间64 μs内不能进行读/写操作,故称“死时间”,又称访存”死区“。

    如图:

    1557390651012

    为什么刷新与存取不能并行?

    因为内存就一套地址译码和片选装置,刷新与存取有相似的过程,它要选中一行——这期间片选线、地址线、地址译码器全被占用着。同理,刷新操作之间也不能并行——意味着一次只能刷一行。

    优点:读写操作时不受刷新工作的影响,因此系统的存取速度比较高。

    缺点:在集中刷新期间(死区)不能进行读写,而且存储容量越大,死区就越长。 这增加了存储管理的困难,显然对于高速高效的计算机系统工作是不利的。

    2) 分散刷新(无死区)

    分散刷新是指对每行存储单元的刷新分散到每个存取周期内完成。

    在一个存取周期tc内刷新存储矩阵中的一行。

    tc= tm(读/写操作或维持信息)+tr(每行刷新时间刷新时间=读/写周期)

    举例:128×128矩阵的存储芯片,设该芯片的存取周期为tC=0.5 μs。

    存取周期为 0.5 μs + 0.5 μs 每隔128μs 刷新一次,

    刷新间隔: 128×(0.5μs+0.5μs)=128μs 行刷新间隔:0.5μs+0.5μs=1μs 刷新时间:(2ms/128μs)×(128μs/2)=1ms

    如图:

    1557390678808

    优点:没有死区。

    缺点:加长了系统的存取周期,降低了整机速度;刷新过于频繁,从而使刷新时间增加。没有充分利用所允许的最大时间间隔(2ms)

    3) 异步刷新

    异步刷新是前两种方式的结合,充分利用了最大刷新间隔时间,把刷新操作平均分配到整个最大刷新间隔时间内进行。故: 相邻两行的刷新间隔=最大刷新间隔时间÷行数

    举例:对于128×128矩阵的存储芯片,设该芯片的存取周期为tc=0.5 μs。

    则每隔 2ms ÷128= 15.6 μs刷新一行。

    如图:

    1557391156112

    刷新间隔: 2ms 行刷新间隔:2ms/128=15.6μs 刷新时间:128×0.5μs=64μs

    优点:死区小,刷新占用时间少。

    缺点:系统结构变复杂

    注意:如果将刷新安排在指令译码阶段(这个阶段CPU不访问存储器,不会出现 “死区”,从根本上提高了整机的工作效率。

4.2.3.3 动态 RAM 和静态 RAM 的比较

1557391291446

4.2.4 只读存储器

  1. 掩模 ROM ( MROM )

    定义:数据在芯片制造过程中写入,不能更改; 优点:可靠性、集成度高,价格便宜; 缺点:通用性差,不能改写内容。

  2. PROM (一次性编程)

    定义:用户第一次使用时写入确定内容; 优点:用户可根据需要对ROM编程; 缺点:只能写入一次,不能更改。

    1557391500036

  3. 可擦除可编程ROM (多次性编程 )

    定义:可用紫外光照射(EPROM-Erasable)或电擦除(EEPROM或E2PROM-Electrically)多次改写其中内容; 优点:通用性较好,可反复使用; 缺点:改写速度慢,次数少。

  4. Flash Memory (闪速型存储器)

    定义:一种高密度、非易失性的读/写半导体存储器,它突破了传统存储器体系,改善了现有存储器的特性。 优点:价格低,集成度高、改写速度快; 用途:U盘。

4.2.5 存储器与CPU的连接

4.2.5.1 存储容量的扩展

为何要进行存储器的扩展?

由于存储芯片的容量有限的,其容量或者每个单元的位数常常与实际应用的要求有差距,需要对各种芯片加以级联,实现所需主存。

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

    位扩展是指只在 位数(数据线)方向扩展(增加存储器的字长),而芯片的字数(地址线)和存储器的字数(地址线)是一致的。

    连接方法:

    1) 将各存储芯片的地址线、片选线和读写控制线相应地并联起来;

    2) 各芯片的数据线单独列出。

    位扩展的方法:

    1) 在给定的芯片中选择合适的芯片,并确定使用数量

    2) 将各存储芯片的地址线、片选线和读写控制线相应地并联起来;

    3) 各芯片的数据线单独列出,拼接成要求的数据宽度。

    例:用2片1K × 4位 存储芯片组成 1K × 8位 的存储器

    1557728465178

    如图:

    1557728880790

    对于如上例子,位扩展的关键就是将两个存储芯片当成一个存储芯片来用,让两个存储芯片同时工作,同时被选中,同时做读操作,同时做写操作,要想保证同时,就是把两个芯片的片选,用相同的信号进行连接。

  2. 字扩展 (增加存储字(存储单元)的数量)

    字扩展是指仅在 字数方向(存储单元个数或地址线)扩展,而位数不变。

    连接方法:

    1) 将各存储芯片的将芯片的地址线、数据线、读写线并联;

    2) 由多出来的地址线作为片选信号来选中高低芯片。

    字扩展的方法:

    1) 在给定的芯片中选择合适的芯片,并确定使用数量

    2) 将选中芯片的低位地址线、读写线、数据线对应并联起来;

    3) 用高位地址线译码,将输出接至各芯片的片选端。

    例:用 2片1K × 8位 存储芯片组成 2K × 8位 的存储器。

    如图:

    1557729773583

    对于如上例子,总共有11条地址线,对于A10,我们将它当成片选信号线,当A10=0时(低电平),选中左边的存储芯片工作,右边不工作,当A10=1时,通过一个取反(非门),选择右边的芯片工作。(片选地址为A10由于每个芯片都有8根数据线,而系统一次只需要8位数据,所以,每次只需要一个芯片工作即可

    n个输入,2的n次方个输出

  3. 字、位扩展

    字、位扩展是指仅在字数方向和位数方向上同时扩展(指既增加存储器的字的数量又增加字长)

    连接方法:

    1) 先进行位扩展;

    2) 然后按组进行字扩展。

    字、位扩展的方法:

    1) 在给定的芯片中选择合适的芯片,并确定使用数量

    2) 先进行位扩展,扩展成“”,使得 “组”的字长达到要求的字长;

    3) 再用“”进行字扩展,按照字扩展的方法将字数增加到目标字数。

    例 :用 8 片1K × 4位 存储芯片组成 4K × 8位 的存储器

    如图:

    1557731301089

    由于每个芯片都只有4根数据线,而系统一次需要8位数据,所以我们每次需要2个芯片同时工作(即我们可以将2个芯片看成一组)

4.2.5.2 存储器与 CPU 的连接

(1)地址线的连接

CPU的地址线数往往比存储芯片的地址线数多,通常总是将CPU地址线的低位与存储芯片的地址线相连,CPU地址线的高位或在存储芯片扩充时用,或做其他用途,如片选信号等。

(2)数据线的连接

CPU的数据线与存储芯片的数据线也不一定相等,必须对存储芯片扩位,使数据位数与CPU的数据线数相等。

(3)读/写命令线的连接

CPU的读/写命令线一般可直接与存储芯片的读/写控制端相连,通常高电平为读,低电平为写。

(4)片选线的连接

正确工作的关键。片选信号由CPU的MREQ(访存控制信号,低电平有效访问存储器,为高电平时访问IO设备)和未与存储芯片相连的高位地址线共同产生(需要用到一些逻辑电路,如译码器)。

(5)合理选择存储芯片

通常选用ROM存放系统程序、标准子程序和各类常数等,RAM则是为用户编程而设置的。(芯片数量尽肯能少,片选逻辑尽可能简单)

课本P94 例题4.1

第四步中译码器的输出为Y4、Y5?

是因为译码器输入端C、B、A对应的A13~A10 分别是100(系统Y4)、101(用户Y5)

画图练习:

A6D1869B-A518-42EC-95EA-D421CA209BB0

做题步骤:

  1. 根据题目将地址写成二进制码,并确定其容量。

  2. 确定芯片的数量及类型

    数量用芯片容量相除确定,系统程序区选ROM,用户程序区选RAM

  3. 分配CPU的地址线

    格式:CPU的A0~Ax分别连接n片mK*8位的ROM芯片的A0~Ax(地位地址),CPU的Ax+1~Ay(高位地址)与访存控制信号MREQ做其片选信号。

  4. 形成片选信号

    前提:74138译码器必须保证控制端G1为高电平,/G2A 、/G2B为低电平。输入信号A、B、C连接高位地址,输出信号/Y0 ~ /Y7 根据输入端的值确定。

    访存控制信号MREQ只有是低电平才能有效访问存储器;ROM的/PD端接地确保在读出时低电平有效;读写命令线WR只和ROM相连,数据线不用多说,直接怼。

补充:门电路

1

4.2.6 存储器的校验

 

 

4.2.7 提高访存速度的措施

访问次数: 179