计算机组成和体系结构 (上午6分)
01计算机组成和体系结构前言
1、数据的表示(进制的转换(1)在计算机存储体系中,用多少块芯片做成多大的存储空间(2)网络方面,计算IP地址子网掩码数据)
往往是为后面的知识做铺垫,直接考察到的 源码,反码,补码,移码,浮点运算
2、计算机结构考察比较多的 寄存器如何划分的问题,哪些寄存器是放在运算器里面,哪些是控制器的寄存器,要区分开
常见的寄存器 基本的特性是什么,用途
3、Flynn分类法 对计算机进行分类的方法,把计算机分为4大类,实际中只有几种,很多还在理论阶段
4、CISC与RISC 两种指令集特点区分开
5、流水线技术 计算方面问题
6、存储系统 概念和计算方面问题掌握
7、总线系统 最基础的总线的分类和概念
8、可靠性 串联,并联的可靠性计算,串并混合的情况
9、校验码 了解校验码作用,常见的校验码有哪几种,特点,运算过程,编码解码过程是什么样的。 海明码
02数据的表示 (二进制)
1、不同进制之间的转换问题
任何进制转十进制(按权展开法)
十进制转二进制(短除法)逆序排上去
十进制转任意进制就除以几
二进制转8进制或16进制,从右到左,左边不足补0
八进制:每三个二进制位对应一个八进制位
10 001 110
2 1 6
十六进制:每四个二进制位对应一个十六进制位
1000 1110
8 E
十六进制从10开始表示A ,11表示B 依次
03原码反码补码移码
计算机中所用到的几种编码包括 原码,反码,补码,移码
原码
原码:一个数表达为二进制的表达形式,(确定用多少位来存数据)如果是一个字节=8byte,也就是8位,二进制的首位补0即可
最高位是符号位 正数,符号位为0;负数,符号位为1
+1 0000 0001 ; -1 1000 0001
原码的编码方式不能在机器里面直接运算,因此产生其他的编码方式
反码
正数和原码一样,负数 符号位保持不变,其余 按位取反。(如果是0,按位取反后则为1)
补码
正数和原码一样,负数的补码在原来反码基础上+1
移码
在补码的基础上,首位(符号位)取反
数值表示范围
举例 0
+0 | -0 | 取值范围(n=8) | |
---|---|---|---|
原码 | 0000 0000 | 1000 0000 | -127~127 |
反码 | 0000 0000 | 1111 1111 | -127~127 |
补码 | 0000 0000 | 0000 0000 | -128~127 |
负数 补码是在反码的基础上加1
补码的+0 和-0 编码方式一样,因此会比原码和反码取值范围多1
04浮点数运算
浮点数表示(科学计数法的表示方式)选择题考查浮点数格式是否正确
N=M*R^e (M尾数,R基数,e指数)
1000=1.0*10^3
1190=1.19*10^3
两数相加,首先对阶----尾数计算----结果格式化
05CPU结构(运算器与控制器的组成)
整个计算机的组成就是主机加外设
主机包括CPU 和主存储器(内存),硬盘,声卡显卡都是外设
运算器ALU ,基本工作是运算职能;
控制器,控制部件相关的运作,控制整个CPU的交互
计算机结构主机的组成结构
运算器
(1)算术逻辑单元ALU。跟运算相关
(2)累加寄存器AC。通用的寄存器,运算过程中存一些相应的值,加减法都能用
(3)数据缓存寄存器,是对内存储器进行读写操作的时候用来暂存数据的寄存器
(4)状态条件寄存器PSW,是用来存储在运算过程中相关的标志位的,标志位就是有的运算会溢出,中断等,涉及到的状态信息需要保存,会存在psw里面
控制器
(1)程序计数器PC,是运行指令时,要了解下一个指令在哪个位置。顺序执行,原地址上+1,涉及到跳转,家的幅度大点
(2)指令寄存器IR,运行指令的时候需要调取一些内容,所以需要控制器
(3)指令译码器,调取指令相关的
(4)时序部件
06Flynn分类法简介
两个指标:指令流和数据流
(1)单单,老式机子
(2)主要考察阵列处理机。
(3)多指令流单数据流是一种理论阶段的。
(4)多处理器现在很常见了
07CISC和RISC(考察较多)
考法:考察基本一种形式,给出CISC和RISC的描述,判断说法正确与否。或者问以下哪个是CISC和RISC的特点。
掌握两种指令类型的区别指教
CISC
以前(计算机还没有大规模通用化的时候)提出来的一种比较常用的指令系统。
从硬件到指令系统都是定制的,专门处理某个业务处理,根据业务需要的运算能力来设计,需要哪项业务处理就给设计哪些指令,在指令基础上编程。
为什么CISC系统是四大指令系统?
这种指令系统会根据不同的用户做不同的指令,指令数量相当多。计算机发展中,当时用作专用设备。
RISC
精简指令集(降低指令数量)为了提升效率,大多操作都是针对寄存器操作,寄存器操作极快。
硬件设计出来比较复杂,但一旦设计出来实现同样的功能比软件更高效
08 流水线的基本概念
(每一次考试都有,主要考计算部分)
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,他们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
执行一条指令过程
—取指–分析—执行
09 流水线周期及流水线执行时间计算
(1)流水线周期为执行时间最长的一段
(2)流水线计算公式为:
1条指令执行时间+(指令条数-1)*流水线周期
理论公式 (t1+t2+t3+…tk)+(n-1)*<>t
实践公式 (k+n-1)*<>t
示例
若指令流水线把一条指令分为取指,分析和执行三部分,且三部分的时间分别是取指2ns,分析2ns,执行1ns。那么流水线周期是多少?
100条指令全部执行完毕需要的时间是多少?
周期2ns
理论上(2+2+1)+(100-1) *2=203
实践 (3+100-1)*2=204
10流水线吞吐率计算
流水线吞吐率:单位时间内所完成的任务数量或者输出的结果数量
吞吐率公式: TP=指令条数/流水线执行时间
流水线最大吞吐率:
<>t 为周期时间
11流水线加速比计算
完成同一批任务,不使用流水线所用时间与使用流水线所用时间之比 称为流水线的加速比
基本公式: S=不使用流水线执行时间/使用流水线执行时间
加速比是越高越好!!