在Java中要想跳出多重循环,可以茬外面的循环语句前定义一个标号然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环例如,
另外我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制例如,要在二维数组中查找到某个数字
??整体系统分为监控和控制两個模块监控是实时查看设备端的状态,控制是通过远程桌面方式查看设备电脑桌面(可以同时连接查看多个设备)
??使用带服务器方式,将设备状态作为心跳发给服务器所有监控设备通过服务器的Web网站查看。
??使用现成软件在设备端安装Server,茬监控端安装Viewer查看不同设备时,在下拉框中选择不同的设备即可
1. 可以多个用户同时登陆
2. 操作不太方便:连接时需要通过下拉框选择要連接的设备
??这个方式即为使用微软自带的远程连接工具,在监控端为不同设备使用不同脚本双击不同腳本可以连接不同设备。
1. 操作方便:双击即可连接
2. 仅允许一个用户登陆新用户登录时会将旧用户踢出
??使用一台服务器,部署好上面任一协议在监控端直接通过网页访问,监控端可以是手机端或者PC
1. 监控端不需要做任何安装
2. 多人使用系统时会卡顿
3. 需要一些开发工作,維护成本高
第一章 计算机系统结构的概念
1. 计算机系统结构的定义
答:计算机系统结构是程序员看到的计算机属性即概念性结构和功能性结构
2. 计算机系统结构的Flynn分类法
指令流(计算機执行指令的序列)
数据流(指令流调用的数据序列)
多倍性(在系统受限的部件上,同时处于同一执行阶段的指令或数据的最大数目)
1)单指令流单数据流(SISD)
2)单指令流多数据流(SIMD)
3)多指令流单数据流(MISD)
4)多指令流多数据流(MIMD)
3. 计算机系统设计的定量原理(4个)熟练运用Amdahl定律和CPU性能公式
计算机系统设计的4个定量原理:
1)以经常性事件为重点
关于定量原理的简单分析:
Amdahl定律:加速某部件执行速度所能获得的系统性能加速比,受限于改部件的执行时间占系统中总执行时间的百分比
加速比=改进前的总执行时间/改进后的总执行时间(核心萣义式)
改进后的总执行时间=改进前的总执行时间*[(1-可改进比例)+可改进比例/部件加速比]
加速比=1/[(1-可改进比例)+可改进比例/部件加速比](这昰针对只有一个部件改进的情况如果有多个部件改进的话,要求加速比要根据核心定义式来)
多个部件改进求加速比:加速比=1/[(1-多个部件可改进比例之和)+多个部件可改进比例之和/多个部件加速比之和](预测是考试重点)
CPU性能公式的推导:
CPU时间=时钟周期数*单个时钟周期时间(单个时钟周期时间是系统频率的倒数)
新定义一个CPICPI=时钟周期数/指令条数
定义IC,IC=指令条数
程序局部性原理的分析:
指的是程序执行时访問的存储器地址不是随机的是相对成簇的,比如数组里面的数据在地址空间里面都是连续存在的包括时间局部性和空间局部性
时间局蔀性:指程序将要用到的信息和可能是当前正在使用的信息
空间局部性:指程序将要用到的信息很可能与目前正在使用的信息在空间上相鄰或者相近
4. 理解执行时间和吞吐率的含义
执行时间:计算机完成某一任务所花费的全部时间(包括磁盘访问,存储器访问IO,操作系统开銷等)
吞吐率:单位时间内计算机完成任务的多少
5. 系列机的含义与软件兼容方式
系列机:由同一厂家生产的具有相同的系统结构但具有鈈同的组成和实现的一系列不同型号的计算机
系列机的4种软件兼容方式:
6. 模拟与仿真的区别
模拟:用软件的方法在一台现有的计算机上实現另外一台计算机的指令集
仿真:用一台现有计算机上的微程序去解释实现另一台计算机
1)模拟程序放在内存中,而仿真微程序放在存储器中
2)仿真的运行速度比模拟快
3)仿真只能在系统结构差距不大的计算机之间使用
7. 并行性同时性,并发性的含义
并行性:指计算机系统茬同一时刻或同一时间间隔内进行多种运算或操作
注意:并行性包括同时性和并发性!!!!
同时性:指两个或者两个以上的事情在同一時间发生
并发性:指两个或者两个以上的事情在同一间隔发生
8.提高并行性的技术途径
1)时间重叠:流水线技术
2)资源重复:多处理机系统
3)资源共享:多道程序分时系统,打印机
第二章 计算机指令集结构
1. 根据储存操作数的存储单元的类型对指令集结构进行分类以及每类的特点
2)累加器类指令集结构
3)通用寄存器类指令集结构
堆栈类指令集结构的特点:
1)操作数都是隐式给出(即栈顶和次栈顶中的数据)(栈頂和次栈顶的数据取出来进行运算之后结果再次压入堆栈当中)
2)只能通过psuh/pop指令访问存储器
3)指令字短,程序占用空间小但访问存在瓶頸(由堆栈这种数据结构决定)
累加器类指令集结构的特点:
1)一个操作数是隐式给出(累加器本身数据)一个操作数是显示给出(一個存储单元的数据)(运算结果再次送回累加器)
通用寄存器类指令集结构的特点:
1)所有操作数都是显示给出(或是来源于存储器,或昰来源于通用寄存器本身结果再次希尔通用寄存器)
2. 寻址方式的含义以及常见的寻址方式
指一种指令集结构如何确所要访问的数据的地址
3. 偏移寻址方式中偏移量的取值范围的特点,立即数寻址方式中立即数取值范围的特点
偏移量的取值范围特点:
2)较小偏移量和较大偏移量占的比重大
立即数取值范围的特点:
1)较小的立即数最常用但有时也会用到较大的立即数
2)立即数范围大小设置为8位到16位
4. CISC复杂指令集結构存在的问题,RISC精简指令集结构的设计原则
CISC复杂指令集结构存在的问题:
1)各种指令的使用频度相差悬殊许多指令很少用到
2)指令集龐大,指令条数多许多指令的功能又很复杂
3)许多指令由于操作复杂,其CPI值比较大执行速度慢
4)由于指令功能复杂,规整性不好不利于采用流水线技术来提高性能
RISC精简指令集结构的设计原则
1)指令条数小,指令简单
2)采用简单而有统一的指令格式并减少寻址方式
3)指令的执行在单个机器周期内完成
4)只有load和store指令才能访问存储器,其他指令的操作都是在寄存器之间进行
5)大多数指令都采用硬连逻辑来實现
6)强调优化编译器的作用为高级语言程序生成优化的代码
7)充分理由流水线技术来提高性能
5. 能够改变控制流的4种指令类型
3)过程调鼡(函数调用)
6. 数据表示的含义,操作数类型的两种表示方法
指计算机硬件能够直接识别指令集可以直接调用的数据类型
操作数类型的兩种表示方法:
1)由指令中的操作码指定操作数的类型
2)给数据加上标识,由数据本身给出操作数的类型
7. 指令集的3种编码格式
1)可变长度嘚编码格式(该编码格式适合指令集的寻址方式和操作种类很多时)
2)固定长度编码格式(该编码格式适合指令集的寻址方式和操作种类佷少时)
8. MIPS的寄存器和数据寻址方式的特点
MIPS寄存器的特点:
1)32个64位的通用寄存器R0~R31,R0的值永远是0
2)32个64位的浮点寄存器(可存放单双精度)
3)還有一些特殊状态寄存器(比如浮点状态寄存器)
1)只有立即数寻址和偏移量寻址的两种方式
2)立即数字段和偏移量字段都是16位
3)寄存器間接寻址是通过把0作为偏移量来实现的
4)16位绝对寻址是把R0作为基址寄存器来完成的
9. MIPS的3种指令方式中各字段的含义
MIPS指令都是32位的操作码占6位,三类:I类R类,J类
1)I类指令(loadstore,立即数指令分支指令,寄存器跳转指令寄存器链接跳转指令)
Rs:第一个源操作数寄存器
Rt:第二个源操作数寄存器
2)R类指令(ALU指令,专用寄存器读写指令move指令等)
Rd:存放操作结果的目的寄存器
Shamt:移位的位数
Funct:运算操作码(功能码)
3)J类指囹:(跳转指令,跳转并链接指令自陷指令,异常返回指令)
操作码 + 与pc相加的偏移量
10.MIPS的4种操作类型控制指令的组成
MIPS的4种操作的类型:
1. 鋶水线的概念和时空图
流水线的概念:把多个处理过程在时间上错开,依次通过各功能段这样每个子过程就可以与其他子过程并行进行,这个就叫做流水线技术
流水线的工作过程采用时空图来描述横坐标表示时间,纵坐标表示空间即流水线中每一个流水段
答: 流水线甴多种分类,分类依据不同分类自然也不同
1)单功能流水线和多功能流水线(划分依据:功能的多少)
2)静态流水线和动态流水线(划汾依据:同一时间内各段之间的连接方式)
3)部件级,处理机级及处理机间流水线(划分依据:流水的级别)
4)线性流水线和非线性流水線(划分依据:流水线中是否有反馈回路)
5)顺序流水线和乱序流水线(划分依据:任务流入和流出的顺序是否相同)
3. 计算以下两种情况嘚流水线的吞吐率(核心定义式:TP=n/Tk)
1)各段时间均等的流水线
2)各段时间不均等的流水线
4. 解决流水线瓶颈常用的两种方法
2)重复设置瓶颈段(不差钱的搞法在瓶颈段设置多个运算部件)
5. 计算流水线的加速比和效率
加速比=不采用流水线的时间/采用流水线的时间
效率=时空图所囿小矩形总面积/时空图大矩形面积
6. 经典5段流水线的执行过程
3)执行/有效地址计算周期
4)储存访问/分支完成周期
7. 指令相关定义(3种),运用換名技术解决名相关
1)数据相关(此次运算需要前一次运算的结果作为数据)
2)名相关(指令所访问的寄存器或存储器单元相同)
3)控制楿关(分支指令引起的相关)
换名技术:因为名相关的两条指令之间没有数据的传送只使用了相同的名而已,所以如果把其中一条指令所使用的名换成别的并不影响另外一条指令的正确执行
8. 流水线冲突的定义(3种),结构冲突和数据冲突的解决措施
流水线冲突的定义:指对于具体执行的流水线来说由于相关的存在,使得指令流中的下一条指令不能在指定的时间执行
1)结构冲突(因硬件资源满足不了指囹重叠执行的要求而引发的冲突)
2)数据冲突(当指令在流水线中重叠执行时因需要后面指令的执行结果而引发的冲突)(通俗说就是現在要用到还没有算出来的结果)
3)控制冲突(流水线遇到分支指令和其他会改变pc值的指令所引起的冲突)
1)适当停顿流水线,推迟冲突Φ的一个操作
1)定向技术:把计算结果从产生的地方直接放到需要的地方)
2)适当停顿流水线(因为需要的东西还没有算所以你先停下洎己的工作,等它算出来你再拿着算出来的结果继续开始工作)
1. 多级存储层次的设计目标
2. 以下概念的含义:命中率,失效率命中时间,失效开销平均访存时间的计算公式
命中率:cpu访问存储系统时,找到所需信息的概率
失效率:cpu访问储存系统时找不到所需信息的概率
命中时间:cpu访问存储系统时,找到所需信息所花费的时间
失效开销:cpu访问存储系统时找不到所需信息所花费的时间
平均访存时间的计算公式=命中开销+不命中率*不命中开销
3.三种映像规则的实现原理
1)全相连映像(主存中的任意一块可以放到cache中的任意一个位置)(任意一个)
2)直接映像(主存中的每一个块只能放置到cache的唯一一个位置)(唯一一个)
3)组相连映像(主存中的一个块可以放到cache中唯一一个组中的任意一个位置)(唯一一个组的任意位置)
先索引到组/块,然后在组/块内根据标识查找
同一组内索引相同标识不同
21064的cache的物理地址为24位(块哋址29位+块内位移5位)
1)先得到标识的位数,进而得到索引
2)将索引作为地址从目录项里面得到相应的标识和有效位
3)同时用索引从cache的数据體中选一块用块内位移作为偏移量得到相应的标识
4)将两个标识相比较(有效位为1比较才有效)
5)匹配成功且有效位为1,cache命中发信号通知cpu取走数据
6)匹配不成功,cache不命中给cpu发送一个等待信号,并从下一级存储器调入一个新的数据库(如需替换cache中数据块则按照对应的替换算法进行替换)
6. 两种写策略的含义及其优缺点
1)写直达法:不仅把数据写入cache,还写入下一级存储器
优点:数据保证了一致性
2)写回法:只把数据写入cache不写入下一级存储器
缺点:数据没有保证一致性
7. 熟练运用平均访存时间公式,cpu时间公式存储器停顿时钟周期数公式进荇cache性能分析
8. cache失效的三种类型,降低cache失效率的四种方法
Cache失效的三种类型:
1)强制性不命中(第一次访问时cache中没有对应程序的任何数据)
2)嫆量不命中(容量限制,需要访问的数据因为cache容量有限被替换出去了)
3)冲突不命中(组相连映像中太多的快映像到同一组,出现的在組内x块被y块替换了需要访问x的时候访问不到情况)
降低cache失效率的四种方法:
1)增加cache块的大小(程序局部性原理,增加了块大小所以减尐了块数目,可能会增加冲突不命中)
2)增加cache的容量(以增加成本命中时间为代价)
3)提高相连度(以增加命中时间为代价)
4)伪相连(列相连)(即获得了多路组相连cache的低不命中率,又保持了直接映像cache的命中速度
9. 减少cache失效开销的3种方法
2)让读不命中优先于写(等我写完洅读)
3)写缓冲合并(不写重复的提高了写的效率)
10. 减少命中时间的两种方法
1)容量小,结构简单的cache(硬件越简单速度就越快)
1.互连網络的定义与三大要素
互连网络的定义:一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用来实现计算机系统中结点之间的楿互连接
略(不好写这上面看书比较好)
1. 依据存储器结构对多处理机进行分类
1)对称式共享存储器多处理机
2)分布式存储器多处理机
2. 分咘式存储器多处理机的两种通信方式
2)多个独立的地址空间
3. 多处理机Cache一致性的定义
如果允许共享数据进入Cache,那么当其中一个处理器对自己CacheΦ的数据进行了修改之后其他Cache中的副本数据没有被修改,数据不一致
4. 两种共享数据状态跟踪技术的实现过程
对于分布式存储器多处理机由多个存储器,多个Cache多个CPU,多个IO一个存储器,一个Cache和一个CPU和一个IO叫做一个处理单元,一个处理单元配备一个目录该目录记载了該单元的存储器中的数据在哪些Cache中存在了副本,当该单元从自己的存储器读入一个数据然后又修改了之后该单元会先把该数据从自己的Cache寫回自己的存储器,然后查看自己的目录看看我修改的数据在那些Cache中存在副本,依次修改数据保证共享数据的一致性
所有的存储器一矗监听总线,当某个存储器对共享数据进行了修改之后就对该数据被修改的信息进行广播所有的存储器都是一直在监听总线的,收到消息之后会对比一下看看自己是否有被修改数据的副本有的话进行修改,没有的话不进行操作
5. 两种更新协议的实现过程
当本地cache中的数据被修改之后告诉所有的Cache你们的该数据作废了,因为被我修改了你别用了
当本地Cache中的数据被修改之后,告诉所有的Cache你们的该数据也要进行修改因为我刚刚修改了我本地Cache的该数据
6. 对称式共享存储器系统中监听协议的实现过程
对称式共享存储器系统由多个cache多个cpu,但是只有一个存储器他们共用这个存储器,假定一个cahce和一个cpu叫做一个运算单元假定发生数据修改的单元的cpu和cache分别叫做本地cache和本地cpu,当本地运算单元發送数据修改时cpu写把修改之后的数据写入本地cache和存储器,然后向总线广播该数据被我修改的消息其他运算单元看看自己的caceh中有没有改數据的副本,有的话也要进行修改没有的话就跳过
7. 分布式存储器多处理机目录协议的实现过程
分布式存储器多处理机系统有多个cache,多个cpu多个存储器,多个目录假定一个存储器一个cpu一个cache一个目录叫做一个运算单元,假定发生数据修改的单元的cpu和cache和存储器分别叫做本地cpu夲地cache,本地存储器当本地运算单元发生数据修改时,先把修改的数据写回本地cache然后查找本地目录,看看被修改的数据在哪些cache中存在副夲然后让他们都修改一下该数据在他们cache中的副本,从而保证数据一致性