1. 冯诺依曼体系
  • 但是这样,会造成CPU和存储器速率之间的问题无法调和。因为CPU处理得更快,CPU就会经常空转等待数据传输,浪费资源。
  1. 现代计算机结构
  • 存储器为更高速的设备(内存、CPU的寄存器),可以理解为以存储器为核心

计算机层次与编程语言

  1. 程序翻译与程序解释
  • 计算机执行的指令都是L0
  • 翻译过程生成新的L0程序,解释过程不生成新的L0程序
  • 解释过程由L0编写的解释器去解释L1程序
  1. 中文编码集
  • windows系统默认使用GBK编码
  • 编程推荐使用UTF-8编码,所以在win上使用IDE工具时,注意需要改

计算机的输入输出设备

  1. 程序中断
  • 提供低速设备通知CPU的一种异步的方式
  • CPU可以高速运转同时兼顾低速设备的响应
  1. DMA(直接存储器访问)
  • 当主存与IO设备交换信息时,不需要中断CPU
  • 可以提高CPU的效率

计算机存储器概览

  1. 存储器的层次结构(缓存-主存层次)
  • 原理:局部性原理
  • 实现:在CPU与主存之间增加一层速度快(容量小)的cache
  • 目的:解决主存速度不足的问题
  1. 主存-辅存层次
  • 原理:局部性原理
  • 实现:主存之外增加辅助存储器(磁盘、SD卡、U盘等)
  • 目的:解决主存容量不足的问题

计算机的控制器

  1. 程序计数器
  • 程序计数器用来存储下一条指令的地址
  • 循环从程序计数器中拿出指令
  • 当指令被拿出时,指向下一条指令
  1. 时序发生器
  • 电气工程领域,用于发送时序脉冲
  • CPU依据不同的时序脉冲有节奏的进行工作
  1. 指令译码器
  • 指令译码器是控制器的主要部件之一
  • 计算机指令由操作码和地址码组成
  • 翻译操作吗对应的操作以及控制传输地址码对应的数据
  1. 指令寄存器
  • 也是控制器的主要部件之一
  • 从主存或高速缓存取计算机指令
  1. 主存地址寄存器
  • 保存当前CPU正要访问的内存单元的地址
  1. 主存数据寄存器
  • 保存当前CPU正要读或写的主存数据
  1. 通用寄存器
  • 用于暂时存放或传送数据或指令
  • 可保存ALU的运算中间结果
  • 容量比一般专用寄存器要大

计算机的运算器

  1. 数据缓冲器
  • 分为输入缓冲和输出缓冲
  • 输入缓冲暂时存放外设发送过来的数据
  • 输出缓冲暂时存放发送往外设的数据
  1. ALU
  • 算术逻辑单元,是运算器的主要组成
  • 常见的位运算(左右移、与或非等)
  • 算术运算(加减乘除等)

进制运算

十进制 原码 补码 反码
13 0,1101 0,1101 0,1101
-13 1,1101 1,0011 1,0010
-7 1,0111 1,1001 1,1000
-1 1,0001 1,1111 1,1110
  • 负数的反码=原码除符号位外按位取反

定点数与浮点数

  1. 浮点数的表示方法
  • 计算机处理的很大程度上不是纯小数或纯整数
  • 数据范围很大,定点数难以表达
  1. 浮点数的规格化
  • 尾数规定使用纯小数
  • 尾数最高位必须是1
  1. 定点数与浮点数的对比
  • 当定点数与浮点数位数相同时,浮点数表示的范围更大
  • 当浮点数尾数为规格化数时,浮点数的精度更高
  • 浮点数运算包含阶码和尾数,浮点数的运算更为复杂
  • 浮点数在数的表示范围、精度、溢出处理、编程等方面均优于定点数
  • 浮点数在数的运算规则、运算速度、硬件成本方面不如定点数
  1. 定点数的加减法运算

操作系统概览

  1. 前往