【计算机组成原理一】计算机系统概论
前言
此次计算机组成原理的学习基于唐朔飞教授《计算机组成原理(第二版)》目前正处于学习阶段,若有不足欢迎各位积极提意见。本篇基于第一章和第二章的学习从如下几方面进行介绍
1、计算机系统简介
2、计算机的基本组成
3、计算机的主要硬件指标
一、计算机系统简介
1、计算机软硬件介绍
硬件:计算机的实体部分,它有看得见摸得着的各种电子元器件组成,如主机、外设等。
软件:分为系统软件和应用软件看不见摸不着,有人们事先编制的具有各类特殊功能的程序组成。通常存放在计算机的主存或辅存内。
系统软件又称系统程序,用来管理整个计算机系统,监视服务,使系统资源得到合理调度,高效运行。包括①标准程序库、②语言处理程序、③操作系统、④数据库管理系统、⑤网络软件。
应用软件又称应用程序,又用户根据任务需要所编制的各种程序,如科学计算程序、数据处理程序、过程控制程序、事务管理程序。
2、计算机系统层次结构
计算机解题通常是用户将高级语言编写的程序输入计算机再有机器转为机器语言最后将运行结果输入
计算机需将人们编写的高级语言程序转为计算机能识别的机器语言需要多级层次结构来解决
(1)早期计算机使用机器语言0 1来编写,编写的为机器语言。此时只有一层
M1 实际机器(执行机器语言)
(2)20世纪50年代出现汇编语言,需要计算机经过一步翻译为机器语言故为两层结构
M2 虚拟机器(汇编语言机器)功能:将汇编语言翻译为机器语言
M1 实际机器
(3)20实际60年代BASIC、FORTRAN、C等高级语言出现计算机需要进行三层结构翻译为机器语言并在计算机上执行
M3 虚拟机器(高级语言机器)功能:将高级语言翻译为汇编语言程序
M2 虚拟机器(汇编语言机器)
M1 实际机器
目前计算机层次结构也可向下延伸形成微程序机器M0,执行由机器指令翻译成的微指令。
其次在M2和M1层之间还存在一层操作系统用来协调硬件与软件间的连接。
3、计算机体系结构和计算机组成
计算机体系结构:指能被程序员所见到的计算机系统的属性,及概念性的结构与功能特性。指能被使用机器语言编程所见到的属性如指令集、数据类型、存储器寻址技术等。
计算机组成:指如何实现计算机体系结构所体现的属性,包含很多对程序员透明的硬件细节。
计算机体系结构和计算机组成的区别在于计算机体系结构是计算机所具有的某种属性,而计算机组成是实现计算机实现该属性的过程。例如计算机是否具有乘法指令是计算机体系结构的内容而如何实现乘法指令是计算机组成的功能。
二、计算机的基本组成
1、冯.诺伊曼计算机
典型冯.诺伊曼计算机体系框图
冯诺依曼计算机的特点:
(1)以运算器为中心
(2)由输入设备、输出设备、运算器、控制器、存储器五大部分组成
(3)指令和数据均以二进制数表示
(4)指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
(5)指令在存储器内按顺序进行存储
2、现代计算机(以存储器为中心)
现代计算机一般认为由三部分组成CPU、主存储器和I/O设备。CPU由运算器和控制器组成,CPU与主存储器合成为主机,I/O设备又称外部设备。
(1)主存储器
主存储器由M存储体、各种逻辑部件及控制电路组成。
存储器为了能实现按地址访问的特点,必须具备MAR、MDR两个寄存器。MAR称为存储器地址寄存器,用来存放欲访问的存储单元的地址。MDR称为存储器数据寄存器,用来存放从某存储单元取出的代码或者准备存入某存储单元的代码。
(2)运算器
至少包括3个寄存器(ACC、MQ、X)和一个算术逻辑单元(ALU)。
加法 | 减法 | 乘法 | 除法 | |
ACC(累加器) | 被加数及和 | 被减数及差 | 乘积高位 | 被除数及余数 |
MQ(乘商寄存器) | 乘数及乘积地位 | 商 | ||
X(操作数寄存器) | 加数 | 减数 | 被乘数 | 除数 |
三个寄存器所存放的各类操作数
ACC可将运算结果送至MDR,MDR中的数据也可送入ACC、MQ或X。
某些机器也是用MDR取代X。
(3)控制器
计算机的神经中枢,指挥各部件自动、协调的工作。由程序计数器(PC)、指令寄存器(IR)和控制单元(CU)组成。
程序计数器:用来存放当前欲执行指令的地址
指令寄存器:用来存放当前的指令
控制单元:用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用来控制被控对象
完成一条指令所需阶段分为三步:取值阶段、分析阶段、执行阶段。同时取值阶段和执行阶段也被作为计算机区分存储器中是指令还是数据的标志,取值阶段取的是指令,执行指令阶段取的是数据。
三、计算机的主要硬件指标
(1)机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。
(2)存储容量:包括主存容量和辅存容量。
主存容量 = 存储单元个数 (MAR的位数)* 存储字长(MDR的位数)
辅存容量由字节数表示
(3)运算速度:由多方面数据来展现
主频
吉普森法:综合考虑每条指令执行时间及执行频率
百万条指令每秒(MIPS)
执行一条指令所需执行时间(CPI)
浮点运算次数每秒(FLOPS)