计算机系统结构

一、概论
  • 计算机结构层次(低->高): 微程序机器级(0级)、传统机器语言机器级(1级)、操作系统机器级(2级)、汇编语言机器级、高级语言机器级、应用语言机器级
  • M0微程序由 「硬件」实现,M1传统机器语言机器级由「固件」实现,M2-M5由「软件」实现
  • 固件: 具有软件功能的硬件。
  • 计算机系统设计主要任务: 系统 结构、组成、实现 的设计。
  • 计算机发展阶段: 电子管->晶体管->小规模集成电路->大规模集成电路->超大规模集成电路
  • 软件的「可移植性」指软件不修改或少量修改由一台机器转移到另一台机器,适用不同环境。
  • 翻译: 将「高一级的机器级的程序」转换为「低一级的机器级的程序」后在「低一级的机器上实现的技术」
    解释: 对高级机器级语言的语句或指令逐条解释
  • 软件的功能可以用「硬件」或「固件」完成,硬件的功能也可以用「软件模拟」完成
  • Amdahl定律: (关键词: 瓶颈部件、提高速度、系统性能改进程度、系统加速比Sp=1/(1-a+a/n))
  • 程序执行时,90% 时间访问「整个程序」的 10%那一部分,而其余10%的时间访问另外 90% 的「部分程序」。
  • 计算机系统层次设计方法: 由上往下、由下往上、由中间开始向两边(最好)。
  • 计算机向后兼容,尽量向前兼容。 可以运行更高档的机器属于 向上兼容。
  • 实现软件移植方式: 统一高级语言、采用系列机、模拟和仿真。
    模拟: 用 「机器语言程序」解释实现软件移植。 进行模拟的叫 宿主机,被模拟的称为 虚拟机
    仿真: 用「微程序」解释实现软件移植。 进行仿真的为 宿主机, 被仿真的称为 目标机
  • 器件:「非用户片」也称为「通用片」、可编程只读存储器PORM属于「现场片」、用户片
  • 并行性: 包含两层意思, 「同时性」 和 「并发性」。
  • 并发性: 在同一时间段内运行2个或以上的程序
  • 并行性等级: (由低到高)
    (1) 执行程序角度: 指令内部、指令之间、进程(或任务)之间、程序(或作业)之间
    (2) 处理数据角度: 位串字串、位并字串、位片串字并、全并行
    (3) 步骤阶段角度: 存储器操作并行、处理器操作步骤并行(流水)、处理器操作并行、指令&任务&作业并行(MIMD)
  • 开发并行性途径: 时间重叠、资源重复、资源共享
  • flynn分类法按「指令流」和「数据流」的「多倍性」把计算机系统分为:
    1. SISD单指令流单数据流。 (流水方式)单处理器计算机。
    2. MISD多指令流单数据流。 脉动阵列流水机
    3. SIMD单指令流多数据流。 阵列处理机、相联处理机
    4. MIMD多指令流多数据流。 多处理机。
  • 计算机系统定量设计原理:
    1. 哈夫曼压缩原理。 加速处理高概率的事件远比加速处理低概率的事件对性能的提高更显著
    2. Amdahl定律。 对系统中瓶颈部件加速后系统性能改进程度,即系统加速比Sp
    3. 程序局部性原理。 包括时间局部性和空间局部性。90%时间处理10%程序,10%时间处理90%程序; 数据在存储器中相对聚集地放在一起。
