计算机组成原理学习1笔记1
计算机系统简介
硬件体系
讲授内容:计算机、组织(组成:计算机硬件系统的逻辑实现——数字电路、数字逻辑)、原理(不依托机器)
基本内容
基本部件的结构与组织方式
基本运算的操作原理
基本部件与基本单元的设计思想,如何将部件连接起来
特色
计算机组成的一般原理,不易具体机型为依托
采用自顶而下的方式、层层细化
教材:唐硕飞-计算机组成原理(第二版),学习指导与习题解答
参考教材:Patterson\Hennessy-计算机组成与设计:硬/软件接口;数字设计和计算机体系结构(共有两部分,实现处理器)
计算机组成原理是连接软硬件的中间层
课程组织
1、概论
2、计算机系统硬件结构 存储器、IO、CPU、系统总线
3、CPU(ALU、CU、寄存器)
4、CU(排队逻辑、寄存器解码器、控制存储器)
第一章 计算机系统概论
物联网:将传感器嵌入到各设备之中,并且被普遍连接,即“物联网”,+“互联网”=人类社会与物理系统的整合。
超算:HPC(higher performance computer) TF(千万亿次)
1.1计算机软硬件概念
计算机系统:硬件(实体)、软件(具有各类特殊功能的信息组成)
层次结构——软件:系统软件(管理整个计算机系统;语言处理程序,操作系统,服务性程序(数学库),数据库管理系统)、应用软件(按任务需要编织成的各种程序)
高级语言--汇编语言--机器语言-||软硬件分界线||-微指令解释机器指令--硬件执行微指令
计算机组成与计算机体系结构区别:实现计算机体系结构所体现的属性(具体指令实现);系统结构定义了软硬件交界面,程序员所见到的计算机系统属性(指令 系统、数据类型、寻址技术、IO机理)
1.2计算机的基本组成
冯诺依曼计算机(存储程序型计算机)特点
五大组成部分:运算器、控制器、存储器、输入设备、输出设备
指令和数据以同等地位保存在存储器中,咳咳按地址寻访
指令和数据二进制表示(为什么?)
指令有操作码和地址码
存储程序
以运算器为中心
冯诺依曼计算机硬件框图 (实线:数据;虚线:控制)
存在问题:以运算器为核心(瓶颈)
改进:
1.以存储器为中心
可以用层次化的设计思想
改进:层次化(按层次划分模块)、模块化(要能够组装在一起,有明确定义的功能和接口方便组装)、规则性(是模块更容易被重用,对模块规范化),也称3Y法则
可计算理论:可计算性问题,不可计算问题(图灵机停机问题)
建立数学模型(eg sin(x)) 、确定计算方法(泰勒展开,精度确认)
指令和数据都是保存在存储器中(存储器结构,如何访问存储器)
存储器结构
1.存储器的基本组成:存储体-存储单元(二进制代码)-存储字(单元中二进制代码集合)-存储字长(存储单元中二进制代码的位数,每个存储单元赋予一个地址号;按地址寻访)-存储元件;
MAR-存储器地址寄存器,反应存储单元个数
MDR-存储器数据寄存器,反应存储字长
存储体存储01代码
每个存储单元里存储的01个数称为存储字长
假设MAR4位,从0000到1111,说明一共有16个存储单元
MDR8位,说明每个存储字字长是8位
运算器
假设程序已经保存为二进制代码,可按地址寻访
假设模型机有三个寄存器:累加器、
结构与功能(完成运算)
ALU,组合电路,特点是输入结果撤销,那么输出也撤销;因此要在其输入端加上寄存器(保存参与运算的数据;ACC,X数据寄存器);乘法中产生的结果长度是操作数的两倍(为什么),因此要加另一个寄存器
加法操作
memory
减法操作
乘法操作
乘法操作移位,这些操作总体上有先后顺序(由控制器控制)
除法操作
可以看出,MQ仅用于乘除,所以MQ寄存器又叫做,乘商寄存器
控制器
功能:解释指令,保证指令按序进行
完成一条指令:取指令、分析指令、执行指令
取指令:PC(程序计数器) 存放当前欲执行指令的地址,具备计数功能(PC)+1 -->PC(自动调整)
分析指令:IR(指令寄存器)存放当前欲执行的指令
执行指令:CU(控制单元)
运算器、控制器、存储器构成了主机
主机上一条指令的执行过程
以取数指令为例:
一、取指令
1.PC把指定地址送给MAR
2.MAR再送给存储体
3.控制器控制下,存储体把指定存储单元中保存的取数指令取出来,送入MDR
4.把指令送给IR
二、分析指令
5.把寄存器中的操作码送给CU进行执行,把M中的数据取到ACC中;把地址部分送给存储器,以便从存储体中取数据
三、IR开始(保存了当前指令,当前指令地址、当前指令操作数的地址),地址吗部分从把地址送给MAR,MAR 把地址送给存储体,在控制器的作用下,从存储体中把数取出,存入MDR,再送入ACC
OP 操作码;Ad地址码;连打印也得经过取指令、分析指令、执行指令的过程
课后练习:
将乘法、除法指令的运行过程按照上述计算机结构表述出来
1.3计算机硬件的主要技术指标
1.机器字长,CPU一次能够处理数据的位数,(CPU可以对两个8位数做加法结果依旧是8位,那么这个CPU一次可以处理的数据位数是8位,不是24位;机器字长和CPU的寄存器位数相等的;为了简化问题,存储器字长也是这样——仅限于当前假设的模型机)
一般来说,机器字长越长,性能越好;
2.运算速度
主频
核数,每个核支持的线程数
吉布森法(指令执行速度),以使用频率做权重来做加权平均
CPI 执行一条指令所需的时钟周期
MIPS 每秒执行百万条指令
FLOPS 美妙浮点运算次数
3.存储容量(主存容量、辅存容量)
存放二进制信息总位数