您的位置:首页 > 理论基础

计算机组成之机器

2015-12-02 15:16 302 查看

第一章 计算机系统概论

指令

指令格式由操作码和地址码组成,操作码指明执行什么操作,地址码指明操作数在内存单元(存储单元)中的地址。指令和数据以二进制的形式以同等地位保存在存储器的存储单元中。

运算器

运算器的基本功能就是完成运算,其核心是ALU(算术逻辑运算单元)。其中的寄存器主要有ACC(累加器)、MQ(乘商寄存器)、X(数据寄存器)。

控制器

控制器的功能是解释一条指令(完成一条指令)以及保证指令的按序执行,主要由控制单元(CU)、程序计数器(PC)、指令寄存器(IR)构成。

**程序计数器**PC:存放欲执行指令的地址

**指令寄存器**IR:存放当前要执行指令的地址

**控制单元**CU:控制相应的执行部件执行操作

指令以及程序的运行过程

完成一条指令的过程分成3个阶段:

1. 取指令(指令从内存单元–>指令寄存器IR)

2. 分析指令,把IR中指令的操作码部分送给控制单元(CU)进行分析

3. 执行指令,控制单元(CU)控制相应的执行部件执行操作。

以完成一条取数指令为例,需要经过的步骤为:

1. 取指令 PC➖MAR➖M(存储体)➖MDR➖IR;PC+1->PC

2. 分析指令 Op(IR)➖CU

3. 执行指令 Ad(IR)➖MAR➖(存储体)➖MDR➖ACC

对于一个程序而言,程序说到底是多条指令的集合,执行一个程序也就是有序地执行多条指令。执行前先将程序的首地址,也就是第一条指令的地址保存到PC中,之后每执行一条指令PC+1(当然不一定是1,由机器决定)。

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

1、机器字长 CPU一次能处理数据的位数,与CPU中的寄存器位数有关

2、运算速度 包括:

(1)主频

(2)核数和每个核支持的线程数

(3)CPI值 执行一条指令所需时钟周期数(越少越好) (4)MIPS值 每秒执行百万条指令

(5)FLOPS值 每秒浮点运算次数

3、存储容量 包括主存容量和辅存容量

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

第三章总线

总线是连接各个部件的信息传输线,是各个部件共享的传输介质,一个时刻一条总线只能传输一个信号。

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

总线上信息的传输方式分为串行传输和并行传输,串行传输每次只传输一位信息,并行传输一次可以传输多位信息。

连接在主线上的设备(部件),对总线有控制权的称为主设备(主部件),没有控制权的称为从设备(从部件),从设备响应从主设备发来的总线命令。

总线判优控制:由于一个时刻一条总线只能有一个信号在传输,因此各个主设备要争抢总线的控制权,这就是总线判优控制。方式有集中式和分布式,其中集中式有链式查询方式、计数器定时查询方式、独立请求方式。

总线通信控制:即控制主设备和从设备之间的信息交流方式,以解决通信双方协调配合问题。总线通信的方式有同步通信、异步通信、半同步通信、分离式通信。

第四章存储器

存储器分类:

存储介质

1.半导体存储器

2.磁表面存储体

3、光盘存储器

存取方式分类

1.存取事件与物理地址无关(随机访问)

(1).随机存取器(RAM)

(2).只读存储器(ROM)

2.存取事件与物理地址有关(串行访问)

(1).顺序存取存储器 磁带

(2).直接存取存储器 磁盘

在计算机中的作用分类

1.主存,包括RAM和ROM

2.Flash Memory(闪存) 常用的U盘、SSD,存储速度比主存慢,比辅存快。

3、高度缓冲存储器Cache 速度最快,一部分集成在CPU中,一部分在主板上。

4.辅存 磁盘、磁带、光盘

存储器的层次结构

缓存➖主存 层次 解决速度问题

主存➖辅存 层次 解决容量问题

主存储器:

概述

由3部分组成: 存储体、MAR(存储器地址寄存器)、MDR(存储器数据寄存器),不过现在的计算机MAR和MDR都放到CPU中了。

存储体:以二进制的形式存放指令以及操作数,由存储单元构成,存储单元按地址访问。每个存储单元中保存的数据称为存储字,存储子的位数称为存储字长

MAR:保存了存储单元的地址,其位数与存储单元的个数有关。

MDR:保存了要保存到存储体中的数据或刚刚从存储体重取出来的数据,其位数与存储字长一致。

存储器容量的扩展

主存储器的容量表示形式为:M*N M为存储单元个数,N为每个存储单元所能保存的数据位数。

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

(2)字扩展:增加存储字的数量

随机存储器(RAM)

RAM又分静态RAM(SRAM)和动态RAM(DRAM),SRAM的基本单元原件通过双稳态触发器保存信息(0/1),只要不断电,信息就不会丢失;DRAM的基本单元元件通过MOS电容存储信息(0/1),需不断给电容充电才能保存信息(不断刷新)。 DRAM基本单元元件又有3管DRAM和单管DRAM。一般主存用DRAM,缓存Cache用SRAM,后者速度快。

