Computer Science - An Overview - 2. Data Manipulation

2.1 Computer Architecture

  • CPU和Main Memory


    Untitled.png
  • 執(zhí)行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聯(lián)合出品)
    • CISC(Complex Instruction Set Computer):使用復雜指令集,例如Intel處理器
    • ARM(Advanced RISC):低功耗的RISC,例如Qualcomm、Texas Instructions出品的處理器
  • 三類指令

    • 數(shù)據(jù)轉(zhuǎn)移(實際是拷貝):LOAD(從memory到寄存器),STORE(從寄存器到memory)
    • 數(shù)值/邏輯:ROTATE(循環(huán)移位)
    • 控制:JUMP, BRANCH, STOP

An Illustrative Machine Language

  • 指令包括:Op-code(指令名稱)+ Operand(指令的“參數(shù)”),長度為2字節(jié)。


    Untitled.png
  • 程序由一個接一個的2字節(jié)指令構(gòu)成

2.3 Program Execution

  • 程序存儲在memory中,其中的指令被拷貝到CPU中,之后執(zhí)行
  • 兩個特殊寄存器保證程序運行:
    • instruction register:存儲當前執(zhí)行的指令
    • program counter:存儲下一條指令的地址
  • machine cycles三步驟:
    • fetch:根據(jù)program counter地址從memory中載入指令,放入instruction register;program counter增2字節(jié)
    • decode:根據(jù)instruction register中指令的op-code進行解讀
    • execute:激活電路執(zhí)行指令

An Example of Program Execution

Programs Versus Data

2.4 Arithmetic/Logic Instructions

Logic Operations

  • AND:1保留,0置零;OR:0保留,1置一;XOR:1翻轉(zhuǎn),0保留。

Rotation and Shift Operations

Arithmetic Operations

  • 浮點型做加法,要先移位對齊

2.5 Communicating with Other Devices

The Role of Controllers

  • 把CPU的指令轉(zhuǎn)化成外設(shè)(鍵盤、顯示器、光驅(qū))能理解的格式
  • 自己有memroy,有的就是一臺小電腦
  • 外設(shè)有不同通信標準,例如USB、 FireWire、SATA

Direct Memory Access

  • controller可以自己訪問main memory
  • 例:CPU發(fā)指令“從硬盤中載入數(shù)據(jù)到主存”->硬盤的controller讀數(shù)據(jù)->硬盤的controller寫數(shù)據(jù)到主存

Handshaking

  • 計算機和外設(shè)之間要交換信息,溝通設(shè)備狀態(tài),協(xié)調(diào)行動

Popular Communication Media

  • 并行通訊:總線
  • 串行通訊:USB, FireWire,modem

Communication Rates

  • 傳統(tǒng)電話:57.6 Kbps
  • 播放MP3:64 Kbps
  • 播放低清視頻:若干 Mbps
  • USB, FireWire:幾百 Mbps

2.6 Programming Data Manipulation

python編程基礎(chǔ)

2.7 Other Architectures

Pipelining

  • 允許machine cycle的步驟相互重疊:執(zhí)行第1條指令,讀取第2條指令

Multiprocessor Machines

  • 多個processor,連接到一個main memory上
  • SIMD(Single Instruction, Multiple Data):相同指令,執(zhí)行在不同數(shù)據(jù)上
  • MIMD(Multiple Instruction, Multiple Data):不同指令,執(zhí)行在不同數(shù)據(jù)上
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容