[计算机组成原理] 计算机系统概述

计算机发展历程

从1946年第一代计算机ENIAC问世以来,计算机发展经历四代。

计算机硬件发展

  1. 第一代计算机:电子管时代
  2. 第二代计算机:晶体管时代
  3. 第三代计算机:中小规模集成电路
  4. 第四代计算机:超大规模集成电路

计算机软件发展

计算机语言的发展经历了面向机器的机器语言和汇编语言、面相问题的高级语言。其中高级语言的发展促进了软件的发展。从科学计算和工程计算的FORTRAN、结构化程序设计PASCAL到面向对象的C++和适应网络环境的Java等等。

计算机指令和数据流分类

  • SISD(单指令流,单数据流):即传统冯诺依曼体系计算机
  • SIMD(单指令流,多数据流):阵列处理器和向量处理器等
  • MISD(多指令流,单数据流):不存在,为啥不存在,因为指令是多个,数据流是一个,多个指令对同一个数据会有冲突
  • MIMD(多指令流,多数据流):当前的多处理器和多计算机系统

计算机系统层次结构

硬件组成

早期冯诺依曼体系计算机主要特点

  1. 硬件系统由运算器、控制器、存储器、输入设备、输出设备组成
  2. 指令和数据以同等地位存储在存储器内,并可以按地址访问
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 指令在存储器内顺序存放
  6. 早起冯诺依曼体系计算机以计算器为中心,IO设备通过运算器和存储器传送数据

现代计算机体系结构:以存储器为核心

计算机功能部件

  • 输入设备:键盘、鼠标、扫描仪等
  • 输出设备:显示器、打印机等
  • 存储器:包括主存、外存;主存由很多存储单元组成,每个存储单元可以存储一串二进制代码,代码位数叫存储字长,可以是一个字节。主存的工作方式是按照存储单元的地址进行存取的。主存主要由存储体、地址寄存器(MAR)和数据寄存器(MDR)组成。地址寄存器存地址,经过地址译码后找到对应的存储单元;数据寄存器是主存和其他部件的中介机构,用于暂存要从存储器中读或写的信息。所以MAR的位数决定存储单元的个数,MDR的位数就是存储字长的位数。
  • 运算器:对数据进行加工处理的,完成算数运算和逻辑运算。主要有算术逻辑单元(ALU)、通用寄存器组如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)等等,此外还有程序状态寄存器(PSW),保存各类运算结果状态信息。
  • 控制器:由程序计数器(PC)、指令寄存器(IR)和控制单元(CU)组成。PC存放要执行指令的地址,与主存的MAR有一条直接通路;IR存放当前的指令,内容来自于主存的MDR。

软件分类

  • 系统软件:操作系统、DBMS、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序等。
  • 应用软件:为解决某个应用领域编制的程序。

计算机性能指标

  • 机器字长:计算机进行一次整数运算所能处理的二进制位数,一般机器字长等于内部寄存器
  • 主存容量:MAR是16位,MDR是32位,则有2的16次方个存储单元,一个存储单元存32位,则存储容量为64K*32位。
  • 吞吐量:系统在单位时间内处理请求的数量。
  • CPI:一条指令需要几个时钟周期。
  • CPU执行时间:运行一个程序所花费的时间。
  • MIPS:一秒钟能执行几百万条指令。等于主频除以CPI
  • MFLOPS:一秒钟能执行几百万次浮点数运算。

 

计算机工作过程

  1. 把程序和数据存储到存储器中
  2. 从程序的起始地址开始运行程序
  3. 从程序的首地址从内存中取出第一条指令,经过译码、执行步骤等控制计算机各功能部件协同工作,完成这条指令,并计算下一条指令的地址。
  4. 用新得到的指令地址继续读出第二条指令并执行,直到程序结束为止,每一条指令都是取指令、译码、执行指令的过程

以取数指令(将指令地址码中的数据取出送到ACC寄存器)的信息流程如下:

  • 取指令:PC-->MAR-->M-->MDR-->IR
  • 分析指令:IR-->CU
  • 执行指令:IR-->MDR-->M-->MDR-->ACC

 

举个例子

存储器的基本组成

运算器的基本组成和操作

控制器的基本组成

说明

  • 翻译程序:将高级语言源程序翻译成机器语言程序(目标代码)的软件
  • 编译程序:是翻译软件的一种,将高级语言一次全部翻译成目标程序,每次执行程序时,只要执行目标程序,因此只要源程序不变,就不需要重新编译。
  • 解释程序:是翻译软件的一种,将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有源程序语句全部被翻译并执行完。所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序。
  • 汇编程序:也是一种语言翻译程序,它是把汇编语言源程序翻译成机器语言程序。是一种面向机器语言的低级语言。
  • 机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,决定了计算机运算精度。
  • 指令字长:一个指令字中包含二进制代码的位数。
  • 存储字长:一个存储单元存储二进制代码的长度。必须是字节的整数倍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章