【软件设计师 – 中级】第1章 计算机网络概论

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。【软件设计师 – 中级】第1章 计算机网络概论,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

第1章 计算机网络概论

1.1 计算机系统基础知识

1.1.1 计算机系统硬件基本组成

  1. 计算机系统由硬件系统和软件系统组成
  2. 硬件系统的组成:运算器、控制器、存储器、输入设备和输出设备5大部件
  3. 硬件系统的核心:中央处理单元(CPU)

1.1.2 中央处理单元

  1. CPU的作用:负责获取程序的指令、对指令进行译码并加以执行
  2. CPU的功能:程序控制、操作控制、时间控制、数据处理

程序控制、操作控制和时间控制为控制器功能,数据处理为运算器功能

(1)程序控制:CPU通过执行指令来控制程序的执行顺序

(2)操作控制:CPU负责获取程序的指令,而一条指令功能的实现需要若干操作信号配合完成。因此,CPU产生每条指令的操作信号并将操作信号送往对应部件,以此来控制这些部件按照相应的指令执行加减乘除、与或非等操作

(3)时间控制:控制指令执行过程中操作信号的出现时间、持续时间以及出现顺序

(4)数据处理:CPU最根本的任务。对数据进行加工处理(算术运算及逻辑运算等),处理后的结果被人们运用。

  1. CPU异常处理:对系统内部和外部的终端(异常)做出响应,进行相应的处理
  2. CPU的组成:运算器、控制器、寄存器组和内部总线等部件

(1) 运算器

  ① 组成:算术逻辑单元(ALU)、累加寄存器(AC)、数据缓冲存储器、状态条件寄存器(PSW)

  ② 功能:算术运算(加、减、乘、除等基本运算及附加运算) 、逻辑运算(与、或、非、零值测试/逻辑测试、两个值的比较)

  ③ 各部件功能

  • ALU:运算器的重要组成部件(其余部件有加法器、减法器、乘法器等)。主要负责处理数据、对数据进行算术运算和逻辑运算
  • AC:简称累加器,是一个通用寄存器。其一,为ALU提供一个工作区;其二,暂存运算的结果和原操作数
  • DR:作为CPU和内存、外部设备之前数据传送的中转站
  • PAW:保存由算术指令、逻辑指令运行或测试的结果建立各种条件码内容。分状态标志和控制标志

运算器只能完成运算,而控制器用于控制整个CPU的工作。控制器既要保证程序的(指令)正确执行,又能够处理异常事件。

(2)控制器

  ① 指令:操作码 + 地址码

      说明:2 + 3 ,”+”为操作码,“2” 和 “3”为地址码(从内存中取)

  ② 各部件功能

  • 指令寄存器(IR):当CPU执行一条指令时,先把它从内存中取到缓冲寄存器(指:运算器的DR)中,再送入IR暂存,指令寄存器(ID)根据IR产生的操作指令,控制其他部件完成功能。
  • 程序计数器(PC):既能寄存信息又能计数,称为指令计数器。程序的执行分为顺序执行和转移执行。顺序执行,PC的内容即是程序的第一条指令的地址;执行指令时,CPU自动修改PC的内容,以便总保持的是将要执行的下一条指令的地址(跟踪指令地址);修改过程中只是简单的PC加1
  • 地址寄存器(AR):保存当前CPU所访问的内存单元的地址,但不一定是指令的地址。因为内存和CPU存在操作速度上的差异,所以需要使用AR保持地址信息,知道内存的读/写操作完成为止。
  • 指令译码器(ID):为了能正确执行给定的指令,必须对操作码(+ – * / & || !)分析,识别指令规定的操作,向控制器发出具体的控制信号,控制各部件工作(控制运算器执行+ – * / & || !),完成所需功能。

注解:CPU想从内存中拿一个指令,数据缓冲寄存器DR作为一个中间站,内存把数据给了中间站DR,DR把数据给内存

1.1.3 进制介绍及运算

  1. 单位及换算
    (1)计算机中最小的数据单位:比特/位(bit – b)
    (2)计算机中最小的存储单位:字节(byte – B)
单位 换算关系
字节(B) 1B = 8b
千字节(KB) 1KB = 1024B
兆字节(MB) 1MB = 1024KB
吉字节(GB) 1GB = 1024GB
太字节(TB) 1TB = 1024GB
  1. 进制

