根据视频【计算机组成原理(哈工大刘宏伟)135讲(全)高清】(P2 - P10)和书本【计算机组成原理(微课版) 】进行整理
新版笔记:[计算机组成原理(谭志虎 微课版)]第一章 计算机系统概述(学习复习笔记)完全按照书本【计算机组成原理(微课版) 】进行整理
1.1 计算机发展历程
1946年电子计算机ENIAC(电子数字积分计算机)标志科学技术发展进入了电子计算机时代。
计算机发展历程:
- 电子管计算机
- 晶体管计算机
- 集成电路计算机
- 超大规模集成电路计算机
摩尔定律:
当价格不变时,集成电路上可容纳的晶体管数量大约18-24个月翻一番,性能也将提升一倍。
1.2 计算机系统的组成
一台完整的计算机包括硬件和软件两部分,有一部分固化的软件称为固件(固件兼具软件和硬件的特性,固件的功能类似软件,形态类似硬件)。
冯诺依曼提出采用二进制的作为数字计算机数制基础的理论,提出离散变量自动电子计算机方案。
冯诺依曼 – 计算机之父
第一台冯诺依曼计算机 – EDVAC
冯诺依曼计算机的基本思想(核心思想):存储程序和程序控制的思想
- 存储程序:将解题步骤编制成程序,然后将程序和运行程序所需的数据以二进制的形式存放到存储器中。
- 程序控制:指计算机中的控制器逐条取出存储器中的指令并按顺序执行,控制各功能部件进行相应的操作,完成数据的加工处理。
冯诺依曼计算机的五大组成部分:
- 运算器
- 控制器
- 存储器
- 输入设备
- 输出设备
- 其中运算器和控制器合称为中央处理器(CPU)
- CPU加上存储器合称为主机
- 输入设备和输出设备合称为输入输出设备(外部设备)
冯诺依曼计算机的特点:
- 计算机由五大部件组成
- 指令和数据以同等地位存储于存储器,可按地址访问
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序(核心特点)
- 以运算器为中心
冯诺依曼计算机硬件框图:
以存储器为中心的计算机硬件框图:
现代计算机硬件框图:
- 运算器(ALU)
- 控制器(CU)
- 存储器(由主存和辅存组成)
- 输入设备
- 输出设备
其中运算器和控制器主存CPU,CPU和存储器组成主机,输入设备和输出设备为I/O设备,主机和I/O设备组成硬件系统。
系统复杂性管理的方法:
- 层次化:将被设计的系统划分成多个模块或子模块
- 模块化:有明确定义的功能和接口
- 规则性:模块更容易被复用
存储器
存储单元按某种顺序编号,每个存储单元对应一个编号,称为单元地址。
与存储器有关的部件有地址总线和数据总线,地址总线是单向的,数据总线是双向。
访问存储器的容量和对应地址线数量:
1K => 10 (1K = 2^10)
1M => 20 (1M = 2^20)
1G => 30 (1G = 2^30)
例如:
2G需要31条地址总线,2G = 1G * 2 = 2^(30+1)
CPU的地址总线数量与内存容量相关。
存储器的基本组成:
- 存储体的结构:
存储体 – 存储单元 – 存储元件(0或1)
存储体由一个一个存储单元组成,每个存储单元中存放的为数字1或0。
存储单元:存放一串二进制代码
存储字长:存储单元中二进制代码的位数
存储体按地址寻访 - MAR:存储器地址寄存器,反应存储单元的个数
保存存储单元的地址或存储单元的编号 - MDR:存储器数据寄存器,反应存储字长
保存了要送到CPU的数据,要保存到存储体的数据,从存储体取出的数据长度与存储单元长度相同。
设MAR为4位,MDR8位,存储单元的个数2^4 = 16个,存储字长8位。
MAR对应存储单元个数,MDR对应存储单元的长度。
运算器
运算器通常由算术逻辑单元(ALU)和一系列的寄存器组成
- ALU:完成算术与逻辑运算的部件
- 寄存器:用于存放运算器操作数
- 累加器(ACC):存放运算操作数,存放中间结果和最后结果(累加器是一个寄存器)
机器字长:运算器一次运算可以处理的二进制位数。寄存器、累加器以及存储单元的长度一般与机器字长相等。
运算器的基本组成:
指令:由操作码和地址码组成,操作码该指令做什么操作,地址码指操作数的存放地址。
控制器
控制器的功能:
解释指令(取指令、分析、执行、保存结果),保证指令的按序完成。
完成一条指令:
- 取指令:PC(程序计数器)存放当前要执行指令的地址,具有计数功能,当前要执行的指令取出后移动到下一条指令(PC+1 -> PC)
- 分析指令:IR存放当前要执行的指令
- 执行指令:CU控制器核心,控制单元,控制指令的执行
控制器的基本组成:
输入输出设备
模/数(A/D)转换器:模拟量转换成数字量
数/模(D/A)转换器:数字量转换成模拟量
总线(Bus)是连接两个或多个设备(部件)的公共信息通路,主要由数据线、地址线、控制线组成。CPU连接计算机中各主要部件的总线称为系统总线。
主机完成一条指令的过程(以取数指令为例):
1.3 计算机系统的层次结构
1.3.1 系统层次结构
其中,第三层为指令集架构层,是计算机软件系统和硬件系统之间的界面和纽带(分界线)
第1、2、3层是硬件层,是计算机系统的基础和核心
第4、5、6层是软件层
1.3.2 各层之间的关系
高层是低层功能的扩展,低层是高层的基础
机器指令系统和操作系统级的界面是软硬件交互界面
1.4 计算机性能指标和评价
1.4.1 基本性能指标
机器字长
机器字长:CPU一次能处理数据的位数,与CPU中寄存器的位数有关(通常与CPU中寄存器的位宽相等)。
存储单元的存储字长与CPU中寄存器相等
一般字长越长,机器性能越好。
字长一般以字节(Byte)为单位
字长对计算机性能的影响:
- 影响计算精度
- 影响数据的表示范围和精度,字长越长,可以表示的数据范围越大,精度越高
存储容量
存放二进制信息的总位数
主存容量:
主存容量是值主存能存储的最大信息量,一般M*N表示,M为存储单元数,也称字容量,N表示每个存储单元存储的二进制位数,也称位容量
主存容量采用单位的定义:
存储带宽:单位时间内与主存交换的二进制信息量,采用单位:B/s
总线带宽:数据总线一次能并行传送的最大信息位数
1.4.2 与时间相关的性能指标
CPU执行时间(CPU时间):
CPU真正花费在该程序上的时间,包括执行用户程序本书所花费的CPU时间(用户CPU时间)和为执行程序而花费在操作系统上的时间(系统CPU时间)。
主频:
CPU内核工作的时钟频率,CPU内数字脉冲信号振荡的速率。
时钟周期
计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。
时钟周期是时钟频率的倒数,也称为节拍周期,随CPU主频的提高,对应的时钟周期变短。
CPI
执行每条指令所需的平均时钟周期数
CPI即可表示每条指令执行所需的时钟周期数,也可以指一类指令或一段程序中所有指令执行所需的时钟周期数的平均值。
IC:总指令条数
m:程序执行所需的时钟周期数
T:时钟周期
f:频率
CPI = 程序中所有指令的时钟周期数之和 / 指令总数 = m / IC
对于某一程序:
某一程序的CPI:
CPU时间
IPC
每个时钟周期CPU能执行的指令条数,CPI的倒数
MIPS
每秒百万条指令,每秒可以执行的指令条数,以百万为单位。
计算机性能与指令的CPI和主频有直接关系,主频越高,MIPS越高;CPI越小,MIPS越高。
MFLOPS
计算机每秒执行浮点运算的次数
2MFLOPS:每秒浮点运算200万次