计算机组成原理总结

计算机组成原理
第一章 计算机系统概述

  1. 计算机的四代变化:电子管—晶体管—中小规模集成电路时代—超大规模集成电路时代

  2. 机器字长:计算机一次可以计算的位数 32位,64位

  3. 存储字长:一个存储单元中存放二进制代码的位数

  4. 指令字长:一般为存储字长的整数倍,若指令字长是存储字长的N倍则需要n个机器周期

  5. 时钟周期<机器周期<取指周期

  6. 机器周期=存取周期

  7. 计算机按指令流和数据流:
    a) 单指令流和单数据流----冯诺依曼体系
    b) 单指令流和多数据流----阵列处理器和向量处理系统
    c) 多指令流和单数据流----实际不存在
    d) 多指令流和多数据流----多处理器和多计算机系统

  8. 计算机系统的组成
    a) 计算机硬件:运算器、存储器、控制器、输入输出设备
    b) 指令和数据按同等的地位存储在存储器中,按址寻访
    c) 指令和数据均用二进制表示
    d) 指令由操作码和地址码组成
    e) 按序存储
    f) 早期的冯诺依曼体系以运算为主,通过运算器与存储器传送数据;现代计算机以存储为主,I/O操作尽可能地避开CPU

  9. 运算器和控制器合并为CPU

  10. 存储器分为主存储器和辅存储器。主存按地址存取,相连存储器按内容存储。
    主存由地址寄存器(MAR)、存储体和数据寄存器(MDR)构成,MAR用于寻址,位数代表存储单元个数,MDR的长度等于存储字长

  11. 运算器:算术逻辑单元ALU,通用寄存器(累加器ACC,操作数寄存器X,变址寄存器IX,基址寄存器BR)用于暂存操作数和中间结果、程序状态寄存器PSW 黄色表示程序员可见,红色表示不可见即透明

  12. 控制器:程序计数器PC、指令寄存器IR、控制单元CU

  13. 机器语言(计算机唯一可以识别和执行)<------汇编语言<------高级语言

  14. C程序:源程序-------汇编程序--------目标程序-------可执行程序

  15. 计算机性能指标:
    a) 机器字长:字长越长、结果越精确
    b) 数据通路带宽:数据总线一次可以并行传送信息的位数
    c) 主存容量:用字节衡量,字数字长。MAR反应存储单元个数,MAR的位数表示寻址范围的最大值
    d) 运算速度:吞吐量:系统在单位时间内处理请求的数量
    响应时间:CPU时间和等待时间
    CPU时钟周期:每个动作至少需要1个时钟周期
    主频:一个时钟周期内可以完成的动作次数
    CPI: 执行一条指令所需要的时钟周期数
    CPU执行时间=CPU时钟周期数/主频=指令条数
    CPI/主频
    CPU性能取决于主频、指令条数、CPI
    MIPS(每秒执行多少百万条指令)、MFLOPS(每秒执行多少百万次浮点数运算)、GFLOPS(每秒执行多少十亿次浮点数运算)、TFLOPS(每秒执行多少万亿次浮点运算)

  16. 翻译程序:将高级语言源程序翻译成机器语言程序。翻译程序有两种,分别为编译程序和解释程序。编译程序时将整个源文件一次翻译成机器语言程序,解释程序是翻译一句执行一句。从高级语言到机器语言或者汇编语言叫编译程序;从汇编语言到机器语言叫汇编。

    第二章 数据的表示

  17. 任何一个二进制的小数都可以转化为10进制小数,但是有些10进制小数无法精确的用二进制表示。

  18. BCD码(二进制编码的十进制数)采用4位二进制数来表示一位0-9的数。但是由于4位可以表示16个数,所以有6个状态是冗余的。
    a) 8421码。它表示的十进制数D=8b3+4b2+2b1+b0。表示范围(0000)-(1001),若两个8421码相加的和大于等于10,则需要加6进位。如6+9=15,15已经超过1001所以1111+0110=0001,0101。相当于一位十进制位用4位8421码表示。
    b) 余3码:在8421码的基础上加3表示。
    c) 2421码:表示范围0-2+4+2+1=9。如果表示的数大于等于5则最高位为1,如6表示为1100,而不是0110。

  19. 定点数的表示:(最高位表示符号,1表示正,0表示负)
    a) 原码。纯整数表示范围 ,小数表示范围
    b) 补码。纯整数的表示范围 ,小数表示范围
    c) 反码。正数的反码不动,负数,符号不变,数值取反
    d) 移码。用于表示浮点数,只可以表示整数。
    e) 0的补码和移码表示唯一

  20. 运算
    a) 算术移位
    码 填补代码
    正数 原码、补码、反码 0
    负数 原码 0
    补码 左移添0
    右移添1
    反码 1
    b) 逻辑位移
    将操作数视为无符号数,左移时,高位丢弃,低位补0,右移时,低位丢弃,高位补0。
    c) 循环位移
    不带进位位的循环右移、带进位位的循环右移、不带进位位的循环左移、带进位位的循环左移。

  21. 溢出
    a) 运算结果位数超过了机器数的表示范围,大于最大值为上溢,小于最小值为下溢。
    b) 当两个符号相同的数相加或者两个符号相异的数相减时才可能产生溢出
    c) 定点数加减运算时产生的溢出说明结果时错的

  22. 溢出的判别方法
    a) 采用一位符号法
    设A的符号为a, B的符号为b,运算结果S的符号位s,
    ,若v=1表示溢出,v=0表示无溢出
    b) 采用双符号位
    00表示正数,无溢出
    10表示负溢出
    01表示正溢出
    11表示负数

  23. C语言中的整数类型和转化:注意区分有符号数和无符号数

  24. 浮点数类型的转化:
    a) Char—>int–>long–>double
    b) Float–>double
    c) Int—>float, float、double—>int,会舍去小数点以后的,精确度下降
    d) Double—>float可能发生溢出,还会丢失有效位

  25. 浮点数的表示:
    a) 一般格式:阶符+阶码+数符+尾数。阶符用于控制是否溢出,阶码表示大小,数符表示浮点数的符号,尾数表示精度
    b) IEEE 754:数符+阶码+尾数,阶码用移码表示。尾数存在一个隐含的1
    类型 数符 阶码 尾数 总位数 偏置
    短浮点数 1 8 23 32 127
    长浮点数 1 11 52 64 1023
    临时浮点数 1 15 64 80 16383

  26. 一般浮点数的计算方式
    a) 对阶,小阶向大阶变化,同时尾数右移
    b) 尾数求和
    c) 规格化。正数的规格化形式为00.1xxx,负数为11.0xxxx。通过左移或右移尾数。(取决于模n,前log2n位不全为1或0)
    d) 舍入。舍0入1:尾数右移时,被移除的数值最高位为0,直接舍去,最高位为1,则末尾加1;恒置1:不论丢弃的时0,还是1,末位都置为1。

  27. 浮点数转化为IEEE 754:1)将其转化为2进制,2)小数点左移变成1.xxxx的形式,阶码就为2^n,3)n+偏置值得到真正的阶码。尾数用原码表示

  28. 数据按边界对齐方式存储。
    错题
    2.1.6 1、7、13、15、17
    2.2.5 20、25、28、31、32、33、35、36、39、40、42、54
    2.3.3 29、30、32
    注意移码和反码的概念,海明码纠错过程,奇偶校验问题
    当采用进位位来判断溢出时,当最高有效位进位和符号位进位的值不相同时才产生溢出

