Lufer

  • 首页
  • 编程
  • 学习笔记
  • 日常折腾
Lufer
Code the World
  1. 首页
  2. 学习笔记
  3. 正文

软件架构设计师笔记

2023年7月27日 455点热度 0人点赞 0条评论

一、计算机硬件组成

1.基本硬件系统

包括运算器、控制器、存储器、输入设备、输出设备。

运算器、控制器等部件被集成在一起称为中央处理单元(CPU)。

存储器可分为内部存储器和外部存储器。

输入设备与输出设备合称外部设备。

2.中央处理单元

2.1 CPU的功能

1.程序控制:通过执行指令来控制程序执行顺序。

2.操作控制:产生每条指令的操作信号,并送往对应的部件。

3.时间控制:操作信号的出现时间、持续时间、出现的时间顺序。

4.数据处理:包括算术运算和逻辑运算。

还需要对系统内部和外部的中断(异常)做出响应,进行相应的处理。

2.2 CPU的组成

包括运算器、控制器、寄存器组、内部总线。注意区分哪些是运算器那些是控制器

2.2.1 运算器

执行所有的算术运算,逻辑运算并进行逻辑测试。

算数逻辑单元ALU:实现对数据的算数和逻辑运算。

累加寄存器AC:存放运算结果或源操作数。

数据缓冲寄存器DR:暂时存放内存指令或数据。

条件状态寄存器PSW:保存指令运行结果的条件码内容,如溢出标志等、

运算器:包括ALU(算术逻辑单元)、AC(累加寄存器)、DR(数据缓冲寄存器)、PSW(状态条件寄存器)。

2.2.2 控制器

控制整个CPU的工作

程序计数器PC:存放指令执行地址。

指令寄存器IR:暂存取出的CPU执行指令。

指令译码器ID:分析指令的操作码。

地址寄存器AR:保存当前CPU所访问的内存地址。

3.校验码

3.1 码距

从A码到B码转换所需要的改变的位数,例如对于00,其码距为1,因为只需改变1位就可变为另一个编码,若从00转换为11,则码距为2。

3.2 奇偶校验码

增加一个校验位是编码中1的个数位奇数(奇校验)或偶数(偶校验),码距为2。

3.3 CRC

只能检错,不能纠错

例题

假设原始信息串为10110,多项式G(x)=x^4+x+1,求CRC。

本题中G(x)阶为4,在原始信息串后加4个0,得到新串101100000。

多项式中x的幂存在0,1,4,不存在2,3则除数串为10011。

将新串(被除串)与除数串进行模2除法运算。

用101100000除10011得到余数1111,把1111加到原始信息串后,得到101101111。

4.指令系统

4.1 指令寻址方式

顺序寻址:指令按顺序执行。

跳跃寻址:下一条指令的地址码不由程序计数器给出,而由本条指令直接给出,跳跃后安心的指令地址开始顺序执行。

4.2 操作数寻址方式

立即寻址:指令的地址码字段指出的不是地址,而是操作数本身。

直接寻址:地址码字段直接指出操作数在主存中的地址。

间接寻址:地址码指向的是操作数的地址。

4.3 CISC与RISC

CISC:复杂指令系统,指令数量多、使用频率差别大,可变长格式,支持多种寻址方式,由微程序控制技术实现,研制周期长。

RISC:精简指令系统,指令数量少,使用频率接近,定长格式,支持寻址方式少,增加了通用寄存器,采用硬布线逻辑控制为主,适合采用流水线,优化编译,有效支持高级语言。

4.4 流水线

将指令分为不同段,每段由不同部分处理,因此可以产生叠加效果。

4.4.1 RISC中的流水线技术

超流水线:细化流水、增加级数,以时间换空间。

超标量:内装多条流水线,以空间换时间。

超长指令字:通过软件来实现空间换时间。

4.2 流水线时间计算

流水线周期:流水线中执行时间最长的段。

流水线执行时间:1条指令总执行时间+(总指令条数-1)*流水线周期。

流水线吞吐率:单位时间内执行的指令条数,即指令条数/流水线执行时间。

流水线加速比:使用流水线后的效率提升度,即不使用流水线的执行时间/使用流水线的执行时间。

5. 存储系统

两级存储:Cache-主存,主存-辅存

局部性原理:在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址内,包括以下两方面:

  • 时间局部性原理:相邻的时间里会访问同一个数据项。
  • 相邻的空间地址会被连续访问。

5.1 Cache

存储当前最活跃的程序和数据,直接与CPU交互,位于CPU和主存之间,内容是主存的副本。

Cache由控制部分和存储器组成,存储器存储数据,控制部分判断CPU访问的数据是否命中Cache。

地址映射:CPU工作时送出的是主存的地址,但从Cache中读写信息,所以需要将主存地址转换为Cache地址,这种转换由硬件自动完成,称为地址映像,有以下三种方法:

  • 直接映像:将Cache等分成块,主存也等分成块并编号,两者的对应关系是固定的,块号相同才能命中。
  • 全相联映像:主存中任意一块都可以与Cache中任意一块对应,可以随意调入Cache中任何位置,是最不容易发生块冲突的映像方式。
  • 组组相连映像:Cache与主存都先分块再分组,组间采用直接映像,组内采用全相联映像。

