翻译程序
-> 编译程序(C)和解释程序(Python)
冯·诺依曼计算机的特点
- 计算机由五大部件组成
- 指令和数据以同等地位存于存储器, 可按地址寻访
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 指令在存储器内按顺序存放
- 以运算器为中心
机器指令格式
-> 操作码+地址码
PC 存放当前欲执行指令的地址,
具有计数功能(PC)+ 1 -> PC
PC Program Counter
IR 存放当前欲执行的指令
IR Instruction Register
机器字长
CPU 一次能处理数据的位数, 与 CPU 中的 寄存器位数 有关,一般字长越长,表示范围就越大,精度也越高。
机器字长也会影响机器运算速度
存储容量
存放二进制信息的总位数
主存容量: 存储单元个数MAR × 存储字长MDR
C = 2**MAR + MDR
bit B KB MB GB
运算速度
(1)与主频、执行的操作和主存本身的速度等有关
(2)衡量方法
<1> 完成一次加法或乘法所需要的时间(不合理)
<2> TM=fi*ti(连加)
其中TM 为平均指令执行时间,fi为第i条指令占全部操作的比例,ti为第i条指令的执行时间。
<3> 单位时间内完成的平均指令条数
MIPS (million instruction per second)百万指令每秒
<4> 执行一条指令所需要的平均时钟周期数
CPI (cycle per instruction)
<5> 每秒执行的浮点操作数目
FLOPS(floating point operation per second)
或 MFLOPS (million FLOPS)百万浮点操作每秒
<6> 每个时钟周期数执行的指令数目
IPC(instruction per cycle)
补充:GFLOPS(Giga FLOPS)每秒10亿次 109
TFLOPS(Tera FLOPS)每秒万亿次 1012
PFLOPS(Peta FLOPS)每秒千万亿次 1015
总线
1.片内总线 芯片内部 的总线
2.系统总线 计算机各部件之间 的信息传输线
数据总线(双向),地址总线(单向),控制总线(有出有入)
3.通信总线 用于 计算机系统之间 或 计算机系统与其他系统(如控制仪表、移动通信等)之间的通信
串行通信和并行通信
总线的性能指标
- 总线宽度 数据线 的根数
- 总线带宽 数据传输率,每秒传字节数(MBps)
-> 总线宽度和总线带宽
总线通信控制四个阶段
申请分配阶段 主模块提出申请,总线仲裁决定
寻址阶段 主模块向从模块 给出地址 和 命令
传数阶段 主模块和从模块 交换数据
结束阶段 主模块 撤消有关信息
->申请分配阶段,寻址阶段,传数阶段,结束阶段
1秒=1000毫秒,1秒=1000000微妙
求总线的数据传输率
例3.1 假设总线的时钟频率为100MHz,总线的传输周期是4个时钟周期,总线的宽度为32位,求总线的数据传输率。若想把数据的传输率提高一倍,可采取什么措施?
解:
法一:
1个时钟周期=1/100MHz=0.01μs
总线传输周期=0.01 μs*4=0.04 μs
因为总线宽度为32位(4B)
所以数据传输率v=x/t=4B/(0.04 μs)=100 MBps
法二:
f = 100MHz -> 1s有100M个时钟周期
100/4 = 25 个总线周期
25 * (32/8)B = 100MBps
提高数据传输率方法: ① 数据宽度改为64位
②总线频率变为200MHz |
比特率和波特率
波特率:单位时间内传送的二进制数据的位数,单位用bps表示。
比特率:单位时间内传送的二进制有效数据的位数,单位用bps表示。
例3.2 在异步串行传输系统中,假设每秒传输120个数据帧,字符格式包含1个起始位,7个数据位,1个奇校验位,1个终止位,计算波特率和比特率。
解:一帧包含1+7+1+1=10位
故波特率为10120=1200bps=1200波特
比特率为7120=840bps=840比特 |
存储器按存取方式分类
(1) 存取时间与物理地址无关(随机访问)
随机存储器:在程序的执行过程中 可 读 可 写
RAM:Random Access Memory(一旦停电,信息丢失)
只读存储器:在程序的执行过程中 只 读
ROM:Read Only memory(存放固定不变的程序、常数、汉字库等)
(2) 存取时间与物理地址有关(串行访问)
顺序存取存储器 磁带
直接存取存储器 磁盘
存储器:主存储器(RAM,ROM),Flash Memory,高速缓冲存储器(Cache),辅助存储器
主存中存储单元地址的分配
小端:低地址存低字节
大端:低地址存高字节
-> 大端和小端

