软考系统架构师大纲学习笔记第一章—计算机组成与体系结构

console.log("写在最前面。这系列博客是准备软考架构的学习笔记。我于17年下半年考过了软件设计师,
所以今年想尝试下系统架构设计师。个人感觉这个在学习过程中对知识面的广度很有帮助,另一方面也想通过
博客激励自己快速、高效的学习。最后,假如今年架构师没过,这系列博客全部删除。。暂时就第一张有排版,
后面的章节会慢慢补充。最后,附一张软设证书,保佑下自己。。"
)

计算机组成与体系结构

1. 计算机组成

a. 控制器:分析和执行指令的部件,依据机器指令,统一指挥并控制计算机各部件协调工作

  • i. 程序计数器:存储下一条要执行的指令的地址
  • ii. 指令寄存器 IR:存储即将执行的指令
  • iii. 指令译码器 ID:对指令中的操作码字段进行分析解释
  • iv. 时序部件:提供时序控制信号

b. 运算器:又称为算术逻辑单元,ALU,在控制器的控制下完成各种算术运算和逻辑运算

  • i. 算术逻辑单元 ALU:数据的算术运算和逻辑运算
  • ii. 累加寄存器 AC:通用寄存器,为ALU提供一个工作区,暂存数据
  • iii. 数据缓冲寄存器 DR:写内存时,暂存指令或数据
  • iv. 状态条件寄存器 PSW:存状态标志与控制标志

c. 主存储器:内存处理,即内存。存储现场操作的信息与中间结果,例如机器指令和数据

d. 辅助存储器:外存储器,即外存/辅存。存储需要长期保存的信息

e. 输入设备 : 将原始数据送到计算机,且将其转换成计算机内部所是别的信息。例如 字符输入,图形输入,图像输入,语音输入。常见的输入设备例如鼠标键盘

f. 输出设备:计算机处理结果以其他设备或者人可以识别形式送出计算机。例如打印机,显示器

2. 计算机系统结构分类

a. 存储程序概念:计算机硬件由运算器,存储器,控制器,输入设备,输出设备五个基本部件组成

b. 计算机内部采用二进制表示指令/数据

c. 编写好的程序和原始数据实现存入存储器,再启动计算机工作。

3. Flynn分类

a. 概念:Flynn分类指的是根据指令流,数据流的多倍性特征对计算机系统进行分类

  • i. 指令流:指令器执行的指令序列
  • ii. 数据流:由指令流调用的数据序列,输入数据和中间结果

b. 计算机系统分类

  • i. 单指令流单数据流 SISD
  • ii. 单指令流多数据流 SIMD
  • iii. 多指令流单数据流 MISD
  • iv. 多指令流多数据流 MIMD

4. 计算机系统按照指令集分类

a. CICS 复杂指令系统

  • i. 指令数量众多
  • ii. 各类指令使用频率相差悬殊
  • iii. 支持多种寻址方式
  • iv. 变长指令
  • v. 指令可以对主存单元中数据直接处理
  • vi. 微程序控制为主

b. RISC 精简指令系统

  • i. 操作在单周期内完成,指令格式基本一致,寻址方式少,提高编译效率,加快计算机处理器
  • ii. 指令数量少,只提供LOAD(存储器读数据) 和STORE(数据写入存储器)指令操作存储器,其他操作在CPU的寄存器进行
  • iii. 指令寻址方式少,寄存器寻址方式,立即数寻址方式,相对寻址方式。
  • iv. 指令长度固定
  • v. 硬布线逻辑控制
  • vi. 单周期指令执行,流水线技术
  • vii. 优化的编译器
  • viii. CPU中通用寄存器数量多,采取Cache方案提高取指令速度

5. 总线

a. 概念:一组为多个部件分时共享的公共信息传送线路,分时指的是同一时刻只允许一个部件向总线发送信息,共享是同一时刻允许多个部件从总线接收相同的信息。

b. 总线按位置分类

  • i. 内部总线
    1. 寄存器之间和算术逻辑部件ALU与控制部件之间传输数据所用的总线
  • ii. 外部总线
    1. CPU与内存RAM,ROM和输入/输出设备接口之间进行通信的通路

c. 总线按功能划分

      i. 地址总线,数据总线,控制总线

6. 存储器系统

a. 概念:用来存放程序和数据的部件。

b. 数据存取方式:顺序存取,直接存取,随机存取,相联存取

c. 组成

  • i. 主存储器
    1. 随机存取存储器
    2. 只读存储器
    3. 存储器编制单位:内存编制方法在计算机系统中,存储器中每个单元的位数是相同且固定的。
  • ii. 辅助存储器
    1. 磁带存储器
    2. 硬盘存储器 磁盘访问时间(存取时间) = 寻道时间+旋转延迟时间
  • iii. Cache存储器
    1. Cache功能是提高CPU数据输入输出速率,突破CPU与存储系统间数据传送的带宽限制。一般位于CPU和内存之间。
    2. Cache通常采用相联存储器。
    3. 使用cache指令访问时间:t3= t1'h+t2'(1-h) —— t1为cache周期时间,t2为内存周期事件,t3cache+主存储器的系统平均周期时间 ,h为cache访问命中率
    4. 映射机制:CPU发出访问请求,存储器地址被送到Cache控制器确定所需数据是否已在Cache中,若是命中,直接对Cache进行访问。这个过程称为映射。
    a. 直接映射:每一个区的N号页必须进入每一个Cache的N号页
    b. 全相联映像:主存中每一页可以映射到Cache的每一页
    c. 组相联映像:主存中的组和Cache中的组形成直接映像关系,每个组内的页是全相联映像关系。
    5. 替换算法:Cache访问未命中后,会有新的数据读入CPU&Cache,当Cache数据存满,需要替换Cache的某些就数据。
    a. 随机算法
    b. 先进先出 First In and First Out
    c. 近期最少使用 Least Recently Used
    6. 写操作:保证缓存在 Cache 中的数据与内存中的内容一致
    a. 写直达:数据写入Cache时,数据同时写回内存。
    b. 写回 :CPU修改Cache某一块,相应数据不立即写入内存单元,二十当该块从cache淘汰时候,数据写回到内存。
    c. 标记法:Cache每一个数据设置一个有效位,数据进入Cache,有效位置设置为1,CPU对数据修改,数据仅仅写入内存,Cache数据有效位设置为0。1从Cache中取数,否则从内存中取数。

7. 流水线

a. 概念:流水线技术把一个任务分解为若干顺序执行的子任务。不同子任务由不同的执行机构负责执行,这些机构可以同时并行工作,任一时刻,任一任务只占用其中一个执行机构,这样实现多个任务重叠执行。

b. 流水线周期:流水线应用过程中,把N个阶段的子任务最耗时的一段所消耗时间称为流水线周期。

c. 流水线执行时间:Nt+(k-1)t

d. 流水线吞吐率:单位时间内流水线所完成的任务数量或输出的结果数量。 TP = n/Tk

e. 流水线加速比:不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比 S= T0/Tk

考神保佑。。

猜你喜欢

转载自www.cnblogs.com/liumengchen-boke/p/9653145.html