第三章 存储系统

  1. 存储器的分类

  1. 性能指标:存储容量=字长×存储字数、单位成本=总成本/总容量、传输率=宽度/存储周期。存储周期:读写周期,访存周期。连续两次独立访问存储器操作之间所需要的最小时间间隔。

  2. Cache用于解决cpu与主存速度不匹配问题,主存与Cache之间的数据调动是硬件自动完成,主存与辅存之间的数据调动是硬件和操作系统共同完成,对程序员透明。

  3. 有关Cache的计算:
    a) 设cache命中率为x,cache存取时间为t1,主存存取时间为t2,平均访问时间为xt1+(1-x)t2
    b) 命中率=cache命中次数/(cache命中次数+主存访存次数)
    c) Cache主存系统效率=cache时间/平均访存时间

  4. DRAM的刷新(对CPU是透明的)
    a) 集中刷新。利用固定的时间在一个存储周期内对所有行刷新,刷新期间内不可读写,成为“死时间”。刷新周期=行数×存储周期。默认为2ms。死时间率=刷新周期/刷新时间间隔。
    b) 分散刷新。读一行刷一行,降低了系统的速度。存储周期=2×读/写周期
    c) 异步刷新。平均分配刷新时间。2ms内刷新n行。

  5. RAM属于易失性半导体

  6. 译码驱动电路
    a) 线选法。N行矩阵需要log2n条地址线
    b) 重合法。对m×n的存储矩阵需要log2n+log2m条

  7. 只读存储器
    a) E表示可擦除
    b) P表示可编程
    c) 闪存结合了ROM和RAM可写、不易失的长处

  8. CPU与主存的连接
    a) 字扩充:增加地址线
    b) 位扩充:增加数据线

  9. 双端口RAM和多模块存储器
    用于提高CPU访问储存器的速度,前者为空间并行,后者为时间并行。
    双端口RAM允许两个独立的控制器同时异步的访问存储单元。
    四种情况:
    a) 两个端口不同时对一个地址单元存取数据(OK)
    b) 两个端口同时对一个地址单元读数据(OK)
    c) 两个端口同时对一个地址单元写数据(出现写入错误)
    d) 两个端口同时对一个地址单元分别执行读、写操作(出现读错误)

  10. 多模块存储器用于cpu可以同时取指令
    单模块存储器:只有一个存储体,每个存储单元存储m个字,总线宽度也为m,一次并行的读出m个字,地址必须顺序排列并处于同一地址单元。
    缺点:指令和数据在主存内必须连续存放,一旦遇到转移指令,或者操作数不能连续存放,这种方法就不明显。
    多体并行存储器:

