精华内容
下载资源
问答
  • 计算机组成原理简介

    千次阅读 2016-08-20 17:29:05
    计算机组成原理学习开篇 计算机发展史 计算机组成结构 总体结构图 CPU 主存储器 总线 IO设备计算机组成原理学习开篇 做了几年Java Coder自认为Java相关基础还够用,但往往对一些更深底层实现只能点到为止,不能很好...

    计算机组成原理学习开篇

    做了几年Java Coder自认为Java相关基础还够用,但往往对一些更深底层实现只能点到为止,不能很好的融汇贯通。搜索各种资料,想一层一层的剥开,却也很难解释透彻。随着技术知识的了解越广,对技术的敬畏也越深,但值得庆幸的是对技术刨根揭底的心没死透。从最底层的计算机组成原理开始学习,还大学的4年游戏所欠的(出来混迟早都得还,以此告诫还在上学的同学们)…..
    本系列文章主要围绕硬件的学习记录笔记,通过博客来跟大家一起学习探讨,如果错误之处请求大家指正,以免误导了他人


    计算机发展史

    发展阶段 时间 硬件技术 速度(次/秒)
    第一阶段 1946-1957 电子管 40000
    第二阶段 1958-1964 晶体管 200000
    第三阶段 1965-1971 中小规模集成电路 1000000
    第四阶段 1972-1977 大规模集成电路 10000000
    第五阶段 1978-现在 超大规模集成电路 100000000

    百度百科查的各个阶段的物理元件,至于这些元件为什么有这些物理特性,就不深挖了,毕竟我们不做硬件工程师

    电子管, 是被封闭在玻璃容器(一般为玻璃管)中的阴极电子发射部分、控制栅极、加速栅极、阳极(屏极)引线被焊在管基上。利用电场对真空中的控制栅极注入电子调制信号,并在阳极获得对信号放大或反馈振荡后的不同参数信号数据。目前高端音响有用电子管的。

    晶体管,是一种固体半导体器件,具有检波、整流、放大、开关、稳压、信号调制等多种功能

    集成电路,是一种微型电子器件或部件。采用一定的工艺,把一个电路中所需的晶体管、电阻、电容和电感等元件及布线互连一起,制作在一小块或几小块半导体晶片或介质基片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构


    计算机组成结构

    计算机由硬件和软件两大部分组成。本文主要从硬件结构方面介绍。自从1945年,冯·诺依曼(von Neumann)提出存储程序的概念,发展到至今计算机结构都是以此为基础构建的。现代计算机主要由处理器、存储器、IO模块以及连接这些部件总线。

    冯·诺依曼理论

    • 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成
    • 指令和数据以同等方式存放在存储器中,按地址访问
    • 指令和数据都用二进制表示
    • 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置
    • 指令在存储器内按顺序存放
    • 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成

    现代计算机结构图

    计算机总体结构!

    CPU

    CPU是由一块超大规模的集成电路组成,是计算机的运算核心和控制核心。主要包括运算器(ALU)、控制器(CU)、寄存器和高速缓冲等部件。

    主存储器

    主存储器简称主存,是一个临时存储设备,存放指令和数据,CPU能直接随机存取。

    总线

    总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。

    I/O设备

    输入/输出(Input /Output ,简称I/O),指的是一切操作、程序或设备与计算机之间发生的数据传输过程。I/O设备是计算机系统与外部联系的通道。


    计算机硬件主要性能指标

    • 机器字长是指CPU一次能处理的数据位数,通常与CPU的寄存器位数有关。字长越长,数字范围越大,精度也越高;同时也会影响机器的运算速度,如运算位数多的数据,需要经过多次运算才能完成。
    • 存储容量是指主存存放的二进制代码的总位数。主存容量越大,系统功能就越强大,能处理的数据量就越庞大。
    • 运算速度是指单位时间内能执行的指令数量。一般受机器主频,取指周期,总线带宽,CPU流水线设计等因素影响。

    后面再围绕这总线、存储器、I/O设备、CPU依次展开详细介绍….


    参考文献
    1. 《计算机组成原理》
    2. 《深入理解计算机系统》
    3. 《计算机组成与体系结构-性能设计》

    展开全文
  • 一、计算机组成原理概述 1、课程在计算机学习中的地位。 2、课程主要内容 二、计算机系统概论 1、计算机系统简介 计算机并不仅仅是电脑,小到传感器大到服务器等都可以是计算机。 2、计算机系统的...

    一、计算机组成原理概述

    1、课程在计算机学习中的地位。

     

    2、课程主要内容

     

    二、计算机系统概论

    1、计算机系统简介

    计算机并不仅仅是电脑,小到传感器大到服务器等都可以是计算机。

    2、计算机系统的层次结构

    3、计算机体系结构和计算机组成

     

    参考:计算机组成原理(哈工大)刘宏伟视频课程

    展开全文
  • 计算机,通俗的讲就是一个会计算机的机器,跟初中数学时用的计算器没多大区别,无非是变得比较复杂而已。-----个人理解 1:其实人也是一台计算机(不过有点特殊,并且在某些方面来说是比电子计算机高级---富有...

    计算机,通俗的讲就是一个会计算机的机器,跟初中学数学时用的计算器没多大区别,无非是变得比较复杂而已。-----个人理解


    1:其实人也是一台计算机(不过有点特殊,并且在某些方面来说是比电子计算机高级---富有感情),人外部的器官(眼,耳,手脚。。。),相当于计算机的外部设备(鼠标,键盘,显示器,音响。。。)。内部的CPU相当于人大脑。内存相当于人的记忆。等等   


    2:CPU:计算机CPU的种类有RISC和CISC两种,其内部包含一系列指令集。

                        RISC:单个指令比较精简,执行效率比较高。主要有IBM公司癿Power Architecture(包括PowerPC)系列、不ARM系列,ARM主要用在智能手机上。

                        CISC复杂指令集:可以执行一些较低阶的硬件操作。指令数目多复杂。一般有AMD、Intel的x86架构的CPU。个人计算机常被称为x86架构癿计算机。之所以叫X86,                       这是因为最早的那颗Intel发展出来的CPU代号称为8086。


    CPU的指令周期常使用 MHz为单位,这个 Hz 其实就是秒分之一。而在网络传输方 面,由于网络使用的是 bit 为单位,因此网络常使用的单位为 Mbps 是 Mbits per second,亦即是每 秒多少 Mbit。举例来说,大家常看到的 8M/1M ADSL 传输速度,如果转成档案容量的byte 时,其实际理论最大传输值为:每秒 1Mbyte/ 每秒125Kbyte癿上传/下载容量喔!


    CPU内部的指令集影响着CPU工作的效能,除此之外CPU的频率也影响着效能的发挥,频率就是CPU每秒钟可以执行的工作次数,频率越高,说明单位时间,处理的事务也就更多。不过,也不能单凭频率来认定CPU的好坏,不同体系的CPU的架构不同。所以频率只能用来比较同款CPU。 


    3:硬盘:硬盘的最小物理量为512Bytes,最小的组成单位为扇区 (sector), 通常硬盘容量的计算采用『多少个sector』,所以就会使用十进制来处理。


    4:芯片组:整个主板上面最重要的就是芯片组,而芯片组通常又分为两个网桥来控制各组件的沟通。北桥:负责链接速度较快的CPU、主存储器不显示适配器等组件;(2)南桥: 负责连接速度较慢的周边接口, 包括硬盘、USB、网绚卡等等。

         AMD的芯片组不同与Intel的地方在与主存储器是直接与CPU沟通而不透过北桥!

    展开全文
  • 计算机组成原理(唐朔飞) 计算机组成原理(唐朔飞) 第一章 计算机系统概论 1-1 计算机系统简介 1-2 计算机的基本组成 1-3 计算机的工作过程 1-4 计算机硬件的主要技术指标 第二章 计算机的发展及应用 略 ...

    计算机组成原理(唐朔飞)

    第一章 计算机系统概论

    1-1 计算机系统简介

    计算机的软硬件概念

    1. 计算机系统
    • 硬件: 计算机的实体,如主机、外设等
    • 软件: 具有各类特殊功能的信息(程序)组成
      • 系统软件:用来管理整个计算机系统
        语言处理程序、操作系统、服务性程序、数据库管理系统、网络软件
      • 应用软件:按任务需要编制成的各种程序
    1. 计算机系统的层次结构
    • 系统复杂性管理的方法:抽象
      • 对于一个过程的某些细节有目的的隐藏,以便把其他方面、细节或者结构表达地更清楚。 --百度百科
      • 指高级的模型,和低级的实体相对。 --维基百科
      • 隐藏系统中不重要的细节。 David Haris
    • 从程序的角度对计算机的层次进行抽象
      计算机层次抽象
      计算机层次抽象
      软件与硬件之间的虚线表示计算机系统软硬件的接口
    1. 计算机组成与计算机体系结构从研究内容上来说的区别
      • 计算机体系结构:机器语言程序员所见到的计算机系统的属性、概念性的结构和功能特性。定义了计算机系统软硬件的交界面,定义了软硬件交互的接口。
      • 计算机组成:实现计算机体系结构所体现的属性

    1-2 计算机的基本组成

    1. 冯·诺依曼计算机的特点
    • 计算机由五大部件组成:运算器、控制器、存储器、输入设备、输出设备
    • 指令和数据已同等地位存与存储器中,可按地址访问
    • 指令和数据用二进制表示
    • 指令由操作码地址码组成
    • 存储程序(核心特征)
    • 以运算器为中心
    1. 冯诺依曼计算机硬件框图
      冯诺依曼计算机硬件框图
    • 运算器:完成算数运算、逻辑运算
    • 存储器:存放数据和程序
    • 控制器:指挥程序运行
    • 输入设备:将信息转换为机器能识别的信息
    • 输出设备:将计算机处理的结果转换成人们熟悉的形式

    存在的问题:

    • 以运算器为中心会使得运算器比较繁忙
    • 该框图比较乱,不具有层次化的特征
    1. 计算机硬件框图
    • 以存储器为中心的计算机硬件框图

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

    • 现代计算机硬件框图
      现代计算机硬件框图

    • 层次化(Hierachy):将被设计的系统划分为多个模块和子模块

    • 模块化(Modularity):有明确定义的功能和接口

    • 规则性(Regularity):使模块更容易被重用

    1-3 计算机的工作过程

    1. 主存储器的基本组成
      主存

    存储体由多个存储单元组成,每个存储单元又包含若干个存储原件,每个存储原件能寄存一位二进制代码‘0’或‘1’。存储单元按地址寻访

    • 存储单元:存放一串二进制代码
    • 存储字:存储单元中二进制代码的组合
    • 存储字长:存储单元中二进制代码的位数

    主存

    1. 存储体:保存程序、指令、数据

    2. MAR(存储器地址寄存器):反映存储单元的个数

    3. MDR(存储器数据寄存器):反映存储字长

    4. 运算器的基本组成与操作过程

      运算器

    运算器的组成ALU+至少3个寄存器:

    1. 算数逻辑单元(ALU)(运算器的核心)
    2. 寄存器:保存参与运算的数据
    * 累加器(ACC)
    * 数据寄存器(X)
    * 乘商寄存器(MQ)
    

    各类寄存器中存放的各类操作数:

    各类运算中运算数的保存情况

    • 加法

      加法操作

      • 加法指令中,地址码M给出加数在内存中的地址

        加法指令

      • 初态:被加数被存入到ACC中,加数存在X寄存器中

      • 操作1:将加数从M内存单元中取出,存入X寄存器

      • 操作2:ALU对[ACC]和[X]进行加法操作

      • 操作3:ALU将结果保存在ACC寄存器中

    • 减法
      减法操作

      • 减法指令中,地址码M给出减数的地址
        减法指令
      • 初态:被减数被存入到ACC中,减数存在内存单元为M的地址中
      • 操作1:将加数从M内存单元中取出,存入X寄存器
      • 操作2:ALU对[ACC]和[X]进行减法操作
      • 操作3:ALU将结果保存在ACC寄存器中
    • 乘法
      乘法操作

      • 乘法指令中,地址码M给出乘数的地址
        乘法指令
      • 初态:被乘数被存入到ACC中
      • 操作1:将乘数从M内存中取出,存入MQ寄存器
      • 操作2:将ACC的内容送到X寄存器中
      • 操作3:把累加初值0存入ACC中,即把ACC清零
      • 操作4:进行乘法操作,将结果的高位存入ACC,将低位存入MQ
    • 除法

      • 除法指令中,地址码M给出除数的地址
      • 初态:被除数被存入到ACC中
      • 操作1:将除数从M内存中取出,存入MQ寄存器
      • 操作2:将除数从M内存单元中取出,存入X寄存器
      • 操作3:进行除法操作,将商保存在MQ寄存器中,余数保存在ACC中
    1. 控制器的基本结构

      控制器的基本组成

    • 控制器的功能

    • 解释指令

    • 保证指令的按序执行

    • 完成一条指令需要进行的操作

    • 取指令

      • 程序计数器PC:存放当前将要执行的指令的地址,执行完当前指令后将移动到下一条指令的地址,因此PC应具有计数功能(PC) + 1 -> PC
    • 分析指令

      • 指令寄存器IR:存放当前将要执行的指令
    • 执行指令

      • 控制器CU将指令从IR寄存器中取出,执行完毕后,PC指向下一条指令的地址
    • 硬件系统的结构图
      硬件系统的结构图

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

    以取数指令为例

    取数指令的执行过程

    • 第一步:取指令

      1. PC将指令的地址送给MAR
      2. 由MAR将指令的地址送给存储体
      3. 在控制器的控制之下,存储体把指定存储单元中保存的取数指令取出,送入MDR中
      4. MDR将取出的指令送入IR
    • 第二步:分析指令

      1. 将IR寄存器中保存的指令的操作码部分送入CU。经过译码后由CU将指令的地址部分送给存储器,将保存在M内存单元中的数据取出到ACC寄存器中
      2. 从IR的地址码部分将地址取出送入MAR。IR中保存了当前要执行的指令和当前这条指令操作数的地址。
      3. 由MAR将地址送入存储体
      4. 在控制器的控制之下,从存储体中将取数指令要求的数据取出,存入到MDR中
      5. MDR将该输入送入ACC寄存器

    以存数指令为例:

    存数指令过程

    • 第一步:取指令。将指令从存储体中取出。
      1. PC将指令的地址送给MAR
      2. 由MAR将指令的地址送给存储体
      3. 在CU的控制之下将地址中指定的地址从存储体中取出放入到MDR中
      4. MDR将取出的指令送入IR
    • 第二步:分析指令
      5. 将IR中保存的指令的操作码部分送给CU,CU对指令进行分析后发出相应的控制信号
    • 第三步:执行指令
      6. CU由控制将IR中的指令的地址码部分送入到MAR中
      7. MAR将地码送入存储体。告诉存储体将要存数据,并给出数据的地址
      8. 将ACC中的内容存入MDR中。ACC中保存从存储体中输入和输出的数据
      9. 在控制器的控制之下,将MDR中的数据保存到存储体中

    (ax^2+bx+c)程序运行过程

    • 将程序通过输入设备送至计算机
    • 将程序首地址存入PC
    • 启动程序运行

    取数指令:将数据取出到ACC中

    • 取指令操作:PC->MAR->M(存储体)->MDR->IR,(PC)+1->PC 将地址从PC中取出后PC将移动到下一条指令的地址
    • 分析指令,取操作码OP(IR)->CU
    • 执行指令,取地址码AD(IR)->MAR->M->MDR->ACC

    经过以上三步,取数指令完成,一次进行乘法指令、加法指令循环经过这三步的指令传送后完成此程序的计算,经过最后的保存指令后即可通过打印指令输出结果。

    1-4 计算机硬件的主要技术指标

    机器字长:CPU一次能处理数据的位数,与CPU中的寄存器位数有关(ACC、X、MQ)

    运算速度:

    • 主频

    • 核心数,以及每个核心支持的线程数

    • 吉普森法:吉普森法

      fi代表每条指令在程序中出现的频率,计算方法有两种

      • 静态使用频率:通过程序清单计算某条指令出现的频率
      • 动态使用频率:计算程序的执行过程当中每条指令出现的频率
    • CPI:执行一条指令需要的时钟周期数。通过加权平均的方法计算。

    • IPC:一个执行周期可完成的指令数

    • MIPS:每秒执行的百万条指令数

    • FLOPS:每秒浮点运算的次数(较为合理的指标)

      衡量机器的运行速度的较为合理的指标:在相同的时间里,完成了多少算数或者是逻辑运算

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

    • 主存容量:
      • 存储单元个数 × 存储字长

        如:

    MAR MDR 容量
    10 8 1K × 8位
    16 32 64K × 32位
    • 字节数

      如:

      213b=1KB2^{13} b = 1KB

      221b=256KB2^{21} b = 256KB

    • 辅存容量

      • 字节数: 80GB

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

    第三章 系统总线

    3-1 总线的基本概念

    1. 总线(Bus)是连接各个部件的信息传输线,是各个部件共享的传输介质

    2. 使用总线的原因:解决分散连接的问题

    • 缩减通信线路数量
    • 减少设备间连接的接口
    • 避免系统难以扩展
    1. 总线上信息的传送

    总线上信息的传送

    • 串行:发送方把将要传输的数据一位一位地送到总线上,接收方一位一位地从总线上取数据
    • 并行:发送方把将要传输的数据多位同时送到总线上,接收方同时接受多位数据

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

    传输距离较长,平行的线与线之间会产生干扰,会导致数据的变形。

    • 并行传输通常适用于短距离传输,可集中在计算机内部
    • 串行传输通常用于机器与机器、其他设备之间的数据传输
    1. 总线结构举例
      1. 单总线结构框图

        单总线结构框图

        • 在任何时刻只能有一个部件在使用系统总线,会发生总线的争用
        • 远端传输延迟高
      2. 面向CPU的双总线结构框图

        为CPU和主存设计专有的数据传输总线

        双总线结构框图

        • 主存和IO设备之间无连接,只能通过CPU相互通信,会打断CPU的计算
      3. 以存储器为中心的双总线结构

        主存同时与系统总线和存储总线连接

        双总线结构

        • 现有技术暂未实现系统总线和存储总线的同时工作,但与面向CPU的双总线结构相比仍有较大优势

    3-2 总线的分类

    1. 片内总线:芯片内部的总线,完成芯片内部不同部件的连接

    2. 系统总线:计算机各个部件之间的信息传输总线

      根据系统总线上传输的信号的不同可分为以下三类:

      • 数据总线:双向,与机器字长、存储字长有关。通常情况下,总线的宽度 <= 机器字长
      • 地址总线:单向,与存储地址、I/O地址有关。由CPU或主设备发出。通常地址总线的条数和地址单元的个数相关
      • 控制总线:有入有出,向系统的各个部件传输控制信号,或系统的各个部件将自己的状态信号向外传输。

        有出,如:存储器读取、存储器写入、总选允许、中断确认
        有入,如:中断请求、总线请求

    3. 通信总线:用于计算机与系统之间计算机系统与其他系统之间的通信。

      传输方式:

      • 串行通信总线
      • 并行通信总线

    3-3 总线的特性以及性能指标

    1. 总线物理实现
      总线的物理实现
    2. 总线特性
      1. 机械特性:尺寸、形状、管脚数、排列顺序
      2. 电气特性:传输方向和有效的电平范围
      3. 功能特性:每根传输线的功能,即传输何种信号:地址信号、数据信号、控制信号
      4. 时间特性:信号的时序关系
    3. 总线的性能指标
      1. 总线宽度:同时可以传输多少位数据。也就是数据线的条数
      2. 标准传输率:每秒传输的最大字节数(Mbps)
      3. 时钟同步/异步:同步、不同步
      4. 总线复用:地址线数据线复用(共用)
      5. 信号线数:地址线、数据线和控制线的总和
      6. 总线控制方式:突发、自动、仲裁、逻辑、计数
      7. 其他指标:负载能力等
    4. 总线标准

    总线标准

    总线标准表:

    总线标准表

    1. ISA:工业标准体系结构
    2. EISA:在ISA基础上增加总线宽度
    3. VESA:视频电子标准协会
    4. PCI:外设部件互联标准
    5. AGP:点对点的局部总线,主要连接控制芯片和显卡
    6. RS-232:串行通信总线标准
    7. USB:通用串行总线

    3-4 总线结构

    1. 单总线结构

    见3.1.4.1

    1. 多总线结构

      1. 双总线结构

        双总线结构1

      2. 三总线结构

        三总线结构

        DMA:直接存储器访问。高速设备和内存之间进行信息交换时可以通过DMA总线

        但低速设备依然要通过I/O总线

      3. 三总线结构的另一种形式

        三总线结构的另一种形式

        在CPU与主存之间添加一个低容量的高速缓存,用来缓存主存中的数据

        添加一条扩展总线与系统总线相连,用于连接外部设备

        但所有外设全部连接在扩展总线上,势必会影响高速外设的速度

      4. 四总线结构

        四总线结构

        特点:将高速设备和低速设备进行分类组织

    2. 总线结构举例

      1. 传统微型机总线结构

        传统微型机总线结构

      2. VESA

        VESA总线结构

      3. PCI总线结构

        PCI总线结构

      4. 多层PCI总线结构

        多层PCI总线结构

    3-5 总线控制

    1. 总线判优控制
    • 基本概念

      根据是否能提出总线请求,可将总线上的设备分为两类

      • 主设备(模块):对总线有控制权,即可以提出总线的占用申请,且在占用了总线后可以控制和另外一台设备之间的通信
      • 从设备(模块):只能相应从主设备发来的总线命令。不能对总线进行控制,也不能提出对总线的占用申请。
    • 总线判优控制

      • 集中式:将总线的判优逻辑集成在一个部件上
        • 链式查询
        • 计数器定时查询
        • 独立请求方式
      • 分布式:将判优逻辑分布到各个设备或各个设备的端口上
    • 链式查询方式

      链式查询方式

      BR:设备发出占用请求后通过BR想总线控制部件提出占用请求

      BG:链式查询发出总线占用请求的设备,并为其分配总线的使用权。BG的查询顺序为各个I/O设备占用总线的优先级的先后顺序

      BS:设备获得总线的使用权后,通过BS设置总线忙

      优点:

      • 结构简单
      • 容易实现可靠性设计

      缺点:

      • 对电路故障非常敏感,尤其是BG。
      • 速度慢
    • 计数器定时查询

      计数器定时查询

      总线控制部件中存在一个计数器,计数器的值比较灵活,可以从0开始。也可以从上一次停止计数的设备的序号开始

      将要占用总线的设备通过BR提出占用请求,总线控制器若同意让出总线控制权,则启动计数器,通过设备地址线向外查找与计数器值对应的设备是否提出总线占用请求,查找一个设备后计数器自增1,若该设备提出了总线占用请求,则通过BS线应答。

      设备地址线的宽度设备数有关。若有n个设备进行二进制编码的话,则至少需要log2(n)\log_2(n)(向上取整)位,即设备地址也需要log2(n)\log_2(n)(向上取整)条线

      优点:

      • 优先级确定,非常灵活
      • 可以通过软件的方式设置优先级顺序
      • 可以通过软件的方式设置总线控制部件

      缺点:

    • 按顺序查找,速度较慢

    • 独立请求方式

      独立请求方式

      所有的IO接口都增加了两条线:BRiBR_i(提出总线占用请求)和BGiBG_i(应答信号)

      可根据BG直接将总线的控制权分配给获得授权的设备

      总线控制部件中设置排队器控制设备优先级的排队

      优先级可以事先确定,还可以设置自适应优先级,根据实际情况分配合理的优先级

    总线的判优控制解决了由哪一个主设备占用总线和使用总线

    1. 总线通信控制

    主设备获得总线的使用权后,将与从设备进行信息交换

    总线通信控制:解决主设备和从设备协调控制的问题

    • 总线的传输周期

      主设备和从设备之间完成一次完整的、可靠的通信所需要的时间

      • 申请分配阶段:主设备申请,总线总裁决定(总线判优)
      • 寻址阶段:主设备向从设备发出地址和命令
      • 数据传输阶段:主设备和从设备交换数据
      • 结束阶段:主从模块撤销有关信息
    • 总线通信的四种方式

      • 同步通信:有统一的(定宽,定距)的时标控制数据的传送
      • 异步通信:采用应答方式,没有公共适中标准
      • 半同步通信:同步、异步结合,解决不同速度的两个设备之间通信的问题
      • 分离式通信:充分挖掘系统总线每个瞬间的潜力,让系统总线发挥最大效能

    同步通信

    • 同步式数据输入

      同步式数据输入

      整个总线周期由四个时钟周期构成

      • 在T1时钟周期的上升沿,主设备给出从设备地址信息
      • 在T2时钟周期的上升沿,主设备给出读取命令
      • 在T3时钟周期的上升沿到来之前,从设备必须给出数据信号
      • 在T4时钟周期的上升沿,撤销控制信号和数据信号。在T4结束时候撤销地址信号

      特点:

      • 定宽定距的时钟控制数据传输的过程
      • 在给定的时间点上要完成相应的操作
    • 同步式数据输出

      同步式数据输出

      • 在T1时钟周期的上升沿,给出地址信号,下降沿,给出数据
      • 在T2时钟周期的上升沿,给出写命令
      • 在T3时钟周期的上升沿,做写入操作
      • 在T4时钟周期的上升沿,主设备撤销写入命令,T4结束时撤销数据信号

      所有的从模块都用同一个时标控制,主从模块强制同步,对多个速度不同的模块需要选择速度最慢的模块设计时标,影响总线的工作效率,设计具有局限性,且缺乏灵活性

      同步通信一般应用于总线长度较短,且各个模块存储时间比较一致的情况。

      总线传输周期越短,数据线的位数越多

    异步通信

    没有公共的时钟标准,不要求所有部件严格的统一操作时间,采用应答方式通信

    异步通信

    • 不互锁

      主设备发出请求后不必等待从设备的相应,经过一段时间后自动撤销请求信号。从设备发出应答后,经过一段时间自动撤销应答信号

      通信的可靠性低

    • 半互锁

      主设备发出请求后,等待从设备发出的应答信号,接收到后则撤销请求信号,否则一直保留。但从设备应答后,经过一段时间自动撤销应答信号。

      可能会造成请求信号的长时间保留

    • 全互锁

      主设备发出请求信号,从设备接收到请求后发出应答信号,主设备收到应答信号后撤销请求信号,从设备获知请求信号已撤销后,才会撤销应答信号。

      可以完成较为可靠的数据传输。

    半同步通信(同步、异步结合)

    • 同步的特征:存在定宽定距的时钟管理通信的过程

      • 发送方用系统时钟前沿发出信号
      • 接收方用系统时钟后沿判断、识别
    • 异步的特征:

      • 允许不同速度的模块和谐工作
      • 为了调整主从设备速度的差距,增加一条“等待”相应信号,WAIT\overline{\text{WAIT}}
    • 以输入为例的半同步通信时序图

      以输入为例的半同步通信时序图

      在T3上升沿到来之前,从模块若无法向主模块提供数据,则发出WAIT\overline{\text{WAIT}}信号,低电平有效。主模块若检测到WAIT\overline{\text{WAIT}}为低电平,则等待一个时钟周期T,如此循环,直到主模块检测到WAIT\overline{\text{WAIT}}为高电平,表示从模块已经准备好。则进入T3。

      • T1T1 主模块发地址
      • T2T2 主模块发命令
      • TwT_wWAIT\overline{\text{WAIT}}为低电平时,等待一个T
      • TwT_wWAIT\overline{\text{WAIT}}为低电平时,等待一个T
      • ···
      • ···
      • T3T3 从模块提供数据
      • T4T4 从模块撤销数据,主模块撤销命令

    分离式通信

    充分挖掘系统总线每个瞬间的潜力

    • 三种通信的共同点:

      • 主模块发地址、命令,需要占用总线
      • 从模块准备数据,不需要占用总线,总线空闲
      • 从模块想主模块发送数据,需要占用总线
    • 将一个总线的传输周期分成两个子周期:

      • 子周期1:主设备申请占用总线,使用完后放弃总线的使用权
      • 子周期2:从设备完成准备工作后,申请占用总线,将各种信息发送至总线上
    • 分离式通信的特点

      • 各个模块都有权申请占用总线
      • 采用同步方式通信,不等待对方应答
      • 各个模块准备数据时,不占用总线
      • 总线被占用时,无空闲

    第四章 存储器

    4-1 概述

    4-1-1 存储器分类

    1. 按存储介质分类
    • 半导体存储器
      • TTL(晶体管-晶体管逻辑电路):集成度低,功耗高,速度快
      • MOS(金属氧化物半导体):功耗低,集成度高。
    • 磁表面存储器:磁头、磁载体
    • 磁芯存储器:硬磁材料、环状元件
    • 光盘存储器
    1. 按存取方式分类
    • 存取时间与物理地址无关(随机访问)
      • 随机存储器(RAM):在程序执行过程中可读可写
      • 只读存储器:在程序的执行过程中只可读
    • 存取时间与物理地址有关(串行访问)
      • 顺序存取存储器,如:磁带
      • 直接存取存储器,如:磁盘
    1. 按存储器在计算机中的作用分类
    • 主存储器
      • 随机访问存储器RAM
        • 静态RAM
        • 动态RAM
      • 只读存储器ROM
        • MROM:掩模式
        • PROM:可编程
        • EPROM:电可编程
        • EEPROM:电可擦写
    • Flash Memory:半导体存储器,可作为:
      • 便携式存储器(U盘)
      • 硬盘(SSD)
      • 辅存的缓存
    • 高速缓冲存储器(Cache):在CPU和主存之间的缓存
    • 辅助存储器

    4-1-2 存储器的层次结构

    1. 存储器的层次结构
      存储器的层次结构
    2. 缓存-主存层次和主存-辅存层次
    • 缓存-主存层次
      • 主要解决CPU和主存速度不匹配的问题。
      • 采用硬件的方法实现。
      • 地址空间为主存的地址(实地址)(物理地址)
    • 主存-辅存层次
      • 主要解决存储系统容量的问题。
      • 采用软硬件相结合的方法实现。
      • 地址空间为虚拟地址(逻辑地址)

    4-2 主存储器

    4-2-1 概述

    1. 主存的基本组成

    主存的基本组成

    MAR中的存储单元的地址需要译码器译译码后才能找到所需访问的单元。

    MDR中存储将要被读出或写入的数据。经过读写电路和控制电路控制读或写。若是读出,则将MAR指定的存储单元中的数据送到MDR中。若是写入,则将MDR中的数据送入到MAR指定的存储单元中

    1. 主存和CPU的联系

    主存和CPU的联系

    数据总线:双向连在MDR寄存器上,完成了CPU和主存之间的信息传输。

    地址总线:单向连在MAR寄存器和主存的地址总线之间,给出了将要访问的内存单元的地址

    控制总线:读写等

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

    大端法小端法

    • 大端法:高位存放高地址,低位存放低地址
    • 小端法:高位存放低地址,低位存放高地址
    1. 主存的技术指标
    • 存储容量:主存中存放的二进制数的总位数

    • 存储速度:

      • 存取时间:存储器的访问时间

        从存储器给出地址信号开始,到得到稳定的数据输出/输入所经历的时间

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

      一般来说,存取周期比存取时间长。因为连续的存取之间存在一段恢复时间

    • 存储器带宽:单位时间里能够向存储器中读取/写入的数据的位数。

      单位:位/秒

    4-2-2 半导体存储芯片

    1. 半导体存储芯片的基本结构
      半导体存储芯片的基本结构
    • 地址线单向输入(n条),数据线双向(m条)。

      芯片容量为2n×m2^n×m

    • 片选线:选择存储芯片。因为一个半导体存储器是由多个存储芯片构成。

      两种标识方式(一横表示低电平有效)

      • CS\overline{\text{CS}}:芯片选择
      • CE\overline{\text{CE}}:芯片使能
    • 读/写控制线:决定芯片进行读还是写操作

      一根线:

      • WE\overline{\text{WE}}:低电平写,高电平读

      两根线

      • OE\overline{\text{OE}}:读
      • WE\overline{\text{WE}}:写

    4-2-3 随机存取存储器

    1. 静态RAM(SRAM)
    • 静态RAM基本电路

      静态RAM基本电路

      T1-T6只是静态RAM的一个基本单元电路,有多行多列的基本单元一起构成静态RAM

      T1-T4为一个双稳态的触发器,存放0/1信息。A高A’低时为‘1’;A低A’高时为‘0’

      T5、T6用于决定读或写。T5、T6打开后该单元才能进行读/写。行开关

      T7、T8用于决定有效输入/输出的列。T7、T8打开后,该列对应的基本单元的读/写操作有效

      行地址选择线选择对基本单元矩阵中的哪一行的触发器进行操作,行有效时,将这一行中基本单元的T5和T6打开。

      列地址选择线决定哪一列的输入输出操作有效,列有效时,将这一列中的T7、T8开关打开。。

      所以只有行选择线选择的行和列选择线选择的列才能进行有效输入或输出

    1. 动态RAM(DRAM)
    • 用电容保存0/1信息

    电容上如果保存了足够的电荷则存储’1’,若没有电荷则保存’0’

    • 动态RAM基本单元电路

      (1)三管MOS动态RAM

      三管MOS动态RAM

      • 信息保存在电容Cg上
      • T1、T2、T3为控制读出和写入的控制管
      • 读选择线有效,则T2导通
      • 写选择先有效,则T3导通

      读数据时

      • 预充电信号有效,T4打开

      • VDDV_{DD}通过T4给读数据线充电,使得读数据线为高电平。

      • 读选择线有效使T2打开

      • 此时若Cg未保存电荷(保存信息0),则T1不导通,读数据线持续高电平,输出1

      • 若Cg保存了电荷(保存信息1),则T1导通,读数据线的高电平会通过T1接地,从而变为低电平,输出0.

        输出的信息与Gg中保存的信息相反,通常在读数据线的输出端加一个非门

      写数据时

      • 写选择线有效,T3导通

      • 写1,则写数据线通过T3向Cg充电

      • 写0,则Cg通过T3放电

        写入的信息与输入的信号是相同的

      (2)单管MOS动态RAM

      单管动态RAM

      读数据时

      • 字线有效,T导通
      • 若Cs中存储了电荷,则数据线上有电流,输出1
      • 若Cs中未存储电荷,则数据线上无电流,输出0

      写数据时

      • 字线有效,T导通
      • 写1,数据线通过T向Cs充电,输入1
      • 写0,Cs通过T放电,出入0
    • 动态RAM刷新

    刷新:现将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程。刷新只与行地址有关

    • 集中刷新

    • 分散刷新

    • 异步刷新

    • 动态RAM和静态RAM的比较

    DRAM SRAM
    存储原理 电容 触发器
    集成度
    芯片引脚
    功耗
    价格
    速度 较慢
    刷新 需要 不需要

    通常DRAM用于做主存,SRAM用于做缓存

    4-2-4 只读存储器(ROM)

    1. 掩模ROM(MROM)

      行列选择线交叉处:

    • 有MOS管,则输出为1
    • 无MOS管,则输出为0
    1. PROM(一次性编程)

      行线为基极,发射极与列线之间有一条熔丝:

    • 熔丝通,则为1
    • 熔丝短,则为0
    1. EPROM(可多次编程)

    EPROM

    • D端加正电压,形成浮动栅,S与D不导通,为0

    • D端不加正电压,不形成浮动栅,S与D导通,为1

      信息的擦除:驱散浮动栅。用紫外线擦除

    1. EEPROM(可多次编程)
    • 电可擦写
    • 局部擦写
    • 全部擦写
    1. FlashMemory(闪速型存储器)

    总结:

    • EPROM:价格便宜,集成度高
    • EEPROM:电可擦写
    • FlashMemory:比EEPROM快,具备RAM功能

    4-2-5 存储器与CPU的连接

    1. 存储容量的扩展
    • 位扩展(增加存储字长)

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

      位扩展

      1K表示有10根地址线,8位表示8根数据线。

      • 两个芯片地址线连接方式相同
      • 数据线各自负责按序的四位存储
      • 将两个芯片的片选线读写信号线连接在一起,使得两个芯片同时工作。
    • 字扩展

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

      字扩展

      2K表示有11根地址线,8位表示8根数据线。表示8位数据,所以两芯片不能同时被选中。原有的两个芯片有10根地址线A0-A9,组成的存储器增加了一条A10地址线。控制两个芯片的片选信号,A10为1,则选第一个芯片;A10为0,则选第二个芯片。

      • 从000 0000 0000开始,到011 1111 1111为第一个芯片的1K的空间
      • 从100 0000 0000开始,到111 1111 1111为第二个芯片的1K的空间
    • 字、位扩展
      字位扩展

      • 先完成位的扩展

        用两个1K×4位的芯片组成一个1K×8位的存储器。所以可将八个1K×4位的芯片组成4组这样的存储器。每组的两个芯片的片选线相连。

      • 再完成字的扩展

        原芯片1K地址线为10根,4K芯片地址线为12根。多出的两根地址线A10和A11通过2-4译码器控制每一组的片选。

      以上操作即完成了字、位扩展

    1. 存储器与CPU的连接
    • 地址线的连接

      存储芯片的容量不同,其地址线数也不同,CPU的地址线数往往比存储芯片的地址线数多。通常将CPU地址线的低位与存储芯片的地址线相连;高位用于扩充和其他用途

    • 数据线的连接
      CPU与存储芯片的数据线数不等时,必须对存储芯片扩展位,使得其数据位数与CPU的数据线数相等

    • 读/写命令线的连接

      CPU的读写命令线一般可直接与存储芯片的读写控制端相连

    • 片选线的连接

    • 合理选择存储芯片

      指存储芯片类型(RAM或ROM)和数量的选择

    4-2-6 存储器的校验

    • 编码的检测能力和纠错能力与任意两组合法代码之间二进制位最少差异数有关

    • 具有一位纠错能力

    • 代码长度与检测位数的关系

      2k=n+k+12^k = n + k + 1

      • n为将要检测的二进制代码的位数
      • k为需要添加的检测位数

      将k位检测位记为Ci(i=1,2,4,...,2i)C_i (i=1,2,4,...,2^i), 将这些位分别安插在汉明码从左往右的第k=1,2,4,...,2ik=1,2,4,...,2^i位上

      每个CiCi分为一组,各承担n+k位数据的检测。第CiC_i组负责的数据位为:

      • 根据汉明码的总二进制位数n+k,固定从右往左数第Ci位为1,统计其余位根据0/1所有的排列组合结果转换为十进制的集合
      • 每个集合元素n表示附加了检测位的汉明码从左往右数的第n位的下标
      • CiC_i组负责的数据位为对应集合中的下标的对应位值

      从附加了检测位的汉明码中找出各个集合元素对应下标位置的二进制值,并判断1的数量:

      • 奇校验:填充CiC_i使得1的总数为奇数
        • 若1的总数为奇数,则Ci=0C_i = 0
        • 若1的总数为偶数,则Ci=1C_i = 1
      • 偶校验:填充CiC_i使得1的总数为偶数
        • 若1的总数为偶数,则Ci=0C_i = 0
        • 若1的总数为奇数,则Ci=1C_i = 1

    4-2-7 提高访存速度的措施

    1. 单体多字系统

      单体多字系统

      在一个存取周期内,从同一地址取出多条指令,然后再逐条将指令送入CPU执行

    • 缺点:
      • 写入时,CPU先单字长的存储字写入单字长寄存器,再写入到多个字长的数据寄存器中,最后写入到存储器中。将会导致给定的存储体有多个字长的数据被修改
      • 指令和数据在主存内必须连续存放
    1. 多体并行系统

    (1) 高位交叉,顺序编址

    高位交叉

    高位地址表示存储体编号,低位地址表示存储体内地址

    因为程序指令按序执行,连续的指令可能存储在同一个存储体中,可能会导致某些存储体繁忙,其余存储体空闲的情况,并行度低

    适合存储器容量的扩展,但是并不适合提高存储器的带宽

    (2)低位交叉,各个存储体轮流编址

    低位交叉

    低位地址表示存储体编号,高位地址表示存储体内地址

    连续的地址分布给不同的存储器,使得CPU可以在同一个访存周期内可以向多个存储体发出读信号,多个存储体在访存周期结束时可以同时向CPU提供数据

    低位交叉的特点:在不改变存取周期的前提下,增加存储器的带宽

    低位交叉的特点

    1. 高性能存储芯片

    (1)SDRAM(Synchronous DRAM,同步DRAM)

    存储器与处理器的数据交换同步与系统的时钟信号。要求存储器的速度非常快

    (2)RDRAM

    (3)带Cache的DRAM

    4-3 高速缓冲存储器

    4-3-1 概述

    1. 主存速度的提高跟不上CPU的发展,高速缓存主要解决主存与CPU速度不匹配问题。Cache由静态RAM做成,容量小,速度快。
      Cache的出现
    • 时间的局部性
      • CPU从主存中取指令或数据,在一定时间内,只是对主存局部地址区域的访问。
      • 当前正在使用的指令和数据在不久后很有可能会被再次使用
    • 程序访问的局部性原理
      • 指令和数据在主存的地址分布不是随机的,而是相对的簇聚。
      • 当前正在使用某些指令和数据,不久后与其相邻的指令和数据就有可能会被使用
    1. Cache的工作原理
    • 主存和缓存的编址

      主存和缓存的编址

      ​ 主存和缓存被分为大小相等的块,每个块表示一块连续的内存空间
      ​ 主存中有M块
      ​ Cache中有C块
      ​ C远远小于M

      • 内存和Cache的地址可分为两部分

        • 主存/缓存块号
        • 块内地址

        若一个块包含了16个字节,并且内存的编址单位是字节,则块内地址为4位,剩余的部分即为主存块号

      • Cache块内地址长度与主存块内地址长度相同、内容为某主存块的块内地址

      • Cache标记保存主存块和Cache块的对应关系。若主存块被写入到Cache块,则Cache标记则记录此主存块号,块内地址即为此主存块的块内地址

      • CPU读取信息时给出一串由块号和块内地址组成的内存地址,将主存块号与Cache的标记比较,

        • 若可以找到相等的块号且此Cache块有效,则称Cache命中。CPU可从此Cache块中得到想要的数据,速度较快
        • 若找不到,则称Cache未命中。CPU必须从主存中获取相应的数据或指令
      • Cache命中率=命中次数 / (命中次数+未命中次数)

        • 命中率与Cache的容量块长有关

          • 通常每块可取4~8个字
          • 块长取一个存取周期内从主存调出的信息长度
      • Cache-主存系统的效率

        效率e与命中率有关

        e=访Cache访×100%e = \frac{访问Cache的时间}{平均访问时间} × 100\%

        • 访问Cache的时间:CPU访问一次Cache需要的时间
        • 平均访问时间:CPU访问主存或Cache每次的平均时间

        设Cache命中率为h, 访问Cache时间为tct_c, 访问主存的时间为tmt_m,则

      e=tch×tc+(1h)×tm×100%e = \frac{t_c}{h×t_c+(1-h)×t_m} ×100\% (CPU访问Cache与访问主存并行进行)

      e=tc2×h×tc+(1h)×tm×100%e = \frac{t_c}{2 × h×t_c+(1-h)×t_m} ×100\% (CPU先访问Cache再访问主存)

    1. Cache的基本结构

      Cache的基本结构

      • 地址映射变换机构

        • 地址的映射。决定主存中的块将会放入到Cache的那些块中
        • 地址的变换。将主存的块号/地址转换成相应的Cache的块号/地址
      • Cache存储体:以块为单位与主存交换信息

      • 替换机构:当Cache容量已满,则调用替换算法将某些块移出Cache,将新的块调入Cache

    2. Cache的读写操作

    (1)读

    Cache的读操作

    ​ (2)写

    • 写直达

      写操作时数据既写入Cache又写入主存。写操作的时间就是访问主存的时间

    • 写回法

      写操作时只把数据写入Cache而不写入主存,当Cache数据被替换出去时才写回主存。写操作的时间为访问Cache的时间

    1. Cache的改进

    (1)增加Cache的级数

    ​ 片内Cache、片外Cache

    (2)统一缓存和分立缓存

    ​ 统一缓存:指令和数据都存放在同一缓存内的Cache

    ​ 分立缓存:指令和数据分别存放在两个缓存中,一个称指令Cache,一个称数据Cache

    4.3.2. Cache-主存地址映射

    1. 直接映射

      主存中任意一个给定的块,只能映射到某一个指定的Cache块中

      直接映射

      将主存储体划分为若干个与Cache大小相等的区,每个区中包含的字块数与Cache中的字块数相等。每个区从0开始给字块编号。

      映射时,每个区的第0块只能被放入到Cache的第0块;每个区的第一块只能放入Cache的第一块;……

      主存地址被划分为三部分。

      即每个缓存块可以和若干个主存块对应,但每个主存块只能和一个缓存块对应

      • 主存字块标记:即区号,写在Cache标记中
      • Cache字块地址
      • 字块内地址

      优点:

      • 结构简单
      • 速度快

      缺点:

      • Cache的利用率可能会很低
      • Cache映射时,冲突的概率较大
    2. 全相连映射

      主存中的块可放入Cache的任意块中

      全相联映射

      优点:利用率高

      缺点:

      • 速度较慢。CPU给出主存地址,需要将该主存字块标记与所有Cache标记进行比较。有相同的则命中,否则未命中
      • 参加比较的位数较长。相较于直接映射,全相联没有根据Cache分区,所以主存字块标记较长,从而导致Cache标记较长
    3. 组相连映射

      组相联映射

    • 先将Cache字块分成Q组,每组中有2r2^r个字块。

    • 理解性地再将主存储器的字块分成若干个,每个区的大小Cache的组数相同。

    • 主存块j按照模Q的方式映射到缓存的第i组内,即:i = j mod Q。主存中按序的每Q个块分为一个区

    • 映射时,每个区的第i号块可放到Cache第i组的任何一个位置,每个主存块在区内的偏移量直接决定了它可以放入到Cache的哪个组

    • 比较时,先通过主存字块标记模Q确定给定的主存字块在哪个区,然后根据区内偏移找到对应的Cache组,将此组内所有字块的标记与主存字块标记比较,相同则命中,否则未命中

    组相联映射方式是现代计算机Cache-主存地址映射常用的方法

    • 若Cache只分为一组,则为全相联
    • 若Cache每组只有一个字块,则为直接映射

    小结

    • 直接映射:某一主存块只能固定映射到某一缓存块
      • 不灵活
      • Cache利用率低
      • 速度快
    • 全相联:某一主存块能映射到任一缓存块中
      • 成本高
      • 速度慢
      • Cache利用率高
    • 组相联:某一主存快只能映射到某一缓存组中的任一缓存块中
      • 速度较快
      • Cache利用率较高
    • 用途:
      • 靠近CPU的Cache要求高速,可以采用直接映射,或路数比较少的组相联映射
      • 中间的Cache可采用组相联映射
      • 距离CPU较远的Cache可采用全相联映射

    4-3-3 替换算法

    当新的主存块需要调入Cache并且它的可用空间又被占满时,需通过替换算法腾出一定的Cache空间

    1. 先进先出算法(FIFO)

      选择最早被调入的Cache字块进行替换

    2. 近期最少使用算法(LRU)
      选择近期用的最少的Cache字块进行替换

    4-4 辅助存储器

    保存数据

    1. 概述
    • 特点:不直接与CPU交换信息
    • 磁表面存储器的技术指标
      • 记录密度

        • 道密度:磁盘沿半径方向单位长度的磁道数。单位:tpi(道每英寸)或tpm(道每毫米)
        • 位密度:单位长度磁道能记录二进制信息的位数。单位:bpi(位每英寸)或bpm(位每毫米)

        磁盘的每个磁道都是同心圆,越往外位密度越低

      • 存储容量:C = n × k × s

        • C:总存储容量
        • n:盘面数
        • k:每个盘面的磁道数
        • s:每条磁道上记录的二进制代码数
      • 平均寻址时间

        • 寻道时间:磁头在硬盘表面移动,找到指定的磁道需要的时间
        • 等待时间:磁头停止运动,磁盘旋转,等待所需扇区旋转到磁头下需要的时间
        • 平均寻址时间 = 寻道时间 + 等待时间
        • 辅存的读写时间 = 寻址时间 + 磁头读写时间
      • 数据传输速率Dr = 位密度Db × 磁道旋转速度V

      • 误码率:出错的信息位数与读出信息的总位数

    1. 磁记录的原理

    • 磁记录写

    • 磁记录读
    1. 硬磁盘存储器
    • 类型
      • 固定磁头和移动磁头
        • 固定磁头:每个磁道都有一个磁头,磁头数量庞大,速度快,结构复杂
        • 移动磁头:每个盘面上一个磁头,磁头沿半径方向移动选择磁道
      • 可换盘和固定盘
    • 硬磁盘存储器结构
      硬磁盘存储器结构
      • 磁盘控制器:

        • 接收主机发来的命令,转换成磁盘驱动器的控制命令
        • 实现主机和驱动器之间数据格式的转换
        • 控制磁盘驱动器读写

        磁盘控制器是主机与磁盘驱动器之间的接口

    1. 软磁盘存储器

      不卖了

    硬盘 软盘
    速度
    磁头 固定、活动,浮动 活动,接触盘片
    硬盘 固定盘 可换盘片
    1. 光盘存储器

      采用光存储技术,利用激光进行读写

    • 只读型和只写一次型:热作用
    • 可擦写光盘:热磁效应

    5. 输入输出系统

    5-1 概述

    5-1-1 输入输出系统的发展概况

    5-1-2 输入输出系统的组成

    1. I/O软件
    • I/O指令:机器指令的一类

      IO指令

      • 操作码:相当IO指令的标志
      • 命令码:指出对具体IO设备的操作
      • 设备码:多台IO设备的选择码
    • 通道指令(理解模糊):

      • 通道能够实现I/O设备与主机直接进行信息传送
      • 通道能够执行由通道指令组成的通道程序
      • 指出数据组的首地址、传送字数、操作命令
    1. I/O硬件
    • 设备

    • 接口

      设备通过接口连接在总线上和主机完成信息交换

      若采用通道方式,则设备通过设备控制器连接在通道上与主机进行信息交换

    1. I/O设备与主机的联系方式
    • I/O设备编址方式
      • 统一编址

        将I/O设备的地址看做是存储器地址的一部分

        可用取数、存数指令访问I/O设备

      • 不统一编址

        在内存地址空间之外专门为I/O设备设置地址空间

        需要设置专门的I/O指令

    • 设备选址
      • 用设备选择电路识别是否被选中
    • 传送方式
      • 串行
      • 并行
    • 联络方式
      • 立即响应
      • 异步工作采用应答信号联络
      • 同步工作采用同步时标
    • I/O设备与主机的连接方式
      • 辐射式连接:每台I/O设备都有一套控制线路和一组信号线
      • 总线式连接:通过一组总线将所有的I/O设备与主机连接
    1. I/O设备与主机信息传送的控制方式
    • 程序查询方式

      CPU和I/O设备采用串行方式工作,CPU通过程序不断查询I/O设备是否做好准备。

      程序查询方式

      CPU的速度比I/O设备快得多,等待I/O设备准备数据将会使CPU的工作效率大大降低

      同时,I/O设备访问内存也必须经过CPU

    • 程序中断方式

      I/O准备数据时CPU仍可执行现行程序,I/O准备完成后发出中断请求,CPU转而执行中断服务程序为I/O设备服务,结束后回到原程序继续执行。

      程序中断方式

      CPU在执行第K条指令时收到了I/O的中断信号,在第K条指令执行结束后立即执行中断服务程序为I/O设备提供服务,执行完毕后转回原来的程序中执行下一条(第K+1条)指令。

      程序中断方式流程

      实现了CPU和I/O部分的并行工作,但对CPU的解放仍不彻底,

      • 传输过程中需要CPU参与
      • 中断现行程序时候要保存程序断点
      • 程序返回时要恢复程序断点
    • DMA方式

      上述两种方法中,I/O设备与内存之间的信息交换仍需通过CPU

      DMA方式在内存与I/O之间建立直接通路,不需要中断现行程序。若CPU和DMA同时访问主存,则CPU将总线占有权让给DMA,时间一般为一个存储周期,称为窃取周期挪用周期

      DMA方式

      CPU在程序运行的某个时刻发出启动I/O信号,之后I/O设备在DMA的控制之下完成数据的准备,准备完成后DMA发出总线占用请求,CPU让出一个存取周期的总线控制权给DMA,DMA将数据加载到主存中,期间CPU程序仍可执行,只不过不可以访存而已。

      实现了CPU和I/O的并行工作

    • 三种方式的CPU工作效率比较

      三种方式的效率比较

      • 程序查询方式

        I/O准备及传送的时间里,CPU一直在查询等待I/O设备,效率极低

      • 程序中断方式

        I/O准备数据时CPU不需要等待,提高了效率,但仍需要CPU参与I/O与主存之间的数据交换。CPU程序的中断和恢复也会消耗些许时间

      • DMA方式

        CPU仅在DMA请求占用总线时让出一个存取周期的总线,现行程序不需要中断。且现代计算机多为多指令存取,短时间的不访存对CPU来说影响较小,CPU工作效率高。

    5-2 外部设备(I/O设备)

    5-2-1 概述

    I/O设备

    I/O设备由设备控制器与其机、电、磁、光部件组成,通过I/O接口与主机连接,主机通过I/O接口向设备控制器传输控制命令,控制I/O设备进行相关操作;也通过I/O接口读取设备的状态

    I/O设备可分为三类

    1. 人机交互设备:将人能识别的信息转换成机器可识别的信息
    2. 计算机信息的存储设备
    3. 机-机通信设备:计算机与其他计算机或其它系统之间完成通信任务的设备

    5-2-2 输入设备

    1. 键盘
    2. 鼠标
    3. 触摸屏

    5-2-3 输出设备

    1. 显示器
      • 字符显示:字符发生器
      • 图形显示:主观图像
      • 图像显示:客观图像
    2. 打印机
      • 击打式
      • 非击打式

    5-2-4 其他

    1. A/D、D/A转换器(模拟/数字、数字/模拟转换器)
    2. 终端:完成现实控制、存储、键盘管理以及通信控制
    3. 汉字处理

    5-2-5 多媒体技术

    5-3 I/O接口

    1. I/O设备的作用

      • 实现设备的选择
      • 实现数据缓冲达到速度匹配
      • 实现数据串-并格式的转换
      • 实现电平转换
      • 传送控制命令
      • 反映设备的状态
    2. 总线链接方式的I/O接口电路

      IO接口电路

    • 设备选择线:传输参与本次信息交换的设备的设备码或端口号
    • 数据线:负责主机与I/O设备之间的数据传输
    • 命令线:负责传输CPU向设备发出的命令信号
    • 状态线:负责向主机报告设备状态
    1. 接口的功能和组成
    功能 组成
    选址功能 设备选择电路
    传送命令功能 命令寄存器、命令译码器
    传送数据的功能 数据缓冲器
    反映设备状态的功能 设备状态标记

    设备状态标记:

    • 完成触发器:D
    • 工作触发器:B
    • 中断请求触发器:INTR
    • 屏蔽触发器:MASK
    1. I/O接口的基本组成

      IO接口的基本组成

    2. 接口类型

    • 按数据传输方式分类
      • 串行接口
      • 并行接口
    • 按功能选择的灵活性分类
      • 可编程接口
      • 不可编程接口
    • 按通用性接口
      • 通用接口
      • 专用接口
    • 按数据传送的控制方式分类
      • 程序型接口(中断接口)
      • DMA型接口

    5-4 程序查询方式

    5-4-1 程序查询流程

    1. 单个设备

      单个设备程序查询

      CPU 在发出设备启动命令后循环检查状态标记,判断I/O接口是否准备好数据

      • 测试指令:检查状态标记
      • 转移指令:若设备未就绪,执行转移指令,再次执行测试指令
      • 传送指令:I/O设备准备就绪时,执行传送指令
    2. 多个设备

      根据设备优先级将设备排序,高优先级的未准备就绪时,检查次优先级的状态标记

      多个设备程序查询

    3. 程序流程

      程序流程

      • 保存寄存器内容
      • 设置计数值:控制传输的数据量
      • 设置将要传输的数据的主存缓冲区首地址
      • 启动I/O设备
      • CPU循环查询I/O接口的状态,直至I/O设备数据准备好,开始进行数据传输
      • 传送一个数据
      • 修改主存地址,为输入/输出下一个数据做准备
      • 修改计数值
      • 判断数据是否传送完

    5-4-2 程序查询方式的接口电路

    以输入为例

    程序查询方式的接口电路

    • CPU通过地址线给出外部设备的地址
    • 设备选择电路将设备码与地址线上的代码比对,若一致,则SEL有效,说明本次启动的设备是连接在该接口电路上的设备
    • 若SEL信号有效,且启动命令有效,则该设备开始工作
    • I/O指令的启动命令将触发器B置“1”,设备启动;将D置“0”,数据为准备就绪
    • 触发器B启动设备工作
    • 输入设备将数据送至数据缓冲寄存器
    • 至此设备工作结束,将B置“0”,将D置“1”,表示数据准备完毕
    • CPU执行输入命令,将数据缓冲存储器中的数据经过一系列操作后存入主存
    展开全文
  • 计算机系统简介 硬件体系 讲授内容:计算机、组织(组成:计算机硬件系统的逻辑实现——数字电路、数字逻辑)、原理(不依托机器) 基本内容 ...教材:唐硕飞-计算机组成原理(第二版),...
  • 课程内容简介本书是详解研究生入学考试指定考研参考书目为唐朔飞《计算机组成原理》(第2版)的专业课复习题库,包括以下四部分:第一部分为名校考研真题。精选七套考研真题,并提供详尽答案解析。学员可以熟悉考试...
  • 计算机组成原理 概述

    千次阅读 2019-12-29 10:20:14
    这段时间在MOOC上学习刘宏伟教授讲的计算机组成原理,把一些学习中的重点知识和困难记下来,方便以后复习。 一、计算机系统简介 1.组成 而计算机软件分为系统软件和应用软件 2.结构层次 硬件主要包括实际...
  • 《面向21世纪课程教材•普通高等教育"十一五"国家级规划教材:计算机组成原理(第2版)》内容简介:为了紧跟国际上计算机技术的新发展,《面向21世纪课程教材•普通高等教育"十一五"国家级规划教材:计算机组成原理(第2...
  • 计算机组成原理知识点梳理(一)

    万次阅读 多人点赞 2017-09-14 10:10:15
    注:所教材为《计算机组成原理(第二版)》 唐朔飞 编著 ; 本次梳理涵盖内容为: 第一章 计算机系统概论 1.1 计算机系统简介 1.2 计算机的基本组成 参考内容以及图片来源为书本和csdn博文 第一章 ...
  • 组成原理学习方法(来自大学老师的总结):抽象课程,联想现实,克服畏难,转变思路。抓住信息流的变换、表示、处理、传送、存储。整体学习,避免孤立。一.计算机系统简介1.1 计算机系统的组成计算机系统由软件和硬件...
  • 1 第一篇 概论 本篇主要介绍计算机系统的基本组成、应用与发展,并通过对本书结构的介绍,指出学习本书的基本思路。...1.1.3 计算机组成和计算机体系结构 计算机结构 计算机组成 1.2 计算机的基本组成 1.2.1 冯.诺...
  • 1.1计算机系统简介 计算机系统:由硬件(计算机的实体,如主机、外设等)和软件(具有各种功能的信息既程序组成)。 软件:系统软件(用来管理整个计算机系统:语言处理程序,操作系统,服务性程序,数据库管理...
  • 其主要功能有:用户注册,作业查看,站内新闻,教学视频,教学课件,教学大纲,留言答疑,实时答疑,学习资料,考试公告,系统简介等。
  • 前记:在学习的过程中,对于每一部分的知识点,我们要理顺...现实中,存储器是由很多存储器芯片组成的。这样一来,存储器的容量就是由这些芯片共同决定的。 转载于:https://www.cnblogs.com/wsw-bk/p/7102548.html
  • 其主要功能有:用户注册,作业查看,站内新闻,教学视频,教学课件,教学大纲,留言答疑,实时答疑,学习资料,考试公告,系统简介等。
  • 我对这个课程在mooc大学和一些其它网站找了好几个学习,对比...计算机由五大部件组成 指令和数据以同等地位存于存储器,可按地址寻访 指令和数据用二进制表示 指令由操作码和地址码组成 存储程序 以运算器为中心 ...
  • 编译原理教学大纲课程代码:13024课程名称(中/英):编译原理/...数据结构,离散数学,软件工程,计算机组成原理,汇编语言程序设计一 课程简介本课程是计算机科学与技术专业的专业核心课程。本课程主要讲述高...
  • 人工智能原理基于Python语言和TensorFlow张明 副教授 第五章MNIST机器学习MNIST数据集简介MNIST数据下载softmax回归模型简介模型的训练与评估TensorFlow模型基本步骤构建softmax回归模型5.1MNIST数据集简介1 MNIST...
  • 一直以来,总以为CPU内部真是如当年学习《计算机组成原理》时书上所介绍的那样,是各种逻辑门器件的组合。当看到纳米技术时就想,真的可以把那些器件做的那么小么?直到看了Intel CPU制作流程及AMD芯片的制作流程的...
  • 图形学简介

    千次阅读 2011-10-29 11:26:42
    简单地说,计算机图形的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。    二、计算机图形的研究内容  1、图形的主要组成
  • 计算机系统安全原理与技术》(第3版)课件 2013年6月机械工业出版社出版 格式:PPT,共10章 第1章 计算机系统安全概论  1.1 计算机系统安全相关概念及发展  1.1.1 计算机系统  1.1.2 计算机系统安全的属性 ...
  • 3D标定物在不同应用场景下不尽相同,摄影测量中,使用的3D标定物种类最为繁杂,如图-1的室内控制场,由多条悬垂的杆组成,杆与墙壁不同位置上贴着标志点,并通过精密测量的方法,获得标志点的三维坐标,精度较高,...
  • kotlin简介和学习方法(一) 课程简介 学好kotlin, 就是全栈攻城狮 Web前端 Web后端 Android移动端 ...带你了解计算机组成原理 课程计划 Kotlin 基础 Kotlin 游戏开发 (坦克大战) Kotlin And...
  • 第1章 3D图形的基本原理一、...二、计算机图形简史1、最开始是编写程序控制面板上照明灯组成的图案;然后在打印出现后,程序员用字符来创造图形。2、在CRT显示器上,最初是显示直线、圆和多边形等2D图形。出现了
  • 计算机组成原理这门课程的地位: 课程结构: 1.2计算机的基本组成 计算机的工作步骤: 存储器的基本组成: 运算器的基本组成: 控制器的基本组成: 1.3计算机硬件的主要技术指标 1.1计算机系统简介 ...
  • 简介:编译原理,是一门很有学问的课程,不但可以让你更加了解计算机,更加能促进我们学习对知识的理解方法,所以对于计算机的同志们,学习这门课程至关重要。 话不多说,我对这门课程也没有真正的深入学习过,所以...
  • 个人简介

    2016-03-11 17:16:00
    数据库应用技术、C语言、软件工程、软件外包、HTML网页设计、Java程序设计、SQLServer管理系统的开发与设计、基于Web的信息系统开发与应用、Oracle数据库管理应用与开发、计算机基础、计算机组成原理,计算机操作系统...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 127
精华内容 50
关键字:

学计算机组成原理简介