动态 RAM 刷新
刷新(再生):由于漏电阻的存在,电容上的电荷一般只能维持1~2ms,即使电源不掉电,信息也会自动消失,因此,必须在2ms内对所有存储单元恢复一次原状态
刷新过程实质上是先将原信息读出,再由刷新放大器形成原信息并重新写入的再生过程。
刷新周期:在规定时间内,对DRAM全部基本单元电路全部刷新一遍,通常取2ms
刷新是一行行进行的,一次刷新一行
对于 128 ×128 的存储芯片(存取周期为 0.5 gs )
① 集中刷新(存取周期为0.5 微妙 )
将所有行进行读写,再整体刷新128行

“死区” 为 0.5 gs ×128 = 64 gs (gs暂代微秒)
“死时间率” 为 128/4 000 ×100% = 3.2%
② 分散刷新(存取周期为1 gs )
读/写一个,同时刷新该数据

tC = tM + tR (无 “死区”)
(存取周期为 0.5 gs + 0.5 gs )
③ 分散刷新与集中刷新相结合(异步刷新)
读/写一行后,同时将该行刷新

每行每隔 2 ms 刷新一次 “死区” 为 0.5 gs
将刷新安排在指令译码阶段,不会出现 “死区”
动态 RAM 和静态 RAM 的比较
DRAM | SRAM | |
---|---|---|
存储原理 | 电容 | 触发器 |
集成度 | 高 | 低 |
芯片引脚 | 少 | 多 |
功耗 | 小 | 大 |
价格 | 低 | 高 |
速度 | 慢 | 快 |
刷新 | 有 | 无 |
主存 | 触发器 |
只读存储器(ROM)
行列选择线交叉处有 MOS 管为“1”
行列选择线交叉处无 MOS 管为“0”
-> PD/Progr
功率下降 / 编程输入端 读出时 为 低电平
存储器与 CPU 的连接
- 存储器容量的扩展
(1) 位扩展(增加存储字长)-> DBUS
(2) 字扩展(增加存储字的数量)-> ABUS
-> 位扩展和字扩展
汉明码
2**k ≥ n + k + 1
1 :无错误发生
n :错误发生在n个数据位
k : 错误发生在k个校验位
高速缓冲存储器

-> 命中率
命中率:h = Nc/(Nc+Nm)
平均访问时间:ta = h*tc+(1-h)tm
效率:e = 访问cache的时间/平均访问时间 * 100%
-> Cache – 主存的地址映射
-> 直接映射



软盘硬盘区别
硬盘 | 软盘 | |
---|---|---|
速度 | 高 | 低 |
磁头 | 固定,活动,浮动 | 活动,接触盘片 |
盘片 | 固定盘、盘组,大部分不可换 | 可换盘片 |
价格 | 高 | 低 |
环境 | 苛刻 |
I/O设备与主机信息传送的控制方式
程序查询方式
程序中断方式
DMA方式
I/O通道方式
I/O处理机方式
I/O 接 口
接口 两个系统或者两个部件之间的交接部分为什么要设置接口?
-
实现设备的选择
-
实现数据缓冲达到速度匹配
-
实现数据串—并格式转换
-
实现电平转换
-
传送控制命令
-
反映设备的状态(“忙”、“就绪”、
“中断请求”)
接口 Interface
端口 Port
端口:接口电路中的一些寄存器,用来存放数据信息、
控制信息和状态信息
数据端口
控制端口
状态端口
若干个端口加上相应的控制逻辑才组成接口。
总线连接方式的 I/O 接口电路
(1) 设备选择线 (2) 数据线 (3) 命令线 (4) 状态线