计算机组成原理
第一章 系统概述
计算机系统:
硬件:组成计算机的各种实体。
软件:泛指各种程序和文件。
(运算器、控制器)=>中央处理单元CPU
存储器、输入设备、输出设备
这五大设备通过总线和接口连接起来,成为一台计算机。
1.运算器
一次能算多少位
若32位,则寄存器可存的位数是32位。
若32位算64位数就要算两次。一次是高32位,一次是低32位。
2.存储器
存储器存储的是信息(指令和数据)。
存储器存储的都是0或1表示的二进制代码。
目前用半导体器件触发器来作为存储器,一个半导体器件可以记忆一个二进制代码。
一个数假定用16位二进制代码来表示,那么需要有16个触发器来保存这些代码。
存储元(一个触发器):保存一位二进制数。
存储单元:若干个存储元构成一个存储单元。
地址:存储器是由许多存储单元构成,每个存储单元的编号称为地址。
存储容量:存储器所有存储单元的总数。
通常单位kb,mb,gb….
K表示的是2^10 m表示的是2^20…
64kb 则由64k个存储单元。64*2^10个..
B byte 8个存储元——一个存储单元
3.控制器
作用:执行程序
1.取一条指令->分析指令->执行指令
2.保证程序按规定的序列来执行
3.对各种异常情况进行响应和处理
(1)计算程序
运算器只能完成加减乘除四则运算,及一些其他辅助操作,对于比较复杂的算题,计算机在运算前必须化为多步简单的加减乘除等基本操作来做。
上面为算法。
取数(9)=>算盘 这里括号代表地址9
…
存储器 上图中带有指令的二进制数
(2)指令的形式
指令的内容由两部分组成,即操作的性质和操作的地址。前者称为操作码,后者称为地址码。
操作码:指出指令所进行的操作,如加减乘除取余、存数等。
地址码:表示参加运算的数据应从存储器哪个单元取出来,运算结果应存到哪个单元。
指令的操作码是二进制代码。
地址码部分和数据也是二进制数。
那么整个存储器的内容全部变成了二进制的代码或数据。
将指令放到存储器中叫存储程序。
存储器的任何位置既可以存数据也可以存指令,但是一般将指令和数据分开存。
控制器依靠存储的程序来控制全集协调地完成计算任务叫做程序控制。
存储程序并按地址执行就是冯诺依曼型计算机的设计思想,也是机器自动化工作的关系。
(3)控制器的基本任务
计算机进行计算时,指令必须按一定的顺序一条接一条的执行。
控制器的基本任务就是按照计算程序所排的指令序列,先从存储器中去出一条指令放到控制器中,对该指令的操作码由译码器进行分析判别,然后根据指令性质,执行这条指令,进行相应的操作。
接着从存储器中取出第二条指令,再执行第二条指令。
通常把取指令的一段时间叫做取指周期,而把执行指令的一段时间叫做执行周期。
因此 控制器反复交替地处在取指周期与执行周期之中,每取出一条指令,控制器中指令计数器就加1,从而为取下一条指令做好准备,这也就是指令为什么在存储中顺序存放的原因。
4.适配器与输入输出设备
输入设备把人们所熟悉的某种信息形式变换为机器内部所能接受的二进制信息形式
输出设备把计算机处理的结果变换为人或其他机器所能接收和识别的信息形式。
计算机的输入/输出设备通常称为外围设备(外设)。
由于种类繁多且速度各异,因而他们不是直接地同高速工作的主机相连接,而是通过适配器部件与主机相连接。
显示器通过适配器(显卡)
网络通过适配器(网卡)
冯诺依曼思想的基本要点:
(1) 采用二进制形式表示数据和指令
(2) 由输入设备输出设备运算器存储器和控制器五大部件组成。
(3) 采用存储程序方式
存储程序方式是冯诺依曼思想的核心。
(4) 指令和数据以同等地位存于存储器,可按地址寻访,程序和数据统一存储。
(5) 指令以操作码和地址码组成
(6) 以运算器为中心
1.2.2 计算机的软件
1.目的(目标)程序 (机器程序)
计算机能唯一识别的,都是由二进制组成。
用机器语言
2.汇编语言
为了编写程序方便和提高效率,人们用一些约定的文字符号和数字按规定的格式来表示各种不同的指令。
例如:001=>add
3.源程序
算法语言比较接近数学语言,直观通用,与具体机器无关,便于学习,便于推广使用计算机。
高级语言的处理过程
高级语言 (编译)=> 汇编语言 (汇编)=> 机器语言
这个过程比较复杂 这个过程比较简单因为一般都有一一对应关系
1.3 计算机的性能指标
机器自长 指处理机运算器中一次能够完成二进制数运算的位数。当前处理机的字长有8位、16位、32位、64位。字长越长,表示计算的精度越高,与CPU中的寄存器位数有关。
吞吐量 表征一台计算机再某一时间间隔内能够处理的信息量,单位是字节/秒(B/S)。
响应时间 表征从输入有效到系统产生响应之间的事件度量。用单位时间来度量,例如微妙(10^-6)、纳秒(10^-9)。
利用率 表示在给定的时间间隔内,系统被实际使用的时间所占的比率,一般用百分比表示。
(在给定的时间间隔内,比如在1s内,有0.5s运算器在运算,这里它的利用率是50%)
总线宽度 一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数。
如果计算机是16位的(运算器是16位的),总线只有8位,速度会受影响。
存储器容量
…
存储器带宽
存储器的速度指标,单位时间内的…
主频/时钟周期
Khz mhz ghz 2^10(10^3) 2^20(10^6) 2^30(10^9)...
奔腾 60Mhz
每秒钟有60*10^6个时钟周期,每个时钟周期所占的时间是1/60*10^6 秒。
CPU执行时间
表示CPU执行一段程序所占用的CPU时间,可用下式计算:
CPU执行时间= CPU时钟周期数* CPU时钟周期长
*CPI(Clock cycle Per Instruction)
表示每条指令周期数,即执行一条指令所需的平均时钟周期(clock cycle)数,用下式计算:
CPI = 执行某段程序所需的CPU时钟周期数/该程序所含的指令条数
*MIPS
(Million Instructions Per Second)
表示每秒百万条指令数,用下式计算:
MIPS是1,每秒能执行一百万条指令数。
MIPS是8,每秒能执行八百万条指令数。
MIPS = 指令条数/程序执行时间*10^6
MFLOPS(Million Floating-point Operations per Second)
表示每秒百万次浮点操作次数,用下式计算:
MFLOPS 程序中的浮点操作次数/程序执行时间*10^6
…
表示存储的Gb中G是2的30次方,
表示速度的Ghz中G是10的9次方