文章目录
课程笔记导览
附录:英语解释
第一章 概述
1.0 计算机系统简介课程简介(p1)
讲授内容
特色
课程内容组织
1.1 计算机系统简介
计算机的组成及软硬件概念
计算机系统的层次结构
计算机组成与计算机体系结构从研究内容上来说的区别
1.2 计算机的基本组成
冯·诺依曼计算机的特点
计算机硬件框图
计算机的工作步骤
存储器的基本组成
运算器的结构基本组成和工作过程
加法操作
减法操作
乘法操作
除法操作
控制器的结构基本组成和工作过程
主机完成一条指令的过程
程序的运行过程
1.3 计算机硬件的主要技术指标
机器字长:
运算速度:
存储容量:
课程笔记导览
计算机组成原理学习笔记(1):概述
计算机组成原理学习笔记(2):发展
计算机组成原理学习笔记(3):总线
计算机组成原理学习笔记(4):存储器
计算机组成原理学习笔记(5):I/O
计算机组成原理学习笔记(6):数字
计算机组成原理学习笔记(7):指令系统
计算机组成原理学习笔记(8):CPU的结构和功能
计算机组成原理学习笔记(9):控制单元的功能
计算机组成原理学习笔记(10):控制单元的设计
附录:英语解释
CPU——Central Processing Unit,中央处理机(器)
PC——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器
IR——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器
CU——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件
ALU——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件
ACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器
MQ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器
X——此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数
MAR——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器
MDR——Memory Data Register,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器
I/O——Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送
MIPS——Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位
第一章 概述
1.0 计算机系统简介课程简介(p1)
讲授内容
基本部件的结构和组织方式
基本运算的操作原理
基本部件和单元的设计思想
特色
特色
·计算机组成的一般原理,不以具体机型为依托
·采用自顶向下的方式、层层细化
课程内容组织
1.1 计算机系统简介
现代计算机的多态性,种类较多,较为复杂
计算机的组成及软硬件概念
计算机系统组成
硬件:计算机的实体,算|如主机、外设等机系统
软件:由具有各类特殊功能的信息(程序)组成
软件
系统软件:用来管理整个计算机系统
语言处理程序(高级语言编译)
操作系统(管理软硬件资源,提供人机交互,协调执行)
服务型程序(库)
数据库管理系统
网络软件
应用软件:按任务需要编制成的各种程序
计算机系统的层次结构
软硬件层次结构
计算机组成与计算机体系结构从研究内容上来说的区别
计算机组成:
实现计算机体系结构所体现的属性
(具体指令的实现)
计算机体系结构:
机器语言程序员所见到的计算机系统的属性(所编写程序能正确执行所必须了解的计算机属性,一般指指令集、寄存器文件的组织、内存的编址单位、指令集能都对那些数据类型进行操作。这些统称为数据表示),概念性的结构与功能特性
(指令系统、数据类型、寻址技术、l/o机理)
定义软硬件的交界面,定义具体那些功能由软件实现,那些功能由硬件实现,上层软件编写和硬件交互的接口
举个例子
计算机组成:
如何实现乘法指令(逻辑实现)
计算机体系结构:
规定和定义的内容有无乘法指令,对什么类型的数据进行乘法操作,数据长度是多长
1.2 计算机的基本组成
冯·诺依曼计算机的特点
五大组成部分
输入设备(将信息转换成机器能识别的形式)
输出设备(将结果转换成人们熟悉的形式)
运算器(核心)(算术运算、逻辑运算)
控制器(指挥控制程序运行)
存储器(存放程序和数据)
指令和数据以同等地位存于存储器,可按地址寻访
指令和数据用二进制表示
指令由操作码(所做操作)和地址码(所存地址)组成
存储程序
以运算器为中心
计算机硬件框图
以运算器为核心的结构容易因为运算器工作量巨大繁忙成为瓶颈,且不具有层次化的特征
改进第一步:以存储器为核心
改进第二步:提高层次化
系统复杂性管理的方法(3’Y)
层次化(Hierachy):将被设计的系统划分为多个模块或子模块
模块化(Modularity):有明确定义(well-defined)的功能和接口
规则性(regularity):模块更容易被重用
计算机的工作步骤
1.上机前的准备
建立数学模型
确定计算方法
编制解题程序(运算的全部步骤)
存储器的基本组成
存储体 - 存储单元 - 存储元件(0/1)
大楼 - 房间 - 床位(无人/有人)
存储单元:存放一串二进制代码(每个存储单元赋予一个地址)
存储字:存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
按地址寻找
MAR(Memory Address Register,存储地址寄存器)反映存储单元的个数,保存存储单元的地址或者编号,MAR的位数与存储单元的个数有关
MDR(Memory Data Register,存储数据寄存器)保存了要存入存储体中或刚从存储体中取出来的数据,MDR长度和存储单元的长度相同
举个例子
MAR = 4位
MDR = 8位
==>存储单元个数16个
==>存储字长8位
运算器的结构基本组成和工作过程
ALU——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件;
ACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器;
MQ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
加法操作
指令包含两部分:第一部分加法指令,第二部分内存中加数的地址M
初始状态中被加数已经存放在ACC里面(之前先要有一条指令把数据输入到ACC当中)加数放置在X中
加法操作使用ALU实现,结果保存在ACC当中
方括号表示地址[ ⋅ ] [\cdot][⋅]的内容
减法操作
指令包含两部分:第一部分减法指令,第二部分内存中减数的地址M
初始状态中被减数已经存放在ACC里面(之前先要有一条指令把数据输入到ACC当中)减数放置在X中
减法法操作使用ALU实现,结果保存在ACC当中
乘法操作
指令包含两部分:第一部分乘法指令,第二部分内存中乘数的地址M
初始状态中被乘数已经存放在ACC里面(之前先要有一条指令把数据输入到ACC当中)乘数放置在X中
操作1234顺序是有控制器控制的,12可同时进行或交换顺序
双斜线表示位连接
除法操作
指令包含两部分:第一部分除法指令,第二部分内存中除数的地址M
初始状态中被除数已经存放在ACC里面(之前先要有一条指令把数据输入到ACC当中)除数放置在X中
商放入MQ 余数放入ACC
控制器的结构基本组成和工作过程
PC——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器;
IR——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器;
CU——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,控制信号由此发出,为控制器的核心部件;
功能
解释指令
保证指令的按序执行
完成一条指令
取指令:PC存放当前欲执行指令的地址,具有计数功能,执行完后(PC)+step一PC
分析指令:IR存放当前欲执行的指令
执行指令:CU()
主机完成一条指令的过程
以取数指令为例
取指令
1、PC中存储的地址送入MAR
2、MAR根据地址寻找存储体中的存储位置
3、找到的指令数据送入MDR
4、MDR将缓存的指令数据送入IR
分析指令
5、IR中的指令操作码送入CU,经过译码以后
在CU中完成
执行指令
6、在控制器的控制之下,将指令中的取数所需地址从IR送入MAR
7、MAR根据地址寻找存储体中的存储位置
8、找到的数据送入MDR
9、MDR将缓存的数据送入ACC
以存数指令为例
取指令
1、PC中存储的地址送入MAR
2、MAR根据地址寻找存储体中的存储位置
3、找到的指令数据送入MDR
4、MDR将缓存的指令数据送入IR
分析指令
5、IR中的指令操作码送入CU,经过译码以后
在CU中完成
执行指令
6、在控制器的控制之下,将指令中存数的地址从IR送入MAR
7、MAR根据地址寻找存储体中的存储位置
8、将ACC的数据送入MDR
9、MDR将缓存的数据送入存储体
程序的运行过程
将程序通过输入设备送至计算机
程序首地址->PC
启动程序运行
取指令PC->MAR->M->MDR->IR,(PC)+1->PC
分析指令OP(IR)->CU操作码给CU
执行指令Ad(IR)->MAR->M->MDR->ACC地址码给MAR
。。。
停机
1.3 计算机硬件的主要技术指标
机器字长:
CPU一次能处理数据的位数与CPU中的寄存器位数有关
运算速度:
主频
核数:每个核支持的线程数
吉普森法:T M = ∑ i = 1 n f i t i T_{\mathrm{M}}=\sum_{i=1}^{n} f_{i} t_{i}TM=∑i=1nfiti(对指令出现频率加权平均)
CPI:执行一条指令所需时钟周期数
IPC:一个时钟周期数所执行指令数
MIPS 每秒执行百万条指令
FLOPS每秒浮点运算次数
存储容量:
存放二进制信息的总位数