5.2 替换算法

替换的目标是是Cache获得尽可能多的命中率。

随机替换:用随机数来决定要替换的块号。

先进先出:替换最先进入Cache的信息快。

近期最少使用:替换近期最少使用的块

优化替换:先执行一次程序,统计Cache替换情况,在第二次时用最有效的方式替换。

5.3 磁盘

5.3.1 磁盘的结构与参数

磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据存储在扇区中。

磁头首先要找到对应的磁道,等待磁盘进行旋转,转到指定的扇区后才能读取到对应的数据,因此会产生寻道时间和等待时间。

存取时间=寻道时间+等待时间(平均定位时间+转动延迟)

5.3.2 磁盘调度算法

寻道时间耗时最长,需要重点调度,有如下调度算法:

  • 先来先服务(FCFS):根据进程请求访问磁盘的先后顺序进行调度。
  • 最短寻道时间有限(SSTF):请求访问的磁道与当前磁道最近的进程优先调度,会产生“饥饿”,即远处进程可能永远无法访问。
  • 扫描算法(SCAN):选择离当前磁道最近且与磁头移动方向一致的磁道,磁头从里向外或从外向里移动完才会掉头。
  • 单向扫描调度算法(CSCAN):磁头只做单向移动。

6. 输入输出技术

6.1 内存与接口地址编址方法

6.1.1 独立编址

内存地址和接口地址是独立的两个地址空间,访问数据时使用的指令也完全不同,缺点是用于接口的指令太少、功能太弱。

6.1.2 统一编址

内存地址和接口地址在一个公共的地址空间里,原则上用于内存的指令全部可以用于接口。

6.2 计算机与外设的数据交互方式

程序控制(查询)方式:CPU主动查询外设是否完成数据传输,效率极低。

程序中断方式:外设完成数据传输后向CPU发送中断。

  • 中断响应时间:从发出中断请求到开始进入中断处理程序所需的时间。
  • 中断处理时间:中断处理开始到中断处理结束所需的时间。
  • 中断向量:提供中断服务程序的入口地址。

DMA方式(直接主存存取):CPU只需完成必要的初始化等操作,数据传输整个过程由DMA控制器完成,在主存和外设之间建立直接的数据通路。

在一个总线周期结束后,CPU会响应DMA请求开始读取数据;CPU响应程序中断方式请求时再一条指令执行结束时。

7.总线结构

总线是指计算机设备和设备之间传输信息的公共数据通道,由总线上的所有设备共享。

  • 内部总线:芯片与处理器之间通信的总线
  • 系统总线:板级总线,可分为数据总线(并行数据传输位数,32位、64位)、地址总线(系统可管理的内存空间大小)、控制总线(传输控制命令)。
  • 外部总线:微机与外部设备的总线。

二、操作系统

1. 操作系统概述

操作系统的三个重要作用:

  • 管理计算机中运行的程序和分配各种软硬件资源
  • 为用户提供友善的人机界面
  • 为应用程序的开发和运行提供一个高效率的平台

操作系统的4个特征:并发性、共享性、虚拟性、不确定性。

操作系统的分类:

  • 批处理操作系统
  • 分时操作系统
  • 实时操作系统
  • 网络操作系统
  • 分布式操作系统
  • 微型计算机操作系统

嵌入式操作系统的主要特点:

  • 微型化
  • 可定制
  • 实时性
  • 可靠性
  • 可移植性
  • 初始化过程:片级初始化-板级初始化-系统初始化

2. 进程组成和状态

进程的组成:PCB、程序、数据。

3. 进程同步与互斥

临界资源:各进程间需要以互斥方式访问的资源

临界区:对临界资源进行操作的程序

互斥:某临界资源同一时间内只能由一个任务单独使用,使用时需要加锁

同步:多个任务可以并发执行,只是速度上有差异,在一定情况下停下等待。

互斥信号量:初值为1,有多少个临界资源就需要多少个互斥信号量,一般在0和1之间转换

同步信号量:对共享资源的访问控制,初值一般是共享资源的数量

三、数据库系统

1. 数据库设计

1、需求分析:分析数据存储的要求,产出数据流图、数据字典、需求说明书,获得用户对系统的信息要求、处理要求、系统要求。

2、概念结构设计:产出E-R图。工作步骤包括选择局部应用、逐一设计分E-R图、E-R图合并(解决属性冲突、命名冲突、结构冲突)。

3、逻辑结构设计:将E-R图转换为关系模式。

4、物理设计

5、数据库实施阶段

6、数据库运行和维护阶段

2. 数据模型

关系模型:用二维表的形式表示的实体-联系模型。

概念模型:E-R图,从用户角度进行建模

数据模型三要素:数据结构、数据操作、数据的约束条件。

2.1 E-R图

用椭圆表示属性、长方形表示实体、菱形表示联系,联系的两端要填写联系类型。

