软件设计师笔记

目录

第一章 计算机网络概述

1.1计算机系统基础知识

1.1.1 计算机硬件

计算机硬件基本由运算器、控制器、输入设备和输出设备五大部分组成。

1.1.2 中央处理器——CPU

CPU由运算器、控制器、寄存器组和内部总线组成

运算器
主要用于做算术运算和逻辑运算,由以下部分组成:

  • 算术逻辑单元ALU:数据处理,对数据进行算术运算和逻辑运算。
  • 累加寄存器AC:通用寄存器,为ALU提供个工作区,用来存放运算的结果。
  • 数据缓冲寄存器DR:对类有储器进行读写操作时,用来暂存数据。
  • 状态条件寄存器PSW:用来存储计算过程中产生的标志位和状态信息。例如进位。

控制器
包括指令控制逻辑、时序控制逻辑、总线控制逻辑、中断控制逻辑,指令控制逻辑有三个操作为取指令、分析指令、执行指令。由以下部分组成:

  • 指令寄存器IR:暂存当前指令
  • 程序计数器PC:指明下一条指令的地址,分为顺序执行和跳转执行
  • 地址寄存器AR:保有当前CPU所访问的内存单元的地址
  • 指令译码器ID:分为操作码和地扯码,分析操作码,方便指令执行

1.1.3 数据的表示

原码:数据的二进制形式,最高位是符号位,0表示正数,1表示负数
反码:正数的反码与原码相同,负数的反码是原码除符号外取反
补码:正数的补码与原码相同,负数的补码是反码加1
移码:补码的符号位取反,不区正负数

取值范围:
在这里插入图片描述

浮点数:N=M*Re
M:尾数,R:基数,e:尾数

1.1.4 校验码

奇偶校验码:利用奇偶性校验,只可以检错不能纠错。分为奇校验和偶校验,分别用于检查多个奇数位或偶数位是否出错。

循环冗余校验码:可检错,不可纠错。利用多项式产生校验位,通过模2除法生成校验码。学会计算,模2除法是按位做异或运算
在这里插入图片描述
海明校验码:可检错也可以纠错,学会计算
在这里插入图片描述

1.2 计算机体系结构

1.2.1 计算机体系结构发展

CISC与RISC指令集区别

指令集 名称 指令数 寻址方式 实现方法
CISC 复杂指令集计算机 指令数量多,使用频率差别大,可变长格式 支持多种寻址方式 微程序控制技术
RISC 精简指令集计算机 指令数量少,使用频率接近,定长格式,单周期指令,操作寄存器,只有Load/Store操作内存 支持少量寻址方式 增加了通用寄存器,硬布线逻辑控制为主,适合采用流水线

体系结构Flynn分类法

体系结构类型 结构 关键特性 代表
单指令流单数据流SISD 一个控制部分,一个处理器,一个主存模块 单处理器系统
单指令流多数据流SIMD 一个控制部分,多个处理器,多个主存模块 各处理器以异步的形式执行同一条指令 ​ 并行处理机,阵列处理机,超级向量处理机
多指令流单数据流MISD 多个控制部分,一个处理器,多个主存模块 被证明不可能 无此类计算机
多指令流多数据流MIMD 多个控制部分,多个处理器,多个主存模块 能够实现作业、任 务、指令等各级全面 多处理机系统,多计算机

流水线
基本符号表示
k:流水线需要执行的步骤,若流水线分为取指、分析和处理三个步骤,则k=3
t1 ~ tk:流水线各个过程的所需时间
∆t:流水线周期,取t1 ~ tk的最大值
n:表示n条指令

(1)流水线执行时间计算
理论公式:(t1+t2+…+tk)+(n-1)*∆t
实际公式:(k+n-1)*∆t
优先选择理论公式的值,若没有理论公式的值,再选择实际公式的值

(2)吞吐率:单位时间内流水线所完成的任务量或输出的结果数
TP = n/流水线执行时间
最大吞吐率:TPmax = 1/∆t

(3)加速比
S = 不使用流水线的执行时间 / 使用流水线执行的时间

(4)效率
E = n个任务占用的时空区 / k个流水线总的时空区

1.2.2 存储系统

层次化存储结构:读取速度由快到慢,存储容量由小到大

  • CPU内部通用存储器
  • Cache (按内容存取)
  • 主存储器(内存)
  • 外存(硬盘、光盘、U盘)

Cache

(1)功能:

  • 提高CPU数据输入输出的效率
  • 平衡CPU与主存之间输入输出的速度差距
  • 改善系统的性能——程序的局部性原理

(2)Cache+主存的平均周期:t3=h*t1+(1-h)*t2
h是cache访问的命中率,​t1表示cache的周期时间,t2表示主存储器的周期时间。

(3)地址映像方法

映像方法 描述 优缺点
直接映像 主存的块也Cache块的对应关系固定 优点:地址变换简单;缺点:灵活性差
全相联映像 主存的块可以调用到cache的任一块中 优点:调入Cache的位置不受限制,十分灵活;缺点:无法从主存块号直接获取Cache块号,需要复杂的变换
组相联映像 结合上面两种方式,将Cache先分块再分组