高位交叉编址模块体号在前,体内地址在后,仍然要按顺序读出,存取方式是串行,顺序存储器
低位交叉编址模块体号在后,体内地址在前,所以可以并行读出连续的地址,提高带宽。
12. 低位交叉编址流水线存取
设模块字长等于带宽,模块存取周期为T,总线传达周期为r,存储器交叉模块数应大于等于T/r
13. 局部性原理
时间局部性:未来最近的时间可能会用到的信息
空间局部性:最近要用到的信息是连续存储的
14. Cache工作原理
CPU发出请求,若访存在Cache中命中,将地址转化成Cache地址,直接对Cache进行操作,与主存无关,若不命中,则从主存中将整个块调入Cache中,若Cache已满,则采用置换算法。
15. Cache与CPU之间交换数据的单位是字,Cache与主存之间交换数据的单位是块。
16. Cache与主存之间映射方式
标记 块号 块内地址
a) 直接映射
标记 块内地址
b) 全相联映射
标记 组号 组内地址
c) 组相联映射
标记由脏位、有效位、替换控制位等组成,具体根据题意判断标志位数。
17. Cache容量=块数×(块内地址所占位数+有效位+脏位+替换控制位)
18. Cache写回策略:
a) 全写法(写直通法)修改一行写回一行,Cache和主存同时修改
b) 写回法:只修改Cache不修改主存,设置脏位,当块决定写回时才写入主存
19. 虚拟存储器的特点
逻辑模型,实际不存在,主存和辅存共同构成
Cache对操作系统透明,虚拟存储器对应用程序透明,二者都对用户透明
Cache由硬件实现,虚拟存储器由OS和硬件共同实现
若虚拟存储器不命中对系统性能的影响更大
20. 分类
a) 段式存储器:段号+段内地址 特点:逻辑独立性,易管理、修改、保护,段长度可变
b) 页式存储器:虚页号+业内地址 特点:页面长度不变,页表简单调入,最后一页的零头造成浪费
c) 段页式存储器:段号+页号+页内地址 特点:结合了段式和页式的优点,以页为单位,每段由固定的页组成,段的长度必须为页的整数倍
21. TLB快表
a) 对于经常访问的页,将这些页表项放于cache组成的快表中,提高效率。
b) 采用全相联或者组相联
c) 快表与慢表同时进行,快表按内容指定地址
22. TLB、Cache、页表访问未命中的情况
a) TLB命中,页表一定命中,但Cache不一定命中
b) TLB命中与否与Cache无必然联系
c) 页的范围>主存>cache
d) 页不命中,TLB一定不命中
e) Cache命中,主存一定命中
f) 虚拟地址-主存地址—-> Cache
g) 访问顺序:TLB页表—>cache主存
23. 在大题中,若TLB也采用类似Cache的映射方式,则取虚页号的低n位表示组号,其余高位继续作为标记,与TLB表中的标记进行对比,若有效位为1则命中。
物理地址的低n位与虚拟地址低n位表示页内地址。
24. 计算cache容量时,要注意增加一位有效位,另外根据题意增加相应的位数,比如采用LRU算法需要增加一位,采用写回法,也要增加1位脏位(修改位)。
25. 页面失效率:一般第一次访问的都是未命中。若访问变量不是连续存放大多数情况命中率为0。
26. 访存次数最少问题:当cache命中时,访问为0,若采用直写法最少访存次数为1,采用写回法访存次数为0。
27. 页框号对应物理地址高n位,也就是实页号。