二、数据、寻址、指令
  • 高级数据表示形式:
    1. 自定义数据表示: 标识符数据表示、数据描述符
    2. 向量、数组数据表示
    3. 堆栈数据表示
  • 浮点数: 字长相同时,浮点数比整数表示范围更大
  • 浮点数尾数增大时: 扩大表示范围、减少位移次数、减小精度损失、提高运算速度。
  • 浮点数尾数下溢处理方法: 截断法(误差最大)、舍入法、恒置1法(最低位恒置1,最简单)、查表舍入法
  • 「寻址方式」是指指令按什么方式寻找信息 。
  • 程序员访问的是「逻辑地址」,主存中的是「物理地址」
  • 计算机将主存、寄存器、堆栈分类编址,寻址方式分为: 面向主存、面向寄存器、面向堆栈。
  • 程序在主存中定位技术:
    1. 静态再定位。 程序进入主存时,逻辑地址直接替换为物理地址
    2. 动态再定位。 利用基址寄存器,执行指令时再转换为物理地址
    3. 虚实地址映像表。
  • 哈夫曼压缩 + 扩展操作码: 必考,略。
  • 指令设计内容包括「指令功能」和「指令格式」
  • 指令编码格式: 变长编码、固定长度编码、混合编码
  • 指令数据冲突类型: 先读后写、写-写、先写后读
  • 指令设计要求: 规对独正可可
    规整性、对称性、独立性和全能性、正交性、可组合性、可扩展性
  • 指令格式优化:
    1. 采用扩展操作码
    2. 多种寻址方式
    3. 多种地址制
    4. 多种地址制内再采用多地址形式
  • 指令集设计策略:
    1. CISC(复杂指令系统计算机)。 增强指令功能,实现软件功能硬化。
    2. RISC(精简指令系统计算机)。 减少、简化指令功能减低设计复杂度,提高执行速度。
  • CISC缺点:
    1. 指令系统庞大,200条以上。 (复杂的寻址方式、指令格式、指令长度)
    2. 指令操作复杂、执行速度低。
    3. 高级语言编译难生成高效额机器语言程序。
    4. 大部分指令使用频度低
  • CISC优化方向: 面向目标程序、面向高级语言、面向操作系统
  • RISC优点:
    1. 设计简单规整。
    2. 执行速度和效率高。
    3. 降低设计成本,提高系统可靠性。
    4. 可直接支持高级语言,简化编译程序设计。
  • RISC缺点:
    1. 指令少,贮存大
    2. 浮点运算和虚拟贮存支持不好
    3. 编译器更难写
  • RISC设计原则:
    1. 支持频度高和少量最有用的指令,100条以下。
    2. 简化指令格式,减少寻址方式
    3. 所有指令在一个机器周期完成
    4. 扩大寄存器个数,减少访存
    5. 提高指令执行速度
    6. 优化设计编译程序和精简指令
三、存储、中断、总线、I/O
  • 对存储系统基本要求: 高速度、低价格、大容量
  • 1字 = 4字节 = 32bit
  • 存储方式: 任意存储、按整数边界存储
  • 中断: CPU中止正在执行的程序,(保存现场),转去处理随机提出的请求,完成后恢复被打断的程序继续执行的过程。
  • 中断系统: 所有「中断响应硬件」和「中断处理程序软件」的统称
  • 中断系统功能: 中断请求的保存和清除,优先级确定,中断现场保存和恢复,中断请求的分析和处理,中断返回。
  • 中断分类:
    1. 内部中断。 由CPU异常引起
    2. 外部中断。 由中断信号引起,分为「可屏蔽中断」和「不可屏蔽中断」
    3. 软件中断
  • IBM把机器校验位分为:中断源、中断请求。 引起中断的各种事件称为「中断源」; 中断源发出的申请称为「中断请求」
  • 中断响应次序: 机器校验 > 管理程序调用&程序性 > 外部 > 输入输出 > 重新启动
  • 中断图: 重要 略
  • 总线: 用于互连计算机、CPU、存储器、IO接口及外围设备间的 信息传送通路集合。
  • 总线分类:
    1. 按位置: 芯片级、板级、系统级
    2. 按传输: 单向传输、双向传输
    3. 按用法: 专用、非专用
  • 信息在总线中的传送方法分为: 同步、异步
  • I/O系统包括: 输入/输出设备、设备控制器、输入/输出操作有关的软硬件
  • 通道传输数据方式不同分类:
    1. 字节多路通道。 低速设备,每次一个字节,为多台交叉服务,适用打印机、光电机。
    2. 数组多路通道。 传输速度高,但传送前寻址辅助操作时间长,传输定长块,适用多台磁盘等高速设备
    3. 选择通道。 独占通道,传输不定长块,适用优先级高的磁盘等高速设备。
  • 通道流量: 数据传送期内,单位时间传送的「字节数」,即Bps。最大流量称「通道极限流量」
  • 通道流量计算: 重要 略