常用的进制有二进制、八进制、十进制、十六进制

(1)进制的组成、表示和进位规则

  ① 二进制:基数为2,数值部分用2个不同的数字符号0、1来表示;进位规则是逢二进一。

  • 2的n次方对应的值

在这里插入图片描述

  ② 八进制:基数是8,有8个数字符号:0、1、2、3、4、5、6、7;进位规则是逢八进一。

  ③ 十进制:基数是10,有10个数字符号:0、1、2、3、4、5、6、7、8、9;进位规则是逢十进一。

  ④ 十六进制:基数是16,它有16个数字符号,除了十进制中的10个数可用外,还使用了6个英文字母:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分别代表十进制数的10-15;进位规则是逢十六进一。

进制 可用符号 表示 进位规则
二进制 0 和 1 B 逢 2 进 1
八进制 0 到 7 O 逢 8 进 1
十进制 0 到 9 D 逢 10 进 1
十六进制 0 到 9 A 到 F H 逢 16 进 1

(2)进制转换

  ① n 进制 转为 十进制

方法名称:按权展开求和

  • 二进制 转 十进制
    在这里插入图片描述

  • 八进制 转 十进制
    在这里插入图片描述

  • 十进制 转 十进制
    在这里插入图片描述

  • 十六进制 转 十进制
    在这里插入图片描述

  ② 十进制 转为 n 进制

方法名称:除n取余法,验算方式:按权展开求和

  • 十进制 转 二进制(如下图:例1)
  • 十进制 转 八进制(如下图:例2)

在这里插入图片描述

  • 十进制 转 十六进制(如下图:例3)

请添加图片描述
 ③ 二进制、八进制、十六进制之间互相转换

在这里插入图片描述

(3)进制的加减法

  ① 加法:逢 n 进 1

从右往左按顺序相加:个位+个位,十位加十位,… …

  • 十进制 相加(逢 10 进 1,如下图:例1)

  • 二进制 相加 (逢 2 进 1,如下图:例2)

请添加图片描述

  • 八进制 相加(逢 8 进 1,如下图:例3)
  • 十六进制 相加(逢 16 进 1,如下图:例4)

在这里插入图片描述
  ② 减法:借 1 当 n

  • 十进制 相减(借 1 当 10,如下图:例1)
  • 二进制 相减(借 1 当 2,如下图:例2)

在这里插入图片描述

  • 八进制 相减(借 1 当 8,如下图:例3)
  • 十六进制 相减(借 1 当 10,如下图:例4)
    在这里插入图片描述

1.1.4 数据表示

  1. 机器数
    (1)含义:各种数值在计算机中的表现形式
    (2)特点:二进制计数制
    (3)分类:无符号数和带符号符号数
    (4)码制:使用不同的编码方法(原码、反码、补码、移码)

  2. 原码、反码、补码、移码
    (1)表示方法
    在这里插入图片描述
    例1:假设机器数有n位,n=8。数值3有各种编码方式:
    1)正数:+3
    ① 原码 :[+3]原 = 0 0 0 0 0 0 1 1
    ② 反码 :[+3]反 = 0 0 0 0 0 0 1 1
    ③ 补码 :[+3]补 = 0 0 0 0 0 0 1 1
    ④ 移码 :[+3]移 = 1 0 0 0 0 0 1 1
    2)负数:-3
    ① 原码 :[-3]原 = 1 0 0 0 0 0 1 1
    ② 反码 :[-3]反 = 1 1 1 1 1 1 0 0
    ③ 补码 :[-3]补 = 1 1 1 1 1 1 0 1
    ④ 移码 :[-3]移 = 0 1 1 1 1 1 0 1
    符号位:0正1负 正数:原码 = 反码 = 补码,移码=补码的符号位取反 负数:原码、反码、补码的符号位始终不变,其余n-1位反码=原码按位取反,补码=反码+1。移码的表示和正数一样都是补码的符号位取反即可,其余n-1不会变
    (2)公式:[[X]补]补 = [X]原
    (3)机器字长为n时,各种码制表示的带符号数的范围
      ① 定点整数
    在这里插入图片描述
    ② 原码的范围
         计算时2的n-1,1表示的是符号位,不包括在数值中所以要减去。之后减去1是因为我们从0开始计算的。

  3. 浮点数
    (1)含义:用阶码和尾数表示的数(这种方法称为浮点表示法)
    (2)优点:如下
    在这里插入图片描述
    在这里插入图片描述
    (4)浮点数的运算
    加法
        ① 阶码一样
    在这里插入图片描述
        ② 阶码不一样(对阶:小阶向大阶对齐,浮点数[尾数]向右移动)
    在这里插入图片描述

