【计算机组成原理】——知识点总结


本来作为期末作业的,写了一大半,改在线考试。。。留着复习用吧。。只有前六章左右吧
【计算机组成原理】——知识点总结

计算机的基本组成:

冯•诺依曼计算机的特点

  1. 计算机有运算器、存储器、控制器、输入设备、输出设备五大部件组成。
  2. 指令和数据以同等地位存放于存储器内,并可按地址寻访。
  3. 指令和数据均用二进制数表示。
  4. 指令由操作码和地址码组成,操作码用来表示性质,地址码用来表示操作数在存储器中的位置。
  5. 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
  6. 机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器完成。
    2.2.计算机硬件框图:
    典型的冯•诺依曼计算机是以运算器为中心,如图1所示:
    【计算机组成原理】——知识点总结
    图1 典型的冯•诺依曼计算机结构框图
    现代的计算机已转化为以存储器为中心,如图2所示:
    【计算机组成原理】——知识点总结
    图2 以存储器为中心的计算机结构框图

计算机系统的硬件结构:

总线:

计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各部件连到一组公共信息传输线上,称为总线连接。总线是连接多个部件的信息传输线,是各部件共享的传输介质。按连接不同总线可分为片内总线、系统总线、通信总线。按照计算机传输的信息总类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址、和控制信号。按传输方式又可分为并行传输总线和串行传输总线。

串行传输:串行总线的数据在数据线上按位进行传送,只需要一根数据线,线路成本低,适合远距离的数据传输。串行传输速度慢。
并行传输:并行总线的数据在数据线上同时有多位一起传送,每一位要有一根数据线。并行传输适合近距离的数据传输。并行传输速度快。

计算机中常见的总线:ISA总线、EISA总线、PCI总线、VESA总线、AGP总线、RS-232C总线、USB总线。

总线控制分为总线判优控制、总线通信控制。

总线判优控制:总线判优控制解决多个部件同时申请总线时使用权分配问题。总线上所连接的各类设备,按其对总线有无控制控制功能可分为主设备和从设备。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令,对总线没有控制权。总线判优控制分为集中式和分布式。集中式将控制逻辑集中在一起(如在CPU中),分布式将控制逻辑分散在与总线连接放入各个部件或设备上。

常见的集中控制优先权仲裁方式有:链式查询、计数器定时查询、独立请求方式。

总线的通信控制:总线的通信控制主要解决通信双方如何获知传输开始和传输结束。在争夺总线的使用权时,按照各个部件的优先等级来解决。完成一次总线操作的时间称为总线周期。

总线周期分为4个阶段:申请分配阶段、寻址阶段、传输阶段、结束阶段。

总线通信控制常用的四种方式:同步通信、异步通信、半同步通信和分离式通信。

存储器

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

存储器按存储介质分类可分为半导体存储器、磁表面存储器、磁芯存储器、光盘存储器。按存取方式可分为随机存储器(RAM)、只读存储器(ROM)、串行访问存储器。按在计算机中的作用分类可分为主存储器、辅助存储器、缓冲存储器。

现代计算机系统几乎都具有的存储器的两个存储层次:缓存—主存以及主存—辅存。前者主要解决CPU和主存速度不匹配的问题,数据调动是由硬件自动完成的,后者主要解决存储系统容量的问题,数据调动是由硬件和操作系统共同完成的。

现代计算机的主存(主存储器)都由半导体集成电路构成,图中的驱动器和读写电路均制作在存储芯片(主存)中,而MAR(存储地址寄存器)和MDR(存储数据寄存器)制作在CPU芯片内。存储芯片和CPU芯片可通过总线连接,如图4所示
【计算机组成原理】——知识点总结
图4 主存和CPU的联系

主存的主要技术指标是存储容量和存储速度。存储容量是指主存能存放二进制代码的总位数,即 存储容量=存储单元个数×存储字长。存储速度是由存取时间和存取周期来表示的,存取时间又称存储器的访问时间,是指启动一次存储器操作的(读或写)到完成该操作所需的全部时间。
半导体存储芯片的译码驱动方式有两种:线选法和重合法。

随机存取存储器(RAM)按其存储信息的原理不同,可分为静态RAM(SRAM)和动态RAM(DRAM)。SRAM的优点是速度快、使用简单、不需要刷新、静态消耗极低,缺点是元件数多、集成度低、运行功耗大;常被用于做CACHE(高速缓冲存储器)。DRAM优点是集成度远高于SRAM、功耗低、价格也低,缺点是因刷新而使外围电路复杂;常被用于做主存储器。

动态RAM的三种刷新方式:集中刷新、分散刷新、异步刷新。集中刷新的优点是速度快,缺点是存在“死区”,“死”时间长;分散刷新的优点是无“死区”,缺点是存取周期长,整个系统的速度降低了;异步刷新克服了分散刷新独占时间用于刷新,使存取周期加长且降低系统速度的缺点,又不会出现集中刷新的访问“死区”问题,从根本上提高了工作效率。

由于单片存储芯片的存储容量总是有限的,很难满足实际的需求,因此必须将若干存储芯片连在一起才能组成足够容量的存储器,称为存储容量的扩展,通常有位扩展和字扩展。

在计算机运行的过程中,由于种种原因致使数据在存储过程中可能出现差错。此时,就需要对存储器进行校验。为了能及时发现错误并改正,通常将原数据配成汉明码。

汉明码是由Richard Hanming于1950年提出的,它只具有一位的纠错能力。