第四章 指令系统
28. 指令是计算机运行的最小功能单位。
29. 指令各式:操作码+地址码(操作数对应的地址)
30. 指令字长必须为字节、字、半字等的整数倍
31. 指令分类:
a) 零地址指令:不需要操作数,零地址的运算类指令仅用在堆栈计算机中。空操作指令、停机指令、关中断指令。
b) 一地址指令:(1)只有目的操作数和操作码,(2)隐含目的地址,(3)不一定只有一个操作数,比如(ACC)OP(A1)->ACC
c) 二地址指令:OP+A1+A2->A2
d) 三地址指令:OP+A1+A2->A3
e) 四地址指令:OP+A1+A2->A3,取A4
32. 访存次数:取指令一次,取操作数n次,存放结果m次,一共是m+n+1
33. 设计扩展码的目的是为了保持指令长度不变的情况下,增加指令熟练在设计扩展码的时候,短码的指令不可以是长码的前缀。
34. 几个符号的说明:A—形式地址;(A)----形式地址所指的实际地址;EA----有效地址;(EA)----操作数
35. 寻址方式----指令寻址
a) 顺序寻址:通过程序计数器加1自动生成下一条指令的地址
b) 跳跃寻址:通过转移指令jmp实现。跳跃的下一条指令不由PC给出,而是由本条指令给出,所以跳跃的结果为当前指令修改PC值,下一跳还是由pc给出。并且还受程序状态寄存器和操作数的控制。
36. JMP指令的特点为每取出一个单位的数据就+1,具体加多少要看按什么寻址,按字节寻址就每取出一个字节加1,按字寻址就每取出一个字加1。
37. 数据寻址
寻址方式 有效地址 用途 访存次数
隐含 程序指定 缩短指令长度 0
立即 A是操作数 寄存器赋初值,不访存,执行时间最短 0
直接 EA=A 1
间接 EA=(A) 扩大寻址范围,利于程序返回 2
寄存器 EA=Ri 指令字短,执行速度快 0
寄存器间接 EA=(Ri) 扩大范围,适合多道程序,程序式数据分配空间 1
相对 EA=(PC)+A 转移指令和程序浮动 1
基址(面向os) EA=(BR)+A 扩大寻址范围 1
变址(面向user) EA=(IX)+A 扩大寻址范围,处理数组问题 1
堆栈 遵循栈的原则
38. CISC与RISC
CISC RISC
指令系统 复杂,庞大 简单,精简
指令数目 >200 <100
指令字长 不固定 定长
可访存指令 不加限制 只有load/store
各指令执行时间 相差大 绝大多数一个周期内可以完成
各指令使用频率 大 常用
通用寄存器数量 少 多
目标代码 难以用优化编译生成高效目标代码程序 采用优化编译生成代码高效
控制方式 微程序控制 绝大多数为组合逻辑
指令流水线 可以通过一定方式实现 必须实现

第五章 CPU
39. CPU由运算器和控制器组成,运算器对数据操作,控制器对指令操作。
40. CPU功能:(1)指令控制:取指令、分析指令、执行指令。程序的顺序控制。
(2)操作控制:将操作信号送往相应的部件控制部件按要求完成操作。
(3)时间控制:对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
(4)数据加工
(5)中断处理:对异常情况和请求作处理
41. 运算器的组成
a)算术逻辑单元(ALU)
b)暂存寄存器:该寄存器用于暂时存储主存读来的数据,不可以放入通用寄存器中。对程序员透明
c)累加寄存器(ACC)用于暂时存放ALU的结果、
d)通用寄存器:AX,BX,CX,SP等,用于存放操作数
e)程序状态字寄存器(PSW),包括溢出标志(OF),符号标志(SF),零标志(ZF),进位标志(CF)
4.控制器的组成
a) 程序计数器(PC)指出下一条指令在主存中存放地址
b) 指令寄存器(IR)保存当前执行的指令
c) 指令译码器 对操作码字段进行译码,向控制器提供特定的操作信号
d) 存储器地址寄存器(MAR)存放要访问的主存单元的地址
e) 存储器数据寄存器(MDR)存放要向主存中写入的数据
f) 时序系统。产生各种时序信号,由统一时钟CLOCK分频
g) 微操作信号发生器 根据IR、PSW及时序信号产生控制整个计算机的信号
42. 指令数据流
(1)取值周期
PC->MAR->地址总线->主存
Cu发出控制信号->控制总线->主存
主存->数据总线->MDR->IR(存放指令)
CU发出控制信号->pc+1
(2)间址周期(无PC)
(MDR)或AD(IR)->MAR->地址总线->主存
CU发出控制命令->控制总线->主存
主存->数据总线->MDR
(3)中断操作(无IR)
CU控制sp-1,SP->MAR->地址总线->主存
Cu发出写命令->控制总线->主存
Pc->MDR->数据总线->主存(程序断点写入内存)
CU发送中断服务程序的入口地址->PC
MAR只能通过地址线单向指向内存,MDR通过数据线和内存相互传送数据。MAR不可以指向IR。
(PC)+1->PC不要忘记!!!!!
43. 指令执行方案
a)单指令周期 每条指令都在固定的时间内完成
b)多指令周期 不同的指令采用不同的周期完成
c)流水线 同一个周期内争取执行多条指令
44. 数据通路:数据在功能部件之间传送的路径
45. 基本结构:CPU内部单总线、CPU内部多总线、专用数据通路
46. 寄存器之间的数据传送
(PC)->BUS PCout有效,pc内容到总线
Bus->MAR MARin有效,总线内容送MAR
10.主存与CPU之间的数据传送
PC->BUS->MAR PCout和MARin有效
1->R CU发出读命令
M(MAR)->MDR MDRin有效
MDR->BUS->IR MDRout有效,IRin有效
47. 执行算术或逻辑运算
Ad(IR)->BUS->MAR MDRout和MARin有效
1->R CU发出读命令
M(MAR)->MDR MDRin有效
MDR->BUS->Y MDRout和Yin有效,操作数->Y
(ACC)+(Y)->Z ACCout ALUin有效,CU发送加命令,结果->z
Z->ACC Zout和ACCin有效,结果->ACC
(Z)->MDR
(MDR)->M(MAR) 结果放回主存中
48. (Ro)表示操作数的地址在RO中,所以要去主存中寻找操作数,RI表示操作数就在RI中,#表示立即数,直接计算。
49. 专用数据通路(无总线)

  1. ADD A B 将A+B的结果写回到A中,A表示不在主存中,(A)表示要写回主存
  2. 描述数据通路
    a) 运算器在主存中访问 M(MAR)->MDR,(MDR)->ALU->ACC
    b) LDA X ((X)->ACC) 将主存中x地址的内容读到acc中
    (X)->MAR, M(MAR)->MDR, (MDR)->ALU->ACC
    c) ADD Y (ACC)+(Y)->ACC (Y)->MAR M(MAR)->MDR,(MDR)->ALU,ACC->ALU,ALU->ACC
    d) STA Z (ACC)->Z (Z)->MAR, (ACC)->MDR, (MDR)->M(MAR)
  3. 使用单总线就要使用暂存器,防止ALU两端读到的数据一样
    17.控制器

