微算機 Chapter2 Microcontroller Basics
Basic Blocks
-
CPU
-
- 透過I/O ports (一種 registers )來和microcontroller去交換傳遞data, status, and control signals.
-
memory unit
- 儲存intructions和data。
- 包含ROM和RAM。
Basic Buses
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
-
Address Bus:
- 由CPU單方面的丟address到各處,也被稱為 unidirectional bus。
- address bus 的大小取決於 microcontroller 可取的 memory address。
- eg. 一個CPU with 16 address bits 可以產生 的不同 address,也就是可能在 address bus 上跑的 address。
-
Data Bus:
- 除了ROM因為不能寫之外,其他都是雙向可通的,也被稱為 bidirectional bus。
-
Control Bus:
- 不論是CPU或I/O device都可丟,但RAM和ROM都只能接收。
- 由數字和訊號組成,用來同步化各個微算機的元件。
- 包含 clock signals
Microcontroller architectures
前導知識:
- Program memory : 包含 instructions 和 immediate data
- Data memory : 包含 data 而他們的 address 會被 instructions 所使用
兩者的大小可能會不一樣
-
Havard architecture:
program memory 和 data memory 兩者的 buses 是分開的,所以可以同時執行 instructions 和 access data。這種 architecture 需要 4 個 buses:
1.data bus for instructions
2.data bus for data
3.address bus for addresses of instructions
4.address bus for addresses of data
CPU
-
Basic CPU Register:
- instruction register(IR):用來儲存 instruction。
- program counter(PC):用來儲存下一個應該要被執行的 instruction,且program memory一個是16bit,所以PC一次就+2。
- memory address register(MAR):用來儲存 data 的 address。
- accumulator:用來儲存大部分 ALU 執行完的結果。(即WREG)
accumulator 使用addressing mode 去拿取資料(使用index register)
- index register:當使用addressing mode的時候會用到。
- status register:當中每個bit代表一個flag表示目前的狀態。
- stack pointer register:在rcall的時候去存原本要執行的下一行。
-
control unit
- purpose:去翻譯(decode)instuctions from program memory.
- 主要就去翻譯instruction然後發出對應的signals去發動正確的ALU logic blocks達到instruction要的目的。
- two basic operations:
- instruction interpretation:先從instruction register去讀instruction,然後去執行適當的functional units。
- instruction sequencing:產生下一個要被執行的instruction的地址,然後放入program counter.
-
arithmetic-logic unit(ALU)
- size:取決於這個微算機是幾bit的。
- typical function:
- Binary addition and logic operations.
- Finding the one's complement of data.
- Shifting or rotating the contents of a general-purpose register 1 bit to the left or right through carry.
RISC vs. CISC
RISC |
CISC |
適合嵌入式系統 |
實作pipeline困難 |
適合應用於影像處理、機器人技術與儀器技術 |
執行相同複雜的操作,能使用較少的指令即可完成 |
因為指令短少,執行速度比CISC快 |
|