磁盘结构

在这里插入图片描述

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

寻道时间是指磁头移动到磁道所需时间

等待时间是等待读写的扇区转到磁头下方所用的时间

例题:
在这里插入图片描述
在这里插入图片描述

磁盘阵列技术

  • RAID-0:不具备容错能力
  • RAID-1:采用镜像容错
  • RAID-2:采用海明码进行错误检测
  • RAID-3:减少了检验的磁盘存储器个数,一个检验盘
  • RAID-4:独立进行组内磁盘读写,一个检验盘
  • RAID-5:同一个磁盘既记录数据,也检验信息,无检验盘
  • RAID-6:两级数据冗余和数据编码解决数据恢复问题,出现故障仍然可工作

1.2.3 输入/输出技术

(1)直接程序控制

输入/输出过程在CPU的控制下完成。分为无条件传送和程序查询方式。

(2)中断方式

I/O系统与外设交换数据时,无需CPU参与。数据准备完成后向CPU发送中断请求信号,CPU去完成I/O系统的数据交换。

注:中断请求信号,保存的是正在执行程序的现场。

多中断源的中断处理方法:

  • 多中断信号线法:每个中断源都有自己的中断请求信号线与CPU相连
  • 中断软件查询法:利用中间软件管理中断请求信号
  • 菊花链法:硬件查询法,中断信号在多个I/O模块间查找知道找到中断源
  • 总线仲裁法:由总线仲裁机制来裁定谁发送中断请求信号
  • 中断向量表法:中断向量表用来保存各个中断源的中断服务程序的入口地址

(3)直接存储器存取方式(DMA )

内存与I/O设备之间数据成块产送,传送过程不需要CPU的参与。CPU只需要在开始和结束时进行处理即可,数据准备和数据交换实际是由DMA硬件直接执行完成。

(4)输入/输出处理机(IOP)

又叫通道,分担了一部分CPU的功能,可对外围设备进行统一管理,完成外围设备和主存之间数据的传送

1.2.4 总线结构

  • 数据总线::双向传输,用来传递数据信息,宽度决定了CPU和设备之间每次数据交换的次数
  • 地址总线:发单向传输,用于传送CPU发送的地地信息,宽度决定了CPU的最大寻址能力
  • 控制总线:传送控制信号、时序信号、状态信息等

常见总线:

  • PCI总线:并行传输,内总线
  • RS-232C:串行传输,外总线
  • SCSI总线:并行传输,外总线

1.3 计算机安全

1.3.1 计算机安全概述

基本要素:

  • 机密性:不暴露给未授权的实体或进程
  • 完整性:只有被允许的人才可修改,并能判断数据是否已被修改
  • 可用性:被授权的实体需要时可访问数据
  • 可控性:可控制授权范围内的信息流向及行为方式
  • 可审查性:对出现的安全问题提供调查的依据和手段

安全威胁的种类

  • 授权侵犯:将系统用做其他为授权的目的
  • 拒绝服务:对信息或其他合法访问无条件的拒绝,或推迟等操作
  • 窃听
  • 信息泄露
  • 截获
  • 假冒
  • 否认
  • 非法使用
  • 人员疏忽
  • 完整性破坏:对数据进行未授权的创建、修改会破坏,使数据一致性收到损坏
  • 媒体清理:信息从废弃或打印中获得
  • 物理入侵:绕过物理控制获得对系统的访问
  • 资源耗尽:被故意超负荷使用,导致其他用户的服务被切断

1.3.1 系统可靠性分析

串联系统
在这里插入图片描述
可靠性:R = R1R2…Rn

并联系统
在这里插入图片描述
可靠性:R =1-(1-R1)(1-R2)…(1-Rn)

模冗余系统
在这里插入图片描述
在这里插入图片描述

1.3.3 加密和认证技术

对称加密(私人密钥加密)
使用相同的密钥加密和解密,算法有:

  • 数据加密标准DES
  • 三重DES
  • RC-5
  • 国家数据加密算法IDEA
  • 高级加密标准AES

非对称加密(公开密钥加密)
使用不同的密钥加密和解密,分为公钥和私钥,成对出现。算法有:

  • RSA

认证

PKI是一种密钥管理平台,提供加密和数字签名等密码服务以及所必要的密钥和证书管理体系。

(1)信息摘要

简要的描述传输文本的关键信息,可以被公开,但是不会透露文件的任何内容。

根据传输的文本生成的信息摘要,接收方接收到文本之后生成的摘要与接收到信息摘要对比,检测文本是否被更改。

采用单列Hash函数,算法使用MD5,MD5会生成128位散列值

(2)数字签名

保证发送方的真实和唯一

总结

在这里插入图片描述

第二章 程序设计语言

2.1 程序设计语言分类

  • PASCAL,过程式、结构化程序设计语言
  • C++,面向对象程序设计语言
  • C#,面向对象、运行于.NET上
  • Objective-C,由C衍生,面向对象
  • java,面向对象
  • Ruby,解释性、面向对象、动态类型的脚本语言
  • PHP,服务器端执行,嵌入HTML文档的脚本语言
  • Py
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值