输入信号:时钟、指令寄存器、标志、总线
输出信号:CPU数据传输、送至 总线的信号
53. 硬布线控制器由复杂的组合逻辑门电路和一些触发器构成,因此又称为组合逻辑控制器。
工作原理:由组合逻辑电路根据当前的指令码、状态和时序即时产生
54. CPU控制方式
a) 同步控制方式 具有统一时钟,所有信号来自时钟信号,优点:控制简单,缺点:运行速度慢
b) 异步控制 不存在基准时标信号,各部件有自己的固有速度工作。优点:运行速度快,缺点控制电路复杂
c) 联合控制方式 大部分同步控制,小部分异步控制
55. 微程序控制器
将每一条机器指令编写成一个微程序,每条机器指令由多个微操作命令组成。微命令是控制序列的最小单位。
56. 同一时间可以同时产生和完成的微命令成为相容性微命令,否则为互斥性微命令
57. 微指令的格式:操作控制+顺序控制
58. 微程序控制器的组成:
a) 控制存储器(CM),用于存放各指令对应的微程序,由ROM构成
b) 微指令寄存器(CMDR\UIR) 用于存放从CM中取出的微指令,位数等于微指令字长
c) 微地址形成部件 用于产生初始微地址和后继微地址,以保证微指令的连续执行
d) 微地址寄存器CMAR 接受微地址形成部件送来的微地址
e) 地址译码器 将地址码转化为存储单元控制信号。
59. 工作过程
机器指令的操作码->微地址形成部件->顺寻逻辑(控制微指令序列)->CMAR->地址译码->CM,取出地址->CMDR,根据下地址->顺序逻辑确定下一条指令的地址->CPU内部、

  1. 控制存储器中包括了 取值周期微程序,间址周期微程序、中断周期微程序、对LDA操作的微程序、对STA操作的微程序。

  2. 间址周期的最后要转到执行周期微程序,中断周期的最后转到取值周期

  3. 取指周期
    1 M->CMAR 微程序包括多条指令,将第一条地址送入CMAR
    2 CM(CMAR)->CMDR 取微指令
    3 (PC)->MAR,1->R 产生操作信号
    4 AD(CMDR)->CMAR 形成下一条微指令 送入CMAR
    5 CM(CMAR)->CMDR 将对应控制存储器M+1的地址单元的指令放入到CMDR
    6 M(MAR)->MDR
    重复执行4、5、6直到最后一条指令取出

  4. 微指令的编码方式
    a) 直接编码 操作控制码中的每一位都对应一个微操作命令 1表示有效
    优点:简单直观 执行速度快,并行性好 缺点:有n个微命令就要有n位,造成位数过长
    b) 字段直接编码 将微指令的控制字段分成若干段 每段译码以后发出控制信号。互斥命令放入同一段,相容微命令放入不同段,每段中信息位不能多,每段留出一个状态不进行任何操作,最多表示2^n-1个命令。
    c) 字段间接编码

  5. 微指令的格式
    a) 水平型微指令 一次能定义并执行多个并行操作 操作控制+顺序控制
    优点:程序短 速度快,缺点:微指令长 编写麻烦
    b) 垂直型微指令 类似机器指令 只能执行一次微指令 微操作码+目的地址+源地址
    优点:微指令短、简单,便于编写微程序 缺点:微程序长,执行速度慢,效率低
    c) 混合型 在垂直的基础上加一些不复杂的并行操作 微指令短便于编写,微程序也不太长 执行速度加快

  6. 微程序与硬布线控制器的比较

    第六章 总线

  7. 系统总线结构

  8. 总线性能指标
    传输周期:有若干个机器周期构成
    总线时钟周期:机器的时钟周期
    总线的工作频率:1s传输几次数据
    总线时钟频率:机器时钟频率
    总线宽度:一次可以传输多少位的数据
    总线带宽:总线的传输频率,每秒传输多少字节。总线宽度×总线频率

  9. 总线仲裁:解决哪个主设备使用总线的问题
    方式:集中仲裁和分布仲裁

  10. 总线传输的四个周期

  1. 申请分配阶段 传输请求和总线仲裁
  2. 寻址阶段
  3. 传输阶段 猝发传输只需要传输一个地址和连续的数据
  4. 结束阶段:让出总线使用权
  1. 同步定时
    采用统一的时钟信号来协调发送和接收方二点传送定时关系,时钟产生相等的间隔,每个间隔构成一个总线周期。
    优点:传送速度快、传输速率高,总线控制逻辑简单
    缺点:主从设备属于强制性同步;不能及时进行有效性检验,可靠性差
  2. 异步定时
    优点:可靠,缺点:控制方式复杂,速度慢
  3. 异步定时方式
    a) 不互锁 不存在请求和回答的互锁
    b) 半互锁 主设备发送请求 必须接收到从设备的回答才可以撤回。而从设备不必接受到主设备的回答,可以自行撤销
    c) 全互锁 主从双方必须受到回答信号才可以撤销
  4. 总线标准
    ISA(不支持仲裁,并行,系统总线)、EISA(并行,系统总线)、PCI(局部总线,并行)、PCI-Express(串行)、USB(串行)

