小慕考高级-- 计算机基础(一)

笔者报考了2023年软考高级,考的是架构师,由于之前考过中级,想着自己有点基础,所以备考起步较晚;在网上写文章将自己的学习进度贴出来,一方面是为了敦促自己,另一方面给各位读者老爷找点乐子。如果今年顺利通过,那证明我写的笔记还是很有用的,如果今年果然没有通过,那岂不是很有意思?

1. 计算机硬件(考的少)

1.1 计算机硬件组成

  • 5大部件:运算器、控制器、存储器、输入设备、输出设备
  • 前两个合起来称为cpu,功能是:数据加工、算数和逻辑运算、各种控制
  • 输入输出合成外设

1.2 中央处理单元

  • cpu的功能:程序控制(执行顺序)、操作控制(产生操作数和运输操作数)、时间控制、数据处理、响应异常和中断
  • cpu的组成:运算器、控制器、内部总线、寄存器组
  • 运算器的组成:
    • 算数逻辑单元ALU: 可以计算3+5=8
    • 累加寄存器AC:存5和8的(5是原操作数,8是计算结果)
    • 数据缓冲寄存器DR:存放从内存中拿过来的指令或者数据的
    • 状态条件寄存器PSW:存放运行结果的条件码的,比如溢出标志
  • 控制器的组成:
    • 指令寄存器IR:存放从内存中拿到的指令的
    • 程序计数器PC: 存放下一条指令在内存中的地址的
    • 地址寄存器AR: 存放当前访问内存地址的
    • 指令译码器ID: 用来解析指令的,从中可以解析操作码
  • 指令周期:
    • 在一个完整的指令周期,cpu对待指令这一坨二进制数字的态度是不同的,在固定的阶段认为其为指令地址,在某些阶段认为其为数据。

1.3 校验码

1.3.1 码距

  • 狭义码距:对于相同长度的二进制数据a和b,通过改变a各个bit位的0或者1,可以将a变成b,在这个过程中改动的bit位的个数,称为码距;
  • 广义码距:对于相同长度的二进制数据a和b,通过改变a各个bit位的0或者1,可以将f(a)变成f(b),在这个过程中改动的bit位的个数,称为码距;其中f为函数,f(a)为a的映射结果;

1.3.2 奇偶校验码

  • 奇偶校验:奇校验就是在原来二进制数据的末尾添加一个bit位,取值可以是0或者1,以保证添加完之后的新的二进制数据中1的个数为奇数;显然,如果原来数据中1的个数本来就是奇数个,则添加的bit位值应该为0,反之为1;在这个过程中:添加完之后的新的二进制数据中1的个数为奇数可以看成是映射f
  • 由此容易得到,奇偶校验的广义码距为2
  • 奇偶校验码只能检1个bit位的错误,并且不能纠错。

循环冗余校验码CRC

  • 同样是只能检错,而不能纠错
  • 特点是,数据的接收方和发送方使用相同的多项式
  • 在计算校验码的时候需要用到模2除法(就是按位异或)的算法

2. 指令系统(重要的计算机基础知识,考不考试都应该了解)

2.1 指令的组成

  • 操作码:表明这条指令要做什么(例如要做加法)
  • 操作数:和运算相关的数据 及其所在的地址 (有可能直接给出数据,也有可能给出存放数据的地址),习惯上又称地址码
  • 所以有的地方说指令是由操作码和操作数组成的,也是没有问题的
  • 不论是操作码还是操作数都是二进制数据,cpu区分它们的方式是根据指令周期的不同阶段(1.2 cpu功能中已经写到了)

2.2 指令执行过程

  • 取指令: 一般是PC给出下一条指令在内存中的地址,送入总线从内存中拿到指令之后存到IR中
  • 分析指令:ID分析IR中的指令,取出操作码
  • 执行指令:在执行指令的时候从指令中拿到操作数
  • 这对应上面说到的,在不同的指令周期从二进制指令中分别取出操作码和操作数
相关推荐
zwhSunday8 天前
计组(2)CPU与指令
cpu·计算机组成原理
小Lu的开源日常10 天前
为什么计算机用“补码”存储整数?
设计模式·面试·计算机组成原理
triticale10 天前
【计算机组成原理】LRU计数器问题
cache·计算机组成原理·lru
大模型铲屎官11 天前
【数据结构与算法-Day 20】从零到一掌握二叉树:定义、性质、特殊形态与存储结构全解析
人工智能·python·深度学习·二叉树·大模型·计算机组成原理·数据结构与算法
岑梓铭22 天前
考研408《计算机组成原理》复习笔记,第五章(1)——CPU功能和结构
笔记·考研·408·计算机组成原理·计组
岑梓铭23 天前
考研408《计算机组成原理》复习笔记,第五章(2)——CPU指令执行过程
笔记·考研·408·计算机组成原理·计组
岑梓铭24 天前
考研408《计算机组成原理》复习笔记,第五章(3)——CPU的【数据通路】
笔记·考研·408·计算机组成原理·计组
岑梓铭1 个月前
考研408《计算机组成原理》复习笔记,第四章(1)——指令系统概念(指令字长、N地址指令、定长和变长操作码)
笔记·考研·408·计算机组成原理·计组
岑梓铭1 个月前
考研408《计算机组成原理》复习笔记,第四章(3)——指令集、汇编语言
笔记·考研·408·计算机组成原理·计组
万能小锦鲤1 个月前
《计算机组成原理与汇编语言程序设计》实验报告二 基本数字逻辑及汉字显示
计算机组成原理·实验报告·logisim·汇编语言程序设计·运算器设计·八位全加器