当前位置: 首页 > news >正文

软件设计师-计算机系统知识:1. 计算机系统基础知识

1. 计算机系统基础知识

1.1. 计算机系统硬件基本组成

  • 硬件
    • 中央处理器(CPU)硬件系统的核心
      • 运算器
      • 控制器
  • 存储器(记忆设备)
    • 内部存储器(速度高,容量小 ): 临时存放程序、数据及中间结果
    • 外部存储器(速度慢,容量大 ): 长期保存程序和数据 。
  • 外设(外部设备)
    • 输入设备:输入原始数据及各种命令
    • 输出设备:输出计算机运行结果
  • 软件

1.2. CPU的功能与组成

中央处理单元(CPU):计算机系统的核心部件,它 负责获取程序指令,对指令进行译码并加以执行

1.2.1. CPU的功能
  • 程序控制 :通过执行指令来 控制 程序的 执行顺序
  • 操作控制 :一条指令功能的实现需要若干个操作信号配合来完成, CPU产生每条指令的操作信号并将操作信号 送往对应的部件,控制相应的部件按指令的功能要求进行操作
  • 时间控制 :CPU对各种操作进行时间上的控制,即在指令执行过程中操作信号的出现时间,持续时间及出现的 时间顺序都需要进行严格的控制
  • 数据处理 :CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利 用。所以,对数据的加工处理也是CPU最根本的任务
  • CPU还需 对 系统 内部和外部的中断(异常) 做出 响应 ,进行相应的 处理
1.2.2. CPU的组成

(1) 运算器 (是数据加工处理部件,用于完成计算机的各种算术和逻辑运算):运算器所进行的全部操作都是由 控制器发出的控制信号来指挥的,所以它是执行部件

  • 功能

    • 执行所有算术运算,如加、减、乘、除等基本运算及附加运算。
    • 执行所有的逻辑运算并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。
  • 组成

    • 算术逻辑单元(ALU) :负责 处理数据 ,实现对数据的 算术运算和逻辑运算
    • 累加寄存器(AC) :简称累加器,是一个通用寄存器。 暂存算术运算或逻辑运算的中间运算结果
    • 数据缓冲寄存器(DR)暂存指令或数据字或操作数
    • 状态条件寄存器(PSW)保存指令执行后的状态

(2) 控制器

  • 功能
    • 用于控制整个CPU的工作,决定了计算机运行过程的自动化。它 不仅要保证程序的正确执行,而且能够 处理异常事件
  • 组成
    • 指令控制逻辑:要完成取指令、分析指令和执行指令的操作,其过程分为 取指令,指令译码按指令操作 码执行,形成下一条指令地址 等步骤。
      • 指令寄存器(IR)存放的是从内存中取得指令,就像个中间站一样,不过是存放指令的中间站
      • 程序计数器(PC) :存放的是 指令的地址 ,还有 计数 的功能
      • 地址寄存器(AR) :存放的是 cpu访问内存单元的地址
      • 指令译码器(ID) :是把 操作码解析成 对应的指令操作
    • 时序控制逻辑:要为每条指令按时间顺序提供应有的控制信号
    • 总线控制逻辑:是为多个功能部件服务的信息通路的控制电路
    • 中断控制逻辑:用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU

(3) 寄存器组

  • 分类:专用寄存器(运算器和控制器中的寄存器是专用寄存器)、通用寄存器

1.3. 数据表示

1.3.1. 计算机基本单位
单位符号备注
位(比特)bit (b)计算机最小的存储单位
字节byte ( B)数据表示的最小单位: 1B = 8bit
千字节KB1KB = 1024B
兆字节MB1MB = 1024KB
吉字节GB1GB = 1024 MB
太字节TB1TB = 1024GB
1.3.2. 进制转换

a. 常用进制

进制运算规则标 识 符
二进 制逢二进一: 基数为2,数值部分用两个不同的数字0 、1来表示B
八进 制逢八进一 :基数为8,数值部分用0 、1 、2 、3、4 、5 、6 、7来表示O
十进 制逢十进一:基数为10,数值部分用0 、1 、2 、3、4 、5 、6 、7 、8 、9来表示D
十六 进制逢十六进一:基数为16,有十六种数字符号,除了在十进制中的0至9外,还另外用6个英文 字母A 、B、C 、D 、E 、F来表示十进制数的10至15H

注:当没有下标或后缀时默认为十进制数
b. 非十进制数转为十进制数
(每位上的数码 z 基数的位次方)

  • 二进制转换为十进制
    (101.1101)2 = 1x22 + 0x21 + 1x20 + 1x2-1 + 1x2-2 + 0x2-3 + 1x2-4 = (5.8125)10

  • 八进制转换为十进制
    (105.236)8 = 1x82 + 0x81 + 5x80 + 2x8-1 + 3x8-2 + 6x8-3 = (69.30859375)10

  • 十六进制转换为十进制
    (A27.5C)16 = 10x162 + 2x161 + 7x160+ 5x16-1+ 12x16-2= (2599.359375)10
    c. 十进制数转换为非十进制数
    整数部分:除N取余,商为0时,将 余数倒序输出
    小数部分:乘N取整数 ,直至积为0(或满足精度), 整数部分正序输出

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

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

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