四、存储体系
  • 虚拟存储器: 以存储器访问局部性为基础,建立在主-辅存体系上。通过某种策略,把辅存信息一部分一部分地调入主存,以给用户提供比实际主存容量大得多的地址空间访问主存。
  • 虚拟存储器通过增设「地址映像表机构」来实现程序在主存中的定位。
  • 虚拟存储器管理方式: 段式、页式、段页式
    • 页式把「主存空间」和「程序空间」分为「固定大小」的页,按页顺序编号
  • 替换算法: 主要有先进先出算法FIFO、最近最少使用算法LRU(堆栈型)、优化替换算法OPT(堆栈型)。 (其他:随机算法、最近最久未使用)
  • 「高速缓冲(Cache)存储器」是为了弥补主存速度不足,在处理机和主存之间设置的高速、小容量的Cache,构成「Cache-主存」存储层次,使之从CPU角度来看,
    速度接近于「Cache」,容量却是「主存」的。
  • 「地址的映像」就是讲主存块按某种规则装入Cache
  • 主存到Cache地址映像方式:
    1. 直接映像。 主存中的一块只能放到Cache的唯一位置。
    2. 全相联映像。主存中任意一块可放到Cache中任意位置。 块冲突概率最低,Cache空间利用率最高。
    3. 组相联映像。主存中每一块可放到Cache对应组中的任意位置。 块冲突概率低,Cache空间利用率高,相对目录表小,变换速度快。
  • Cache的性能取决于「命中率」,主存容量与其无关
  • Cache与主存不一致的解决方法:
    1. 写回法。 更改写入Cache,Cache块被替换时把更改再写入主存
    2. 写直达法。 更改Cache的同时更改主存
  • 三级存储体系:
    1. 物理地址Cache。 Cache-主存 、 主存-辅存
    2. 虚地址Cache。 Cache-主存-辅存 直接构成三级存储层次
    3. 全Cache。 Cache-辅存 未商业化
  • 额外知识: 主存比磁盘访问快10万倍
五、标量处理机
  • 解释一条指令的微操作: 取指令、分析指令、执行指令
  • 一次重叠: "执行k"与"分析k+1"重叠
  • 相关: 临近指令关联,防止出错不能同时解释的现象。
  • 数相关: 两条指令数据地址关联
  • 指令相关: 一条指令经前一条指令形成
  • 「指令相关」是因为机器指令「允许修改」而引出的
  • 解决操作数相关方法: 推后分析、设置专用通路
  • 流水与重叠: 流水是重叠的引申。一次重叠把指令的解释分为2个子过程同时执行,流水可以多个子过程可同时解释4条指令。
  • 流水分类:
    1. 按处理级别: 部件级、处理机级、系统级
    2. 按功能多少: 单功能流水线、多功能流水线
    3. 多功能流水线按是否允许同时多种不同功能流水,分为: 静态流水线、动态流水线
    4. 按数据表示角度: 标量流水机、向量流水机
    5. 按各功能段之间是否有「反馈回路」分为: 线性流水线、非线性流水线
  • 吞吐率: 流水线单位时间流出的任务数或结果数
  • 加速比: 流水方式相对非流水方式提高的比值
  • 效率: 设备实际时间与整个运行时间的比值(流水线设备时间利用率)
  • 流水线最大吞吐率: Tpmax = 1 / max(∆t1、∆t2、、∆tn) 。 即取决于「瓶颈子过程」的执行时长
  • 流水线消除速度瓶颈方法: 瓶颈子过程再细分、瓶颈子过程多套并联
  • 「全局性相关」是指进入流水线的转移指令个
  • 对全局性相关处理办法: 猜测法、加快提前形成条件码、延迟转移、加快短循环程序处理
  • 高性能超级处理机: 超长指令字处理机、超标量处理机、超流水线处理机、超标量流水线处理机