一个数的浮点表示不唯一,小数点位置改变,阶码也改变。因此,多个浮点形式表示同一个数

  1. 规格化浮点数
    (1)目的:为了充分利用位数来表示更多的有效数字
    (2)区间:将位数的绝对值限定在区间[0.5,1]
    (3)如果浮点数的阶码(包括1位阶符)用R位的移码表示,尾数(包括1位数符)用M位补码表示,则这种浮点数所能表示的数值范围为:在这里插入图片描述
    (4)决定性:阶码决定浮点数所能表示的数值范围; 尾数决定数值的精确度

1.1.5 校验码

  1. 存在原因
          传输数据时,接收数据的一方接收到的信息可能存在错误,例如1010在接收到的时候变为1011(误码)

  2. 码距
    (1)含义:一个编码系统中任意两个合法编码之间至少有多少个二进制编码不同
    (2)举例:如下
    码距

  3. 常用的校验码
    (1) 奇偶校验
    奇校验:在编码中增加一位【校验位】使编码中1的【个数为奇数】,码距为2
          例如:① 传输数据 0101 ② 编码增加校验位1,变为10101 ③ 当接收到的编码为10101时,其中该编码中有3个1,这时候判断为奇校验
    偶校验:在编码中增加一位【校验位】使编码中1的【个数为偶数】,码距为2
          例如:① 传输数据 0101 ② 编码增加校验位0,变为00101 ③ 当接收到的编码为00101时,其中该编码中有2个1,这时候判断为偶校验

注意:
(1)不管奇校验还是偶校验,都只能检测出奇数位出错的编码(这里奇数位指的是,出错的位数有奇数个),不能发现偶数位出错的编码。例如 0 0101 其中第1个0为校验位,当奇数位后紧挨着的的010都出错。那么出错的位数就是3
(2)奇偶校验码只能检错,不能纠错

   常用的奇偶校验码:
   ① 水平奇偶校验码
   ② 垂直奇偶校验码
   ③ 水平垂直校验码

(2)海明码
   ① 扩展 :码距 = 2 时有检错能力;码距 ≥ 3 时才可能有纠错能力
   ② 概念:利用奇偶性来检错纠错的校验方法(码距至少=3)
   ③ 公式:假设数据为是n位,校验位是k位,则n和k必须满足以下关系
在这里插入图片描述
(3)循环冗余校验码
  ① 特点:可检错,不能纠错.码距 = 2
  ② 编码:k个数据位 + r个校验位。编码长度为k+r
  ③ CRC编码:模2运算

1.2 计算机体系结构

1.2.1 计算机体系结构的发展

  1. 指令系统
    (1)RISC与CISC是指令集发展的两种途径
    (2)区别如下:
    在这里插入图片描述

  2. ICO流水线
    (1)ICO解析
      ① I:输入,C:计算,O:输出 例:输入1+2,计算得到3,将3输出
      ② 不采用流水线顺序执行时,设备利用率低
      ③ 指令流水线,利用率高。基本每个时刻都能输出一个结果。

    (2)公式(时间)

    第一条指令的执行时间 + (n-1)×(最长时间段)
    

    (3) 加速比

    加速比 = 不采用流水线/采用流水线
    

    (4)操作周期 =:等于最长时间段
    (5)吞吐率=最长时间段的倒数
    (6)执行n条追零的吞吐率= n / (第一条指令的执行时间 + (n-1)×(最长时间段))
    (7)目的:提升设备利用率