第七章 I/O
74. VRAM容量=分辨率×灰度级位数
75. VRAM带宽=分辨率×灰度级位数×帧频
76. I/O软件:驱动程序、用户程序、管理程序、升级补丁。采用I/0指令和通道指令实现CPU与I/O设备的信息交换
77. I/O硬件:外部设备、设备控制器和接口、I/O总线等。通过设备控制器来控制I/O设备的具体动作,通过I/O接口与主机相连。
78. 外存(辅存) 优点:储存容量大、位价格低,记录介质可重复使用,记录信息长期保存不丢失,可脱机存档。非破坏性读出。缺点:存取速度慢,机械结构复杂,对工作环境要求高。
79. 磁盘储存器

  1. 平均存取时间=寻道时间+旋转延迟时间(也叫查询扇区时间,通常是旋转半圈的时间)+传输时间

  2. 每个磁道存储的数据量是一样的,内圈密度大,外圈密度小。

  3. 磁盘地址:驱动器号+磁道(柱面号)+盘面号+扇区号

  4. 硬盘控制过程:寻址、读盘、写盘。第一步是取控制字、第二步执行控制步。

  5. 磁盘读写操作是串行的。

  6. 磁盘阵列(c、d、f盘)RAID0:无冗余和无校验,RAID1:镜像,RAID2采用纠错的海明码,RAID3:位交叉奇偶校验,RAID4:块交叉奇偶校验,RAID5无独立的奇偶校验。

  7. 磁盘的格式化容量小于非格式化容量

  8. 磁盘存储器的最小单位是扇区,即按块存取

  9. I/0接口时主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。

  10. I/O接口的功能
    a) 实现主机和外设的通信联络控制
    b) 进行地址译码和设备选择
    c) 实现数据缓冲
    d) 信号格式的转换
    e) 传送命令和状态信息

  11. I/O接口的类型

  12. CPU对于控制端口只可以写操作,对状态端口只可以执行读操作。

  13. I/O端口编址方式
    a) 统一编址 存储器映射方式。把I/O端口当作存储器的单元进行地址分配,这种方式CPU不需要设置专门的I/O的指令,用统一的访存指令就可以访问I/O端口。
    优点:不需要专门的输入/输出指令,CPU访问I/O灵活。
    缺点:端口占用内存地址,内存容量小,执行速度慢。
    b) 独立编址,I/O映射方式。 I/O端口的地址空间与主存地址空间是独立的,需要设置专门的I/O指令来访问I/O端口。
    优点:输入/输出指令与存储器指令有明显区别,程序编制清晰,便于理解
    缺点:输入/输出指令少,一般只能对端口进行传送操作,需要CPU提供存储器读写控制信号,增加了控制的复杂性。

  14. I/O方式-----程序查询方式
    设置数据缓冲寄存器和设备状态寄存器
    CPU一旦启动I/O,必须停止现行程序的运行,并在现行程序中插入一段程序,有“踏步”现象。CPU与I/O串行工作。

  15. I/O方式-----程序中断方式
    a) 当计算机执行现行程序的过程中,出现某些急需处理的异常请求或者特殊请求,CPU暂停中止现行程序,处理完异常以后CPU又回到现行程序的断点处,继续执行源程序。CPU与I/O并行工作。CPU不需要等待外设,当外设完成好数据传送的工作再向CPU发送中断请求。
    b) 工作流程

  1. 中断请求
  2. 中断判优
  3. 响应中断:中断源有中断请求,CPU允许中断及开中断,指令执行结束并无更紧急任务
  4. 中断隐指令:关中断,保存断点,引出中断服务程序
  5. 中断向量:中断服务程序的入口地址
  6. 中断处理:关中断—>保存断点—>引出中断服务程序(硬件向量法,软件查询法)—>保存现场和屏蔽字—>开中断—>执行中断服务程序—>关中断—>恢复现场和屏蔽字—>开中断、中断返回(1-3中断隐指令(硬件自动)完成,4-9中断服务程序完成)
    c) 多重中断和中断屏蔽技术
    执行中断服务程序的过程中会出现新的更高优先级的中断请求,若不处理则这种中断为单重中断,若转去处理新的中断,则这种中断为多重中断。
    每一个中断源都有一个屏蔽触发器,1表示可以屏蔽该中断源的请求。
  1. I/O方式----DMA(直接内存访问)
    a) 完全由硬件进行成组信息传送的控制方式,主存和DMA接口之间有一条直接数据通路,I/O与主机并行工作,程序和传送并行工作。不通过CPU。
    b) 组成:
    主存地址计数器:存放要交换数据的主存地址
    传送长度计数器:用来记录传送数据的长度
    数据缓冲寄存器:用于暂存每次传送的数据
    DMA请求触发器:I/O设备准备好数据后使DMA请求触发器置位
    控制/状态逻辑:由控制和时序电路及状态标志组成
    中断机构:数据块传送完毕后触发中断机构,提出中断请求
    c) 功能
    传送前:DMA控制器接受外设发出的DMA请求,向CPU总线发送总线请求,CPU响应总线请求,接管总线控制权,进入DMA操作期
    传送时:确定传送数据的主存单元地址即长度,自动修改主存地址计数和传送长度计数。规定数据在主存和外设间的传送方向,发出读写控制信号,执行数据传送操作。(以字节、字、数据块为单位)
    传送后:向CPU报告DMA操作的结束
  2. 当CPU和DMA同时访问主存时,使用三种方式访存:停止CPU访存,DMA和CPU交替访存,周期挪用
  3. DMA传送过程
    a) 预处理 CPU完成必要准备工作,主存起始地址、I/O设备地址、传送数据个数、启动I/O
    b) 数据传送 CPU继续执行主程序,同时完成数据的传送
    c) 后处理:中断服务程序、DMA结束处理
  4. DMA和程序中断方式
  1. 中断方式是程序的切换,需要保护和恢复现场,DMA除了预处理和后处理,其他时间不需要占用CPU.
  2. 对于中断请求的请求的响应只可以是指令执行结束之后,而DMA可以发生在机器周期结束
  3. 中断传送需要CPU的干预,而DMA传送过程不需要CPU,数据传输率高,适合高速外设
  4. DMA优先级高于中断请求
  5. 中断方式具有对异常事件的处理,而DMA仅限于传送数据块
  6. 中断方式靠程序传送,DMA方式靠硬件传送

