计算机组成原理——计算机系统概述

1计算机系统概述

笔记整理自Beokayy_up主的免费视频课,链接如下
课程链接

1.1从源文件到可执行文件

四个阶段:

  • 预处理阶段:将源文件(.c)转换成预处理文件(.i)
  • 编译阶段:将预处理(.i)转换成汇编语言文件(.s)
  • 汇编阶段:将源文件(.s)转换成目标文件(.o)
  • 链接阶段:将目标文件和其他需 要的文件链接形成最终的可执行文件,这一阶段开始产生可执行文件的逻辑地址

1.2冯诺依曼计算机

基本思想

  • 采用“存储程序”的工作方式。所有的指令和数据存入主存中,才开始自动执行,直至程序结束。
  • 由五个部件构成:运算器、控制器、储存器、输入设备、输出设备
  • 指令和数据在主存中形式相同(都是二进制),计算机通过设定好的程序来区分

“存储程序”工作方式

  • 程序执行前,把第一条指令的地址存到PC中
  • 开始执行时,根据PC中存的地址访问主存,取出指令
  • 取出指令后,计算机自动计算下一条指令的地址,存到PC中。通常称之为PC=PC+“1”,这里的1是一条指令的长度,并非数字1。
  • 执行PC=PC+“1”后,在此根绝PC的值从主存中取出指令,周而复始执行。

1.3系统硬件的组成

总线

  • 贯穿整个系统的一组电子管道称为总线。
  • 它携带信息字节并负责在各个部件间传递。

I/O设备

  • 系统与外部世界的联系通道。
  • 每个I/O设备都通过一个控制器/适配器与/O总线相连,二者的功能都是在I/O总线和I/O设备之间传递信息。

主存

  • 一个临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据。
  • 从物理上来说,主存由一组DRAM芯片组成。
  • 从逻辑上来说,存储器是一个线性的数组,每个字节都有其唯一的地址(按字节编址),这些地址是从零开始的。

CPU/处理器

  • 解释/执行存储在主存中指令的引擎。
  • CPU核心是一个大小为一个学的存储设备,称为程序计数器(PC)。任何时候,PC都指向主存中的某条机器语言指令。
  • CPU内部包含运算器和控制器,前者用于接收从控制器送来的命令并执行相应的动作,对数据进行加工和处理;后者作为整个系统的指挥中枢,根据指令的要求指挥协调全机工作。

1.4语言与翻译程序

三个级别的语言

  • 机器语言:计算机唯一可以直接识别和执行的程序。
  • 汇编语言:用英文单词作为助记符代替二进制的指令代码,比机器语言容易理解。
  • 高级语言:方便程序设计人员写出解决问题的处理方案等程序,最易懂。

三种程序

  • 汇编程序(汇编器):将汇编语言程序转换为机器语言程序。
  • 编译程序(编译器):将高级语言源程序一次性翻译成目标程序(汇编语言、机器语言)。
  • 解释程序(解释器):将源程序的语句逐条翻译成对应的机器语言代码立即执行,不形成目标程序。

编译程序产生目标代码的执行速度比解释程序的执行速度快。

1.5计算机的性能指标

字长

  • 机器字长:
    • 计算机进行一次整数运算所能处理的二进制数据的位数。
    • 通常与CPU的寄存器位数、加法器有关。
  • 存储字长:
    • 一个存储单元存储的二进制代码的位数。
    • 一般情况下等于机器字长,也可以是机器字长的整数倍。
  • 指令字长:
    • 一个指令字中包含的二进制代码的位数。
    • 可以等于存储字长,也可以取存储字长的整数倍。
    • 若指令字长等于存储字长,那么取指周期等于机器周期。

周期

  • 时钟周期:
    • 由CPU时钟定义的定长时间间隔,是CPU工作的最小时间单位。
    • 可以理解成CPU内部有一个节拍器,每一个节拍的长度就是一个时钟周期。
  • 机器周期:
    • 也称为CPU周期。
    • 为了便于管理,常把一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段完成一个基本操作。完成一个基本操作所需要的时间称为机器周期。
    • 一般情况下,一个机器周期由若干个时钟周期组成。
  • 指令周期:
    • CPU要执行一条机器指令经过的时间,由若干机器周期组成。
    • 指令周期的时长由指令具体要执行的操作决定

主频

  • 机器内部时钟的频率,是衡量机器速度的重要参数。对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。
  • 主频通常以Hz为单位,1Hz表示每秒一次。
  • CPU时钟周期=1/主频。
  • 1kHz=每秒10^3 次=CPU时钟周期为1/10^3 s=每秒10^3个时钟周期。

CPI

  • Cycle Per Instruction,即执行一条指令所需的时钟周期数。
  • CPI一般是一个平均值,对于一个程序来说,其CPI指这个程序的所有指令执行所需的平均时钟周期数。
  • 执行一条指令的耗时=CPIxCPU时钟周期。

CPU执行时间

  • 指运行一个程序所花费的时间
  • CPU执行时间=CPU时钟周期数/主频=(指令条数CPI)/主频=CPU时钟周期数CPU时钟周期

MIPS

  • Million Instructions Per Second,即每秒执行多少百万条指令。
  • MIPS=指令条数/(执行时间x10^6 )=主频/(CPIx10^6)

你可能感兴趣的:(计算机组成原理,学习)