- 電腦的結構
- Registers (暫存器)
- 通常用 SRAM
- 常見的有
- program counter
- 程式在記憶體中目前執行到的位置
- instruction register
- 從記憶體中取出現在正要執行的指令
- program counter
- Bus (連接記憶體和CPU)
- Motherboard (主機板)
- CPU
- Main Memory
- Registers (暫存器)
- CPU
- ALU Arithmetic/logic unit 算數/邏輯運算元
- Control unit
- Machine Instructions (機械指令/機械碼)
- 利用指令集操作CPU
- 組合語言(assembly)和機械指令原則上是一對一的對應
- 大概會有的指令
- LOAD 從記憶體取出資料
- STORE 把資料放回主記憶體
- I/O 輸入輸出
- 加減乘除
- SHIFT
- logic shift 移動方向的最後一個bit補零
- Arithmetic shift 第一個位(正負數) 永遠不動
- ROTATE
- 移出去的bit捕到領一個方向
- 流程控制
- JUMP 類似 goto 分為有無條件的JUMP
- HALT (停止流程
- 現在的主流是 CISC (complex instruction set computing)
- 詳細解釋 Machine Instruction
- op-code
- 告訴CPU要執行甚麼動作
- Operand
- 運算元指定對某個記憶體定址執行 op-code 指定要進行的行為
- 用以表達記憶體位置的bytes數會影響能使用的主記憶體大小 (ex.32位元最多能插 4G )
- 機械碼範例: 356C
- 3:store 5:register位置 6C:主記憶體位置
- 白話: 把register 位置 5 的資料寫入主記憶體 6C 的位置
- 組合語言會轉成較易表示的格式: ex. STORE 5, 6C
- op-code
- 高階語言 to Machine Instruction流程範例
- 寫好的C語言 compile to Object 檔
- Object 再和 libary link 成為一個 binary(可執行檔)
- compile 的方式會影響到效能因為有各種翻法
- Machine cycle
- 組成動作
- fetch 從主記憶體中將指令取至register
- decode 解碼讓CPU知道指令的意思
- execute
- clock ex.3GHz 就是一秒可以跑 3*1000000000 次 machine cycle
- 組成動作
- I/O 與 CPU 間溝通至 bus 前還有一層 controller 會稍微暫存指令以免太頻繁佔據通道流量
- 與其他設備通訊
- DMA direct memory access
- 周邊裝置需要存取主記憶體前只需要通過一次CPU的授權
- 握手 Hand shaking
- 收到訊息後回傳通知對方已收到
- 比較嚴格的會先告知對方我要送訊息, 對方允許後才開始傳送
- 平行 / 序列 傳輸
- 不一定平行傳輸比較快
- 傳輸單位
- bps (bit per second) 注意不是 byte
2017年5月27日 星期六
[公開課閒聊] 計算機概論第四講 Data manipulation - 台大 于天立
Ped隨手摘
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言