计算机组成原理(一)

计算机组成原理

第一章 计算机系统概述

1.1 计算机基本概念

  1. 计算机按照指令和数据流的分类:
    (1)单指令单数据流:SISD,传统冯诺依曼体系
    (2)单指令多数据流:SIMD,
    (3)多指令单数据流:这种计算机实际上不存在
    (3)多指令多数据流:MIMD,

  2. 软硬件逻辑上等效:
    如果一个功能,既能用软件实现,又能用硬件实现,则称其为软硬件逻辑等效

  3. 高级语言-类自然语言 -> 虚拟机器M4
    汇编语言-符号语言 -> 虚拟机器M3
    ----------------------------------
    操作系统 - 虚拟机M2
    (一开始计算机并没有设计这一层,后来为了把每次编程都需要用到的文件管理,内存管理等抽取出来而形成)
    ----------------------------------
    机器语言-二进制 -> 实际机器M1
    微指令系统 -> 微程序机器M0
    【注】一条机器指令就是一条微程序,这条微程序是由多条微指令构成的,每个微指令发送一个微命令进行一个微操作让计算机前行。

  4. 计算机硬件基本组成:冯诺依曼机器
    (1)运算器,控制器,存储器,输入输出设备
    (2)采用存储程序的方式执行,数据用二进制形式表示
    (3)指令由操作码和地址码组成
    (4)指令在存储器中按照执行顺序存放,由PC致命要执行的指令的存储单元。一般为按顺序递增
    (5)冯诺依曼机以运算器为核心,而现代机器以存储器为核心(总线结构能看出来)

  5. CPU:运算器ALU+控制器CU
    主机:CPU+主存
    硬件:外存
    IO设备:输入输出设备

1.2 冯诺依曼结构中的5大部件

  1. 运算器
    运算器的长度x表明,一次最多可以对2个x位的数据进行操作

  2. 存储器
    (1)存储器由多个小房间组成,一个小房间存储8bit数据,也就是1byte
    (2)(2^{10})差生一个单位递进
    (3)MAR:存储地址的寄存器
             MDR:存储数据的寄存器
    (4)MAR的位数和MDR的位数可以算出整个主存的大小。
    MAR的位数给出了主存中有几个小房间,而MDR的位数给出了每个小房间的大小是多少。eg:MAR10位,MDR8位,则主存总共(2^10 * 8bit) 3. 控制器
    (1)任务:按照一定顺序逐条取指令,对指令译码,然后执行指令的操作
    (2)控制器在一个取值周期到来后从内存读取信息流(指令流),流向执行器
    (3)执行器再周期的从内存中读取信息流(数据流),流向运算器

  3. 计算机的全过程
    (1)输入程序和数据
    (2)程序首地址放到pc
    (3)启动应用程序
    (4)把PC寄存器的值放到MAR寄存器中
    (5)按照MAR的地址从主存取得数据放到MDR
    (6)此时取得的数据是指令,所以再把MDR的数据放到IR(指令寄存器)
    (7)分析指令OP(IR):分解开操作数和操作码,把IR的操作码放到CU(控制码)
    (9)执行指令:把IR的操作数(需要操作的数的地址)部分拿出来放到mar,按照mar的地址去主存取数放到MDR,再把MDR的数据放到ACC(ALU中的累加器)
    (10)最后执行PC+1放到PC
    (11)打印结果
    (12)卸载程序

1.3 计算机性能指标

  1. 机器字长:参与运算的数据的基本位数。也是加法器,寄存器的位数
  2. 数据总线一次传输的数据位数称作数据同路的宽度
  3. 吞吐量:指的是系统在单位时间内处理的请求数量
  4. 响应时间:系统对请求做出响应的时间=CPU时间+等待时间
    1)CPU时间为运行程序所花的时间
    2)等待时间:用于磁盘访问,存储器访问,IO操作,操作系统的开销时间
  5. CPU主频又称时间频率,表示数字脉冲信号振荡的频率。单位是时钟周期/s
  6. 主频的倒数就是时钟周期
  7. CPI是每条指令执行时所需的时钟周期数。CPI往往使一个平局数,使用概率论算出来的概率和
  8. IPC是每个时钟周期执行的指令数,和CPI成倒数关系
原文地址:https://www.cnblogs.com/72808ljup/p/5847723.html