zoukankan      html  css  js  c++  java
  • 计算机组成原理基本概念汇总

          计算机组成原理是计算机科目中偏向于硬件的,我真的没学好。唯一做的好的笔记还是比較完整的。哈哈。这门课真的是博大精深。如今把组成原理的基本知识点与大家分享。希望大家在这门课的学习中少走弯路。

    计算机系统概论

    把以软件为主实现的机器称为虚拟机器。把由硬件和固件实现的机器称为实际机器。
    高级语言的翻译程序有编译程序和解释程序两种。


    计算机系统的层次结构从低到高:
    (1)微程序机器(第0级)、
    (2)传统机器(第1级)、
    (3)操作系统机器(第2级)、
    (4)汇编语言机器(第3级)、
    (5)高级语言机器(第4级)、
    (6)应用语言机器(第5级)。

    在计算机技术中,一种本来存在的事物或属性。从某种角度看却好像不存在,称为透明性。
    一个完整的计算机系统由硬件和软件两大部分组成。
    计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。


    存储器由内存(cache,主存(ROM,RAM))和辅存组成。
    主机由CPU(控制器、运算器、cache)和内存组成。
    辅存又叫外存。辅存中的信息既能够读出又能够写入,所以辅存是输入输出设备。


    输入设备、输出设备和辅助存储器都位于主机之外,称为外围设备。简称外设。因为外设的作用是完毕输入输出操作,所以外设又称IO设备。


    系统总线包含地址总线、数据总线、控制总线。
    运算器由ALU(核心)、GR、PSW寄存器组成。
    控制器由PC、IR、指令译码器、时序产生器和操作控制器组成。


    系统软件包含:

    (1)语言处理程序、
    (2)操作系统、
    (3)服务性程序、
    (4)数据库管理系统。




    逻辑等价性:软件和硬件在逻辑功能上是等效的,同一功能既能够用软件也能够用硬件或固件实现。从原理上讲,软件实现的功能全然能够用硬件或固件完毕。相同,硬件实现的逻辑功能也能够用软件完毕。
    用硬件实现的功能有较高的运行速度,成本也相对较高,并且硬件也不易更改。灵活性也较差。通常硬件实现一些最主要的功能。软件实现一些比較复杂的功能。
    运算方法和运算器

    符号位相加向前产生的进位要丢掉。
    正溢:两个正数相加,若运算结果大于机器所能表示的最大正数。
    负溢:两个负数相加,若运算结果小于机器所能表示的最小负数。
    定点数(定点整数、定点小数)推断溢出方法:

    单符号位法。在同符号数相加时,结果的符号位与被加数和加数的符号位相异时才发生溢出。
    进位推断法。当符号位向前产生的进位值与尾数最高位向前产生的进位值相异时才发生溢出。
    双符号位法。将数的两个符号位都看作是数的一部分參与运算,运算结果的最高符号位向前产生的进位要丢掉。若运算结果的双符号位同样,即00,11时。表示结果没有发生溢出。若运算结果的双符号位不同。即01,10时。运算结果发生溢出。

    01表示正溢,10表示负溢。



    原码一位乘法:两个n位小数相乘,要进行n次加、n次右移。
     逻辑非就是按位求反。(注意逻辑非的符号)
    逻辑加就是逻辑或。

    (注意有两种符号)
    逻辑乘就是逻辑与。

    (注意有两种符号)
    码距:依据随意两个合法码之间至少有几个二进制位不同样而确定的。若随意两个合法码之间仅有一位不同,则码距为1.
    合理增大码距。就能提高发现错误的能力。
    奇偶校验码是一种开销最小,能发现数据中一位出错情况的编码,经常使用于存储器的读写检查。
    实现原理:在每组代码代码中添加一个冗余位,使码距由1到2.假设合法编码中有奇数个位发生了错误,则该编码成为非法编码。

    添加的冗余位称为奇偶校验位。



    奇偶校验码仅仅能发现一位错或奇数个位错,但不能确定是哪一位。因此没有纠错能力。不能发现偶数个位错。

    存储系统

    存储器用来存放程序和数据。
    存储元(存储位元)能够存储一位二进制代码。这个二进制代码是存储器中最小的存储单元。


    若干个存储位元组成一个存储单元,一个存储单元能够存储一个机器字或一个字节。存放一个机器字的存储单元是字存储单元。存放一个字节的存储单元是字节存储单元。相应的存储单元地址称为字地址和字节地址。
    存储器分类:

    按存储介质分:半导体存储器(主存)、磁表面存储器(磁盘)、光盘存储器(CD)。


    按存取方式分:随机存储器(半导体存储器)、顺序存储器(磁带)、半顺序存储器(磁盘)。
    按读写功能分:仅仅读存储器(ROM)、读写存储器(RAM)。


    半导体存储器按读写功能分:ROM、RAM
    按信息的可保存性分:易失性存储器(RAM)、非易失性存储器(ROM)。


    按在计算机中的作用分:主存、缓存、辅存、控制存储器

    存储层次设计的主要根据是程序的局部性原理。包含时间局部性和空间局部性。


    三级存储层次:cache、主存、辅存。


    RAM按在执行中是否能长时间保存信息分SRAM和DRAM。(注意:当掉电时。存储的信息都消失,是易失性存储器。


    SRAM利用双稳态触发器保存信息,仅仅要不断电,信息不会丢失。
    DRAM利用电容存储电荷保存信息,要定期给电容充电才干保存信息。


    SRAM速度快。可是集成度低,功耗大。DRAM相反。
    MROM:掩膜式ROM
    PROM:可编程ROM
    EPROM:紫外线擦除可编程ROM
    EEPROM:电擦除可编程ROM
    半导体存储器的容量扩展方法:字扩展法、位扩展法、字位扩展法
    位扩展法:用多个存储器芯片对字长进行扩充。
    字扩展法:添加存储器中的字的数量。
    快速存储器有双portRAM(按地址訪问)、多模块交叉存储器(按地址訪问)、相联存储器(按内容訪问)。都能够提高CPU和主存之间的传输数据速率。
    双portRAM同一存储器有两组相互独立的读写控制电路。

    因为并行的独立操作。因此是一种快速存储器。
    多模块交叉存储器实现流水式并行存取提高存储器带宽。(各模块并行操作。)
    存储器模块的两种组织方式:顺序方式、交叉方式。
    相联存储器的基本原理是把存储单元所存内容的某一部分作为检索项,去检索该存储器,把符合的存储单元内容读入读出。
    cache从功能上看,是主存的缓冲存储器,由快速的SRAM组成。所有功能由硬件实现。Cache对系统程序猿和应用程序猿都是透明的。


    CPU和cache之间的数据交换以字为单位,cache和主存之间数据交换以块为单位。
    重点:cache的工作过程。每当给出一个主存地址进行訪存时,都必须通过主存—cache地址映像变换机构推断该訪问字是否已在cache中。假设在cache中(cache命中),则地址映像变换机构将主存地址变换成cache地址去訪问cache;假设不在cache中(cache不命中),则产生cache块失效,此时就须要从訪问主存的通路中把块调入cache。并直接送往处理机。假设cache已经装不进了,则发生cache块冲突,就须要使用对应的替换算法调出块,并改动地址映像表。
    在有cache的主存系统中都採用多模块交叉存储器。


    cache訪存的优先级高于通道和CPU。
    cache性能參数计算!


    cache和主存的地址映像变换(理解)

    全相联映像(硬件自己主动完毕):主存中的任一块能够被放置到cache中的随意一个位置。冲突概率最低。Cache空间利用率最高。
    直接映像(硬件自己主动完毕):主存中的每一块仅仅能映像到cache的唯一一个位置。把主存空间按cache的空间分成区。冲突概率非常高。Cache空间利用率非常低。
    组相联映像:组间直接映像、组内全相联。
    指令系统

    指令系统性能要求

    完备性
    有效性
    规整性
    兼容性

    依照指令地址码个数不同,分为零地址指令、一地址指令、二地址指令、三地址指令
    操作码的位数决定了不同功能指令的多少。位数越多,所能表示的操作功能越丰富。
    指令的操作码两种编码格式:等长操作码、变长操作码(哈夫曼编码、扩展操作码)
    寻址方式是指寻找指令或操作数有效地址的方式方法。
    指令的寻址方式(简单)   数据的寻址方式(复杂)
    指令的寻址方式

    顺序寻址方式:当运行一段程序时。要运行的下一条指令便是程序其中正在运行指令的下一条(PC)。
    跳跃寻址方式

    操作数的寻址方式

    隐含寻址
    马上寻址
    寄存器直接寻址
    寄存器间接寻址
    直接寻址
    间接寻址
    相对寻址
    基址寻址
    变址寻址
    自己主动增量减量寻址
    堆栈寻址




    隐含寻址:有些类型的指令不是明显给出操作数的地址,而是隐含地由累加器给出操作数。
    马上寻址:指令的形式地址给出的是操作数本身。
    寄存器直接寻址:理解
    寄存器间接寻址:寄存器的内容为操作数在主存中的有效地址,由寄存器的内容訪存所得到的内容才是真正的操作数。

    (和寄存器直接寻址比較。寄存器直接寻址的操作数在寄存器中;寄存器间接寻址的操作数在内存中。)
    直接寻址:理解
    间接寻址:理解
    相对寻址:相对于PC而言的。操作数在主存中的有效地址等于PC的内容加上指令中的位移量。
    基址寻址:对于基址寄存器而言的。

    操作数在主存中的有效地址等于基址寄存器的内容加上指令中的位移量。
    变址寻址:对于变址寄存器而言的。操作数在主存中的有效地址等于变址寄存器的内容加上指令中的位移量。


    CISC大多数採用微程序控制。

    CISC中的各种指令的使用频度相当悬殊。最常使用的是一些比較简单的指令,仅占指令总数的20%,但在程序中出现的频度却占80%,这意味着由硬件支持的指令约有80%是非常少使用的。
    RISC通过精简指令系统来简化控制器设计。添加片内寄存器和快速缓存的容量,以及添加浮点运算部件和採用流水线技术提高处理器性能。
    RISC以硬连线控制为主。


    退耦的CISC/RISC既不採用纯RISC。也不採用经典的CISC,而是採用混合式的CISC/RISC体系结构。
    在指令系统的发展过程中出现过两种截然不同的方向,即CISC和RISC,他们都具有各自的优缺点。随着退耦CISC/RISC和后RISC出现,关于RISC和CISC两种体系结构性能好坏已经在非常大程度上平息下来了,两者都从对方阵营參考了非常多概念和技术,两种技术逐渐交融,结构上的差别也逐渐模糊。


    中央处理器

    程序一旦装入内存,中央处理器就能自己主动地、逐条地取指令、分析指令和运行指令。
    CPU基本功能:

    指令控制
    操作控制
    时间控制
    数据加工(这是最主要的功能)

    CPU基本组成

    控制器
    运算器
    Cache。有指令cache和数据cache

    CPU中的主要寄存器

    PC。

    程序计数器、指令地址寄存器、指令指针。
    IR。指令寄存器。
    AR。

    数据地址寄存器
    GR。

    通用寄存器
    PSW。状态字寄存器

    CPU取指令时,将PC的内容送入指令cache,经地址译码后选中对应的存储单元。取出一条指令并将取出的指令代码送往IR,同一时候自己主动改动PC的值形成下一条指令的地址。
    指令寄存器的作用是保存当前正在运行的一条指令。当解释一条指令时。首先依据PC的值从指令cache中取出一条指令,并将其送往IR。在这条指令运行的过程中。指令寄存器的内容始终保持不变。直到有新的指令被取出并送往IR为止。
    指令译码器用来完毕对指令寄存器中的操作码字段进行译码。
    AR保存当前CPU所訪问的数据cache单元的地址。
    产生控制信号并建立正确数据通路的部件叫做操作控制器。依据指令的操作码和时序信号,产生各种具有时间标志的操作控制信号。以建立正确的数据通路。
    操作控制信号的形成方法:

    微程序设计方法(微程序控制器)
    组合逻辑设计方法(硬连线控制器)

    时序产生器产生一组时序信号,及一系列的节拍电位信号和节拍脉冲信号。

    作用就是对各种操作控制信号实施时间上的控制。
    指令周期是指从CPU送出取指令地址到取出本条指令并运行完成所花的时间。


    取出和运行不论什么一条指令所需的最短时间为两个CPU周期。


    CPU周期又叫机器周期,由若干个时钟周期组成。

    时钟周期通常又称节拍脉冲周期或T周期,是处理操作的最基本单位。
    用方框图语言表示指令周期。

    一个方框表示一个CPU周期。
    在同样的CPU结构上解释指令,全部指令的取值周期是同样的。
    从时间上看,取指令事件发生在指令周期的第一个CPU周期内。即发生在取值周期,而取数据事件发生在取值周期之后的几个CPU周期内。即发生在运行周期。



    从空间上看,假设取出的代码是指令,一定送往指令寄存器。假设取出的代码是数据,则一定送往通用寄存器或地址寄存器。

    时序信号最主要的体制是电位—脉冲制。
    一个节拍电位表示一个CPU周期的时间,包括若干个节拍脉冲。
    实现时序控制所需的时序信号,主要包括节拍电位和节拍脉冲。它们构成了CPU的时序系统。


    形成控制不同操作序列时序信号的方法。称为控制器的控制方式。
    控制器的控制方式:

    同步控制方式
    异步控制方式
    联合控制方式
    人工控制方式


    同步控制方式又称固定时序控制方式。基本思想是:选取部件中最长的操作时间作为统一的CPU周期时间,使全部的部件都能在一个CPU周期内启动并完毕操作,同一时候,以最复杂指令所需的CPU周期数为标准作为全部指令的解释时间。即指令中全部指令的解释具有同样的CPU周期数和时钟周期数。
    异步控制方式又称可变时序控制方式。基本思想是:系统不设立统一的CPU周期数和时钟周期数。各部件按本身的速度须要占用时间。
    微程序控制基本思想:把操作控制信号编成所谓的“微指令”,存放到一个仅仅读存储器里。

    当机器执行时。一条一条读出这些微指令,从而产生全机所须要的各种操作控制信号,控制对应的执行部件完毕规定的操作。
    控制部件与运行部件的联系有两种,一种是通过控制线,一种是通过状态线。
    微命令:控制部件通过控制线发往运行部件的各种控制命令。
    微操作:运行部件在微命令的控制下所进行的操作。


    微操作分为相容性和相斥性。


    在机器的一个CPU周期内,一组实现一定操作功能的微命令的组合,构成一条微指令。
    在一个CPU周期内完毕的操作功能由一条微指令来实现。


    微指令组成


    操作控制字段
    顺序控制字段:P字段和直接微地址组成

    一条机器指令的功能是由若干条微指令组成的序列来实现的。这个微指令序列又叫微程序。
    确定微地址方法:

    计数器方式
    多路转移方式(用组合逻辑方法设计)

    微程序控制器组成

    控制存储器
    微指令寄存器(微地址寄存器、微命令寄存器)
    地址转移逻辑

    控制存储器存放指令系统的全部微程序,是仅仅读存储器。


    微指令寄存器用来存放控制存储器读出的一条微指令信息。当中,微地址寄存器决定将要訪问的下一条微指令的微地址。

    微命令寄存器保存一条微命令的操作控制字段和P字段。
    机器指令和微指令关系:

    一条机器指令的功能由若干条微指令组成的序列来实现。
    机器指令存放在内存中。微指令固化在控制存储器中。
    每个CPU周期相应一条微指令。



    微命令的编码方法:

    直接表示法
    编码表示法(注意:仅仅能表示2的n次减一)
    混合表示法

    微指令格式:

    水平型微指令
    垂直型微指令

    水平型微指令:在一个CPU周期内,一次能定义并运行多个并行操作微命令的微指令。
    垂直型微指令:每条垂直型微指令仅仅能完毕一个操作。仅仅包括一个或两个微操作。
    用垂直型微指令编写的微程序比用水平型微指令编写的微程序要长的多。是採用较长的微程序去换取较短的微指令结构。
    水平型微指令运行一条指令的时间短,垂直型微指令运行的时间长。
    微程序设计技术:

    静态微程序设计
    动态微程序设计

    微程序控制器的控制功能是在控制存储器和微指令寄存器直接控制下实现的。而硬连线控制器则由逻辑门组合实现的(门电路、触发器)。


    并行性的两重含义:

    同一时候性
    并发性

    颗粒度用来衡量软件进程所含计算量的大小。最简单的方法是用程序段的指令条数来表示。


    颗粒度的大小分为

    细粒度:小于500
    中粒度:500~2000
    粗粒度:大于2000

    并行性的等级划分(按颗粒度大小不同):

    作业级
    任务级
    例行程序或子程序级
    循环和迭代级
    语句和指令级

    层次越高的并行处理的粒度就越粗;低层次上的并行处理粒度较细。


    并行处理技术:

    时间并行
    空间并行
    时间并行+空间并行

    指令的解释方式:

    顺序解释方式
    流水解释方式

    流水线的三个阶段:

    建立
    满载
    排空

    流水解释的三种相关:

    资源相关
    数据相关
    控制相关

    56.计算吞吐率、加速比、效率。


    总线结构

    总线不不过一组传输线,还包含一套管理信息传输的规则(协议)。
    总线的特性:

    物理特性
    功能特性
    电气特性
    时间特性

    地址总线的宽度指明了总线可以直接訪问存储器的地址空间范围。
    数据总线的宽度指明了訪问一次存储器或外设时可以交换数据的位数。
    总线相对于CPU的位置分为:

    内部总线
    外部总线

    外部总线按功用划分:

    局部总线
    系统总线
    通信总线

    总线按功能划分为:

    地址总线
    数据总线
    控制总线

    按总线在微机中的位置分:

    机内总线
    机外总线

    按数据在总线中传输位数分:

    串行总线
    并行总线

    总线按信息传送方向分:

    单向总线
    双向总线

    输入输出系统

    输入输出系统包含:

    输入输出设备
    设备控制器
    输入输出操作有关的软硬件

    为事件服务的程序称为中断服务程序或中断处理程序。
    中断是一个过程,是CPU在执行当前程序的过程中因硬件或软件的原因插入了还有一段程序执行的过程。硬件原因引起的中断是不可预測的,随机的。

    而软中断是事先安排的。
    凡是能引起中断的设备或事件都是中断源。
    中断源向中断系统发出请求中断的申请,称中断请求。
    中断过程的4个阶段:

    中断请求
    中断响应
    中断处理
    中断返回

    在处理某级中的某个中断请求时,与它同级的或比它低级的中断请求是不能中断它的处理的,仅仅有比它高级的中断请求才干中断其处理过程。

    等响应和处理完后。再继续处理原先的那个中断请求。
    没有获得同意的中断请求称为中断被屏蔽。
    鼠标和键盘以中断方式连接。


    github主页:https://github.com/chenyufeng1991  。欢迎大家訪问!

  • 相关阅读:
    【基础算法】- 全排列
    【基础算法】- 2分查找
    区块链培训
    Static Binding (Early Binding) vs Dynamic Binding (Late Binding)
    test
    No data is deployed on the contract address!
    "throw" is deprecated in favour of "revert()", "require()" and "assert()".
    Variable is declared as a storage pointer. Use an explicit "storage" keyword to silence this warning.
    京都行
    Failed to write genesis block: database already contains an incompatible
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6742090.html
Copyright © 2011-2022 走看看