计算机组成原理

       

     如大家所知计算机硬件由控制器、运算器、存储器、输入、输出五部分组成。其中运算器和控制器是我们常说的CPU。它们分别负责不同的功能。


    【计算机系统结构】

    首先对计算机系统结构进行划分下。按照Flynn的标准计算机可以划分为SISD/SIMD/MISD/MIMD四种。目前已知的大部分计算机符合同一时间一个CPU只能进行一次指令的运算的原理。这是我们常见的单指令系统。而它又根据处理器(运算器)的数量不同划分为多两种SISD/SIMD。多处理器也就是我们常说的多核机和单核机。

SISD:单指令流单数据流----一个控制器、一个运算器(单处理器系统)。

SIMD: 单指令流多数据流----一个控制器、多个运算器(并行处理机)。

MISD: 多指令流单数据流----多个控制器、单个运算器(目前不存在)。

MIMD: 多指令流单数据流---多个控制器、多个运算器(多处理机系统)。

 

   【CPU工作原理】

    CPU的组成处理控制器和运算器两个核心外还包括寄存器组和内部总线。它在计算机的内部组成结构如图所示:

                                                                  

    运算器负责进行数据的运算:

    ALU:负责存储指令中的操作符和进行数据的运算。

    AC: 负责存储数据和ALU的运算结果并将数据提供给ALU进行运算。

    DR:从外存吸取指令作为CPU和内存数据读取的中转站。

    PSW:保证一次指令运算正确执行下去。

 

    控制器负责整个CPU有序的完成运算工作。包括指令、时序、总线、中断的控制等。

    ID:将指令分解成操作码和地址码。

    IR:存储从DR中提取的某一条指令。

    PC:进行指令存储和计数。当一个线程的一组指令存储到DR中时,PC会吸取该线程的第一个指令,并自动寻址到该线程的第二个指令,以供指令寄存器能按顺序提取一组有序的指令。

    AR:当一组指令运算复杂时,既不能一次处理完一条指令,则将该指令存储到AR中,知道该指令处理完成。

 

    寄存器组是计算机用于临时存储的小块内存。包括通用寄存器和专用寄存器。

    内部数据总线:进行内外存储器之间的数据运输工作。

 

    程序在外存储存,运行时被添加道内存,它的一个线程中的一组指令被DR存储,这组指令的第一个被传输到PC中(以便找到该组指令的后一个),然后传输到IR 中,ID 分解成操作码和地址码,经PSW 判断是否可以进入运算器后分别传输到ALU 中和AC 中。ALU 将操作数从AC 中提取,运算结果存储到AC 中,经内部总线输出或再次供ALU 运算。如果一次运算无法处理好改指令,则将数据存储到AR中,以便再次运算。

 

    指令系统中的地址码分几种寻址方式。

    隐含寻址方式:指令中不直接给出地址码,而是将地址码规定为AC。

    立即寻址方式:指令中在地址码中直接给出具体的操作数值。

    直接寻址方式:指令中在地址码中给出操作数的内存地址。

    间接寻址方式:指令中在地址码中给出操作数的指示器,经指示器寻找到有效的操作数值。


    指令系统根据指令数量、使用频率、格式的不同可以划分为复杂指令计算机CISC 和简单指令计算机RISC。其中复杂指令计算机的指令集较大而影响了计算机的效率和速度。一般推荐使用简单指令计算机。

    计算机执行程序所需要的时间P=I * CPI * T。I 是编译后的指令条数;CPI 每条指令所需要的平均周期数(复杂指令可能一次处理不完,须经AR 后再次处理);T 是每个机器周期的时间;

 

    流水线是指令控制处理的一种高效方式。将并行处理应用到了极致。大大提高了系统资源的利用率和吞吐率。

流水线时间的计算公式为:Nt+(K-1)t。K个指令,每个指令有N个子任务,每个子任务完成的时间为t。

 

    Cache的映射机制:

    高速缓冲区Cache的访问与主存的访问是一对互斥事件。Cache的访问命中率为T,则主存的访问率为1-T。CPU发生访问请求时,会先访问Cache,如果Cache不包括就访问主存。访问Cache的过程很快,这就是Cache的映射机制。常见的映射机制包括直接映射、全相联映射和组相联映射。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页