2018-07-02计算机组成原理总复习

计算机系统概论:

        计算机系统由软件和硬件两大部分组成,软件又分为系统软件和应用软件。

        浮点数范围大,定点数精度高。

        定点运算器中,无论采用双符号位还是单符号位,必须有溢出判断电路,一般用异或门来实现.

存储器篇:

        存储器在计算机中的作用分类:cache,主存,辅存

        主存储器的技术指标是:存储容量,存取时间,存取周期,存储器带宽

        存储方式分类:ROM(只读,资料并且不会因为电源关闭而消失),RAM(可读可写,断电后里面的内容消失)

        存储介质分类:半导体存储器、磁表面存储器、光存储器。

        SRAM:利用双稳态触发器保存信息,只要不断电,信息不回丢失。

        DRAM:利用MOS电容储存电荷,来保存信息,使用时要不断给电容充电,才能使信息保持。

        存储器的扩展:字扩展,位扩展,字位扩展。

        存储器系统的存储容量:M*N位  使用芯片的存储容量:L*K位需要存储器芯片个数:M*N/(L*K)

        中断向量是指中断服务程序的入口地址;

        cache:介于CPU和主存之间的小容量存储器,但存取速度比主存快。cache容量比主存小得多。从功能上看,他是主存的缓冲存储器,由高速的SRAM组成。因为为了追求高速,包括管理在内的全部功能由硬件实现,因此对程序员来说是透明的。

        cache设置的依据:CPU这次访问过的数据,下次很有极大地可能也是访问附近的数据。

        CPU与cache之间是以为单位;主存与cache是以为单位。

        CPU读内存的步骤:读内存时,把地址送给cache和主存,cache控制逻辑依据地址判断此字是否在cache中,如果在,此字立刻传给CPU。否则,主存读周期把此字从主存中读出送到CPU,与此同时,把含有这个字的整个数据块送到cache中。

        映联方式:cache通过映射的方法确定主存块应该存放在哪个cache行中去。

        直接映射:把一个主存块存在唯一的一个cache行中去。优点:硬件简单,操作容易实现。缺点:命中率低,cache主存空间利用率低。

        全相连映射:可以一个存储块存储到任意一个cache行去。优点:命中率高,cache储存空间利用率高;缺点:线路复杂,成本高,速度低。

        组相连映射:可以将一个主存块存储到唯一的一个cache组中的任意的一行


中央处理器篇:

 CPU的功能指令控制操作控制时间控制数据加工异常处理

CPU的基本结构:运算器 (算术运算和逻辑运算)和控制器

(1)保存当前正在执行指令的寄存器是:IR(指令寄存器)

(2)保存当前正在执行的指令地址的寄存器是:AR(地址寄存器)

(3)算术逻辑运算结果通常放在DR(数据缓冲寄存器)  R0~R3 通用寄存器

(4)跟踪指令后继地址的寄存器:PC(程序寄存器)

(5)保存算术指令和逻辑指令运算或测试结果建立的各种代码:PSW(状态字寄存器)

CPU管理外围设备:程序查询方式、程序中断方式(数据传输率较低的外设)、直接内存访问方式(适用于数据传输率高的设备)、通道方式

指令周期:完成一条指令所需要的时间(读取,分析,执行,检查中断)

机器周期:又称CPU周期或时钟周期,通常把一个指令周期划分成若干个机器周期。读取一个指令字的最短时间,每个机器周期完成一个基本操作。

时钟周期:处理操作的最基本单位。     


指令周期流程图共有阶段:

ADD指令:(ADD R2 , R0)  

                    R2->Y //R20,G,Yi

                    R0->X//R0o,G,Xi

                    Y+X->R0//+,G,R0i

STO指令:(STO R1,(R2))

R2->AR // R2 0 , G , ARi

R1->DR // R1 0 , G , DRi

DR->M //  R/W的非=W


cache的主存块替换算法以及写策略:

    替换策略:LFU(最不经常用):被访问的行计数器增加1,换值小的行,不能反映近期cache的访问情况;LRU(近期最少使用):被访问的行计数器置0,其他计数器加1,换值大的行,符合cache的工作原理 ; 随机替换:从特定的行位置中随机选取一行换出即可。优点:这种策略在硬件上容易实现,且速度比前两种策略快。