1.2.2 存储系统

  1. 存储器
    (1)层次结构:CPU - Cache - 主存 - 外存
    CPU
    (2)解析

      ① Cache:DRAM(静态随机存储器)

      ② 主存:DRAM(动态随机存储器);周期性的刷新

      ③ 外存:联机磁盘存储器和脱机光盘、磁盘存储器统称外存

    (3)分类

      ① 按【位置】

        1 – 内存:也称主存,特点是容量小、速度快。向CPU存放信息。

        2 – 外存:也称辅存,如磁盘、磁带、光盘等

      ② 按【构成材料】

        1 – 磁存储器

        2 – 半导体存储器

        3 – 光存储器

      ③ 按【工作方式】

        1 – 读/存储器:又能读又能写

        2 – 只读存储器
            固定只读存储器(ROM)
            可编程的只读存储器(PROM)
            可擦除可编程的只读存储器(EPROM)
            电擦除可编程的只读存储器(EEPROM)
            闪速存储器(Flash Memory):简称闪存,其特性介于EPROM和EEPROM之间。以【块】为单位,类似于优盘,断电后信息不会丢失。可以代替ROM,不能代替主存。整块闪存可以在数秒内删除

      ④ 按【访问方式】

        1 – 按地址访问的存储器

        2 – 按内容访问的存储器:相联存储器

      ⑤ 按【寻址方式】

        1 – 随机存储器(RAM)

        2 – 顺序存储器(SAM)

        3 – 直接存储器(DAM)

    (4)虚拟存储器由主存和辅存构成

    (5)CPU从内存中取东西(例如:地址)的时候

      ① 空间局部性:取当前地址的相邻地址

      ② 时间局部性:不通时间会取相同地址

  2. 高速缓存Cache

    (1)位置:位于CPU和内存(主存储器)之间

    (2)作用:存放当前最活跃的程序和数据。提高CPU访问主存的效率。

    (3)容量:几千字节~几兆字节之间

    (4)速度:比主存快5~10倍

    (5)透明:对程序员来说透明

    (6)组成:Cache存储器部分和控制部分。功能如下:

       ① Cache存储器部分:存放内存(主存储器)的部分拷贝(副本)信息
       ② 控制部分:判断CPU要访问的信息是否在Cache存储器中。在-命中-直接对Cache存储器寻址;不在-没命中-按照替换原则决定在主存的一块信息放到Cache存储器的哪一块里

    (7)替换算法

      ① 目标:使Cache获得尽可能高的命中率

      ② 种类:随机替换算法、先进先出算法、近期最少使用算法、优化替换算法

      ③ Cache命中率与Cache容量的关系:Cache容量越大,命中率越高。随着Cache容量的增加,失效率接近0%(命中率逐渐接近100%)。但增加Cache容量即层架Cache的成本和命中时间

    (8) 高速缓存中的地址映像方法

    ① 地址映像: 在CPU工作时,送出去的是主存单元的地址,而应从Cache存储器中读/写信息。所以需要将主存地址转为Cache地址

    ② 方法

        1 – 直接映像:主存的块与Cache块的对应关系是固定的。特点:冲突多
         主存地址:主存区号+区内块号+块内地址

        2 – 全相联映像:主存与Cache存储器均分成大小相同的块。特点:冲突少。允许主存的任一块可以调入Cache存储器的任何一个块的空间(但要保证Cache当时的块号是空的,也就是未满状态)
         贮存地址:主存块号+块内地址

        3 – 主相联映像:冲突较少。既有直接映像的特点又有全相联映像的特点

Cache与主存地址的映射是由硬件自动完成

1.2.3 输入/输出技术

  1. 中断方式
    (1)概念:计算机在执行程序过程中,当遇到急需处理的事时,暂停当前正在运行的程序转去执行有关服务程序,处理完成后自动返回源程序。
    (2) 图例
    断点执行过程

    ① 断点(中断向量):提供终端服务程序的入口地址
    ② 中断响应时间:从发出中断请求开始~进入中断服务程序
    ③ 保存现场:目的是处理完中断后,返回来执行源程序

  2. 程序查询方式
    (1)也叫“程序直接控制方式”
    (2)特点
         ① CPU和I/O(外设)只能串行工作,CPU需要一直轮询检查,长期处于忙等状态。CPU利用率低
         ② 一次只能读/写一个字
         ③ 由CPU将数放入内存

    (3)图例
    I/O控制方式

  3. 中断驱动方式
    (1)特点
        ① CPU和外设是并行工作的
        ② I/O设备通过中断信号主动向CPU报告I/O操作已完成
        ③ CPU利用率得到提升
        ④ 由CPU将数据放入内存
        ⑤ 一次只能读/写一个字

    (2)图例
    中断驱动方式流程

  4. 直接存储器方式(DMA)
    (1)特点
        ① CPU和I/O(外设)可并行工作
        ② 仅在传送数据块的开始和结束时才需要CPU的干预
        ③ 由外设直接将数据放入内存
        ④ 一次读写的单位为“块”,而不是字

    (2)图例
    DMA流程图

