前言
本文为预习 计算机体系结构 这门课时的一些笔记,,仅列出老师画出的重点以及我所不知道的一些内容(教材是计算机系统结构,西电)
第一章 计算机系统结构基础及并行性的开发
- 计算机系统中的多层次结构:从使用的角度可以分为 六个 机器级。
- 计算机系统由软件、硬件和固件组成,在功能上是同等的;同一种功能可以使用硬件实现,也可以使用软件实现;不同的组成只是性能和价格不同。
- 透明性: 本来存在的事物或属性,从某种角度看似乎不存在。不同机器级程序员所看到的计算机属性是不同的,就是计算机系统不同层次的界面;透明可以简化该级的设计,但是无法控制,也有不利的影响。
- 计算机系统结构研究的是软硬件之间功能的分配以及对传统机器级界面的确定。为机器语言、汇编语言和编译程序看到的计算机系统所具有的属性,即概念性结构和功能特性。
- 计算机系统的设计思路: 由上到下、由下到上和从中间到两边。
- 由上到下: 从应用出发,软件决定硬件。优点:面向应用,适用于专用机,每一层对上一层优化,软件的运行效率高;缺点:不适用于通用机,导致硬件设计不灵活,适应性差。
- 自下而上:硬件决定软件。缺点:在固定硬件的条件下,软件设计被动且受限制,没有考虑软件优化,导致硬件脱节。
- 从中间到两边:先决定软硬件界面即,系统结构,在由结构设计出软件和硬件。优点:兼顾软件和硬件,可以并行设计,设计过程中互相交流。
- 软件的兼容性和可移植性:(定义)软件可以不经过修改或只需少量的修改便可由一台机器搬到另一台机器上运行,即软件可应用于不同的系统环境。(实现方式)1、采用通用的高级语言;2、统一的机器语言;3、为新设计的计算机配上相应的软件或者硬件后,能够采用原来的软件(模拟和仿真)。
- 1、统一的高级语言:(思想)设计一种完全通用的高级语言。(适用范围)结构相同或者完全不同的机器。(不能出现统一的高级语言的原因)不同的用途要求有不同的语法语义结构、对语法结构的看法不一、在不同的机器上不一定通用、习惯势力的影响。
- 2、统一的机器语言:(思想)先确定系统结构,在从中间到两边的设计软硬件。(适用范围)相同系统结构不同组成和实现的系列机。
- 3、模拟和仿真:模拟:用一种机器(宿主机)的机器语言解释另一种机器(虚拟机)的指令。仿真:用一种机器(宿主机)的微程序解释另一种机器(目标机)的指令系统。优缺点比较:
模拟 | 仿真 |
---|---|
软件实现 | 软件、固件、硬件实现 |
速度低 | 速度高 |
适用范围:结构可以不同,但相差太大时,效率和速度降低 | 适用范围:差别不大的系统之间 |
-
软硬件取舍的原则:
- 系统性价比高
- 在硬件上,考虑可能采用的组成和实现技术
- 在软件上,考虑如何方便编译和操作系统的实现,即缩小高级语言与机器语言的语义差距
-
并行性概念 :解题中具有可以同时进行运算或操作的特性。分为同时性和并发性两类。并行性开发的途径:时间重叠、资源重复、资源共享。并行性处理系统的分类:流水线计算机、阵列计算机、多处理机计算机、数据流计算机。
第二章 数据表示、寻址方式与指令系统
-
数据表示: 指由硬件直接辨认的数据类型,表现在机器有对该类型数据进行操作的指令和运算部件。
-
数据结构:通过软件映像,变换成机器所具有的数据表示来实现。
-
引入数据表示的原则 : 1、系统的效率是否提高,是否减少了实现时间和存储时间;2、其通用性和利用率是否高。
-
软硬件的交界面 : 指令系统。数据结构和数据表示便设计软硬件的交界面,前者研究软件方面,后者考虑硬件方面。
-
编码方式:定长编码、哈夫曼编码、扩展编码
-
设计精简指令集的原则:1、指令精简,使用频率高的指令;2、寻址精简;3、格式精简,指令格式简单,并具有相同长度;4、流水技术,每一条指令都在一个机器周期完成;5、寄存器,仅load和store访存,其他仅对寄存器操作;6、硬布线控制器,采用硬件逻辑控制实现操作,指有少量使用微程序实现。
-
RISC的特点:1、使用高频指令;2、减少指令和寻址方式的种类;3、大多数指令在一个周期完成;4、较多通用寄存器,使用LR访存指令;5、硬联逻辑实现、少数使用微程序;6、注重编译优化。
-
RISC的关键技术:
- 1、按设计RISC的一般原则设计:指令的功能、格式和编码设计上尽可能简化、规整。所有指令尽可能等长,寻址方式尽量统一成1~2种,指令执行在一个机器周期内完成。
- 2、逻辑实现采用硬联和微程序相结合:简单指令用硬联,功能较复杂的指令用微程序。
- 3、重叠寄存器窗口技术
- 4、采用延迟转移技术
- 5、采用高速缓冲存储区Cache:设置指令Cache和数据Cache分别存放指令和数据,以保证向指令流水线不断输送指令和存取数据,以提高流水效率。
- 6、采用优化编译技术
-
什么是指令格式的设计和优化 :(设计)对于编译程序设计者,指令格式尽量规整;对于系统结构设计者,尽量减少程序存储时间、指令执行时间以及兼容性和适应性的提升。(优化)如何使用最短的位数来表示指令的操作信息和地址信息,并使程序中指令的平均长度最短。
-
如何实现操作码、地址码两部分的指令优化 :
- 操作码:定长编码、哈夫曼编码、扩展编码(不等长扩展法(非前缀原则)、等长扩展法(15/15/15法、8/64/512法)
- 地址码:为保证整条指令定长,根据操作码的长度不同配以不同的地址码;尽量使用最少的地址码表示最大的寻址空间。(长操作码配以短地址码)
-
给出指令安排,如何实现扩展操作码的编码 (就是计组当时学的那些)
第三章 存储、中断、总线和输入输出系统
- IBM370将中断分为6类:机器校验中断、访管中断、程序性中断、外中断、输入输出中断、重新启动中断
- 为什么要进行中断优先级划分:根据中断的性质、紧迫性、重要性、软件处理的方便性确定相应中断的优先级。
- IBM370的优先级划分为 :1、机器校验;2、访管、程序性中断;3、外部中断;4、输入输出中断;5、重新启动中断;
- 中断优先级的管理:硬件相应优先序、软件服务优先序
- 中断系统的软硬件功能的分配:
- 总线:总线是连接数字系统的信号线集。它用于连接计算机系统中的设备,是各设备之间共享的通信链路。
- 总线的分类:1、按传输的方向:单向、双向(半双工和全双工);2、按用法:专用和非专用;3、按设备定时分类:同步总线和异步总线。
- 总线的控制方式(总线仲裁):集中式串行链接、集中式定时查询、集中式独立查询。
- 基本输入输出方式(程序控制的IO方式、DMA方式、IO处理及方式)、通道处理机
- 通道处理机 :是隶属于主处理机的输入输出专用协处理机。
- 通道的特点 :
- 有一套输入输出功能很强的专用指令系统
- 与主处理机共享主存,存放相应的程序和数据
- 一个通道可以连接多台外部设备
- 主处理机可用"启动I/O"指令来启动一个通道
- 当通道访存与主处理机冲突时,存控部件赋予通道较高的优先权
- 通道程序执行完毕自动转入休眠状态,同时向主处理机发出一个特定的中断申请,通知该事件
- 通道的工作过程:1、在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道;2、通道处理机执行通道程序,完成指定的数据输入输出工作;3、通道程序结束后第二次调用管理程序对输入输出请求进行处理
- 通道的功能:接受指令、执行程序、传送数据、通道状态、中断请求
- 通道的种类:字节多路通道、数组多路通道、选择通道
第四章 存储体系
- 虚拟存储器的管理方式: 段式管理、页式管理、段页式管理
- 替换算法:FIFO,LRU等等那几个
- 影响虚拟存储器命中率的因素:1、页面大小;2、主存容量;3、页面调度方式;
- Cache和主存的地址映射:全相联映射、组相联映射、直接映射
- Cache命中率 :Cache的容量、Cache的块大小、地址映像方式
第五章 标量处理机
-
加速机器语言解释的方式:选用更高速的器件,加块指令的解释;通过控制结构同时解释执行多条指令
-
重叠方式中的问题:访存冲突;转移指令(延迟转移解决);指令相关;主存空间数相关;通用寄存器组相关;
-
流水线技术:将一个重复的时序过程分解为若干个子过程,而每一个子过程都可有效的在其专用的功能段上与其他子过程同时执行。
-
流水线分类:
- 1、(按功能分类)单功能流水、多功能流水;
- 2、(按同一时间段内的连接方式分类)静态流水线、动态流水线
- 3、(按流水线的级别分类)部件级流水线、处理机级流水线、处理机间流水线
- 4、(按数据表示分类)标量流水处理机、向量流水处理机
- 5、(按流水线是否有反馈电路分类)线性流水线、非线性流水线
- 6、(按流水线中,流水线输出端流出的任务与流水线输入的任务顺序是否相同分类)顺序流水线、乱序流水线
-
解决流水线的瓶颈问题 :1、将瓶颈流水段细分;2、将瓶颈流水段重复设置;
-
求流水线的吞吐率 :
-
流水线断流的原因: 1、编译形成的目标程序不能发挥流水结构的作用;2、存储系统供不上为连续流动所需的指令和操作数;3、相关;4、中断;
-
相关分为局部相关和全局相关。
-
流水机器的中断处理:不精确断点法和精确断点法
-
非线性流水线的调度问题 :
(重点是预约表的分析方法):P184 -
不改变流水线结构的调度方法步骤:
- 做禁止表F
- 做初始冲突向量C
- 做状态转移图
- 做平均间隔拍数表
第六章 向量处理机
- 互连网络 : 互连网络是一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用于实现计算机系统内部多个处理机或多个功能部件之间的相互连接。
- 互连网络的分类:静态连接网络、动态连接网络。
- 基本的单极互连网络:立方体、PM2I、混洗变换、蝶形单继网络
- 立方体网络:
第七章 多处理机
- 多处理机: 具有两台以上的处理机,在操作系统控制下通过共享的主存或输入输出子系统或高速通讯网络进行通讯。实现指令以上级(任务级、作业级)并行。
- 特点 :
- 多处理机结构由若干台独立的计算机组成,每台计算机能够独立执行自己的程序。Flynn称这种结构为多指令流多数据流(MIMD)结构。多处理机系统中的处理机之间按某种形式互连,从而实现程序之间的数据交换和同步。
- 多处理机系统中每台处理机都有寄存器、运算器、逻辑部件、访问存储器和I/O的通道。
- 还有一种多处理机系统中每台处理机有自己的存储器和I/O设备。
- 阵列机与多处理机的区别 :
- 1、结构灵活性 并行处理机:专用,PE数很多(几千个),固定有限的通信多处理机: 通用,几十个,高速灵活的通信
- 2、程序并行性 并行处理机的并行性存在于指令内部,识别比较容易。多处理机的并行性存在于指令外部,在多个任务之间,识别难度较大。
- 3、并行任务派生并行处理机把同种操作集中在一起,由指令直接启动各PE同时工作。 多处理机用专门的指令来表示并发关系,一个任务开始执行时能够派生出与它并行执行的另一些任务,如果任务数多于处理机数,多余的任务进入排队器等待。
- 4、进程同步并行处理机仅一个CU,自然是同步的 多处理机执行不同的指令,工作进度不会也不必保持相同,先做完的要停下来等待。有数据相关和控制相关也要停下来等待,要采取特殊的同步措施来保持程序所要求的正确顺序。
- 5、资源分配和进程调度并行处理机的PE是固定的,采用屏蔽手段改变实际参加操作的PE数目多处理机执行并发任务,需用处理机的数目不固定,各个处理机进入或退出任务的时刻不相同,所需共享资源的品种、数量又随时变化 提出资源分配和进程调度问题,它对整个系统的效率有很大的影响。
- Flynn如何看代多处理机结构 :
- 多处理机结构由若干台独立的计算机组成,每台计算机能够独立执行自己的程序。Flynn称这种结构为多指令流多数据流(MIMD)结构。多处理机系统中的处理机之间按某种形式互连,从而实现程序之间的数据交换和同步。
- Flynn分类法:根据指令流和数据流的多倍性对计算机系统结构进行分类。
- 单指令流单数据流SISD;
- 单指令流多数据流SIMD;
- 多指令流单数据流MISD;
- 多指令流多数据流MIMD。
第八章 新型计算机体系结构
- 脉动阵列机、MPP与机群系统、数据流机、归约机、智能机
特点:
部分习题