指令系统篇:

    指令:是计算机执行某种操作的命令。

    指令系统:是一台计算机所有指令的集合。一个完善的指令系统应包括:数据传输指令、算术运算指令、逻辑运算指令、程序控制指令、输入/输出指令。

    指令的格式:操作码,源操作数地址,目的操作数地址,下一条指令地址  地址码按操作数的地址数量分:零地址,一地址,二地址,多地址。指令长度:半字长指令,单字长指令,双字长指令。

    RR型(寄存器-寄存器指令:速度最快)RS(寄存器-存储器指令:速度一般)SS(存储器-存储器指令:速度最慢)

    指令的寻址方式:顺序寻址(按一条指令接一条指令的顺序)和跳跃寻址(下条指令的地址码不是程序计数器给出,而是由本条指令给出)。

    操作数寻址方式:立即寻址(地址字段是操作数本身)、直接寻址(指令字的形式地址A就是操作数的有效地址EA)、间接寻址(指令字的形式地址是操作数地址的指示器)、寄存器寻址(指令字的操作数地址不是内存的地址单元号,而是通用寄存器编号)、寄存器间接寻址(指令格式的寄存器内容不是操作数,而是操作数的地址,改地址指明操作数在内存中)、变址寻址(需要有个寄存器,)

微程序控制器---微命令:控制部件通过控制线向执行部件发出各种控制命令;微操作:执行部件接受微命令后所进行的操作。

    一条机器指令就是一个微程序,执行机器指令需要几个CPU周期就包含几个微指令,即一个CPU周期整体是一个微指令,微指令包含若干微命令,微命令发送给CPU内部部件执行微操作

    微程序控制器同硬布线控制器相比较,具有规整性、灵活性、可维护性等一系列优点。微程序控制的基本思想:就是把操作控制信号编成所谓的“微指令”,存放在一个只读存储器中。当机器运行时,一条有一条从存储器中读出这些指令。

    时序产生器:时钟源,环形脉冲发生器,节拍脉冲和存储器读/写时序,启停控制逻辑

同步控制方式:已定的指令在执行时所需的机器周期和时钟周期数都是固定不变的。

异步控制方式:每条指令、每个操作控制信号需要多少时间就占用多少时间。

    一个适配器必有两个接口:

一是和系统总线的接口,CPU和适配器的数据交换一定的是并行方式;

二是和外设的接口,适配器和外设的数据交换可能是并行方式,也可能是串行方式。

    RISC指令系统:是目前计算机发展的主流,也是CISC指令系统的改进,它的最大特点是:1、指令条数少2、指令长度固定,指令格式和寻址方式种类少3、只有取数/存数指令的访问存储器,其余指令的操作均在寄存器之间进行。

    第一步就是判断是什么指令,RR还是RS :有目标寄存器和源寄存器对应R型。变址寄存器对应S型。

    第二步判断是X字长X地址指令:一行就是单子长,两行就是双子长,几个寄存器就是几地址

    第三步看操作数OP:看op占了x位,然后就写:有2的x次方种操作或条指令。

    第四步判断是寻址方式:如果一个是寄存器,一个空白的话,那么就写一个操作数是寄存器寻址,一个是直接寻址;都是寄存器的话,那就是寄存器寻址

总线系统篇:

    总线:构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路。借助于总线连接,计算机在各系统功能部件之间实现-地址、数据和控制信息的交换,并在征用资源的基础上进行工作。

   内部总线:CPU内部连接各寄存器及运算部件之间的总线。系统总线:CPU同计算机系统的其他高速功能的部件,如存储器、通道等互相连接的总线。I/O总线:中低速I/O设备之间互相连接的总线。

    单总线结构容易扩展成多CPU系统。多总线结构实现了高速、中速、低速设备连接到不同的总线上同时进行工作,处理器结构的变化不影响高速总线。

    总线的仲裁:集中仲裁(菊花链式查询、计数器定时查询、独立请求)和分布仲裁

    菊花链式查询方式:优点:只用几根线就能按照一定的优先次序实现总线控制,并且这种链式结构很容易扩充设备;缺点:对询问链的电路故障很敏感,优先级固定。

    计数器定时查询:优点:计数器初值可以设定,方便改变优先级。但是这种灵活性的代价就是增加线数。

    独立请求:优点:相应时间快,对优先级控制也相当灵活。

    分布式仲裁:以优先级仲裁为基础。

    总线的通信:就是决定共享总线的各个部件之间如何进行通信、如何实现数据传输的问题

    同步通信:事件出现在总线上的时刻由总线时钟信号来确定。由于采用公共时钟,每个功能模块什么时候发送或接收信息都由统一时钟规定,因此,同步通信具有较高的传输频率

    异步通信:后一事件出现在总线上的时刻取决于前一事件的出现。总线周期长度可变,不把响应时间强加到功能模块上允许快速和慢速的功能模块连接到同一总线上。以增加总线的复杂性和成本为代价的。

    系统总线上传送的信息必须采用并行传送方式;

    总线带宽计算:总线带宽(MB/S)=(总线宽度(bit)/8)B*总线频率(MHZ)

    波特率(单位:波特)=比特位数*数据传送速率

    比特位占用的时间(单位:ms)是波特率的倒数。

推荐阅读更多精彩内容