计算机组成原理个人小结相关推荐

  1. 计算机组成原理与系统结构本章小结,计算机组成原理本章小结精简版.doc

    计算机组成原理本章小结精简版 计算机组成原理本章小结精简版 第一章 计算机系统概论 划分通用.专用机: 1.效率:2.速度:3.价格:4.运行的经济性和适用性 通用计算机划分: 超级计算机:大型机:服 ...

  2. 计算机运算器实验原理,计算机组成原理运算器实验—算术逻辑运算实验

    <计算机组成原理运算器实验-算术逻辑运算实验>由会员分享,可在线阅读,更多相关<计算机组成原理运算器实验-算术逻辑运算实验(7页珍藏版)>请在人人文库网上搜索. 1.实验报告1 ...

  3. 高等学校计算机规划教程,高等学校计算机应用规划教材:计算机组成原理简明教程...

    高等学校计算机应用规划教材:计算机组成原理简明教程 语音 编辑 锁定 讨论 上传视频 <高等学校计算机应用规划教材计算机组成原理简明教程>是2009年清华大学出版社出版的图书,作者是石磊. ...

  4. 计算机组成原理实验七,计算机组成原理实验七.doc

    实验报告 实验报告 数学与计算机学院 实验报告 ( 2013 / 2014 学年 第 1学期 ) 课程名称 计算机组成原理 课程代码 实验时间 2013 年 12 月 1 日 指导单位 西华大学数学与 ...

  5. 计算机组成原理实验八报告,计算机组成原理实验报告-八位补码加减法器的设计与实现.docx...

    计算机科学与技术学院 计算机组成原理 实验报告书 实?验?名?称 班级 学号 姓名 指?导?教?师 日期 成绩 八位补码加/减法器的设计与实现 实验?1?八位补码加/减法器的设计与实现 一.实验目的 ...

  6. 操作系统考研辅导教程(计算机专业研究生入学考试全真题解) pdf,计算机组成原理考研辅导教程:计算机专业研究生入学考试全真题解...

    本书由在全国知名高校长期从事计算机组成原理课程教学工作的资深教师编写.书中汇集了近年来计算机专业研究生入学考试常见考试知识点解析,提供了丰富的典型题例与实战练习,十分难得的是本书包含了国内50多所重点 ...

  7. 计算机组成原理+左冬红,计算机组成原理与接口技术--基于MIPS架构(第2版高等学校电子信息类专业系列教材)...

    导语 内容提要 华中科技大学电子信息与通信学院基于FPGA平台的"微机原理与接口技术"课程教学改革已进行数载,作者在总结教学经验基础上,对<计算机组成原理与接口技术>进 ...

  8. 简述计算机j选件,计算机组成原理06new.ppt

    计算机组成原理06new.ppt 第五章 计算机的运算方法 无符号数和有符号数 数的定点表示和浮点表示 定点运算 浮点四则运算 算术逻辑单元 重点 机器数与真值的区别 计算机中如何表示数的符号,如何表 ...

  9. 计算机组成原理运算器设计,计算机组成原理2_5教学计算机运算器设计.ppt

    <计算机组成原理2_5教学计算机运算器设计.ppt>由会员分享,可在线阅读,更多相关<计算机组成原理2_5教学计算机运算器设计.ppt(32页珍藏版)>请在人人文库网上搜索. ...

