第一章 计算机网络概论----1.1计算机系统基础知识

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

  • 计算机系统 = 硬件 +软件       基本硬件系统 = 运算器、控制器、存储器、输入设备、输出设备          
  • CPU 中央处理单元 = 运算器 、控制器。 CPU是核心,用于数据加工处理。
  • 存储器 分为 内部存储器、外部存储器。
  • 输入设备、输出设备 合成外部设备

1.1.2 中央处理单元

  • CPU负责获取程序指令、对指令进行译码并加以执行
  • 1.CPU的功能
    • 程序控制,通过执行指令来控制程序的执行顺序。
    • 操作控制,一条指令功能的实现需要若干操作信号配合来完成。CPU产生每条指令的操作信号并将操作信号送往对应的部件,控制相应的部件按照指令要求来操作。
    • 时间控制,CPU对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。
    • 数据处理,对数据进行算术运算及逻辑运算等方式进行加工处理。最根本的任务。
    • 还需要对系统内外部的中断做出响应。
  • 2.CPU的组成
    • CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。
    • 1.运算器
      • 运算器由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,数据加工处理部件,用于各种算术和逻辑运算。运算器所进行的全部操作都是由控制器所发出的控制信号来指挥的,是执行部件。两个功能:
      • 执行所有的算术运算,执行所有的逻辑运算。
      • ALU,负责处理数据,进行算术运算和逻辑运算。
      • 累加寄存器AC,为ALU提供一个工作区,例如减法运算,先把被减数取出存在AC,再取出减数和AC中内容相减再送回AC。运算的结果放在AC中,运算器至少要有一个AC。
      • 数据缓冲寄存器DR,用DR暂存由内存读写的一条指令或数据字,将不同时间段的读写数据隔离开。作用:作为CPU和内存,外设之间数据传送的中转站、操作速度上的缓冲。
      • 状态条件寄存器PSW,保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码,主要分为状态标志和控制标志。如运算结果进位标志C、溢出标志V、为0标志Z、为负标志N、中断标志、方向标志等。通常分别由1位触发器保存。通常算术操作产生一个运算结果(状态标志),逻辑操作产生判决(控制标志)。
    • 2.控制器
      • 控制器控制整个CPU的工作,包括指令控制逻辑、时序控制逻辑、总线控制逻辑、中断控制逻辑几部分。
      • 指令控制逻辑要完成 取指令、分析指令、执行指令操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址。
      • 指令寄存器IR,CPU执行指令时,先把它从内存取到DR,再送入IR暂存,指令译码器根据IR的内容产生各种微操作指令。
      • 程序计数器PC,寄存信息、计数,又叫做指令计数器。程序执行:顺序执行,转移执行。程序起始地址送入PC,PC的内容就是程序第一条指令的地址,执行指令时,CPU修改PC内容+1,保持下一条指令地址。转移时要加上偏移量。
      • 地址寄存器AR,AR保存当前CPU所访问的内存单元的地址。由于内存和CPU存在操作速度上的差异,所以需要AR保存地址,直到内存读写操作完成。
      • 指令译码器ID,指令包含操作码和地址码两部分。对指令中的操作码字段进行分析解释,识别操作,向操作控制器发出具体控制信号。
      • 时序控制逻辑为每条指令按时间顺序提供应有的控制信号。
      • 总线逻辑是为多个功能部件服务的信息通路的控制电路。
      • 中断控制逻辑是用于控制各种中断请求,根据优先级排队交给CPU处理。
    • 3.寄存器组
      • 分为专用寄存器、通用寄存器。运算器和控制器中的寄存器是专用寄存器,作用固定。
  • 3.多核CPU
    • CPU中心的芯片就是核心,单晶硅制成,所有的计算、接收存储、处理数据都由核心执行。
    • 多核就是在一个单芯片上集成两个甚至多个处理器内核。每个内核都有自己的逻辑单元、控制单元、中端处理器等。
    • AMD和intel的双核技术有所不同,AMD将两个内核做在一个晶元上,通过直连架构连接起来,集成度更高。intel是将放在不同核心上的两个内核封装。所有AMD称为双核,intel称为双芯。
    • 多核CPU的优点就是可以同时多任务处理。
    • 多线程是CPU交替转换执行多个任务,只不过交替的时间很短,用户感觉不出来。
    • intel超线程技术是,双核可以看做4核,4核看做8核,但是逻辑处理器,速度比不过真正的4核 8核

