计算机组成原理学习笔记

运算器
存储器
控制器
io输入输出
两种信息流:控制信息流/数据信息流
控制信息流:指令信息/状态信息/时序信息
编译程序:先完整编译后运行的程序
解释程序:一句一句翻译/边翻译边执行的程序(不生成目标代码)
汇编程序
CPI 一条指令所需时钟周期
运行时间=指令数*CPI/主频

溢出(双符号位)
大墙方式(大端):反着放/最高有效字节在前
小墙方式(小端):顺着放
浮点数:阶符/阶码的数值部分/数符/尾数的数值部分
IEEE754:数符/阶码(移码表示)/尾数(原码表示)
短浮点数float(单精度)偏置值127
长浮点数double(双精度)
临时浮点数
浮点数加减运算:对阶(小阶向大阶看齐)/尾数求和/规格化(假溢出)/舍入/溢出判断(阶码溢出)

主存储器(内存)
辅助存储器(外存):后援存储器
高速缓冲存储器(cache):位于主存和cpu之间,存放正在执行的程序段和数据
BIOS是个人电脑启动加载的第一个软件,上电自检,然后装载操作系统到内存中
按存取方式分类:RAM存储器的任何一个存储单元的内容都可以随机存取,存取时间与存储单元的物理位置无关
        主要用于主存/告诉缓冲存储器
        又分静态动态,cache是SRAM,内存是DRAM
    ROM只读存储器:只能随机读出不能写入,信息一旦写入存储器就固定不变
存储器的3个指标:存储容量/单位成本/存储速度
存储容量=存储字数*字长 字长表示一次存取操作的数据量
单位成本=总成本/总容量
存取时间:指启动一次存储器操作到完成该操作的时间,分读出时间和写入时间
存取周期:指存储器进行一次完整读写操作所需的全部时间,即两次独立访问存储器操作之间所需的最小时间间隔
存取周期一般大于存取时间,在读写操作后要又一段恢复内部状态的复原时间
存取周期=存取时间+恢复时间
数据传输率=数据宽度/存储周期
多级存储系统:寄存器/cache/主存/磁盘/磁带光盘
SRAM:双稳态触发器(六晶体管MOS)集成率低,功耗大
DRAM:利用存储元电路中栅极电容的电荷存储信息
    地址复用,地址线是原来的1/2,地址信号分行列行列两次传送
    电荷只能维持2ms,不断电信息也会消失.固定2ms刷新一次,叫刷新周期
集中刷新:死时间/死区,此期间停止对存储器的读写操作
分散刷新:把对每行的刷新分散到各个工作周期,优点没有死区,缺点加长了存取周期
异步刷新:两种方法的结合,刷新周期/行数,得到两次刷新操作之间的间隔t,每隔t时间刷新一次
DRAM刷新:①刷新对cpu透明,不依赖外部访问
    ②刷新单位是行,仅需要行地址
    ③类似于读操作,仅补充电荷,不需要输出
主存储器通过数据总线(双向)/地址总线(单向)/控制总线与cpu连接
地址总线的位数决定了可寻址的最大内存空间
扩展主存容量:位扩展法/字扩展法/字位同时扩展法
位扩展法:与cpu数据线数不等,用多个存储器件对字长扩充,增加存储字长
字扩展法:将芯片地址线/数据线/读写控制线并联,由片选信号区分各芯片地址范围
cache采用局部性原理(时间局部性/空间局部性)命中
地址映射:
直接映射:j=i mod2^c
j是cache块号(行号),i是主存块号,2^c是cache总块数
主存块的低c位正好是要装入的cache行号
全相联映射:cache冲突概率低,空间利用率高,命中率高/标记速度较慢,需要用按内容寻址的相联存储器地址映射
组相联映射 
cache主存块替换算法:随机RAND/先进先出FIFO/近期最少使用LR/最不经常使用LFU
cache内容更新时要用写操作策略使擦车内容和主存内容保持一致
写命中:全写法/写回法(脏位)
写不命中:写分配法/非写分配法
非写分配法通常与全写法合用,写分配法通常与写回法合用

指令包括操作码字段和地址码字段
零地址指令OP:不需要操作数的指令(仅用于堆栈计算机)
一地址指令OP|A1:只有目的操作数的单操作指令,隐含约定目的地址的双操作数指令
二地址指令OP|A1|A2
指令中地址码不代表操作数的真实地址,是形式地址A,形式地址结合寻址方式可以计算出操作数在存储器的真实地址EA
寻址方式:
指令寻址:顺序寻址方式/跳跃寻址方式(转移指令实现)
数据寻址:隐含寻址(缩短指令字长/增加存储操作数或隐含地址的硬件),立即寻址,直接寻址,间接寻址(扩大寻址范围)
    寄存器寻址,相对寻址(偏移量),基址寻址,变址寻址
CISC复杂指令系统计算机
RISC精简指令系统计算机:选取使用频率最高的简单指令
        只有load/store指令访存,其余指令操作都在寄存器之间进行

控制器:取指令/分析指令/执行指令
运算器:加工数据
cpu功能:指令控制/操作控制/时间控制/数据加工/中断处理
运算器:算数逻辑单元/暂存寄存器/累加寄存器/通用寄存器组(存放操作数和各种地址信息)
    程序状态字寄存器(溢出标志/符号标志/零标志/进位标志)
    移位器/计数器
控制器:程序计数器PC/指令寄存器IR/指令译码器/存储器地址寄存器MAR/存储器数据寄存器MDR
    时序系统/位操作信号发生器
三总线方式:数据/地址/控制
指令流水线
锁存器:保存本流水段的执行结果,供给下一流水段使用
流水线处理的必须是连续任务
有装入时间和排空时间
资源冲突(前一指令访存时,使后一条指令暂停一个时钟周期/单独设置数据存储器和指令存储器)
数据冲突(数据冒险):暂停时钟周期,编译优化
控制冲突:一条指令要确定下一条指令的位置
超标量流水线技术/超流水线技术/超长指令字

IO软件:驱动程序,IO指令和通道指令实现CPU与IO设备信息交换
IO硬件:外部设备/设备控制器/接口/IO总线
IO控制方式:程序查询方式/程序中断方式/DMA方式(主存和IO设备间有直接数据通路,无需调用中断服务)
    通道方式
机构-中断系统
中断:执行现行程序过程中,出现急需处理的异常情况或特殊请求,cpu暂时中止现行程序,保存进度
实现cpu和IO并行操作/处理硬件故障和软件错误/实现人机交互/实现多道程序,分时操作/快速响应/软中断
中断请求(外中断/内中断)/中断判优/中断隐指令
关中断/保存断点/保存现场和屏蔽字/开中断
中断向量:硬件向量法/软件查询法
多重中断:提前设置开中断指令/优先级别高的中断源有权中断优先级低的中断源
屏蔽字寄存器
DMA控制器:IO设备需要数据传送时,通过DMA控制器向cpu提出DMA传送请求,cpu让出系统总线,DMA控制器接管总线进行数据传输
DMA传送方式:交替访存/暂停cpu访存/周期挪用
预处理/数据传送/后处理

上一篇:安装npm和cnpm


下一篇:Android-Universal-Image-Loader 图片异步加载类库的使用