计算机组成原理学习笔记(1)

计算机系统概述

计算机硬件

1.冯诺依曼计算机的特点

  • “存储程序”的工作方式 p:将实现编制好的程序和原始数据送入主存储器后才能执行,一旦程序被启动,无需人员干预,计算机自动逐条执行,直到结束。
  • 硬件系统五大部分:运算器,存储器,控制器,输入设备,输出设备
  • 指令数据等地位存在存储器中,形式上无区别,但计算机能分辨
  • 指令数据均用二进制代码组成
  • 指令由操作码和地址码组成,操作码指出操作的类型,地址码指出操作数的地址

2.计算机的功能部件

  • 输入设备:将程序与数据以机器能接受的形式输入计算机
  • 输出设备:将计算机结果以人类能接受的形式输出
  • 存储器:分为主存储器(内存储器或主存)和辅助存储器(外存储器或外存)。CPU能直接访问的为主存,辅助存储器的内容必须进入主存才能访问。主存储器的工作方式为按存储单元的地址进行存取,称为按地址存取。MAR用于存放访存地址,位数反映最多可寻址的存储单元的个数。MDR用于暂存要从存储器读或写的信息,位数通常为存储字长
  • 运算器:用于算术和逻辑运算。核心为ALU(算术逻辑单元)。运算器包含若干寄存器,其中ACC(累加器),MQ(乘商寄存器),X(操作数寄存器)是必须的
  • 控制器:由PC(程序计数器),IR(指令寄存器),CU(控制单元)组成。PC存当前指令地址,会自动加1,即可自动形成下一条指令的地址。与MAR有直接通路。IR存放当前的指令,内容来自MDR,指令中的操作码OP送至CU,用于分析指令发出各种操作命令,而地址码AD送往MAR用于取数。
  • p:运算器和控制器集成在芯片中称为CPU,CPU+主存称为主机,其余部件统称外设。
    img

计算机硬件组成框图

记忆方法:控制器对其余设备有控有反馈,数据线必须经过存储器

计算机软件

1.系统软件和应用软件

按照功能分,可分为系统软件和应用软件。

系统软件是一组保证计算机系统高效正确运行的软件,主要有操作系统、数据库管理系统、语言处理程序、分布式软件系统等。应用软件是指用户解决某个应用领域而编制的软件。

2.三个级别的语言

  • 机器语言:二进制代码语言,计算机唯一可以直接识别和执行的语言。
  • 汇编语言:用英语单词和缩写代替二进制的指令代码,必须进过汇编程序的翻译才能执行。
  • 高级语言:方便设计人员解决问题的处理方案和解题过程的程序。通常先翻译成汇编语言再翻译成机器语言,但也可直接翻译成机器语言。

3.硬件和软件的等价性

有些功能硬件和软件均可以完成,如浮点数计算,硬件完成通常比软件完成效率高。

计算机系统的工作原理

1.存储程序工作方式

1
2
3
4
5
6
7
while 程序结束
{
根据PC取指令
指令译码,PC=PC+1
取操作数执行
送结果
}

2.从源程序到可执行文件

3.指令执行过程

  1. 取指令:PC-MAR-M-MDR-IR
    根据PC取指令到IR。PC将内容送到MAR,MAR送到地址线,同时控制器将读写信号送读/写信号线,主存通过地址线上的地址和读信号,从指定存储单元读出指令,送到数据线,MDR从数据线接受信息,送到IR中。
  2. 分析指令:OP(IR)-CU
    指令译码送出控制信号。控制器根据IR中指令的操作码,生成对应的控制信号,送到不同的执行部件。
  3. 执行指令:Ad(IR)-MAR-M-MDR-ACC
    取数。将IR指令中的地址码送到MAR,MAR中的内容送地址线,同时控制器将读信号送读写信号线,从主存取出操作数并通过数据线送到MDR,再送到ACC中。

计算机的性能指标

1.机器字长

字长是指计算机进行一次整数运算所嗯呢处理的二进制数据的位数,通常与CPU寄存器的位数,ALU有关。

2.数据通路带宽

数据总线一次能并行传送信息的位数。

3.主存容量

主存储器能存储信息的最大容量,可用字数*字长表示。MAR的位数反映存储单元的个数(2的幂次),MDR的位数反映了存储单元的字长。

4.运算速度

主频和CPU时钟周期

  • 主频:时钟周期的倒数,直观理解即每秒多少个时钟周期
  • CPU时钟周期:机器内部时钟脉冲信号的宽度,CPU的最小时间单位。

CPI,即一条指令所需的时钟周期(注:不同指令不同,所以CPI是个平均

IPS,每秒执行多少指令,即主频/CPI

MIPS,每秒执行多少百万条指令