适用计算机组成原理——唐朔飞(第二版)
自己的学习笔记,王道,天勤,PPT及图片来源网络,侵删。
计算机组成原理第一章
第一章 计算机系统概述
1.1计算机发展历史
大纲中已删除,省略。
1.2 计算机系统层次结构
1.2.1 计算机系统的组成
计算机系统 = 硬件系统 + 软件系统
硬件限制了上限,软件限制了下限。软硬件在逻辑上是等效的,一般硬件的效果较好,但是成本较高,软件则相反。
1.2.2 计算机硬件的基本组成
实线是数据线,虚线是控制线与反馈线
1 )冯·诺依曼机
- 计算机由五大部件组成,运算器、存储器、控制器、输入设备和输出设备
- 指令和数据以同等地位存储于存储器中,可按地址寻访
- 指令和数据用二进制代码表示
- 指令由操作码和地址码组成
- 指令在存储器内按顺序存放
- 以运算器为中心
2 )现代计算机
- 以存储器为核心
- 运算器与控制器被集成为CPU
- 主存就是内存是主机的一部分,辅存是硬盘,是I/O设备的一部分。
- 主存+CPU=主机,与平常的台式主机的含义不同
现代计算机的功能部件
1) 存储器
- 存储体 :存储体中存放了二进制的信息,相当于仓库
- MAR :地址寄存器,在交给它地址之后,他会在存储体中找到所需的信息,然后交给MDR。
- MDR :数据寄存器,存储了MAR交给它的数据,之后指令寄存器IR就可以从MDR出取得要找的数据。
- 存储元件 :存储了一位二进制代码的物理原件
- 存储单元 :若干个存储元件就构成了一个存储单元
- 主存储器 :许多的存储单元就构成了一个主存储器
- 存储字 :存储单元存储了一串二进制代码,这一串二进制代码就被称为存储字,这里的字与字节没有关系,字的大小只与这串二进制代码的位数有关。
- 存储字长:存储字的位数,一个二进制位为1bit,1B(一字节)= 8 bit,1b=1bit。
- MAR用于寻址,MAR的位数就代表着存储体中存储单元的个数,为位数的二次幂,MAR是10位则存储体有210=1024个存储单元。
- MDR用于存放数据,MDR的位数取决于存储字长,两者相等。
- 8位计算机以16位表示地址是指:8位是存储字长,MDR就等于8位,16位是MAR的位数。
2)运算器
- ALU:算数逻辑单元,运算器的核心
- ACC:累加器,存放操作数或者运算结果
- MQ : 乘商寄存器,在进行乘除操作时存放操作数或运算结果
- X :通用寄存器,用于存放操作数。
3 )控制器
- CU :控制单元,控制器的核心,分析操作码OP,控制要进行的操作
- IR :指令寄存器,存放当前指令,内容来自MDR,指令中的操作码OP送至CU,将地址码送入MAR取数据。
- PC:程序计数器,存放当前欲执行指令的地址,可自动加一形成下一条指令的地址。
1.2.3 计算机软件的分类
系统软件 :计算机的基础软件,不可或缺
用户软件:用户为了某个目的而编制的程序
三个级别的语言
- 机器语言 :二进制代码语言,计算机唯一可以直接识别与执行的语言
- 汇编语言 :利用单词代替二进制的指令代码,便于记忆,汇编语言经过汇编程序(系统软件)的翻译,成为机器语言
- 高级语言 :C、JAVA等,经过编译程序编译成为汇编语言,汇编语言经过汇编操作得到机器语言,或直接由高级语言翻译成机器语言
1.2.4 计算机的工作过程
1)源程序的执行过程
翻译的过程类似于同声传译,每一次执行都要重新开始,编译的过程是写下来,会形成可执行文件,不需要每一次都重新执行。
2)指令的执行过程
取指令 :
- 一开始PC=0指向第一条指令的位置,PC存放了当前欲执行指令的位置。
- PC把地址0交给了地址寄存器MAR。
- MAR根据地址在0的存储单元中取出指令,交给了数据寄存器MDR
- MDR将指令交给了指令寄存器IR
分析指令
- IR将操作码交给了控制单元CU,将地址码交给了地址寄存器MAR
- CU经过分析可知000001对应着“取数”指令
执行指令
- MAR根据地址码将对应的数据放入MDR中
- MDR将数据放入累加器ACC中
地址为0的存储单元中的指令执行结束,程序计数器PC自动+1。
乘法:在执行地址为1的存储单元的中的乘法指令时,MDR把乘数放入乘商寄存器MQ中,这时ACC把被乘数放入通用寄存器X中,控制单元CU通知算术逻辑单元ALU进行乘法操作,并将结果放入ACC中。
加法:在执行地址为2的存储单元的中的加法指令时,ACC中存放了被加数,MDR把加数放入通用寄存器X中,控制单元CU通知算术逻辑单元ALU进行加法操作,并将结果放入ACC中。
存数:在执行地址为3的存储单元的中的存数指令时,CU经过分析操作码了解到这是一个存数的指令,CU控制IR将地址码交给地址寄存器MAR,控制ACC将要存放的数据交给MDR,于是主存储器就会根据MAR提供的地址,将MDR中的数据存入对应的存储单元。
停机 :在执行地址为4的存储单元的中的停机指令时,CU经过分析操作码了解到这是一个停机的指令,之后进行系统调用(这不再是与此程序相关的内容),程序结束。
- (PC)表示程序计数器PC中存放的内容
- (PC)➡MAR表示PC中的值经过数据通路送到MAR,记作PC➡MAR也可以,最好带括号。
- (PC)+1➡PC,此时运算时括号不可以省略。
1.2.5 计算机系统的多级层次结构
层次之间的关系紧密,下层是上层的基础,上层是下层的扩展。
1.3 计算机的性能指标
1.3.1 计算机的主要性能指标
1、机器字长:机器字长是指计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数。
2、数据通路带宽:数据通路带宽是指数据总线一次所能并行传送信息的位数。
3、主存容量主存容量是指主存储器所能存储信息的最大容量,通常以字节来衡量,也可用容量=字数✖字长来表示存储容量。其中,MAR的位数反映存储单元的个数,MAR的位数反映可寻址范围的最大值。
4、运算速度:
-
吞吐量和响应时间 :吞吐量是指系统在单位时间内处理请求的数量。响应时间是指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。
-
主频和CPU时钟周期
CPU时钟周期通常为节拍脉冲或T周期,即主频的倒数,它是CPU中最小的时间单位,即执行一次指令所需时间。主频(CPU时钟频率)指CPU脉冲信号震荡的频率,指一秒执行多少次指令。
注意:CPU时钟周期=1/主频,主频通常以Hz(赫兹)为单位,1Hz表示每秒1次 -
CPI:执行一条指令所需的时钟周期数,CPI一般是一个平均值
-
CPU执行时间:指运行一个程序所花费的时间
CPU执行时间=CPU时钟周期数/主频=(指令条数✖CPI)/主频
-
IPS:即每秒执行多少条指令,有MIPS每秒执行多少百万条指令。
IPS=主频/CPI
-
FLOPS:每秒执行多少次浮点数运算。有MFLOPS( FLOPS/106)、 GFLOPS( FLOPS/106)、 TFLOPS( FLOPS/106)、 PFLOPS( FLOPS/106)等
5、基准程序 :跑分软件。
注意 :
- 在指容量大小时,K、G、M、T,分别表示210、220、230、240
- 指速率和主频时,k(小写)、G、M、T,分别表示103、106、109、1012