四、嵌入式技术

1.嵌入式微处理体系结构

1.1 冯·诺依曼结构

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器与数据存储器合并在一起的存储器结构。

程序和数据共用一个存储空间,程序之灵存储地址和数据存储地址指向同一个存储器的不同物理位置。

采用单一的地址及数据总线,程序指令和数据的宽度相同。

处理器执行指令时,先从存储器中取出指令解码,再取操作数执行运算。

1.2 哈佛结构

哈佛结构是一种并行结构,将程序和数据存储在不同的存储空间中,两个相互独立的存储器独立编制、独立访问。

系统中有两套独立的地址总线和数据总线。

允许在一个机器周期内同时获取指令字和操作数。

2.微处理器分类

根据字长宽度,可分为4位、8位、16位、32位和64位,一般把16位及以下的称为嵌入式微控制器,32位及以上的称为嵌入式微处理器。

根据集成度,可分为一般用途型微处理器(微处理器内部仅包含单纯的中央处理器单元)、单芯片微控制器(将CPU、ROM、RAM及I/O等部件集中到一个芯片上)。

根据用途分类,可分为嵌入式微控制器(MCU)、嵌入式微处理器(MPU)、嵌入式数字信号处理器(DSP)、嵌入式片上系统(SOC)等。

MCU的典型代表是单片机,与MPU相比的最大特点是单片化、体积小、功耗和成本下降、可靠性提高,适合于控制,是嵌入式系统工业的主流。

MPU是由通用计算机中的CPU演变而来,特点是具有32位及以上的处理器,性能较高,仅保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,以最低的功耗和资源实现嵌入式应用的特殊要求。

DSP是专门用于信号处理的处理器,在系统结构和指令算法方面进行特殊设计,具有很高的编译效率和指令的执行速度,采用哈佛结构、流水线处理,在数字滤波、FFT、谱分析等仪器上大规模应用。

SOC是追求产品系统最大包容的集成器件。

3.多核处理器

多核处理器是单枚芯片,将两个或更多的微处理器封装集成在一个电路中。降低了计算机系统的功耗和体积。

3.1 工作协调方式

对称多处理技术SMP:多颗完全一样的处理器。

非对称处理技术AMP:处理内核不同,各自处理和执行特定的功能。

3.2 多核CPU的调度

1、全局队列调度:操作系统维护一个全局的任务等待队列。

2、局部队列调度:操作系统为每个CPU内核维护一个局部的任务等待队列。

五、计算机网络

计算机网络是利用通信技术将数据从一个节点传送到另一个节点的过程,信道可分为物理信道和逻辑信道,逻辑信道以物理信道为载体。

计算机网络的功能:数据通信、资源共享、管理集中化、分布式处理、负载均衡。

1. OSI七层模型

层名功能数据单位协议设备
物理层在链路上透明的传输位比特中继器、集线器
数据链路层把不可靠的信道变为可靠的信道帧交换器、网桥
网络层在源节点-目的节点之间进行路由选择、拥塞控制、顺序控制、传送包,保证报文的正确性IP分组路由器
传输层提供端到端间可靠的、透明的数据传输报文段TCP、UDP网关
会话层建立通信进程的逻辑名字与物理名字之间的联系,提供进程之间建立、管理和终止会话的方法,处理同步与恢复的问题。网关
表示层实现数据转换网关
应用层对用户不透明的提供各种服务数据FTP、HTTP、SMTP、DHCP、DNS网关
标签: 暂无
最后更新:2023年9月20日

Lufer

新的一天开始啦

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

文章目录
  • 一、计算机硬件组成
    • 1.基本硬件系统
    • 2.中央处理单元
      • 2.1 CPU的功能
      • 2.2 CPU的组成
      • 2.2.1 运算器
      • 2.2.2 控制器
  • 3.校验码
    • 3.1 码距
    • 3.2 奇偶校验码
    • 3.3 CRC
      • 例题
    • 4.指令系统
      • 4.1 指令寻址方式
      • 4.2 操作数寻址方式
      • 4.3 CISC与RISC
      • 4.4 流水线
    • 5. 存储系统
      • 5.1 Cache
      • 5.2 替换算法
      • 5.3 磁盘
    • 6. 输入输出技术
      • 6.1 内存与接口地址编址方法
      • 6.2 计算机与外设的数据交互方式
    • 7.总线结构
  • 二、操作系统
    • 1. 操作系统概述
    • 2. 进程组成和状态
    • 3. 进程同步与互斥
  • 三、数据库系统
    • 1. 数据库设计
    • 2. 数据模型
      • 2.1 E-R图
  • 四、嵌入式技术
    • 1.嵌入式微处理体系结构
      • 1.1 冯·诺依曼结构
      • 1.2 哈佛结构
    • 2.微处理器分类
    • 3.多核处理器
      • 3.1 工作协调方式
      • 3.2 多核CPU的调度
  • 五、计算机网络
    • 1. OSI七层模型

COPYRIGHT © 2022 lufer.cc.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021045819号