软考高级系统架构师(一)1-3
2024-10-12 16:07:02 0 举报
AI智能生成
软考高级系统架构师考试知识梳理,持续更新
作者其他创作
大纲/内容
自由主题
对于某个节点,输入是P,输出是V(简:进P出V)
前驱图和信号量的P、V操作
是否可以并行执行:横向串行,纵向并行
间接制约:右下倾斜方向,按照等待设备相互间接制约
是否直接制约:水平方向,按照每个任务后边的程序收到前边任务的直接制约
横向直接制约,斜向间接制约,纵向不制约
制约
如上直接制约和间接制约为什么这样命名,是按照什么来命名的?是按照任务来的命名的
示例
前驱图
信号量和打印机,信号量代表还有几台可以使用
例题
信号量
子主题
PCB 进程控制块的组织方式
移臂调度
旋转调度
磁盘调度
与应用程序接口:API
I/O(输入/输出)接口是操作系统与外部设备(如硬盘、显示器、键盘、网络设备、打印机等)之间的接口。通过这些接口,操作系统能够控制、管理和与各种外部设备进行数据交换。### I/O 接口的作用:1. **管理设备通信**: - 操作系统通过 I/O 接口与外部设备进行通信。例如,当你按下键盘上的一个键时,I/O 接口将按键信号传递给操作系统,操作系统再根据按键信号执行相应的操作。2. **抽象设备细节**: - 操作系统通过 I/O 接口将设备的具体实现细节抽象为统一的接口,使应用程序无需关心底层硬件的差异。这样,不同的设备可以通过相同的接口与操作系统进行交互。3. **资源管理**: - 操作系统通过 I/O 接口管理外部设备的使用,如分配和调度 I/O 资源,确保设备能够在多个进程或线程之间高效共享。4. **中断处理**: - 当外部设备需要操作系统的响应时,它可以通过 I/O 接口触发中断信号,操作系统接收到中断后会暂停当前任务并处理设备请求。### 操作系统与外部设备的通信方式:1. **中断驱动**: - 外部设备在完成某项任务后,通过中断通知操作系统。操作系统中断当前的任务,去处理设备的请求。中断驱动方式有效地减少了 CPU 的空闲等待时间。2. **轮询**: - 操作系统通过不断轮询设备的状态寄存器来检查设备是否需要处理。这种方式较为简单,但效率较低,特别是当设备不频繁发出请求时。3. **直接内存访问 (DMA)**: - 操作系统通过 DMA 控制器将数据直接从外部设备传输到内存(或从内存传输到设备),而不需要 CPU 的干预。这种方式提高了数据传输的效率。### 常见的 I/O 接口类型:- **串行接口**:如 RS-232、USB 等,通常用于鼠标、键盘、打印机等设备。- **并行接口**:如旧式打印机接口,能够一次传输多个位的数据。- **网络接口**:如以太网接口,用于与网络设备通信。- **存储接口**:如 SATA、SCSI 等,用于硬盘、光驱等存储设备。总之,I/O 接口是操作系统与外部设备之间的桥梁,它负责管理和协调操作系统对硬件设备的访问和控制。
I/O(输入/输出)接口是操作系统与外部设备(如硬盘、显示器、键盘、网络设备、打印机等)之间的接口。通过这些接口,操作系统能够控制、管理和与各种外部设备进行数据交换。
IO:与外部设备之间的接口
PCI(Peripheral Component Interconnect)是一种用于计算机主板与外部设备之间连接的硬件总线标准。它最早由英特尔公司在1992年推出,广泛用于连接各种硬件组件,如网卡、声卡、显卡、存储控制器等。### PCI的关键特点:1. **局部总线架构**: - PCI 是一种局部总线,直接连接到计算机的 CPU 和主内存,提供高速的数据传输能力。相比早期的 ISA 总线,PCI 提供了更高的带宽和更低的延迟。2. **即插即用(Plug and Play)**: - PCI 支持即插即用技术,意味着用户可以插入 PCI 设备后,操作系统能够自动识别并配置该设备,无需手动设置 IRQ(中断请求)或 I/O 地址等硬件参数。3. **总线宽度和速度**: - 最初的 PCI 总线是 32 位宽,工作频率为 33 MHz,数据传输速度为 133 MB/s。后来发展出了 64 位版本以及更高频率的版本(如 66 MHz),提高了数据传输速度。4. **多设备支持**: - PCI 总线可以支持多个设备,采用总线仲裁机制来确保多个设备之间的数据传输不发生冲突。5. **电源管理**: - PCI 标准支持电源管理功能,使得系统可以在不使用设备时降低其功耗,进而节省能源。### PCI 的发展和替代者:随着计算机技术的发展,PCI 总线标准逐渐被更高性能的技术取代,如:- **PCI-X**(PCI eXtended):是 PCI 的改进版,提供了更高的带宽,主要用于服务器和高性能计算设备。- **PCI Express (PCIe)**:是 PCI 的继任者,采用串行通信方式,提供更高的带宽、更低的延迟,并支持更灵活的设备连接方式。PCIe 是当前主流的计算机硬件接口标准。### PCI 的应用场景:- **网络接口卡 (NIC)**:提供计算机网络连接功能。- **声卡**:处理音频输入和输出。- **显卡(早期的)**:处理图形显示。- **存储控制器**:管理硬盘、光驱等存储设备的数据传输。- **硬件 RAID 卡**:提供磁盘阵列管理功能。### 总结:PCI 是一种关键的计算机总线标准,曾在计算机硬件发展中起到重要作用。它通过提供高速的内部连接和灵活的硬件扩展,极大地提升了计算机的性能和可扩展性。尽管 PCI 已逐渐被 PCIe 所取代,但它依然是计算机硬件历史上一个重要的技术节点。
PCI:外围设备互连标准
GUI(Graphical User Interface,图形用户界面)是一种用户界面,通过图形元素(如窗口、图标、按钮、菜单等)与用户进行交互。与基于命令行的文本用户界面不同,GUI 允许用户通过鼠标、触摸屏等设备直接点击和操作屏幕上的图形元素,直观且易于使用。这种界面形式极大地降低了计算机操作的难度,使得用户不需要记忆和输入复杂的命令。GUI 广泛应用于桌面操作系统、移动设备和各种软件应用中。
GUI:图形用户界面
接口
RTOS 的主要特点是其确定性,即在给定的时间内必须完成特定的任务。### 实时操作系统的主要特点:1. **确定性**: - RTOS 的核心特征是它能够在预定的时间内响应和处理事件。任务调度和资源管理必须是可预测的,以确保系统能够满足实时应用的时间约束。2. **高优先级任务调度**: - RTOS 使用优先级调度算法,以确保高优先级的任务在系统中获得最优先的处理。常见的调度算法包括优先级抢占调度、时间片轮转调度和最早截止时间优先(EDF)调度。3. **最小化中断延迟**: - RTOS 设计用于最小化中断延迟和任务切换时间,以确保实时任务能够快速响应外部事件。4. **多任务支持**: - RTOS 通常支持多任务处理,允许多个实时任务并行运行,并确保每个任务都能够在其指定的时间内完成。5. **资源管理**: - RTOS 提供精确的资源管理,防止资源争用导致任务延迟。例如,RTOS 会对任务使用的内存、CPU 和 I/O 进行精细的控制。### 实时操作系统的分类:1. **硬实时系统**: - 在硬实时系统中,任务必须在严格的时间限制内完成,任何延迟都是不可接受的。例如,航空电子系统和医疗设备通常使用硬实时操作系统。2. **软实时系统**: - 在软实时系统中,虽然任务需要在规定的时间内完成,但偶尔的延迟是可以接受的。例如,视频播放和网络通信通常使用软实时操作系统。### 常见的实时操作系统:- **FreeRTOS**:一个流行的开源 RTOS,广泛应用于嵌入式系统中。- **VxWorks**:由 Wind River Systems 开发的商业 RTOS,用于工业控制、通信和军事系统。- **QNX**:一个基于微内核的 RTOS,广泛应用于汽车、医疗和工业自动化领域。- **RTEMS**:开源的 RTOS,主要用于航空航天和卫星通信。### 实时操作系统的应用场景:- **航空电子系统**:如飞机的飞行控制系统,需要在极短时间内作出响应。- **工业控制**:如自动化生产线上的控制系统,需要确保设备按照精确的时间顺序操作。- **汽车电子**:如汽车的防抱死制动系统(ABS),必须在毫秒级的时间内响应传感器信号。- **医疗设备**:如生命支持系统,必须实时监控和响应患者的生命体征。实时操作系统在各类关键任务中至关重要,因为它们保证了系统的可靠性和时间敏感性。
详细
是什么
RTOS:实时操作系统 real time operate systerm
进程间的同步和互斥操作:P操作和V操作与信号量
逻辑地址转变为物理地址,段表(段号、基地址、段长)。逻辑地样例:(段号,[1,段长])。
段式管理
系统存储管理方法
例题:如何理解如下问题的答案问: 某文件系统文件存储采用文件索引节点法。假设磁盘索引块和磁盘数据块大小均为1KB,每个文件的索引节点中有8个地址项iaddr[o]~iaddr[7],每个地址项大小为4字节,其中iaddr[o]~iaddr[5]为直接地址索引,iaddr[6]是一级间接地址索引,iaddrl刀是二级间接地址索引。如果要访问icwutil.dll文件的逻辑块号分别为0、260和518,则系统应分别采用()。答:直接地址索引、一级间接地址索引和二级间接地址索引
// 逻辑地址序号计算由磁盘索引块4KB得,磁盘索引块 = 4*1024B由每个地址项大小为4B,一个索引块1024个地址// 逻辑地址序号计算0~5 0-5 间接地址索引6 6-1029 一级索引7 1030 - (1029+1024*1024) 二级索引逻辑地址最大序号 1029+1024*1024=1049605
逻辑块号计算,即逻辑地址序号计算
由磁盘索引块4KB得,磁盘索引块 = 4*1024B由每个地址项大小为4B,一个索引块1024个地址// 逻辑地址序号计算0~5 0-56 6-10297 1030 - (1029+1024*1024) 逻辑地址最大 1029+1024*1024=1049605由于磁盘数据块大小为4KB,所以最大单个文件长度(大小)为 (1049605+1)*4KB=4198420KB
计算文件系统可表示的单个文件最大长度 =(最大逻辑地址序号+1)* 物理块大小
例题某文件系统文件存储采用文件索引节点法。假设文件索引节点中有8个地址项iaddr[O~iaddr[7],每个地址项大小为4字节,其中地址项iaddr[o]~iaddr[5]为直接地址索引,iaddrf6]是一级间接地址索引,iaddrl7是二级间接地址索引,磁盘索引块和磁盘数据块大小均为4KB。该文件系统可表示的单个文件最大长度是()KB。若要访问iclsClient.dll文件的逻辑块号分别为6、520和1030,则系统应分别采用(/)。
逻辑地址从0开始,复合维度降维
图示样例逻辑地址计算如下1024/4=256直01234(01234)一6(5~260)一7(261~260+256)=(261~516)二8(517~(256*256+516))=(517~66052)
文件索引节点法
问:某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构,如果物理页的大小为512字节,那么进程A逻辑地址为1111(十进制)的变量存放在()号物理内存页中(4)?答:十进制数1111转化为二进制数为:10001010111。物理页的大小为512字节,这说明页内地址为9个二进制位,进程A的逻辑地址中,右边的9位是页内地址,左边的2位是页号,即:10001010111。页号为二进制的10,即十进制的2,对应的物理页号为4。
矩阵按行序存放和按列序存放的区别
分页存储方法
操作系统的文件存储方法:
系统事物的死锁状态
由于资源共享与进程合作,并发执行的任务(进程)之间可能产生相互制约关系,这些制约关系可分为两类:竞争与协作。并发进程之间的竞争关系为互斥,并发进程之间的协作关系体现为同步。同步是因合作进程之间协调彼此的工作而控制S己的执行速度,即因相互合作,相互等待而产生的制约关系。而互斥是进程之间竞争临界资源而禁止两个y上的进程同时进入临界区所发生的制约关系。
制约关系:同步和互斥
多线程
1、操作系统
内连接符号(通常表示为“⨝”)是关系数据库中用于连接两个关系(表)的符号
详解
自然连接和投影运算
关系代数:连接
最优语句
考题
连接
存在非主属性对码的部分依赖为第一范式,不存在则为第二范式
存在非主属性对码的部分依赖
第一范式
不存在非主属性对码的部分依赖
第二范式
范式
关系数据库
R(U,F),R关系模式也就是表,U是属性集,F是函数依赖
候选码是所有可能成为主键的候选集合
定义:是能够唯一标识关系中每一个元组的最小属性集合。在这里, A1A5 是候选码,表示使用 A1 和 A5 可以唯一确定关系模式 R 中的每一个元组。
候选关键字是指这些候选集合中的具体键。候选码的概念更为广泛,候选关键字是它的具体应用。
候选关键字
主键
候选码
第二范式(2NF)•关系模式处于第二范式(2NF),如果它符合第一范式(1NF)且每一个非主属性都完全函数依赖于每一个候选码的整个属性集,而不是候选码的部分属性。
假设关系模式R(U,F),属性集U={A,B,C},函数依赖集F={A—>B,B->C}。若将其分解为P={RI (U1,F1),R2(U2,F2)},其中U1={A,B},U2={A,C}。那么,关系模式R、R1、R2分别达到了(第二,第三,第三)
主属性和非主属性:候选码中的属性是主属性,非候选码中的属性是非主属性
分解后的关系模式进行自然链接是否可以恢复如初,如果可以就是无损连接。
是否是无损连接
是否保留了所有的函数依赖关系
是否保持了函数依赖关系
问:假设关系模式R(U,F),属性集U={A,B,C},函数依赖集F={A—>B,B->C}。若将其分解为P={RI (U1,F1),R2(U2,F2)},其中U1={A,B},U2={A,C}。那么,分解p是否是无损连接,是否保持了函数依赖关系?答:是无损连接,没有保持函数依赖关系。
试题
分解结果的评估
分解
关系模式
量词是数学和逻辑表达中的基本工具,它们帮助我们明确地表达关于集合、命题和关系的精确陈述。• (\\exists): 存在量词。 (forall): 全称量词。• 唯一存在量词。•有界量词: 限定在特定集合中的存在或全称量词。•混合量词: 存在和全称量词的组合。•模量词: 可能性和必然性量词(模态逻辑中)。
量词
数理逻辑学
属性集
阿姆斯特朗公理
函数依赖
关系代数
需求设计说明书
数据字典
数据流程图
产出三个文档
用户需求分析设计
概念结构设计
在逻辑设计阶段j进行关系规范化
关系规范化
定义表结构:将ER图转化表结构
外键关系
做些什么
逻辑结构设计
物理结构设计
数据库设计主要分为用户需求分析、概念结构、逻辑结构和物理结构设计四个阶段。
四个阶段
数据库设计可以分为4个主要阶段:①用户需求分析。数据库设计人员采用一定的辅助工具对应用对象的功能、性能、限制等要求所进行的科学分析。②概念设计。概念结构设计是对信息分析和定义,如视图模型化、视图分析和汇总。对应用对象精确地抽象、概括而形成的独立于计算机系统的企业信息模型。描述概念模型的较理想的工具是E-R图。③逻辑设计。将抽象的概念模型转化为与选用的DBMS产品所支持的数据模型相符合的逻辑模型,它是物理设计的基础。包括模式初始设计、子模式设计、应用程序设计、模式评价以及模式求精。④物理设计。逻辑模型在计算机中的具体实现方案。
在数据库设计中,制定合理的设计策略是确保数据库性能、可扩展性、安全性和维护性的重要步骤。常见的数据库设计策略包括以下几个方面:### 1. **需求分析** - **理解业务需求**:在设计数据库之前,必须详细了解业务需求、用户需求以及系统的功能要求。这包括理解需要存储的数据类型、数据量、访问模式等。 - **确定数据模型**:根据业务需求,选择合适的数据模型(例如,关系型模型、文档型模型、图形数据库等)来满足系统需求。### 2. **概念设计** - **实体-关系(ER)模型**:使用ER图来描述系统中的实体、属性和实体之间的关系。概念设计阶段的目标是以一种高层次的方式来建模业务数据。 - **识别主键**:为每个实体定义主键,确保每个记录都能被唯一标识。### 3. **逻辑设计** - **规范化**:应用数据库规范化规则(如1NF、2NF、3NF等)来消除冗余数据,确保数据的完整性和一致性。规范化的目标是减少数据冗余和更新异常。 - **定义表结构**:将ER模型转化为具体的数据库表结构,定义字段、数据类型、约束条件等。 - **外键关系**:确定表之间的外键关系,以维护数据的参照完整性。### 4. **物理设计** - **选择存储结构**:根据数据的访问模式和性能要求,选择合适的存储结构(如B树、哈希表、索引组织表等)。 - **索引设计**:根据查询频率和性能需求设计适当的索引,确保查询效率。索引的选择应权衡查询速度和插入/更新操作的效率。 - **分区设计**:对于大规模数据库,考虑使用分区技术(如水平分区、垂直分区)来提高查询性能和管理效率。 - **数据库参数调优**:根据硬件配置和应用场景,调整数据库系统的参数设置,如内存分配、缓存策略等,以优化性能。### 5. **安全性和权限管理** - **用户角色和权限**:根据不同用户或用户组的角色,定义访问权限,确保数据的安全性和隐私性。 - **审计和日志记录**:启用审计功能,记录数据库访问和操作日志,以便于监控和追踪。### 6. **备份与恢复策略** - **定期备份**:设计并实施定期备份策略,以防止数据丢失。备份可以包括全量备份、增量备份和差异备份。 - **灾难恢复**:制定并测试灾难恢复计划,以确保在发生故障时能够快速恢复数据库。### 7. **性能优化** - **查询优化**:分析并优化常用查询,确保它们能够高效执行。包括索引使用、查询重写、避免不必要的全表扫描等。 - **缓存机制**:使用数据库缓存或应用层缓存来减少数据库的负载,提升响应速度。 - **分布式数据库设计**:在需要处理海量数据或高并发访问时,考虑使用分布式数据库或数据库集群技术。### 8. **维护和监控** - **定期维护**:包括数据库统计信息更新、碎片整理、索引重建等,以保持数据库的高效运行。 - **实时监控**:通过监控工具实时监控数据库的性能、错误日志、连接数等指标,及时发现和解决问题。### 9. **文档化** - **数据库文档**:确保数据库设计有充分的文档支持,包括数据字典、ER图、规范化过程说明、备份恢复计划等。这有助于团队协作和后续维护。通过遵循这些数据库设计策略,可以确保数据库系统不仅能够满足当前的业务需求,还能够在未来的扩展和优化中保持高效、安全和可维护。
设计策略
两段锁协议
事务
实体-关系模型(ER模型)转换为关系模式
其中实体完整性约束可以通过Primary Key指定,
实体完整性约束
参照完整性约束通过Foreign Key指定,
参照完整性约束
某些简单的约束可以通过Check、Assertion等实现。
属性自身的约束
针对复杂的约束,系统提供了触发器机制,通过用户编程实现。
属性和属性之间的约束
用户自定义完整性约束
完整性约束分为
分类
完整性约束
约束
触发器
数据库设计
2、数据库系统
1、串行总线适宜长距离传输数据。但串行总线有半双工、全双工之分,全双工是一条线发一条线收。
2、串行总线传输的波特率在使用中可以改变。
3、串行总线的数据发送和接收可以使用多种方式,程序查询方式和中断方式都可以。
4、串行总线是按位(bit)传输数据的,其数据的正确性依赖于校验码纠正。
特点
串行总线
**DSP(Digital Signal Processor,数字信号处理器)**、**GPU(Graphics Processing Unit,图形处理器)**和**CPU(Central Processing Unit,中央处理器)**是三种不同类型的处理器,各自针对不同的应用场景进行了优化,下面是它们的主要区别。### 1. **用途**- **CPU**: - **通用性**:CPU是计算机系统的核心处理单元,设计用于处理各种通用计算任务。它负责执行操作系统、应用程序和系统服务,是通用计算的主要执行者。 - **任务处理**:CPU适合处理复杂的逻辑运算、控制任务、多任务处理等,是现代计算机的核心组件。- **GPU**: - **并行处理**:GPU最初设计用于处理图形计算,特别是3D渲染,它具有大量并行处理单元,能够同时处理大规模的数据流。这使得它在图形处理和大规模并行计算(如科学计算、机器学习、数据分析)中表现出色。 - **图形渲染**:GPU擅长处理像素、顶点和纹理等大量平行计算任务,因此在视频游戏、图形设计、深度学习等领域得到了广泛应用。- **DSP**: - **专用信号处理**:DSP专门设计用于实时处理数字信号,例如音频、视频和通信信号。它擅长执行线性代数运算、滤波和变换等高效重复计算任务。 - **实时应用**:DSP常用于通信系统、音频设备、医疗成像和自动控制系统中,强调低延迟和高效信号处理。### 2. **架构特点**- **CPU**: - **复杂控制单元**:CPU拥有复杂的控制单元和多级缓存,能够有效管理和调度多任务。 - **通用指令集**:支持丰富的通用指令集,能够处理从算术运算到逻辑控制的广泛任务。- **GPU**: - **大规模并行架构**:GPU的架构包含数千个小型处理核心,设计用于同时处理大量简单的计算任务(如矩阵运算),尤其擅长大规模数据并行处理。 - **高内存带宽**:GPU通常具有高内存带宽,以支持高速数据传输,满足高要求的图形和计算任务。- **DSP**: - **专用指令集**:DSP拥有专门为信号处理设计的指令集,特别优化了乘累加(MAC)等操作,这些操作在信号处理算法中非常常见。 - **实时性优化**:DSP的架构注重低延迟和确定性执行时间,适合实时数据处理。### 3. **执行效率**- **CPU**: - **通用计算效率高**:适合处理复杂、多样的任务,但在处理大规模并行任务时效率可能不如GPU。 - **多任务处理**:CPU能够有效管理并执行多任务操作,支持复杂的操作系统和应用程序。- **GPU**: - **并行计算能力强**:在需要同时处理大量简单任务(如图形渲染、矩阵运算)时,GPU表现出色,计算速度极快。 - **图形处理和科学计算**:特别擅长图形处理和科学计算中的并行任务,如机器学习的模型训练。- **DSP**: - **信号处理效率高**:在处理实时信号任务(如音频、视频处理)时,DSP具有高效、低延迟的优势。 - **低功耗高性能**:DSP在特定领域内可以在较低功耗下实现高性能。### 4. **应用场景**- **CPU**: - **广泛应用**:从桌面计算机、服务器到移动设备,CPU都是计算任务的核心组件,适用于几乎所有计算任务。- **GPU**: - **图形处理**:广泛用于视频游戏、3D渲染、图形设计等领域。 - **并行计算**:在深度学习、科学计算、数据挖掘等需要大规模并行处理的领域,GPU也被广泛采用。- **DSP**: - **数字信号处理**:常用于音频、视频处理,通信设备(如基站、调制解调器)、自动控制系统、医疗设备等实时信号处理场景。### 5. **能耗**- **CPU**:通常功耗较高,尤其是在处理复杂任务时。现代CPU通过多核和节能技术来平衡性能与能耗。- **GPU**:GPU在执行大规模并行计算时,功耗相对较高,特别是在处理复杂图形或训练大型神经网络时。- **DSP**:DSP通常具有较低的功耗,特别是在嵌入式系统或便携设备中使用时,能够在有限的能耗下提供高效的信号处理。### **总结**- **CPU**是通用的计算核心,擅长处理复杂、多样的计算任务,广泛应用于计算设备中。- **GPU**擅长处理大规模并行任务,特别是在图形处理和科学计算中表现出色,适用于图形渲染和机器学习等领域。- **DSP**是专门设计用于实时数字信号处理的处理器,在音频、视频处理和通信等领域有显著优势,具有低功耗、高效能的特点。这三种处理器各自的设计目标和优化方向不同,具体使用时应根据需求选择合适的处理器类型。
DSP、GPU、CPU的区别
有哪些
DSP采用什么结构:哈佛j结构
体系结构
CPU的工作频率(主频)包括两个部分:外频与倍频,两者的乘积就是主频。所谓外频,就是外部频率,指的是系统总线频率。倍频的全称是倍频系数,倍频系数是指CPU主频与外频之间的相对比例关系。最初CPU主频和系统总线速度是一样的,但CPU的速度越来越快,倍频技术也就相应产生。它的作用是使系统总线工作在相对较低的频率上,而CPU速度可以通过倍频来提升。本题中外频200MHz,倍频13,所以主频=200MHz*13=2.6GHZo
概括
外频
倍频
两部分
主频=外频 * 倍频
主频
例题详见吞吐率例子
指令流水线执行时间计算注意点,1、第一条指令执行时间为各个段执行时间总和,2、非第一条指令执行时间等于各段中执行时间最长的时间
指令流水线执行时间
最大吞吐率 = 1/流水线周期时间(最长慢流水线阶段)P(max)
最大吞吐率
流水线周期时间 = 最慢流水线阶段
流水线周期时间
问:某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2At)、分析指令 (1At)、取操作数(3At)、运算(1At)和写回结果(2At)组成,并分别用5个子部件完成,该流水线的最大吞吐率为()?答:最大吞吐率 = 1/3 指令/At最大吞吐率计算•流水线结构:题目提到系统采用5级流水线结构,并且每条指令经过的五个阶段分别为:取指令(IF)、分析指令(ID)、取操作数(OF)、运算(EX)、写回结果(WB)。•每个阶段的延迟:•IF = 2At•ID = 1At•OF = 3At•EX = 1At•WB = 2At•流水线周期时间:最大吞吐率取决于最慢的流水线阶段,也就是取操作数(OF)阶段所需的时间。•所以,流水线周期时间 = 3At。•最大吞吐率:在流水线满负荷运行的情况下,最大吞吐率为1个指令/周期。•最大吞吐率 = 1 / 流水线周期时间 = 1 / 3At = 1/3 指令/At。
最大吞吐率计算
指令流水线的吞吐率定义为:吞吐率TP=指令数/执行时间。
例题:注意点,指令流水线执行时间计算注意点,1、第一条指令执行时间为各个段执行时间总和,2、非第一条指令执行时间等于各段中执行时间最长的时间问: 某指令流水线由5段组成,各段所需要的时间如下图所示。At、3At、At、2At 、At连续输入100条指令时的吞吐率为()。答:指令流水线的吞吐率定义为:吞吐率TP=指令数/执行时间。该流水线开始运行后,第二条指令的第一段就与第一条指令的第二段就开始重叠执行。流水线的建立时间为第一条指令的执行时间,此后每3At就执行完一条指令,因此执行100条指令的时间# (t+3t+t+2t+t) + (100-1) *3t=305t。
多个指令的吞吐率计算
各阶段之和
非流水线总执行时间
假设10条指令,非流水线总执行时间+流水线周期时间 * (10-1)
流水线执行总时间
问:某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2At)、分析指令 (1At)、取操作数(3At)、运算(1At)和写回结果(2At)组成,并分别用5个子部件完成。若连续向流水线输入10条指令,则该流水线的加速比为(/)。答:加速比 = 2.5。加速比计算•单流水线执行时间:如果不使用流水线,每条指令执行的总时间为所有阶段的时间之和。•非流水线总执行时间 = 2At + 1At + 3At + 1At + 2At = 9At。•流水线执行时间:在使用流水线的情况下,总执行时间由填充阶段的时间(4个阶段的时间)和后续指令的时间(每条指令3At)组成。•由于第一条指令需要5个阶段完成,因此执行10条指令的流水线总执行时间为:9At + 9 * 3At = 9At + 27At = 36At。•加速比:加速比 = 非流水线执行时间 / 流水线执行时间 = (10 * 9At) / 36At = 90At / 36At = 5/2 = 2.5。
加速比 = 非流水线执行时间 / 流水线执行时间
非流水线时间
第一指令启动阶段需要耗费五个阶段的时间即一条指令的非流水线总时间Sum(P1+...+Pn)
流水线时间
极速比
加速比计算
流水线
DMA方式是一种不经过CPU而直接在外设与内存间进行的数据交换控制方式。在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完之后再把信息反馈给CPU即可。
DMA工作方式是在主存和外设之间建立起直接的数据通路。
工作方式
DMA(直接存储器访问)
RISC的特点是指令格式少,寻址方式少且简单。指令长度固定,指令种类尽量少增加寄存器数目,以减少访存次数用硬布线电路实现指令解码,以尽快完成指令译码
RISC(精简指令系统计算机)
处理器
单缓冲
双缓冲
单缓冲工作原理图
计算单缓冲花费时间
双缓冲工作原理图
计算双缓冲花费时间
问:计算单缓冲花费时间
答:双缓冲的工作特点是可以实现对缓冲区中数据的输入T和提取M,与CPU的计算C,三者并行工作。双缓冲的基本工作过程是在设备输入时,先将数据输入到缓冲区1,装满后便转向缓冲区2。所以双缓冲进一步加快了I/O的速度,提高了设备的利用率。在双缓冲时,系统处理一块数据的时间可以粗略地认为是Max(C,T)。如果C<T,可使块设备连续输入;如果C>T,则可使系统不必等待设备输入。本题每一块数据的处理时间为10,采用双缓冲需要花费的时间为10×10+6+2=108。
问:计算双缓冲花费时间
例题:某计算机系统输入/输出采用双缓冲工作方式,其工作过程如下图所示,假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间T为10us,缓冲区送用户区的时间M为6us,系统对每个磁盘块数据的处理时间C为2us。若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区,并送用户区进行处理,那么采用双缓冲需要花费的时间为()us,比使用单缓冲节约了()us时间。
CPU计算时间,即数据处理时间2
C
缓冲区输入时间10
T
缓冲区提取时间6
M
数据块数量10
n
10*(6+10)+2=162
6+10*10+2=108
n各数据块处理时间的
公式
已知
分析
考点
两种数据传输方式
输入输出
硬件基础
嵌入式微处理器(MPU)是嵌入式系统硬件层的核心,大多工作在为特定用户群专用设计的系统中,它将通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
嵌入式微处理器(MPU)
微控制器(MCU)
数字信号处理器(digital signal processor) 由大规模或超大规模集成电路芯片组成,是用来完成某种信号处理任务的处理器。它是为适应高速实时信号处理任务的需要而逐渐发展起来的。随着集成电路技术和数字信号处理算法的发展,数字信号处理器的实现方法也在不断变化,处理能力不断提高。
数字信号处理器(DSP)
片上系统(System-on-a-chip)指的是在单个芯片上集成一个完整的系统,一般包括中央处理器(CPU)、存储器,以及外围电路等。SOC是与其他技术并行发展的,如绝缘硅(SOI),它可以提供增强的时钟频率,从而降低微芯片的功耗。
片上系统(SOC)
嵌入式处理器
不具备内存管理单元(MMU)
嵌入式操作系统uc/OS-2,可以在其上运行
Cortex-M3
类型
软件设计层面的功耗控制主要可以从以下方面展开:1.软硬件协同设计,即软件的设计要与硬件的匹配,考虑硬件因素。2.编译优化,采用低功耗优化的编译技术。3.减少系统的持续运行时间,可从算法角度进行优化。4.用“中断”代替“查询”。5.进行电源的有效管理。
低功耗控制
软件设计
在嵌入式操作系统中,板级支持包BSP作为对硬件的抽象,实现了硬件有关性,操作系统有关性。
板级支持包(BSP))是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好地运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改)。这样才能与上层OS保持正确的接口,良好地支持上层OS。BSP主要功能为屏蔽硬件,提供操作系统及硬件驱动,具体功能包括:1.单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持。2.为操作系统提供设备驱动程序和系统中断服务程序。3.定制操作系统的功能,为软件系统提供一个实时多任务的运行环境。4.初始化操作系统,为操作系统的正常运行做好准备。板级支持包(BSP,也称为硬件抽象层HAL)一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能,它主要具有以下两个特点。①硬件相关性,因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,BSP需为操作系统提供操作和控制具体硬件的方法。②操作系统相关性,不同的操作系统具有各自的软件层次结构,因此不同操作系统具有特定的硬件接口形式。
详
板级支持包(BSP)
嵌入式操作系统是应用于嵌入式系统,实现软硬件资源的分配,任务调度,控制、协调并发活动等的操作系统软件。它除了具有一般操作系统最基本的功能如多任务调度、同步机制等之外,通常还会具备以下适用于嵌入式系统的特性:面向应用,可以进行检查和移植,以支持开放性和可伸缩性的体系结构;强实时性,以适应各种控制设备及系统;硬件适用性,对于不同硬件平台提供有效的支持并实现统一的设备驱动接高可靠性,运行时无须用户过多干预,并处理各类事件和故障;编码体积小,通常会固化在嵌入式系统有限的存储单元中。
JTAG是一个调试接口,用来供开发人员调试CPU的工作状态。JTAG软件通过该接口控制CPU来调试CPU以及读写Flash。
用来进行CPU的调试接口:JTAG
看门狗(WatchDog)是嵌入式系统中一种常用的保证系统可靠性的技术,(看门狗定时超时)会产生看门狗中断。
看门狗
嵌入式操作系统设计
1、大多数RTOS调度算法都是抢占方式(可剥夺方式)2、任务是RTOS中最重要的操作对象,每个任务在RTOS的调度下由CPU分时执行。任务的调度目前主要有时间分片式、轮流查询式和优先抢占式三种,不同的RTOS可能支持其中一种或几种,其中优先抢占式对实时性的支持最好。在非实时系统中,调度的主要目的是缩短系统平均响应时间,提高系统资源的利用率,或优化某一项指标;而实时系统中调度的目的则是要尽可能地保证每个任务满足他们的时间约束,及时对外部请求做出响应。
RTOS:实时操作系统:Real Time Operation System
概:在宿主机上必须采用交叉编译器来生成目标机的可执行代码详:在嵌入式系统开发中,由于嵌入式设备不具备足够的处理器能力和存储空间,程序开发一般用PC(宿主机)来完成,然后将可执行文件下载到嵌入式系统(目标机)中运行。当宿主机与目标机的机器指令不同时,就需要交叉工具链(指编译、汇编、链接等一整套工具)。
硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。
硬件抽象层
一个嵌入式实时操作系统(RTOS)的评价要从很多角度进行,如体系结构、API的丰富程度、网络支持、可靠性等。其中,实时性是RTOS评价的最重要的指标之一,实时性的优劣是用户选择操作系统的一个重要参考。严格地说,影响嵌入式操作系统实时性的因素有很多,如常用系统调用平均运行时间、任务切换时间、线程切换时间、信号量混洗时间(指从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟)、中断响应时间等。任务执行时间不是反映RTOS实时性的评价指标。
嵌入式实时操作系统
嵌入式操作系统
基础
嵌入式系统
RAID 5(独立磁盘冗余阵列 5)是一种常见的存储技术,利用分布式奇偶校验来实现数据的冗余和故障恢复。它能够在多块硬盘中同时存储数据和奇偶校验信息,即使其中一块硬盘故障,数据仍然可以通过奇偶校验信息进行恢复。
工作原理
RAID 5(独立磁盘冗余阵列 5)是一种常见的存储技术,利用分布式奇偶校验来实现数据的冗余和故障恢复。它能够在多块硬盘中同时存储数据和奇偶校验信息,即使其中一块硬盘故障,数据仍然可以通过奇偶校验信息进行恢复。### RAID 5 的特点:1. **数据分布与奇偶校验**:RAID 5 将数据分成块,并将这些数据块和奇偶校验信息分布存储在多个磁盘上。奇偶校验信息不是集中存储在某一块磁盘上,而是分布在所有磁盘中,从而避免了单点故障。2. **最低需求**:RAID 5 至少需要三块硬盘才能实现。一般情况下,n块硬盘中的 (n-1) 块用于存储数据,剩下的一块硬盘相当于奇偶校验信息。3. **冗余与容错**:如果任意一块硬盘发生故障,RAID 5 能够利用剩余的硬盘数据和奇偶校验信息重新构建丢失的数据。这种设计保证了系统的容错能力。4. **性能与容量**:RAID 5 具有较好的读取性能,因为数据分布在多个硬盘上,允许并行读取。写入性能则略低,因为每次写入数据时都需要计算和写入奇偶校验信息。RAID 5 的有效存储容量为硬盘总容量减去一块硬盘的容量。### RAID 5 的优势:- **容错能力**:任意一块硬盘发生故障时,数据不会丢失,可以通过奇偶校验重建数据。- **空间利用率较高**:相比 RAID 1(镜像),RAID 5 的空间利用率高得多,因为只浪费了一块硬盘的空间用于奇偶校验。### RAID 5 的缺点:- **重建时间长**:如果某块硬盘出现故障,重建数据的过程可能耗时较长,尤其是当硬盘容量较大时,恢复时间会更长。- **性能影响**:写入操作由于需要更新奇偶校验,性能相对较低,尤其是高写入场景时。### 使用场景:RAID 5 通常适用于需要一定容错能力和存储效率的应用场景,如文件服务器、数据库服务器和企业存储系统,尤其是以读取为主的环境。尽管 RAID 5 提供了较好的容错能力,但在现代环境下,随着数据量的增加和硬盘容量的提高,许多企业更倾向于选择 RAID 6 或其他更加健壮的存储方案来提高数据安全性。
假如有3块容量是80G的硬盘做RAID5阵列,则这个RAID 5的容量是();答:160G而如果有2块80G的盘和1块40G的盘,此时RAID 5的容量是()。答:80G
RAID5阵列容量计算公式:
RAID5
磁盘阵列
问:计算机为什么要采用分级存储体系?(即采用这种体系的目的是什么)答:为了解決存储的容量、价格和速度之间的矛盾。
**计算机分级存储体系**(Hierarchical Storage System)是指通过将不同存储介质按速度、容量、成本和存取频率等特性进行分级,从而构建一个高效、经济的存储系统。分级存储的基本理念是将最常访问的数据存放在速度最快的存储介质上,而较少访问的数据存放在较慢但容量更大且成本较低的存储设备上。这个存储体系旨在优化存储性能和成本之间的平衡。### 分级存储体系的层级通常如下:1. **寄存器(Register)** - **位置**:最接近 CPU - **速度**:最快 - **容量**:最小(一般为几百字节到几千字节) - **特性**:寄存器是 CPU 内部的高速存储单元,用于暂存即将被处理的数据和指令。由于寄存器直接与 CPU 打交道,速度极快,适用于存放当前操作数或指令。2. **一级缓存(L1 Cache)** - **位置**:通常集成在 CPU 内核中 - **速度**:非常快 - **容量**:较小(一般为数十 KB) - **特性**:一级缓存存储 CPU 最近使用的指令和数据,避免频繁访问主存。它有助于减少 CPU 和内存之间的等待时间。3. **二级缓存(L2 Cache)** - **位置**:与 CPU 同一封装,可能与内核分离 - **速度**:较快 - **容量**:比一级缓存大(一般为几百 KB 到数 MB) - **特性**:二级缓存作为一级缓存的扩展,用于缓存一级缓存未命中的数据。其作用是提高数据访问速度,避免过多访问主存。4. **三级缓存(L3 Cache)** - **位置**:通常位于多核 CPU 的共享缓存中 - **速度**:略慢于二级缓存,但仍非常快 - **容量**:大于一级、二级缓存(通常为数 MB 到几十 MB) - **特性**:三级缓存是多个 CPU 核心共享的缓存,进一步减少对主存的访问次数,提高整体系统性能。5. **主存(RAM,内存)** - **位置**:位于主板上,连接 CPU - **速度**:比缓存慢,但仍相对较快 - **容量**:中等(GB 级别) - **特性**:主存储器用于存放程序和数据,CPU 需要通过总线与主存进行通信。虽然主存的访问速度相对于缓存慢,但容量远大于缓存,适合存储当前正在运行的程序和大量临时数据。6. **固态硬盘(SSD)/硬盘(HDD)** - **位置**:系统的二级存储设备 - **速度**:SSD 快于 HDD,HDD 较慢 - **容量**:大(GB 到 TB 级别) - **特性**:SSD 和 HDD 作为外部存储设备,通常用于存储操作系统、程序、用户数据等。SSD 的速度比传统 HDD 快得多,但 HDD 的成本更低,容量更大。7. **远程存储或云存储** - **位置**:位于网络中的远程服务器或数据中心 - **速度**:取决于网络带宽和延迟,通常较慢 - **容量**:几乎无限(TB 到 PB 级别) - **特性**:远程或云存储通常用于存放不常访问的冷数据,备份数据或归档。由于其容量几乎无限,适合大规模数据存储,但访问速度比本地存储慢。8. **磁带库(Tape Storage)/离线存储** - **位置**:外部、离线设备 - **速度**:最慢 - **容量**:大(PB 级别) - **特性**:磁带库和其他离线存储通常用于长时间的归档和备份。它们的成本最低,适合存储不常用的历史数据,但访问速度非常慢,需要手动或机械装置访问。### 分级存储的作用:- **提高性能**:通过将高频访问的数据存放在速度更快的存储设备上,减少数据访问延迟,从而提高系统整体性能。- **降低成本**:存储层级越高,存储设备的速度越慢但容量越大、成本越低。因此,合理分配数据可以降低存储系统的整体成本。- **优化资源利用**:分级存储体系能够根据数据的使用频率和重要性,将数据动态迁移到合适的存储层级上,最大化利用存储资源。这种分级存储体系将存储介质的性能与数据访问的需求相匹配,帮助计算机系统在性能、容量、成本之间取得平衡。
存储体系结构包括不同层次上的存储器,通过适当的硬件、软件有机地组合在一起形成计算机的存储体系结构。例如,田高速缓存(Cache)、主存储器(MM)和辅助存储器构成的3层存储器层次结构存如下图所示。接近CPU的存储器容量更小、速度更快、成本更高,辅存容量大、速度慢,价格低。采用分级存储体系的目的是解決存储的容量、价格和速度之间的矛盾
计算机的分级存储体系
一般而言,采用CISC技术的CPU,其芯片设计复杂度更高
复杂指令集计算机 CISC Complex Instruction Set Computer
采用RISC技术,指令系统中的指令种类和寻址方式更少
在RISC中,更适合采用硬布线逻辑执行指令
精简指令集计算机 RISC Reduced Instruction Set Computer
按照指令集的复杂程度
计算机
Cache的设计思想是在合理的成本下提高命中率
在计算机系统中,常选用生产与运行成本、存储容量和读写速度各不相同的多种存储介质,组成一个统一管理的存储器系统,使每种介质充分发挥各自在速度、容量、成本方面的优势,从而达到最优性能价格比,满足使用要求。高速缓存Cache用来存放当前最活跃的程序和数据,作为主存局部域的副本,其特点是:容量一般在几KB到几MB之间;速度一般比主存快5到10倍,由快速半导体存储器构成;其内容是主存局部域的副本,对程序员来说是透明的。替换算法的目标就是使Cache获得最高的命中率。常用算法有随机替换算法、先进先出算法、近期最少使用算法和优化替换算法。Cache的性能是计算机系统性能的重要方面。命中率是Cache的一个重要指标,但不是最主要的指标。Cache设计的目标是在成本允许的条件下达到较高的命中率,使存储系统具有最短的平均访问时间。Cache的命中率与Cache容量的关系是:Cache容量越大,则命中率越高,随着Cache容量的增加,其命中率逐渐接近100%。但是增加Cache容量意味着增加Cache的成本和增加Cache的命中时间。
详细介绍
Cache
虚拟存储器发生页面失效时,需要进行外部地址变换,即实现(虚地址到辅存物理地址)的变换。
虚拟存储器
挂接在总线上的多个部件(只能分时向总线发送数据,但可同时从总线接收数据)
计算机执行程序时,在一个指令周期的过程中,为了能够从内存中读指令操作码,首先是将(程序计数器(PC))的内容送到地址总线上。
**程序计数器**(Program Counter,简称 PC),是一种用于存储当前执行指令的内存地址的寄存器。它在计算机体系结构中起着关键作用,尤其是在指令执行过程中的控制流管理。程序计数器的主要功能包括以下几个方面:1. **跟踪当前执行的指令**: 程序计数器保存着当前正在执行指令的内存地址。当 CPU 执行指令时,它会从程序计数器中读取当前指令的地址,从内存中取出该指令并执行。2. **控制指令的顺序执行**: 每执行完一条指令后,程序计数器会自动增加,指向下一条指令的地址。这样,CPU 就可以按照程序编写的顺序执行指令。3. **跳转与分支控制**: 在执行跳转指令(如 `goto`、`call`、`branch` 等)时,程序计数器会根据这些指令将其值修改为新的目标地址,从而实现程序的跳转或函数调用。4. **中断处理**: 当发生中断时,程序计数器的值会被保存,以便在处理完中断后可以恢复原程序的执行,从程序中断的地方继续执行。简单来说,程序计数器的主要作用就是指示 CPU 当前要执行哪一条指令,并控制程序的执行流程。
程序计数器:保存着当前正在执行指令的内存地址
半双工总线可在两个方向上轮流传输信息,全双工总线可在两个方向上同时传输信息
总线
内存按字节编址,利用8KX4b的存储器芯片构成84000H到8FFFFH的内存,共需(12)片。
题型:指定容量的内存,使用指定的存储器芯片进行存储,需要的存储器的片数
内存
解:每块换道时间:10*10ms=100ms每块旋转延迟时间:100ms每块传输时间:2ms每块所需时间(100+100+2)ms=202ms100块文件所需的时间=100*202ms=20200ms
某磁盘磁头从一个磁道移至另一个磁道需要10ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和2ms,则读取一个100块的文件需要(20200)ms的时间。
磁盘读取数据块所需时间
磁盘
I/O接口与打印机交换信息则通常采用基于缓存池的异步方式。
异步
CPU访问内存通常是同步方式;CPU与1/0接口交换信息通常是同步方式;CPU与PCI总线交换信息通常是同步方式;
同步
计算机系统中同步和异步的场景
计算机系统
嵌入式系统中采用中断方式实现输入输出的主要原因是(能对突发事件做出快速响应)。在中断时,CPU断点信息一般保存到(栈)中。
为什么要采用中断方式
输入输出方式
在嵌入式系统设计时,下面几种存储结构中对程序员是透明的是(高速缓存(Cache))。
对程序员透明的是
高速缓存
寄存器
是一种非易失性存储器,即即使断电后,存储在其中的数据也不会丢失。它被广泛用于存储数据的设备中,如USB闪存盘、固态硬盘(SSD)、手机和数码相机中的存储卡等。
闪存存储器(Flash存储器)
存储结构
系统间进行异步串行通信时,数据的串/并和并/串转换一般是通过(接口中的移位寄存器)实现的。
3、计算机硬件基础及嵌入式系统
软考高级系统架构师(一)1-3
0 条评论
下一页