计算机组成原理(一)计算机基础
Published in:2024-10-10 | category: 计算机组成原理
Words: 1.4k | Reading time: 5min | reading:

机器字长

8位,16位,32位,64位:
计算机一次整数运算所能处理的二进制位数

冯诺依曼体系结构

特点

概括的来讲,冯·诺伊曼结构消除了原始计算机体系中,只能依靠硬件控制程序的状况(当时程序作为控制器的一部分,作为硬件存在),它将程序编码储存在存储器中,实现了可编程的计算机功能

  1. 构成程序的指令和存储的数据均采用二进制表示
  2. 指令和数据以同等地位存放在主(内)存储器中,计算机在工作时按地址访问并执行
  3. 指令由操作码和地址码组成,每一段指令都有其地址
  4. 计算机硬件由运算器、控制器、存储器、输入设备、输出设备这五大部分组成
  5. 机器以运算器为中心,输入/输出设备与存储器之间的数据传送通过运算器完成

在冯诺依曼结构中,控制器与其他4个部件都通过控制线与反馈线相连接,控制器通过控制线发送信号控制4个部件进行工作,这些部件通过反馈线将信息反馈给控制器。控制器将用户通过输入设备输入的信息交由运算器进行运算,存储器存储输入设备输入的数据和要控制器要执行的指令,在控制的控制下也可以将存储器存储的信息交由输出设备进行输出。这样一次信息的运算(交互)在5个部件的协同配合下完成了。
但是这样以运算器为中心的结构中也存在一定的问题,那就是即使不需要运算器参与的输入/输出操作时运算器也会参与进来运算,浪费了运算器性能。
现代计算机一般以存储器为中心,这样输入/输出设备就可以直接与存储器交换数据,提高整体效率,如图所示。

CPU=运算器+控制器

计算机各个硬件的工作原理

主存储器的基本组成

存储体

用于存放数据,由一系列存储元件构成,可以存放二进制0或1

  1. 数据在存储体内按地址存储
    一个字的位数不一定是8,取决于计算机

MAR(Memory Address Register)

存储地址寄存器

MDR(Memory Data Register)

存储数据寄存器

运算器的基本组成

用于实现算数运算(加减乘除)和逻辑运算(与或非)

ACC

累加器,用于存放操作数或运算结果

MQ

乘商寄存器,在乘、除运算时,用于存放操作数或运算结果

X

通用的操作数寄存器,用于存放操作数

ALU

算数逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算

控制器的基本组成

完成一条指令:

  1. 取指令:PC
  2. 分析指令:IR
  3. 执行指令:CU

CU

控制单元,分析指令,给出控制信号

IR

指令寄存器,存放当前执行的指令

PC

程序寄存器,存放下一条指令地址,有自动+1功能

计算机的控制过程

计算机系统的多级层次结构

三种级别的语言

计算机性能指标

存储器的性能指标

  1. MAR的位数反应存储单元的个数(最多支持多少个)
  2. MDR位数=存储字长=每个存储单元的大小

总容量=存储单元个数*存储字长 bit
1Byte=8bit

Eg: MAR32位,MDR8位
$总容量=2^{32} × 8 bit=4GB$

CPU的性能指标

  1. CPU主频:CPU内数字脉冲信号振荡的频率(类似于工作处理节奏),很大程度上反映了CPU的性能
    CPU主频=1/CPU时钟周期
  2. CPI:执行一条指令所需的时钟周期数
    不同的指令,CPI不同。甚至相同的指令,CPI也可能不同
    比如说当cpu要从主存里取出一个数时,这个指令的执行除了与CPU相关,也与主存当前的状态有关,如果主存当前的负荷比较大,就可能花费更多的时间
  3. 执行一条指令的耗时=CPI×CPU时钟周期
  4. IPS:每秒执行多少指令
    IPS=主频/平均CPI
  5. FLOPS:每秒执行多少次浮点运算

当我们在描述存储器的容量或文件的大小:
$2^10:K 2^20:M 2^30:G 2^40:T$

当我们在描述数据的处理速率时:
$K:10^3 M:10^6 G:10^9 T:10^12$

系统整体的性能指标

  1. 数据通路带宽:
    数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)

  2. 吞吐量:
    指系统在单位时间内处理请求的数量
    它取决与信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备

  3. 响应时间:
    指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等时间

Prev:
计算机组成原理(二)数据基础
Next:
Linux报错合集