最新文章

  1. ValueError: Classification metrics can‘t handle a mix of multiclass and unknown targets
  2. Jquery中使用JsonP加载本地json文件解决跨域问题
  3. 今年的假期挺长的~~~
  4. C语言以字符串的形式读写文件
  5. leetcode —— 1290. 二进制链表转整数
  6. CSS 字体风格 font-style属性
  7. 【BZOJ3999】旅游,树链剖分中的有向信息合并
  8. Ie和firefox的Javascript区别
  9. BZOJ2134 单选错位
  10. Scratch实现打字游戏
  11. 微信聊天内容制作生成器微信小程序源码/支持多种制作生成
  12. [白话解析] 深入浅出极大似然估计 极大后验概率估计
  13. High Dynamic Range(HDR)图像介绍(一)
  14. 分类网络(一)VGG
  15. 去除字符串中的转义字符
  16. Mq报错:Caused by: com.rabbitmq.client.ShutdownSignalException
  17. Python:打包生成.pyc、.pyd文件
  18. Python赋值语句的详细理解
  19. python字母频率统计
  20. 使用hexo+github pages搭建博客

热门文章

  1. 快递物流查询接口API,使用Jquery的ajax跨域实现根据单号查询物流跟踪的详细信息
  2. Linux 网卡 bond 的七种模式详解
  3. 关于xshell6强制更新却无法安装更新包问题
  4. LinuxProbe学习笔记(十二)
  5. python os.popen.readlines异常_python之read,readline,readlines区别
  6. 网络安全面试题,渗透测试面试总结
  7. while和switch循环如何使用
  8. python计算一个多项式_Python 从一元多项式中提取系数和次数,并进行简单的运算...
  9. WebRTC中的拥塞控制 一
  10. C语言有关树的编程题,有关二叉树的递归算法 C语言编程