六、向量处理机
  • 向量处理机分类及对比:
    1. 向量流水处理机。 缩短时钟周期,利用时间重叠,是并行性中的并发性,
    2. 阵列处理机。SIMD 增多处理单元,利用资源重复,是并行性中的同时性,设备利用率不如流水,硬件性价比低,速度提高潜力大。
  • 「链接技术」是提高计算机整体运算速度的重要措施
  • 向量处理方式: 横向(水平)处理方式 (非流水)、 纵向(垂直)处理方式 (流水)、 分组纵横处理方式 (流水)
  • 阵列处理机构形
    1. 分布式存储器
    2. 集中式共享存储器。 代表机器:BPS
  • 「互连函数」表示互连网络「出端号」和「入端号」的对应关系
  • 交换方法: 线路交换(适用大批量数据传输)、包交换、线路与包交换组合
  • 网络拓扑结构有「静态」和「动态」2种。动态分为「单级」和「多级」
  • 互连网络设计目标:
    1. 结构不要复杂,降低成本
    2. 灵活, 以满足算法和应用的需要
    3. 处理单元信息交换步骤尽可能少,提高速度
    4. 能用规整单一的基本构件组合而成
  • 单级互连网络:
    1. 立方体(Cube)单级网络。 8个处理单元,3位二进制编号。 单位取反。 1#和3#部件直接通信; n个结点的最大距离为n;
    2. PM2I单级网络。 5个互连函数记一下
    3. 混洗交换单级网络。 二功能交换单元: 直连和交换。 四功能交换单元: 增加上播和下播。
    4. 蝶形单级网络。
  • 多级互连网络区别地方: 所用的交换开关、拓扑结构、控制方式
  • 多级互连网络交换开关控制方式: 部分级控制、级控制、单元控制
  • 脉动阵列流水处理机: 一组结构相同的处理单元PE构成阵列。 PE内部有若干锁存器。
  • 脉动阵列流水处理机特点: 简单、规整、模块化强、扩充性好、极高并行性、构形和算法很重要
七、多处理机(MIMD)
  • 多处理机: 两台以上的处理机、共享I/O子系统、统一操作系统控制下,机间共享主存或通过高速通信网络通信,协同求解大而复杂的问题的计算机系统
  • 构形:
    1. 紧耦合。通过互连网络共享主存,受限于主存频宽。 分为: 同构对称形、异构非对称形
    2. 松耦合。通过通道通信互连,不共享主存。
  • 多处理机与阵列处理机相比「并行性等级」不同。(多处理机是并行性、)
  • 互连形式: 总线、环形互连、交叉开关、多端口存储器、蠕虫穿洞寻径网络(小Cache,用于消息分组寻径转发)。
  • 多处理机访问公共总线冲突仲裁算法: 静态优先级、动态优先级、固定时间片、先来先服务
  • 紧耦合多Cache一致性解决:
    1. 如果是进程迁移引起的,禁止进程迁移。
    2. 以硬件为基础实现。最普遍的叫: 监视Cache协议法
    3. 以软件为基础实现。不把一些公用可写数据存入Cache
  • 多处理操作系统分类: 主从型、各自独立型、浮动型
  • 多处理机形式: 同构型、异构型、分布型
  • 并行算法分为: 同步型、异步型、独立型
八、数据流计算机和归约机
  • 「数据流」是基于「异步性」和「函数性」的一种计算模型
  • 数据流计算机是「数据」驱动,归约机是「需求」驱动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值