软件设计师21-计算机体系结构

  1. 云栖社区>
  2. 博客>
  3. 正文

软件设计师21-计算机体系结构

阿墨呦 2018-11-01 22:36:59 浏览520
展开阅读全文

机内代码及运算

1 数的进制

十进制:0-9 如:(123)D 、(123)10
二进制:0 1,如:(1001)B、(1001)2
八进制: 0-7,如:(301)O
十六进制:0-9 A-F,如:(19E)H、(19E)16
进制的转换
1 十进制转2进制 ,除2取余法(图)
2 二进制转十进制,按权展开求和(图)

2 原码、反码、补码、移码

1 最高位表示符号位(8位):取值范围-128--+127(无符号位则:0-255)
2 正数原码、反码、补码、移码=补码符号位取反
3 负数反码为符号位以外,其余各位按位取反;补码=反码+1;移码=补码符号位取反
[[x]]=[x]

3 定点数

1 定点数分为定点小数(纯小数)和定点整数

浮点数

N=M*Re

  • 1 M称为尾数,R称为基数,e为阶码(指数)
  • 2 规格化浮点数:加大阶码,使小数点左侧仅有一位
4 校验码

1 码距:任意两个合法的编码之间二进制位数
码距越小,抗错误性能力越低
2 编码效率:合法码字占所有码字的比率

3 奇偶校验

1 奇校验:被传输有效数据“1”的个数为奇数个,校验位填“0”,否则填“1”
2 偶校验:为偶数个,校验位填0,反之如上
3 缺点:无法判断哪位错误,无法检验多位错误
4 使用:串口通信中

4 海明码
  • 1 奇偶校验的扩充,多位校验码
  • 2 当出现两位错误,仅能查询;一位错误,可纠正
  • 3 可查错误位数:<=码距-1;可纠错误位数:<码距/2
  • 4 原理:数据中加入几个校验码,码距均匀拉大,某一位出错,引起若干校验位变化
  • 5 海明不等式
    2k-1>=m+k

k为校验码个数,可表示2k种信息,除一个全对外,还有 2k-1个,若2k-1>=m+k(m+k为编码后的长度),理论上就可以判断出错位

  • 6 海明码的编码规则
    1)校验位依次放在第2i位(i=0,1,2...),其余位为信息位。

2)信息位的位数为参与校验它的校验位的位数之和(如:7=4+2+1)
3)校验位为参与组成它的信息位从左到右相亦或(不同为真,相同为假)

5 循环冗余校验码 CRC

1 广泛在网络通信和磁盘存储时使用
2 生成多项式:多项式最高位n次幂,转换为2进制有n+1位
3 编码组成:R位的校验码连接在k位信息码之后
4 CRC生成

  • 1 根据多项式将信息码左移n位(R位),补0
  • 2 将移位后的信息码与生成多项式产生的二进制进行模2运算(异或)
  • 3 将2的余数作为校验码嵌入信息位左移后的空间

5 CRC的纠错能力取决于K和R

  • K>>R,提高编码效率,此时仅检错
  • 一般来说,R位生成多项式可检测出所有双错、奇数位错和突发错位小于或等于R的突发错误

中央处理器

计算器硬件组成:控制器、运算器、存储器、输入设备、输出设备

  • 1 运算器
    算术逻辑单元/ALU,对数据进行算术运算(+ -...)和逻辑运算(与或...)

1)加法器/累加器:专门存放算数或逻辑运算的操作数运算结果的寄存器。
2)程序状态计数器:存放状态信息和控制信息

  • 2 控制器
    分析和执行指令

1)指令寄存器:保存当前正执行的指令
2)指令译码器:分析指令操作码作用(如1+2中的加)
3)程序计数器:存放下一条指令的地址
4)定时与控制电路
5)堆栈和堆栈指针

  • 3 计算机的分类
    Flynn、冯式分类法

1)Flynn:根据指令流、数据流、多倍性分类

输入输出控制方式

1)程序I/O控制方式(已淘汰)

又称程序查询方式
应用于早期无中断计算机,采用忙等方式(空闲让进,忙则等待)

2)中断控制方式(中低速,如打印机)

空闲让进,忙则等待,让权等待,每次中断仅传输一个字符

3)直接存储器访问DMA方式(目前常用)

数据传输的基本单位:数据块(若干字节)
数据由设备直接送入内存
提高了CPU与I/O设备的并行操作程度

4)I/O通道控制方式(大型设备)

1 I/O通道是一种特殊的处理机
2  I/O通道指令类型单一(只能执行I/O指令,控制I/O操作),不需要CPU参与
   I/O通道没有自己的内存,与CPU共享
3 I/O通道类型:
    字节多路通道
    数组选择通道
    数组多路通道

流水线技术

  • 1 概念:在程序执行时,多条指令重叠进行操作的一种任务分解技术(比如我边让洗衣机洗衣服边写作业)
  • 2 计算执行时间
    将任务分为N个子任务,每个子任务需要t时间,则完成需要N x t

1)传统完成k个任务:kNT
2)采用流水线技术:Nt+(k-1)t
3)若每个子任务所需时间不同,则时间((k-1)t)取决于执行顺序中最慢的那一个

  • 3 流水线的吞吐率
    单位时间内流水线所完成的任务数量或输出的结果数

TP=n/Tk
1ns=10-9s
n为任务数,Tk为处理完成n个任务所需的时间

  • 4 加速比
    不采用流水线的执行时间/采用流水线的时间
  • 5 影响流水线的主要因素
    1)转移指令:(go to)前面指令执行完成前,流水线无法确定下一条指令地址,出现流水线断流

2)共享资源访问的冲突:后一条指令需要使用的数据与前一条指令发生冲突,或相邻两条指令用了相同的寄存器
3)响应中断:有中断请求时,流水线会停止。响应方式:
精确断点法:立即响应中断
不精确断点法:流水线中的指令继续执行,但不再添加新指令

指令系统

  • 1 概念:计算机所能执行的全部指令的集合,描述了计算机内部的控制信息和“逻辑判断能力”
  • 2 一条指令:操作码和地址码/操作数
  • 3 类型:
    1)立即寻址:地址码为一个数(为1+2中的1)

2)直接寻址:地址码为一个地址,要根据此地址去内存中寻址
3)间接寻址:地址码为一个地址,根据地址码中的地址去取这个数
4)寄存器寻址:地址码为寄存器地址,寄存器速度快于内存
5)寄存器间接寻址:地址码为寄存器地址,根据寄存器地址去找出数

  • 4 CISC与RISC
    CISC:复杂指令集计算机

1)指令数量多,无则添加,数量庞大
2)指令使用频率相差悬殊,80%的时候只使用20%的指令
3)支持很多寻址方式
4)变长的指令,指令长度不固定
5)指令可对存储器单元中数据直接进行处理
RISC:精简指令集计算机,对指令数目和寻址方式做精简,指令的指令周期相同,采用流水线技术
1)指令数量少,仅选频率高的,若干条完成没有的复杂指令
2)指令的寻址方式少,如寄存器寻址(较快)
3)指令长度固定,格式种类少
4)只提供了Load/Store指令访问存储器,其余操作在寄存器完成
5)以硬布线逻辑控制为主,提高了执行速度
6)单周期指令执行
7)优化的编译器:使编译工作简单化

网友评论

登录后评论
0/500
评论
阿墨呦
+ 关注