d. 二进制与八进制、十六进制的相互转换

  • 二进制转为八进制(三位一组
    将二进制数从 小数点开始 分别向左(整数部分) 和 向右(小数部分) 每 3位 二进制位组成 一组 ,将每一组 内的3位二进制数转换成八进制数码中的一个数字,按顺序连接起来即得八进制表示。不足3位时,对原数值 用0来补足3位。
    例如: (001 011 111 . 001)2 = (137.1)8
  • 二进制转为十六进制(四位一组
    将二进制数从 小数点开始 分别向左(整数部分) 向右(小数部分)4位二进制位组成 一组 ,将每一组内 的4位二进制数转换成十六进制数码中的一个数字,按顺序连接起来即得十六进制表示。如果总的位数不是4 的倍数,那么最左面的一组可以少于4位,前面用0来补足4位。
    例如: (1111 1111 0100 1011)2 = (FF4B)16
1.3.3. 原码, 反码,补码, 移码

符号位:如果机器字长为n,则最高位(或最左边的第一位是符号位: 0表示正号, 1表示负号 ) 。
原码:原码就是符号位加上真值的绝对值 , 即用第一位表示符号 , 其余位表示数值绝对值 . 如果机器字长n=8

数值原码数值原码
+000000000-010000000
+100000001-110000001
+12701111111-12711111111
+4500101101-4510101101
+0.50<>1000000-0.51<>1000000

反码: 正数的反码与原码相同, 负数的反码则是其绝对值按位取反

数值反码数值反码
+000000000-011111111
+100000001-111111110
+12701111111-12710000000
+4500101101-4511010010
+0.50<>1000000-0.51<>01111111

补码:正数的补码与其原码相同, 负数的的补码则等于其反码的末尾加1

数值补码数值补码
+000000000 (唯一)-000000000
+100000001-111111111
+12701111111-12710000001
+4500101101-4511010011
+0.50<>1000000-0.51<>1000000

移码: 只要将补码的符号位取反便可获得相应的移码表示

数值移码数值移码
+110000001-101111111
+12711111111-12700000001
+4510101101-4501010011
+010000000-010000000
1.3.4. 数值表示范围

机器字长为n时各种码制表示的带符号数的范围

码制定点整数定点小数
原码- (2n-1-1) ~ + (2n-1-1)- (1-2-(n-1)) ~ +(1-2-(n-1))
反码- (2n-1-1) ~ + (2n-1-1)- (1-2-(n-1)) ~ +(1-2-(n-1))
补码-2n-1 ~ +(2n-1-1)-1 ~ +(1-2-(n-1))
移码-2n-1~ +(2n-1-1)-1 ~ +(1-2-(n-1))
1.3.5. 浮点数表示

N = 尾数x基数指数
例如 3.14 X 103
在这里插入图片描述

a. 运算 过程: 对阶 > 尾数计算 > 结果格式化
b. 特点

  • 一般 尾数用补码 , 阶码用移码
  • 阶码 的位数 决定 数的表示 范围 ,位数越多范围越大。
  • 尾数 的位数 决定 数的有效 精度 位数越多精度越高。
  • 对阶 时, 小数向大数看齐
  • 对阶 是通过 较小数的尾数算术右移 实现的。

c. 存储格式
在这里插入图片描述

1.4. 校验码

1.4.1. 奇偶校验码

可以检错, 不能纠错
通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。

1.4.2. 海明码

可以检错和纠错
在数据位之间的特定位置上插入k个校验位,通过扩大码距来实现检错和纠错。 设 数据位 是 n位, 校验位 k位,则n和k必须满足: 2^k^- 1 ≥ n + k

1.4.3. 循环冗余校验码 (CRC)

码距为2, 可以检错, 不能纠错
广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码 长度为k+r。
在这里插入图片描述

循环冗余校验码是由 两部分组 成的,左边为 信息码(数据) ,右边为 校验码 。若 信息码占k位,则校验码就占n- k位 。其中, n为CRC码的字长,所以又称为( n, k)码。校验码是由信息码产生的,校验码位数越多,该代码的校 验能力就越强。在 求CRC编码 时, 采用 的是模2运算

相关文章:

  • (视频教程)Compass代谢分析详细流程及python版-R语言版下游分析和可视化
  • SpringBoot五:JSR303校验
  • 《几何原本》公理
  • Android15 am命令 APP安装流程
  • Python爬虫
  • flowable中用户相关api
  • 可观测之Tracing-bpftrace
  • C#委托(delegate)的常用方式
  • 【Qt-信号与槽】connect函数的用法
  • 单细胞分析(19)—— 单细胞转录组基因集评分方法
  • Difyにおけるデータベースマイグレーション手順
  • Linux:进程控制
  • 【Java进阶】java设计模式之单例模式
  • Xcode手动安装SDK模拟器
  • 怎么写C#命令行参数程序,及控制台带参数案例(程序完整源码)下载
  • 2.你有什么绝活儿?—Java能做什么?
  • 计算机网络基础:剖析网络的构成要素
  • 电脑界面锁定的原因分析与解决办法?
  • 0301 leetcode - 1502.判断是否能形成等差数列、 682.棒球比赛、657.机器人能否返回原点
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_add_dump
  • 怎么创建一个平台/外包优化网站
  • wordpress站点安装/网站关键词排名优化系统
  • 品牌线上推广方式/网站seo招聘
  • 网络托管公司有哪些/郑州seo
  • 专门做杂志的网站/有了域名怎么建网站
  • wordpress翻页插件/广州优化公司哪家好