目录
第一章计算机系统基础知识
1、逻辑运算
2、数的表示
3、总线系统
5、流水线
6、存储器
7、可靠性、校验码
第一章计算机系统基础知识
1、逻辑运算
与:有0则0,全1才1
或:有1则1,全0才0
异或:相同为0,不同为1
例1:内存按字节编址从A5000H到DCFFFH区域其内存容量为?
解:DCFFFH-A5000H+1
=DCFFFH+1-A5000H
=DD000H-A5000H
=38000H=3*16^4+8*16^3
=3*2^16+8*2^12=(192+32)*2^10=224k
例2:内存按字节编址,地址从90000H到CFFFFH,若用存储容量为16K*8bit的存储器芯片构成该内存,至少需要多少片?
技巧:总片数=总容量/每片容量
解:CFFFFH-90000H+1
=D0000H-90000H
=40000H ———>需要转换成十进制
=4*16^4
=4*2^16
=4*2^6K
2、数的表示
(+1) (-1) (+1)+(-1)
原码: 0000 0001 1000 0001 1000 0010
反码: 0000 0001 1111 1110 1111 1111
补码: 0000 0001 1111 1111 0000 0000
移码: 1000 0001 0111 1111 1000 0000
计算机的基本组成
运算器
- 算术逻辑单元ALU:数据的算术运算和逻辑运算
- 累加寄存器AC:为ALU提供一个工作区,暂存数据
- 数据缓冲寄存器DR:写内存时,暂存指令或数据
- 状态条件寄存器PSW:存状态标志与控制标志
控制器
- 程序计数器PC:存储下一条要执行的指令地址
- 指令寄存器IR:存储即将执行的指令
- 指令译码器ID:对指令进行分析
- 时序部件:提供时序控制信号指令中的操作码字段
3、总线系统
性能指标:带宽B/s=位宽bit×工作频率 1/s
一条总线同一时刻仅允许一发多收
- 数据总线:在CPU与RAM之间来回传送需要处理/存储的数据 双向传送 CPU ⟷ RAM
- 地址总线:用来指定RAM中存储数据的地址 单向传送 CPU → RAM
- 控制总线:将微处理器控制单元信号传送到周边 双向传送 CPU ⟷ 外设
例3):总线宽度为32bit,时钟频率为200MHz,若总线上每5个时钟周期传送一个32bit的字,则该总线宽度为多少MB/s?
解: 带宽B/s=位宽bit×工作频率 1/s
带宽=数据总量(bit)/总时间(s)
t=1/f =1/200M (时间=频率的的倒数
4、寻址方式
最大的寻址空间范围(假设OP为13位,操作数最多19位,范围219=512KB
指令系统采用不同的寻址方式的目的是:扩大寻址空间,提高编程的灵活性
1)立即寻址:
MOV R1,#40H(立即寻址指令,存入R1计算器中
操作数直接在指令中,速度快灵活性差
2)直接寻址:
指令中存放操作数的地址
3)间接寻址:
操作数中放的是指向操作数地址的指针
4)寄存器寻址:
例:R0中存放MOV R0,#40H
在R1中 MOV R1,R0
5)寄存器间接寻址
在寄存器中存放操作数的地址
5、流水线
多指令重叠进行操作的一种准并行处理实现技术
流水线计算公式:
流水线周期:各部分中执行时间最久的一部分
通过流水线的总时间Tk:1条指令执行的时间+(指令条数-1)*流水线周期
例4)指令条数为4,指令分为2部分2s和3s ,1s,则总时间为?
解:Tk(2+3+1)+(4-1)*3=15s
流水线的吞吐率(TP):
TP=n/Tk (n条指令/通过流水线的总时间)单位时间内能完成的指令条数
流水线最大吞吐率:流水线周期的倒数1/t
6、存储器
- cache
平均系统周期时间(以读操作为例:使用cache+主存储器):t3=t1*h+(1-h)*t2
h:访问cache的访问命中率;
t1:cache的周期时间;
t2主存储器的周期时间;
t3:系统平均周期时间
2. 地址映像 由SRAM组成
- 直接映像和变换:主存地址:主存区号+区内块号+块内地址
主存与缓存分成大小相同的数据块,缓存每一区的块数与主存的块数相等,
主存中的某一区的一块存入缓存时只能存入缓存中块号相同的地址
特点
- 地址变换电路简单,访问速度快
- 空间利用率低,冲突概率高
- 对页面置换算法依赖度高,cache空间利用率低,命中率低
例5)假设一采用直接映像的高速缓存分成32块,主存共有2048块,问主存区号和块内区号分别应设几位?
解:2048÷32=64(区)
主存区号=64 ∴为6位,区内块号32位,∴为5位
- 全相联地址映像 主存地址:主存块号+块内地址
主存和缓存分成大小相同的数据块,主存的某一数据块可以装入缓存任一空间中,
特点:空间利用率高,命中率高,冲突率低
实现复杂,速度慢,适合小容量的cache
- 组相联地址映像 主存地址:主存区号+区内组号+组内块号+块内地址
主存和cache按同样大小分块,
组间采用直接映像(cache1组对主存1组,cache2组对主存2组),
组内采用全相联映像(cache1组0块对主存1组0块、1块;
cache2组0块对主存1组0块、1块)
特点:
直接映像和全相联映像的折中,实现难度和造价高
- 输入输出设备管理
- 直接程序控制:无条件传送方式(时时刻刻准备)、
程序查询方式(CPU不断访问查看外部设备是否空闲
若空闲,将数据传送给外部设备)
- 中断方式
- 直接存储器存取方式DMA:cpu将数据发送给DMA,DMA直接与外设交互
cpu只在开始和结束时干预
- 输入输出处理机(IOP):用在大型分布式主机
7、可靠性、校验码
(1)可靠性
- 串联系统 可靠度:R=R1×R2×R3×……×Rn
- 并联系统 可靠度:R=1-(1-R1)×(1-R2)×(1-R3)×……×(1-Rn)
- 混合系统 可靠度:R=R×(1-R)3×(1-R)2
- 校验码
- 码距(不同码字个数)
任意两个(所有)码字之间合法编码的最小距离
例如:
用1位长度的二进制编码,A=1,B=0,A,B之间最小码距为1
用2位长度的二进制编码,A=11,B=00,A,B之间的码距为2
用3位长度的二进制编码,A=111,B=000为合法编码,A,B之间的码距为3
- 检错
奇偶校验码:仅可检错,可检测1(奇位)位错
通过编码中增加一位校验位来使编码中1的个数位奇数(奇校验
或为偶数(偶校验),从而使码距变为2
CRC(循环冗余码):仅可检错,可检测多位错 模2运算
利用多项式为k个数据位 产生r个校验位来进行编码
编码长度:k+r
海明码:可检错,且可纠1位错
数据位是n位,校验位是k位,n和k必须满足2k-1≥n+k