Computer Science - An Overview - 2. Data Manipulation

2.1 Computer Architecture

  • CPU和Main Memory


    Computer Science - An Overview - 2. Data Manipulation_第1张图片
    Untitled.png
  • 执行x+y=z:从memory中读x,放入reg1;从memory中读y,放入reg2;启动加法,以reg, reg2为输入,输出到reg3;向memory的z中写入reg3;终止。

  • memory级别:CPU中的寄存器 -> CPU中的cache -> main memory -> mass storage

2.2 Machine Language

The Instruction Repertoire

  • 两类CPU

    • RISC(Reduced Instruction Set Computer):使用精简指令集,例如PowerPC处理器(Apple、IBM、Motorola联合出品)
    • CISC(Complex Instruction Set Computer):使用复杂指令集,例如Intel处理器
    • ARM(Advanced RISC):低功耗的RISC,例如Qualcomm、Texas Instructions出品的处理器
  • 三类指令

    • 数据转移(实际是拷贝):LOAD(从memory到寄存器),STORE(从寄存器到memory)
    • 数值/逻辑:ROTATE(循环移位)
    • 控制:JUMP, BRANCH, STOP

An Illustrative Machine Language

  • 指令包括:Op-code(指令名称)+ Operand(指令的“参数”),长度为2字节。


    Computer Science - An Overview - 2. Data Manipulation_第2张图片
    Untitled.png
  • 程序由一个接一个的2字节指令构成

2.3 Program Execution

  • 程序存储在memory中,其中的指令被拷贝到CPU中,之后执行
  • 两个特殊寄存器保证程序运行:
    • instruction register:存储当前执行的指令
    • program counter:存储下一条指令的地址
  • machine cycles三步骤:
    • fetch:根据program counter地址从memory中载入指令,放入instruction register;program counter增2字节
    • decode:根据instruction register中指令的op-code进行解读
    • execute:激活电路执行指令

An Example of Program Execution

Programs Versus Data

2.4 Arithmetic/Logic Instructions

Logic Operations

  • AND:1保留,0置零;OR:0保留,1置一;XOR:1翻转,0保留。

Rotation and Shift Operations

Arithmetic Operations

  • 浮点型做加法,要先移位对齐

2.5 Communicating with Other Devices

The Role of Controllers

  • 把CPU的指令转化成外设(键盘、显示器、光驱)能理解的格式
  • 自己有memroy,有的就是一台小电脑
  • 外设有不同通信标准,例如USB、 FireWire、SATA

Direct Memory Access

  • controller可以自己访问main memory
  • 例:CPU发指令“从硬盘中载入数据到主存”->硬盘的controller读数据->硬盘的controller写数据到主存

Handshaking

  • 计算机和外设之间要交换信息,沟通设备状态,协调行动

Popular Communication Media

  • 并行通讯:总线
  • 串行通讯:USB, FireWire,modem

Communication Rates

  • 传统电话:57.6 Kbps
  • 播放MP3:64 Kbps
  • 播放低清视频:若干 Mbps
  • USB, FireWire:几百 Mbps

2.6 Programming Data Manipulation

python编程基础

2.7 Other Architectures

Pipelining

  • 允许machine cycle的步骤相互重叠:执行第1条指令,读取第2条指令

Multiprocessor Machines

  • 多个processor,连接到一个main memory上
  • SIMD(Single Instruction, Multiple Data):相同指令,执行在不同数据上
  • MIMD(Multiple Instruction, Multiple Data):不同指令,执行在不同数据上

你可能感兴趣的:(Computer Science - An Overview - 2. Data Manipulation)