只读存储器(ROM)

一般用于保存系统程序或者系统的配置信息。

掩模ROM(MROM):只可读

PROM:可一次性编程

EPROM:可多次编程

EEPROM:课多次编程

Flash Memory:已经具备了RAM的功能

存储器的校验

以内存为例,如果内存所处的电子环境比较复杂,或者在空间环境下受到带电粒子的打击,就可能造成电容的充电放电,或者是触发器的翻转,存放在存储器中的信息就可能会出错,因此需要对存储器中的信息进行校验。

编码的最小距离:一组合法代码中任意两个合法代码之间二进制位数的最少差异。

编码的检错、纠错能力与编码的最小距离有关。编码的最小距离=检错位数+纠错位数+1(检错位数>=纠错位数)

汉明码是具有一位纠错能力的编码,采用奇偶校验。

提高存储器的仿存速度

1.单体多字方式

2.多体并行方式 分为高位交叉方式和低位交叉方式,前者用于存储器容量的扩展,后者用于存储器带宽和访问速度的提高。

3.高性能存储芯片 (1)SDRAM(同步DRAM) (2)RDRAM (3)带Cache的DRAM

高速缓冲存储器(Cache)

概述

由于CPU速度过快,主存速度跟不上,因此引进了Cache,避免了CPU“空等”的现象。Cache由SRAM构成。

局部性原理

空间局限性:一旦主存中一个存储单元中的指令被访问,那么它附近存储单元的指令很快也会被访问。

时间局部性:一旦主存中一个存储单元中的指令被访问,那么这个指令在不久的将来还会再被访问。

空间局限性导致主存和cache之间的信息交换是以进行交换的,一个块中又多个存储单元。

主存编址:主存块号+块内地址

cache编址:缓存块号+块内地址

主存和cache相对应的块的块内地址是完全一样的,即块的大小(块长)是一样的。

命中:主存块调入缓存,主存块与缓存块建立了对应关系。

未命中:主存块未调入缓存,主存块与缓存块未建立对应关系。

命中率:CPU要访问的信息在Cache中的比率。 命中率与Cache的容量和块长有关。

Cache-主存的地址映射

一、直接映射

主存当中任意一个块,只能映射到Cache当中指定的某一块。这种方法速度快,Cache利用率低。

二、全相联映射

主存中的任何一个快可以映射到Cache当中的任何一个块中这种方法速度慢,Cache利用率高。

三、组相联映射

缓存被分为若干组,每组r块。主存储器被分为若干区,每个区的块数与缓存的组数相等。主存储区的每个区中的第n块只能映射到Cache中的第n组的任意一块。这种方法相当于直接映射和全相联映射的结合。

替换算法

主存中的内存块如果要映射到Cache中,而Cache中能接受主存块的块全被放满了,就要对这些块中的其中某个块进行替换。

一、先进先出(FOFO)算法

最先被放入到Cache中的块被替换。

二、近期最少使用(LRU)算法

在最近一段时间里面使用最少的块被替换。

三级缓存

三级缓存的设计,弥补速度与空间利用率之间的不平衡,兼顾速度与命中率。三级缓存的设计基于这样一个原则:越是靠近 CPU Cache 层对于速度的要求越高,可以采用直接相联映射和路数少的分组相联映射。对于中间层 Cache 需要兼顾速度和空间利用率,用组相联映射更加合适。距离 CPU 远的 Cache 层,对速度的要求低,空间利用率高,适合全相联映射的 Cache。设计三级缓存是为了弥补速度与空间利用率之间的不平衡,兼顾速度与命中率。

辅助存储器

1、特点:不能直接与CPU进行信息交换

2、磁表面存储器:有硬磁盘和软磁盘,现在市场上软磁盘已经淘汰。

磁表面存储器的几个技术指标:

(1)记录密度 道密度Dt:硬盘径向方向上单位长度的磁道数 位密度Db:单位长度的磁道保存的二进制信息数。 每个磁道是一个同心圆,越往外位密度越低。

(2)存储容量:盘面数*Dt*Db

(3)平均寻址时间:寻道时间+等待时间 寻道时间:读写头在硬盘表面移动找到指定磁道所需要的事件;等待时间:找到给定磁道以后,读写头停止运动,磁盘旋转,等待给定的扇区旋转到磁头下面需要的时间。

(4)辅存的速度:与平均寻址时间和磁头读写时间有关。

(5)数据传输率Dr:Db*V V为磁盘旋转速度

(6)误码率:出错信息位数与读出信息的位数

3、光盘存储器:采用光存储技术,用激光写入和读出。

第一代光存储器:采用非磁性介质,不可擦写,存储原理是热作用(物理化学反应)。

第二代光存储器:采用磁性介质,可擦写,存储原理是热磁效应。

第五章输入输出系统

I/O设备

大致分为三类:

1、输入设备:键盘、鼠标、触摸屏等

