1.1 计算机系统简介

计算机系统结构:主要研究软硬件功能的分配和对软硬件界面的确定。

计算机组成是计算机系统结构的逻辑实现。

计算机实现是对计算机组成的物理实现。

计算机系统的层次结构

第三级: 虚拟机器M4(高级语言机器) 用编译程序翻译成汇编语言程序

第二级: 虚拟机器M3(汇编语言机器) 用汇编语言翻译成机器语言程序

操作系统: 虚拟机器M2 (操作系统机器) 用机器语言解释操作系统

第一级: 传统机器M1(传统机器M1) 用微程序解释机器命令

第零级: 微程序机器M0 (微指令系统) 由硬件直接执行微指令

1.2 计算机的基本组成

冯·诺依曼计算机的特点(机器以运算器为中心)

  1. 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成

  2. 指令(程序)和数据以二进制不加区别地存储在存储器中

  3. 程序自动运行

  • 区别以运算器为中心的计算机还是存储器的方法

看输入设备能否直接与存储器相连,是的话就是以存储器为中心

现代计算机由三大部分组成(已经转化为以存储器为中心)

  1. CPU(Central Processing Unit) 中央处理器,核心部件为ALU(Arithmetic Logic Unit,算术逻辑单元)和CU(Control Unit,控制单元)

  2. I/O设备(受CU控制)

  3. 主存储器(Main Memory,MM),分为RAM(随机存储器)和ROM(只读存储器)

//CPU与MM合成主机,I/O设备可称为外部设备

一条指令在CPU的执行过程

// 专业术语

  1. Ad(Address) 形式地址

  2. DR(Data Register) 数据寄存器

  3. AR(Address Register) 地址寄存器(MAR)

  4. IR(Instruction Register) 指令寄存器

  5. BR(Buffer Register) 缓冲寄存器(MBR)

  6. ID(Instruction Decoder) 指令译码器

  7. PC(ProgramCounter) 程序计数器

  • CPU内部结构框图

CPU内部结构框图

过程详述:

几乎所有的冯·诺伊曼型计算机的CPU,其工作都可以分为5个阶段:

  1. 取指令

  2. 指令译码

  3. 执行指令

  4. 访存取数

  5. 结果写回

1.取指令阶段
    取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程。
    程序计数器PC中的数值,用来指示当前指令在主存中的位置。当一条指令被取出后,PC中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1àPC;若为双字长指令,则(PC)+2àPC,依此类推。
    //PC -> AR -> Memory
    //Memory -> IR
2.指令译码阶段
    取出指令后,计算机立即进入指令译码(Instruction Decode,ID)阶段。
    在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。
    在组合逻辑控制的计算机中,指令译码器对不同的指令操作码产生不同的控制电位,以形成不同的微操作序列;在微程序控制的计算机中,指令译码器用指令操作码来找到执行该指令的微程序的入口,并从此入口开始执行。
    //                        { 1.Ad
    //Memory -> IR -> ID ->   { 2.PC变化 
    //                        { 3.CU(Control Unit)
3.访存取数阶段
    根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(Memory,MEM)阶段。
    此阶段的任务是:根据指令地址码,得到操作数在主存中的地址,并从主存中读取该操作数用于运算。
    //Ad -> AR -> AD -> Memory
4.执行指令阶段
    在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段。
    此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。为此,CPU的不同部分被连接起来,以执行所需的操作。
    例如,如果要求完成一个加法运算,算术逻辑单元ALU将被连接到一组输入和一组输出,输入端提供需要相加的数值,输出端将含有最后的运算结果。
    //Memory -> DR -> ALU 
5.结果写回阶段
    作为最后一个阶段,结果写回(Writeback,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式:结果数据经常被写到CPU的内部寄存器中,以便被后续的指令快速地存取;在有些情况下,结果数据也可被写入相对较慢、但较廉价且容量较大的主存。许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。
    //DR -> Memory
6.循环阶段
    在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就接着从程序计数器PC中取得下一条指令地址,开始新一轮的循环,下一个指令周期将顺序取出下一条指令。
    //重复 1~5
    //遇hlt(holt on)停止

指令执行过程

计算机分类

高性能计算机: 处理量大,运算速度快的计算机领域的高尖端产品。

个人计算机: 台式机,笔记本等

工作站: 以个人计算机和分布式网络计算为基础,主要面向专业应用领域,具备强大的数据运算与图形,图像处理能力,为满足工程设计,动画制作,等专业领域而设计研发的计算机。

服务器:一种在网络环境下为多个用户提供服务的计算机系统。

计算机硬件技术指标

主频:时钟频率,指计算机的cpu在单位时间内发出的脉冲数。 MHz兆赫兹。

机器字长:cpu一次能处理二进制数据的位数。通常与cpu内的寄存器的位数有关。字长越大,数的表示范围就越大,精度也越高。字长HIA决定了指令直接寻址的能力。一般机器的字长都是字节的1,2,4,8倍。比如64系统是字节的8倍。

存储容量:计算机能存储的信息总字节量称为该计算机系统的存储容量,内存储器中能储存的信息总字节称为内存容量。通常以8个二进制位(bit)作为一个字节。内存量大,处理数据的范围就越广,运算速度一般也快。

存取周期:把信息代码存入储存器,称为“写”,把信息代码从存储器中取出,称为“读”。存储器进行一次“读”或“写”操作所需的时间称为存储器的访问时间,而连续启动两次独立的“读”或“写”操作所需要的最短时间,称为存取周期。

运算速度: 衡量计算机运算速度的单位是MIPS(百万条指令/秒)。

推荐书籍

《计算机组成原理》

TODO:

  1. 按照小节重新整理成完整的博客。

  2. 根据教学视频 pdf 重新整理对应的文件信息。

  3. 根据书籍重新整理目录+内容。

参考资料

计算机组成原理知识点梳理(一)

计算机组成原理

计算机组成原理总结