高三微處理機複習筆記

歷代的微電腦架構發展:

  • 第一代:真空管(1945~1954)
  • 第二代:電晶體(1954~1964)
  • 第三代:積體電路(1964~1970)
  • 第四代:超大型積體電路(1970~)
  • 第五代:人工智慧(1990~)
  • 文字命令介面(CLI)-> 圖形使用者介面(GUI)
  • 機器語言 -> 組合語言 -> 高階語言


積體電路規格:

規格 邏輯閘數量 元件數量
SSI(小型積體電路) 10以下 100以下
MSI(中型積體電路) 10~100 100~1000
LSI(大型積體電路) 100~1000 1000~104
VLSI(超大型積體電路) 1000~104 104~105
ULSI(極大型積體電路) 104~106 105~107
GLSI(巨大型積體電路) 106以上 107以上


摩爾定律:

最初由Intel的創辦人—摩登提出:「每18個月,積體電路的電晶體數量增加一倍,效能也增加一倍。」


應用軟體包含了開發軟體、套裝軟體

系統軟體包含了作業系統、語言處理程式、公共服務程式

電腦硬體包含了算術邏輯單元、控制單元、記憶單元、輸入/輸出單元

CPU內部包含了算術邏輯單元(ALU)、控制單元(CU)、暫存器(Register)

注意:輸入/輸出單元(IU、OU)跟記憶單元(MU)都是在CPU外部,所以不屬於CPU的內部結構。

直譯與編譯:

直譯程式不會產生目的檔、執行檔,逐行執行程式,如果執行途中遇到問題就會顯示錯誤,要跑程式的話可以花比較少的時間打開,但是執行程式速度的時間慢。每跑一次就要重新直譯一次程式。直譯適合初學者入門,因為容易程式碼除錯。

編譯程式會產生目的檔、執行檔,只有在讀取完部的程式之後才會執行程式,所以等待程式打開的時間長,但是可以重複執行同一個程式(如果沒有修改),加上指令事先都處理好,所以執行時間快。編譯的程式碼比較不容易除錯,閱讀。

各種單晶片規格:

Bits Intel Motorola Zilog Mos Technology 其它
4 4004
8 8008、8080、8085、8088 6800 Z80 6502
16 8086、80186、80286 68000 Z8000
32 80386、80486 68020
64 Core、Pentium AMD


單晶片微控制器:

單晶片微處理器又稱作微控制器(Microcontroller)。

常見的單晶片微控制器有:

  • Intel:MCS-48、51系列
  • PIC
  • ARM
  • AVR(Arduino系列)

通常具備:

ROM RAM
中斷處理
()
PWM
看門狗

48 51 96
ROM RAM
1 8 2 8 2 16
3IO 4IO 8IO
X X PWM
X Serial Serial


8086有20條位置線,所以記憶體空間是1MB;但是裡面的暫存器都是16bit,所以會利用裡面的四個段落暫存器(CS、DS、SS、ES)先去左移4bit,就是在16進位值的LSB後面再加一個0(如果是2進位,就加4個0)。之後再加上暫存器的相對位置,最後就能得到要去記憶體進行操作的實際位置。

8086-暫存器簡介:

AX(累加器):
BX(基地暫存器)
CX(計數器)
DX(資料暫存器)

8086-段落暫存器簡介:

CS(程式段落暫存器)
DS(資料段落暫存器)
SS(堆疊段落暫存器)
ES(額外段落暫存器)

8086-指標暫存器簡介:

IP(指令指標暫存器)
BP(基底指標暫存器)
SI(堆疊指標暫存器)
DI(資料指標暫存器)

立即定址法:暫存器直接儲存數值進去。

MOV AX, 1234H

直接定址法:暫存器儲存位址,通常用中括號表示位置。

MOV AX, [5678H]

暫存器定址法:暫存器儲存另外一個暫存器的資料

MOV AX, BX

暫存器直接定址法:

MOV AX, [BX]

暫存器相對定址法:

MOV AX, [BX]+5

暫存器基底定址法:

暫存器索引定址法:

暫存器基底索引定址法:如同前面幾個,加上了基底暫存器、索引暫存器

MOV BX, TABLE[SI][02H]

可以看維基百科作參考 -> 這裡


虛擬指令(或假指令),不會產生機器碼,通常都是為了預留/配置記憶體空間而進行的特定動作,比如以下的指令:

EQU PEE-POO-POO, 1234H


組合語言

MOV(複製,定義)

XCHG(交換)

ADD(相加)

ADC(相加+CF)

DAA(BCD碼相加)

SUB(相減)

SBB(相減-CF)

DAS(BCD碼相減)

INC(+1,不影響CF)

DEC(-1,不影響CF)

IN(輸入資料)

OUT(輸出資料)

NEG(二的補數)

MUI(無號乘法)

IMUI(有號乘法)

DIV(無號除法)

IDIV(有號除法)

JMP

AND

OR

XOR

NOT

TEST

移位旋轉指令
NOP



ROL跟ROR不需考慮CF,直接乘2/除2就可,再把最後的MSB/LSB丟給CF

RCL、RCR在每一次翻轉時,CF也會參與每一次的翻轉,可以根據方向來擺CF位置,再把原本的MSB/LSB跟CF一起圈,再去移動,而移動後的MSB/LSB再放到CF裡面

8251:通用型串列/並列/同步/非同步轉換介面

8255:

Mode 0:PA PB PC都能設置,只能單向傳輸(輸入或輸出)

Mode 1:PA PB都能設置,

Mode 2:只有PA能設置,


串列:

RS-232C - 串列非同步,全雙工,1對1,16公尺,負邏輯(±3~25V),3線式接法,25Pin,最快20Kbps
RS-422 - 全雙工,1對10,1.2km
RS-485 - 半雙工,1對32,1.2km

USB - 星狀,擴充到127個裝置,隨插即用,5V,速度比Centronics快,串列同步
SPI
I2C (IIC)

SATA
SAS
PCI-E
8251(USART) 8250(UART)

並列:

IEEE-488 (HPIB, GPIB)
Centronics (LPT)

IDE (ATA)
EIDE (ATA-2)
SCSI
PATA

ISA (XT, AT)
EISA
PCI

8255 (PIO)

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License