1.2.4 总线结构

  1. 分类:数地控
    (1)数据总线
    (2)地址总线
    (3)控制总线
  2. 常见总线
    (1)ISA总线
    (2)EISA总线
    (3)PCI总线:采用【并行】传输方式;内总线
    (4)PCI Express总线
    (5)SCSI总线:采用【并行】传输方式;外总线
    (6)SATA
    (7)USB

1.3 安全性、可靠性与系统性能评测

1.3.1 计算机安全概述

1.3.2 加密技术和认证技术

  1. 场景 : A 跟 B 以【明文】方式交流
  2. 隐患:AB之间聊天可能存在第三方C,可进行【窃听、篡改、假冒】;而AB之间存在【否认】
  3. 解决:
    (1) 窃听:加密
    (2)篡改:摘要
    (3)假冒、否认:数字签名,更严重的话:数字证书

  1. 加密技术

(1)对称加密(私有密钥加密)

   ① 加密和解密是同一把密钥,且只有一把密钥
   ② 缺点:密钥分发有缺陷,不能保证解密的密钥只有接收方有
   ③ 优点:加密解密速度很快,适合加量大量明文数据

(2)非对称加密(公开密钥加密)

    ① 加密和解密不是同一把密钥,一共有两把密钥。分别是公钥和私钥。用公钥加密只能用私钥解密; 用私钥加密只能用公钥解密;不能通过一把推出另一把。
    ② 用接收方的公钥加密明文可以实现防止窃听的效果
    ③ 优点:密钥分发没有缺陷
    ④ 缺点:加密解密速度很慢

(3)混合加密(扩展内容,不做详解)

总结:窃听,用非对称加密。原理是:用接收方的公钥加密后得到一个密文,传给接受方,接收方用自己的私钥解密。第三方因为没有接收方的私钥不能窃听。但仍然存在隐患:篡改。这时候如何看是否被篡改了呢?这就需要用到摘要了。

  1. 认证技术
    (1)PKI相关
      ① 认证机构。即数字证书的申请和签发机关,CA必须具备权威性
      ② 数字证书库
        1 – 用户向CA机构申请数字证书,将个人信息和公钥发给CA机构
        2 – CA机构颁发给用户数字证书
        3 – 数字证书用CA的私钥进行签名(加密),用CA的公钥验证(解密)数字证书
        4 – 最终得到用户的公钥
      ③ 摘要和数字签名

        1 – 摘要
         使用:将发送的明文进行Hash算法后得到摘要放在密文后一起发送过去,与接收方解密后的明文进行相同的Hash算法得到的摘要进行对比。如果一致,则没有篡改;否则有篡改

        2 – 数字签名
         加密:发送方用自己的私钥对摘要进行签名(加密)得到数字签名放在密文后一起发送过去
         解密:接收方用户发送方的公钥对数字签名进行验证(解密)。如果验证成功则该消息没有被假冒且不能否认,否则该消息的真实性为假冒发送

       ④ 加密算法:对称加密技术和非对称加密技术

总结:摘要防止篡改。数字签名防止假冒,确定了消息的真实性后就不能否认了。

1.3.3 计算机可靠性

1.3.4 计算机系统的性能评价


  1. 计算机指令一般包括操作码和地址码两部分,为分析执行一条指令,其操作码和地址码都应该存入指令寄存器(IR)中。
  2. 在CPU的寄存器中,指令寄存器IR是对用户完全透明的
    (1)解释:在汇编语言中,程序员可以直接访问通用寄存器以存取数据,可以访问状态字寄存器以获取有关数据处理结果的相关信息,可以通过相对程序计数器进行寻址,不能访问IR。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/195005.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!