2、输出设备:显示器、打印机等

3、其他:模数/数模转换器、网卡、磁盘等

I/O接口

I/O接口的功能及组成:

选址功能—-设备选择电路

传送命令的功能—-命令寄存器、命令译码器

传送数据的功能—-数据缓冲寄存器

反应设备状态的功能—-设备状态标记

I/O接口的基本组成:



I/O设备与主机信息传送的控制方式

1、程序查询方式

2、程序中断方式

3、DMA方式

程序查询方式

以I/O向内存输入数据为例:

CPU在执行现行程序时执行到一条I/O指令,CPU向I/O接口发送读指令,I/O接口启动相应I/O设备准备数据,同时CPU在原地踏步等待,不停地读I/O接口中的设备状态。当I/O设备中的数据缓存到I/O接口的数据缓冲寄存器后,I/O接口中的设备状态标记为准备就绪,这时候CPU开始从I/O接口的数据缓冲寄存器中读数据(I/O接口->CPU),完后再将数据从CPU中写入到内存中。接下来判断读数是否完成,若未完成,CPU继续向I/O发读指令,重复操作;若读数完成,CPU继续执行现行程序指令。

可见程序查询方式是CPU和I/O串行工作,在I/O设备准备数据的时候(I/O接口与CPU数据传输之前),CPU原地踏步等待I/O设备数据准备完成,即I/O接口中的设备状态标记为准备就绪。

程序查询方式的接口电路(以输入数据为例):



DBR:数据缓冲寄存器

D:完成触发器,保存I/O设备状态,0为未准备就绪,1为准备就绪,受设备本身控制

B:启动设备触发器,1为启动,2为不启动

程序中断方式

与程序查询方式不同的是,CPU向I/O接口发送读指令后,不会踏步等待I/O接口中的设备状态准备就绪,而是直接继续执行现行程序的下一条指令。与此同时,I/O设备接到启动命令启动,准备数据,并将数据传送到I/O接口的数据缓冲寄存器中。这时候数据已经准备完成,I/O接口向CPU发送中断请求,请求CPU中断现行程序转而执行中断服务程序。CPU在收到请求后做出响应,如果拒绝请求则继续执行现行程序指令;如果同意请求,则中断现行程序,转而执行中断服务程序。中断服务程序执行结束,CPU回到程序断点,继续执行现行程序。

这种方式实现了CPU和I/O部分的并行工作,表现在I/O设备在准备数据的同时,CPU没有踏步等待其状态准备就绪,而是继续执行现行程序指令。

程序中断方式接口电路:



B:启动设备触发器,1为启动,2为不启动

D:完成触发器,保存I/O设备状态,0为未准备就绪,1为准备就绪,受设备本身控制

DBR:数据缓冲寄存器

MASK:中断屏蔽触发器

INTR:中断请求触发器

中断服务程序(包括4个步骤):

(1)保护现场:程序断点的保护和寄存器内容的保护

(2)中断服务:数据传输

(3)恢复现场:恢复寄存器内容

(4)中断返回:返回程序断点处继续执行指令

DMA方式

这种方式与前面两种方式最大的不同之处在于,I/O和内存交换数据的过程中没有直接依赖于CPU,而是通过I/O与内存之间的一条直接数据通道完成的。具体流程如下:

CPU在执行现行程序时执行到一条I/O指令,发送给I/O接口(DMA接口),对DMA接口进行预处理,然后启动相应的I/O设备,然后CPU继续执行现行程序指令。I/O设备准备好数据并缓存到DMA接口之后,DMA接口向CPU发出DMA请求,请求获取总线和内存的控制权。CPU同意请求之后将总线和内存的控制权交给了DMA控制器,此时CPU不能再与内存进行数据交换,而是根据需要从Cache中获取数据。DMA接口在获取到总线和内存的控制权之后与内存进行数据传送,数据传送结束之后DMA接口会像CPU发送中断请求,CPU进行后处理。后处理结束后,CPU继续执行主程序。

这里涉及到几个关键字:

预处理:在启动I/O设备之前CPU将主存中进行数据交换的起始地址、进行数据交换的I/O设备地址、传送数据个数预先在DMA中设置好

数据传送:DMA接口与内存之间的信息传输

后处理:数据传送完成之后,DMA接口向CPU发送中断请求,CPU响应后进行后处理,包括校验送入主存的数是否正确、是否继续用 DMA以及测试传送过程是否正确,错则转诊断程序。后处理由中断服务程序完成,这个中断服务程序不同于程序中断方式的中断服务程序,后者是进行数据传输,相当于这里的数据传送(其实是一样的),而这里的中断服务程序是数据传输完毕之后的后处理。

DMA方式的数据传送过程(以数据输出为例):



BR:数据缓冲寄存器

AR:内存地址寄存器

WC:数据个数寄存器

DAR:I/O设备地址寄存器

3种控制方式比较

从程序查询方式到程序中断方式到DMA方式,I/O系统的自治能力越来越强。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息