1.1.3 数据表示

  • 机器数就是二进制数字,符号用0和1表示,机器数对应的实际值成为数的真值。
    • 无符号数表示正数,没有符号位。若小数点在机器数最低位之后,则是纯整数;若约定小数点在最高位之前,则是纯小数。
    • 有符号数最高位是符号位,0是正,1是负。
  • 1、带符号的机器数可以用原码、反码、补码、移码等编码方式
    • 原码表示法。数值X的原码记为[X]原
      • +1 = 0 0000001 -1 = 1 00000001
      • +127 = 0 1111111 -127 = 1 1111111
      • +45 = 0 0101101 -45 = 1 0101101
      • +0.5 = 0 ◊1000000 -0.5 = 1 ◊1000000
    • 反码表示法。正数的反码与原码相同,负数的反码是其绝对值按位取反
      • +1 = 0 0000001 -1 = 1 1111110
      • +127 = 0 1111111 -127 = 1 0000000
      • +45 = 0 0101101 -45 = 1 1010010
      • +0.5 = 0 ◊1000000 -0.5 = 1 ◊0111111
    • 补码表示法。正数的补码与反码、原码相同,负数的补码等于其反码的末位加1。0的补码是:+0 = 0 0000000 -0 = 00000000
      • +1 = 0 0000001 -1 = 1 1111111
      • +127 = 0 1111111 -127 = 1 0000001
      • +45 = 0 0101101 -45 = 1 1010011
      • +0.5 = 0 ◊1000000 -0.5 = 1 ◊1000000
    • 移码表示法。移码是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。实际上在偏移2 n-1的情况下,移码就是补码的符号位取反。
      • +1 = 1 0000001 -1 = 0 1111111
      • +127 = 1 1111111 -127 = 0 0000001
      • +45 = 1 0101101 -45 = 0 1010011
      • +0.5 = 1 ◊1000000 -0.5 = 0 ◊1000000
  • 2、定点数和浮点数
    • 1>定点数
      • 定点数就是小数点的位置固定不变的数。小数点的位置通常有两种方式:定点整数(纯整数,小数点在最低有效数值位之后)和定点小数(纯小数,小数点在最高有效数值位之前
    • 2>浮点数
      • 当机器字长为n时,定点数的补码和移码只能表示2^n个数,原码和反码只能表示2^n-1个数(因为0占了2个数),因此定点数的数值范围比较小。
      • 一个二进制数可以写成多种表达方式,如1011.10101 可以写成 2^4x0.101110101、2^5x0.0101110101等。
      • 总结就是 二进制数N = 2^E x F ,E叫做阶码,F称为尾数。用阶码和尾数表示的数称为浮点数。阶码是带符号的纯整数,尾数为带符号的纯小数。
      • 阶符 阶码 数符 尾数 浮点数的数值范围主要由阶码决定,精度主要由尾数决定。一般用规格化尾数,也就是尾数限定范围[0.5,1] [-1,-0.5]
      • 尾数M >=0 则M = 0.1xxxxxx...x x可为0,也可为1
      • 尾数M < 0 则M = 1.0xxxxxx...x x可为0,也可为1
      • 如果阶码用R位的移码表示,则整个浮点数的范围如下:
        最大的正数:+(1-2^(-M+1))x2^(2^(R-1)-1)
        最小的负数:-1x2^(2^(R-1)-1)
    • 3>浮点数工业标准
      • (-1)S2E(b0b1b2b3...bp-1) (-1)S为浮点数的数符,S为0时表示正数,为1时表示负数;E为阶码,用移码表示;后面的是尾数,长度为P位,用原码表示。(注意:工业标准和定义的标准表示形式不同,最前面就是数符,没有阶符了。且尾数是隐藏1的)
      • 3中形式的标准数,单精度浮点数、双精度浮点数、扩充精度浮点数。注意指数偏移量不是128而是127,用128算完要减1
      • 规格化的值。
      • 例如在单精度格式下,阶码为 10110011时,偏移量是+127(01111111),则真值为 10110011 - 01111111 = 00110100,十进制52
      • 尾数部分约定小数点左边隐含一位1,所以单精度浮点数实际上的有效位数是24位,纯小数部分是23位,1<=M<2。在表示的时候左边的1不进行表示,只有计算的时候会加上去。
      • 例,将176.0625 转为单精度浮点数
      • 先转为二进制 10110000.0001 再规格化为 1◊01100000001x2^7 保证了b0为1,将b0去掉并扩展为规定的23位尾数 01100000001000000000000
      • 然后求阶码,7+127 = 134 10000110
        最后可得 0 10000110 01100000001000000000000

     

posted @ 2022-01-15 20:44  之间。  阅读(504)  评论(0编辑  收藏  举报