计算机组成原理笔记(一)

冯诺依曼计算机组成结构

  1. input device + (CPU(control unit + arithmetic logic unit) + memory unit) + output device
  2. 算术逻辑单元(Arithmetic Logic Unit,ALU)和处理器寄存器(Processor Register)的处理器单元(Processing Unit)
  3. 包含指令寄存器(Instruction Reigster)和程序计数器(Program Counter)的控制器单元(Control Unit/CU)
  4. 运算器 和 控制器组成了 CPU
  5. 存储数据(Data)和指令(Instruction)的内存(memory unit)。以及更大容量的外部存储

指令和运算

  1. objdump -d -M inter -S test.o 展示文件disassemble, inter model, source信息. clang -> compile -> assemby language(ASM) -> assemble -> machine code
  2. cpu instruct set分类: 1. 算术类指令:加减乘除等 2. 数据传输类指令: 变量赋值, 内存里读写数据 3. 逻辑类指令: 与或非等 4. 条件分支类指令: if/else 等 5. 无条件跳转指令: 函数或者方法调用等
  3. cpu如何执行指令? cpu有多种不同功能的寄存器, 三种特殊: PC 寄存器(Program Counter Register):存放下一条需要执行的计算机指令的内存地址;指令寄存器(Instruction Register):存放当前正在执行的指令;条件码寄存器(Status Register):一个一个标记位(Flag),存放 CPU 进行算术或者逻辑计算的结果。
  4. 一个程序执行的时候,CPU 会根据 PC 寄存器里的地址,从内存里面把需要执行的指令读取到指令寄存器里面执行,然后根据指令长度自增,开始顺序读取下一条指令。类似图灵机的运行。