目录
一、第一章
1.1 数值转换
1.2 数据的表示
1.3 计算机的基本组成
1.4 流水线
1.5 多级存储器结构
1.6 I/O控制方式
1.7 可靠性、校验码
二、第二章
三、第三章
总结
一、第一章
1.1 数值转换
1.进制转换
- 十进制 ↔ 二/八/十六进制:除基取余 / 按权展开
- 二进制B ↔ 八进制Q:3 位一组
- 二 进制B↔ 十六进制H:4 位一组
- 八进制Q ↔ 十六进制H:走二进制中转
例:
- 985D=1111011001B=1731Q=3D9H
- 二转八:001111011001B=1 7 3 1Q(从右到左三位一组,不足三位左边加0)
- 二转十六:001111011001B=3 D 9H(从右到左四位一组,不足四位左边加0)
- 八转十六:1 7 3 1Q=001111011001D=001111011001D=3 D 9H(八->二->十六)
2.数据存储单位
- 数据在计算机中的最小存储单位是位(bit),用小写b表示。
- 字节(Byte)是数据的基本单位,由8个二进制位组成,用大写B表示。
- 1KB(千字节)等于1024字节,1MB(兆字节)等于1024KB,1GB(吉字节)等于1024MB,1TB(太字节)等于1024GB。
3.二进制逻辑运算
逻辑运算包括与(AND)、或(OR)、非(NOT)和异或(XOR)四种基本运算。
- 与运算:只有当所有输入位都为1时,输出才为1。
- 或运算:只要有一个输入位为1,输出就为1。
- 非运算:对输入位进行取反操作。
- 异或运算:当输入位不同时,输出为1,相同时为0。
1.2 数据的表示
1.原码、反码、补码、移码
- 原码:符号位用0表示正号,用1表示负号。
- 反码:正数的表示与原码相同,负数的符号位不变,其他数值位取反。
- 补码:正数的表示与原码和反码相同,负数的符号位不变,在反码的基础上加1。
- 负数的补码转原码:符号位不变,数值位取反,末位加1。
- 移码:在补码的基础上,数值不变,符号位取反。
1.3 计算机的基本组成
1.计算机硬件五大部件
- 输入设备:如键盘,用于输入数据和程序到存储器。
- 输出设备:如打印机和显示器,用于输出数据。
- 存储器:如硬盘和内存,用于保存数据和程序。
- 运算器:如算术逻辑单元(ALU),用于进行算术运算和逻辑运算。
- 控制器:如程序计数器、指令寄存器和时序部件,用于协调各个部件的工作。
2.五大部件分类
- 运算器和控制器合称为中央处理单元(CPU)。
- 存储器分为辅助存储器和主存储器,辅助存储器如硬盘,主存储器如内存条。
- 输入设备、输出设备和存储器合称为外部设备。
- 主机由中央处理单元和主存储器组成。
3.运算器和控制器包含的寄存器
- 运算器包含算术逻辑单元(ALU)、累加计算器(AC)、数据缓冲计算器和状态条件计算器(PSW)。
- 控制器包含程序计数器(PC)、指令寄存器(IR)、指令译码器和时序部件。
4.运算器中的寄存器功能
- 算术逻辑单元(ALU):进行算术运算和逻辑运算。
- 累加计算器(AC):为ALU提供工作区,暂时保存数据。
- 数据缓冲计算器:读写内存时的缓存,暂时保存指令或数据。
- 状态条件计算器(PSW):存放运算状态标志或控制标志,如溢出标志和除零标志。
5.控制器中的寄存器功能
- 程序计数器(PC):存储下一条要执行指令的地址。
- 指令寄存器(IR):存储即将执行的指令。
- 指令译码器:对指令进行译码,分解出操作数。
- 时序部件:提供时序控制信号和时钟信号。
6.CPU的性能指标
- CPU的性能指标包括主频、字长和CPU缓存。
- 主频是工作频率,单位是赫兹(1/秒),越高则运算速度越快。
- 字长是单位时间能处理的数据位数,越长则运算速度越快。
- CPU缓存包括高速缓存和寄存器,位于CPU和内存之间,速度比内存快。
- 核心数量是指CPU中的处理核心数量,如双核、四核等。核心数量越多,进程并发度越高,性能越好。
7.总线的分类和性能指标
- 总线分为数据总线、地址总线和控制总线。
- 数据总线用于传输数据,是双向的。
- 地址总线用于指定数据地址,是单向的。
- 控制总线用于传输控制命令,可以是双向的。
- 总线性能指标包括带宽、位宽和工作频率。
- 带宽是单位时间能处理的数据量,单位是字节每秒。
- 位宽是数据总线的宽度,单位是bit。
- 工作频率是时钟频率,单位是赫兹。
例题:总线宽度为32bit,时钟频率为200MHz,若总线上每5个时钟周期传送一个32bit的
字,则该总线的带宽为多少MB/S?
带宽=位宽(bit)×工作频率(Hz)=数据总量(bit)/总时间(s)
1个时钟周期=1/时钟频率(200MHz),32bit=4B
带宽=4B/(5×1/200MHz)=160MB/s
8.寻址方式
- 立即寻址方式:操作数直接在指令中,速度快,灵活性差。
- 直接寻址方式:指令中存放的是操作数的地址。
- 间接寻址方式:指令中存放了一个地址,这个地址对应的内容是操作数的地址。
- 寄存器寻址方式:寄存器存放操作数。
- 寄存器间接寻址方式:寄存器内存放的是操作数的地址。
- 指令系统中采用不同寻址方式的目的:扩大寻址空间并提高编程灵活性。
1.4 流水线
例:若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是取指2ns,分析2ns,执行1ns。那么,流水线周期是? 100条指令全部执行完毕需要的时间就是?
答:流水线周期为一条指令中时间最长的(2ns)
总时间T=1+2+2+(100-1)×2=203ns
1.5 多级存储器结构
1.存储器的六个层次
- S0:寄存器,位于 CPU 内部,保存来自 Cache 的字,是速度最快、容量最小的存储单元。
- S1:芯片内的高速缓存(Cache),保存取自芯片外 Cache 的 Cache 行,速度仅次于寄存器,为 CPU 核心提供高频访问数据。
- S2:芯片外的高速缓存(SRAM、DRAM、DDRAM),保存取自主存储器的 Cache 行,作为片内 Cache 与主存之间的缓冲。
- S3:主存储器(Flash、PROM、EPROM、E2PROM),保存取自外部存储器的文件,是系统运行时的主要内存载体。
- S4:外部存储器(磁盘、光盘、CF 卡、SD 卡),保存取自远程二级存储的文件,用于大容量、长期数据存储。
- S5:远程二级存储(分布式文件系统、Web 服务器),跨设备 / 跨网络的大容量存储,用于归档、备份等场景。
2.地址映射方式
- 地址映射是将内存地址转换为高速缓存地址的过程。
- 直接映射:主存储器中的一块只能映射到高速缓存中的一个特定块。
- 全相联映射:主存储器中的任意一块可以映射到高速缓存中的任意一块。
- 主存块按高速缓存的组数进行分区,每组采用直接映射,主存块采用全相联映射。
1.6 I/O控制方式
1.直接程序控制方式
- 直接程序控制包括无条件传送方式和程序查询方式。
- 无条件传送方式:CPU和外部设备时刻准备通信,响应速度快。
- 程序查询方式:CPU不断查询外部设备的状态,空闲时才进行数据传输。
2.中断方式
- 中断方式:CPU在发送数据后释放控制权,外部设备打印完成后发送中断信号。
- 中断方式提高了CPU的利用率,但仍需占用一定CPU时间。
3.DMA方式
- CPU在发送数据后将控制权交给DMA控制器,由DMA控制器直接与外部设备通信。
- DMA方式在数据传输过程中不需要CPU干预,仅在开始和结束时需要CPU处理。
4.IOP方式
- IOP方式:用于大型主机或分布式系统中,具有独立处理能力的输入输出处理器。
- IOP方式提高了CPU的利用率,适用于大型系统和分布式系统。
1.7 可靠性、校验码
1.可靠性
2.码距、检错和纠错
- 码距:相同位不同的个数就是码距的大小,如1和0码距为1;10和01码距为2;101和010码距为3。码距越小,检错和纠错能力越弱;码距越大,检错和纠错能力越强。
- 奇偶校验码:奇偶校验码通过增加校验位,使编码中1的个数为奇数或偶数。奇校验:使1的个数为奇数;偶校验:使1的个数为偶数。奇偶校验码只能检测一位错,不能纠错。
- 循环冗余校验码(CRC):CRC利用生成多项式为数据位生成校验位。 CRC是唯一使用模2运算的校验码。 CRC可以检测多位错,但不能纠错。利用生成多项式为k个数据位产生r个校验位来进行编码,编码长度为k+r。
- 海明校验码:海明校验码在数据位之间插入校验位,可以检测和纠正一位错。若数据位是n,校验位是k,则n和k满足2^k - 1 ≥ n + k。
二、第二章
2.1 嵌入式系统体系结构
- 嵌入式软件体系结构分为五个层次:硬件层、设备驱动层、操作系统层、中间件层和应用软件层。
- 硬件层包括处理器、存储器、键盘、显示器等。
- 设备驱动层负责硬件初始化,包括BSP(板级支持包)和驱动程序。
- 操作系统层包括内核和扩展部分,内核包含任务管理和中断管理,扩展部分如网络系统、文件系统等。
- 中间件层包括嵌入式COB、嵌入式Java、嵌入式.NET等,提供特定领域的功能。
- 应用软件层基于特定领域开发,实现具体功能,如手机游戏开发。
2.2 嵌入式操作系统概述
1.嵌入式操作系统分类
- 系统类型分类:商用系统、专用系统、开源系统。
- 响应时间分类:硬实时、软实时、非实时。
- 软件体系结构分类:单体结构、分层结构、微内核结构。
2.单体结构操作系统
- 单体结构定义:将内核和设备驱动程序集成在一个可执行文件中,功能模块相互调用。
- 优点:性能较好,直接调用各模块通信开销小。
- 缺点:系统体积庞大,高度集成,裁剪困难。
- 示例:Linux、μC/OS、PDOS等。
3.分层结构操作系统
- 分层结构定义:将内核按层次组织,上一层只能调用下一层,层与层之间单向调用。
- 优点:开发和维护简单,替换某一层不影响其他层次。
- 缺点:通信开销较大。
- 示例:Windows CE、QNX等。
4.微内核结构操作系统
- 微内核结构定义:将操作系统的大部分功能剥离到用户端,只保留核心功能在内核中。
- 优点:内核小,易于扩展和调试,安全性高,可移植性高。
- 缺点:通过微内核通信会增加额外开销,客户单元和服务器单元内存地址空间独立,切换开销大。
- 示例:Linux、μC/OS、PSOS等。
三、第三章
3.1 操作系统的作用
1.操作系统的主要内容:进程管理、存储管理、文件管理和设备管理。
3.2 进程管理
1.进程的概念:进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。
2.三态模型
- 运行态:占有处理器正在运行。
- 就绪态:指具备运行条件,等待系统分配*处理器以便运行。
- 等待态:又称为阻塞态或睡眠态,指不具备运行条件,正在等待某个事件的完成。
- 运行态一等待态:等待使用资源,如等待外设传输,等待人工干预。
- 等待态一就绪态:资源得到满足,如外设传输结束,人工干预完成。
- 运行态一就绪态:运行时间片到,出现有更高优先权进程。
- 就绪态一运行态:CPU空闲时选择一个就绪进程。
3.五态模型
4.PV操作
- P 是 “申请资源 / 减 1”,V 是 “释放资源 / 加 1
- 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
- 临界区:每个进程中访问临界资源的那段代码称为临界区。
- 信号量:是一种特殊的变量
5.死锁
- 死锁概念:如果一个进程在等待一个不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。
- 系统有n个进程,每个进程都需要m个系统资源,则系统有n×(m-1)+1个系统资源,就不会发生死锁。例如系统有3个进程,每个进程都需要5个系统资源,则系统有3×(5-1)+1=13个系统资源时不会发生死锁。
6.任务调度的时机
- 当一个新的任务被创建时,需要做出一个调度决策,是立即执行这个新任务还是继续执行父任务。
- 当一个任务运行结束时,它不再占用CPU,这时调度器必须做出一个决策,从就绪队列中选择某个任务去运行。
- 当一个任务由于I/O操作、信号量或其它原因被阻塞时也必须另选一个任务运行。
- 当一个I/O操作已经完成而等待该I/O操作的任务将从阻塞状态变为就绪状态。
- 当一个时钟中断发生时,会唤醒一些延时任务或者可能会发现当前任务的时间片已用完,从而把它变为就绪状态。
3.3 存储管理
1.页式存储
- 优点:利用率高,碎片小,分配及管理简单。
- 缺点:增加了系统开销;可能产生抖动现象。
2.段式存储
- 优点:多道程序共享内容,各段程序修改互不影响。
- 缺点:内存利用率低,内存碎片浪费大。
3.段页式存储
- 优点:空间浪费小、存储共享容易、存储保护容易、能动态链接。
- 缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件及占用的内容也随之增加,使执行速度下降。
4.磁盘读取时间计算
- 磁盘读取时间包括寻磁道时间、旋转延迟时间和传输时间。 寻磁道时间是指磁头从当前位置移动到目标磁道所需的时间; 旋转延迟时间是磁盘旋转到目标扇区所需的时间;传输时间是数据从磁盘传输到内存所需的时间。
例题:某磁盘磁头从一个磁道移至另一个磁道需要10ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和2ms,则读取一个100块的文件需要__ms 时间?
读取磁盘数据时间=(10×10+100+2)×100=20200ms