高速缓存Cache解决了主存与CPU速度不匹配的问题。这样,主存可将CPU要取的信息提前送至缓存,一旦主存在于I/O设备交换时,CPU可直接从缓存中读取所需信息,不需要空等影响效率。Cache的容量与块长是影响效率的重要因素。Cache的命中率h表达式为:h=Nc/(Nc+Nm)(Nc代表访问Cache命中次数,Nm代表访问主存的总次数)。则Cache-主存系统的平均访问时间ta为:ta=h*tc+(1-h)tm(tc为命中时的Cache的访问时间,tm为未命中时的主存访问时间)。则访问效率e为:e=tc/tm100%。

Cache-主存的三种地址映射:直接映射、全相连映射、组相联映射。

输入输出系统

输入输出系统(I/O系统)是操作系统的一个重要的组成系统,负责管理系统中所有的外部设备。I/O系统由I/O软件和I/O硬件两部分组成。I/O又软件包含了I/O指令以及通道指令。

I/O接口的功能:选址功能、传送命令功能、传送数据的功能、反映I/O设备工作状态的功能。

I/O接口的类型按数据传送方式分类,可分为并行接口以及串行接口两类;按功能选择的灵活性分类,可分为有编程接口和不可编程接口两种;按通用性分类,可分为有通用和专用接口;按数据传送的控制方式分类,可分为有程序型接口和DMA型接口。

I/O端口的两种编址方式:独立编址以及统一编址。独立编址是对所有的I/O端口单独进行编号,成为一个独立的I/O地址空间,统一编址是指将主存地址空间分出一部分地址给I/O端口进行编号。

I/O设备与主机信息传送的五种控制方式:程序查询方式、程序中断方式、DMA(直接存储器存取)方式、通道方式、I/O处理机方式。

程序查询方式工作原理是当CPU启动外设工作后,不断地读取外设的状态信息测试,查询外设是否就绪,如果外设准备好,则可以进行数据传送;否则,CPU继续读取外设的状态信息进行查询等待,直到外设准备好。采用程序查询方式进行数据传送时,在外设准备就绪之前,CPU一直处于等待状态,致使CPU的利用率较低。

程序中断是指在计算机执行实现程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。执行一次可屏蔽中断的过程可简单地归纳为中断请求、中断判优、中断响应、中断服务、中断返回五个阶段。

多重中断的中断服务(处理):关中断保护现场、执行中断处理子程序、开中断响应更高级的中断、关中断恢复现场、开中断中断返回

在DMA方式中,主存与I/O设备之间有一条数据通路,主存与其交换信息时,无需调用中断服务程序。

*处理器

*处理器(CPU,central processing unit)作为计算机系统的运算和控制中心,是信息处理、程序运行的最终执行单元。CPU主要包括运算器和控制器两大部分。

在计算机中参与运算的两大类数:无符号数以及有符号数。

无符号数,即没有符号的数,在寄存器中每一位均可用来存放数值。有符号数则需要留出一位存放符号,在有符号数中,带‘+’或‘-’符号的数称为真值,而把符号数字化的称为机器数。计算机内部运算使用补码进行计算,补码范围比原码和反码大。

三种机器数(原码、反码、补码)的特点 :

  1. 三种机器数的最高位均为符号位。符号位和数值部分之间可用“.”(对于小数)或“,”(对于整数)隔开。

  2. 当真值为正时,原码、反码、补码的表示形式均相同,即其符号位都用“0”表示,而数值部分与真值相同。

  3. 当真值为负时,原码、补码和反码的表示形式不同,但其符号位都用“1”表示,而数值部分有这样的关系,即补码是原码的“求反加1”,反码是原码的“每位求反”。
    同一个真值的移码和补码仅差一个符号位,若将补码的符号位求反,即可得到该真值的移码。

    当机器字长为n位时,各种情况下的取值范围公式:

  4. 无符号数:0~2n-1

  5. 无符号小数:0~1-2n

  6. 原码,反码表示定点整数:-2n+1~2n-1

  7. 补码表示定点整数:-2n~2n-1

  8. 原码,反码表示定点小数:-1+2-n~1-2-n

  9. 补码表示定点小数:-1~1-2-n

    在补码加减运算中,使用一位符号位时判断溢出时。对于加法,只有在正数加正数和负数加负数两种情况下才可能出现溢出;对于减法,只有在正数减负数或负数减正数才可能出现溢出。对于溢出OF(overflow)的计算公式:OF=最高位的进位次高位的进位,若结果为1则溢出,否则未溢出(相同为0,不同为1)。

在补码加减运算中,使用两位符号位时判断溢出时(变形补码)。只要当2位符号位不同时,就表示溢出,否则,无溢出。

浮点数加减运算的步骤:对阶、加减、规格化(尾数真值的绝对值大于等于0.1B,小于1B)。在规格化的过程中,小数点左移称为右规,小数点右移称为左规。

机器语言是一条条语句构成的,每一条语句又能准确表达某种语义。计算机就是连续执行每一条机器语句而实现全自动工作的。人们习惯把每一条机器语言的语句称为机器指令,而又将全部的机器指令的集合称为机器的指令系统。

指令是由操作码和地址码两部分组成的,其基本格式如下图5所示
【计算机组成原理】——知识点总结
图5 指令的一般格式

操作码:操作码是用来指明该指令需要完成的操作,其位数一般反映机器的操作种类,即机器允许的指令条数。

地址码:地址码用来指出该指令的源操作数的地址(一个或两个)、结果的地址以及下一条指令的地址。

机器中常见的操作数类型有地址、数字、字符、逻辑数据等。

不同的机器,操作类型也是不同的,但几乎所有的机器都有以下几类通用操作:数据传送、算术逻辑操作、移位、转移(无条件转移、条件转移、调用与返回、陷阱与陷阱指令)、输入输出。