找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 11066|回复: 1

[转载]我所知道的BIOS系統架構2

[复制链接]
发表于 2010-7-1 12:02:25 | 显示全部楼层 |阅读模式
任何 firmware 都有相對應的硬體;也唯有深入瞭解硬體,才能寫出好的 firmware ! (當然,對 programming language 很熟,有技巧的的人可以寫出好的 firmware,但是,另一個層面是:對硬體很瞭解,所以所寫的firmware 與 H/W 搭配良好,這也是另一種值得追求的地步)$ Y# x; e7 U0 L5 x( I  n) P8 r
' R+ F; M+ Q" h3 o/ B
BIOS 就是 "主機板的 F/W". 所以,它的對象就是主機板上的所有 devices. (為了後續的解說,我只列出一些,其他的坊間書上都可找到)7 T7 Q2 D3 P- D: J' Y; u
7 Y, E: F: M+ b( r) m
- [CPU], ]3 h; g7 k& l( ~, V
=> central process unit. 依架構不同有分 Intel or AMD cpu. 其工作之一是: fetch code->decode it->fetch operands->calculate->store result.) d* B  ?+ |4 a/ U7 n- q

8 e: b2 m+ i; W% Y& J# m& G- [North bridge]3 g* _. D% x% C. m8 N
=> 即俗稱的北橋. 常見的 Intel 945/P/G,965 等是其北橋晶片代號. 它可以約略區分成四個 blocks(H/W view)8 n8 o8 \' g/ g' `
1. Host interface: 即 與 CPU interface 的部分.
/ ~7 H- i, p! W' J- q2. DRAM interface: 即與 DRAM interface的部分0 y6 g" _  g) i) p% ~( y. l
3. Display interface: 即與 AGP/PCIe VGA interface的部分
3 N$ b: h0 J" x9 U1 ^+ ^- A9 H4. Link interface: 即與 South bridge(南橋) interface的部分/ P3 s+ P/ C  U' Y- N
! R: y% V2 j+ F& @
簡單說,North bridge的功能是: Host block 承接 CPU 所 issue 的 cycle, 辨認(identify),並且將之 forward至 "正確的接收者" ( Ex. DRAM block, display block, or Link block )- g( B( g# E1 f0 `; u1 e& \8 n- j
* s) o% q$ }) x. T8 b, `0 p
所以,它像交通警察一樣,接收中央的命令,將來自四面八方的車流引導至正確的地方,讓整個城市的各部分各角落可以相互交流無虞.* n* x* a( V! x. L* ]3 i( k

3 z1 W! _2 T% R- r-[South bridge]; i7 ?  ~0 ]- k/ f2 f
=> 及俗稱的南橋. 常見的 Intel ICH7/8為其南橋晶片代號. 它"可能"包含以下的 blocks:5 h2 \1 ]+ X: s& p/ L
1. Link interface: 即呼應北橋的部分.
6 J9 M0 c3 O3 s2. PCI block: 處理 PCI request部分(即 implement PCI spec H/W part)
; \3 v4 L1 Q. g3. ACPI block: implement ACPI H/W part
. h3 {3 Z6 k% [  e0 ?4. USB
1 j8 z6 X( Y1 ~5. Audio
9 v4 f5 A' p3 s1 K. K3 K; l9 a" ?6. SATA(AHCI)% B, P  @3 W3 a5 x9 T7 v
7. ...
; r& e# `+ k0 q- i. U7 \
9 e& }' c4 o4 ^$ ]6 V; o1 Z9 N8 @所以, 南橋裡面包含許多我們常見的名詞, USB/1394/SATA/HDA/TPM/PCIE...等
& l7 \3 k$ ?* v. Y- D- T$ l8 y: Z* B5 E. ?
-[BIOS ROM]
7 D! H+ D8 J/ \& d! N6 |) x=> 儲存 BIOS image的device. 常見的有 ISA ROM/LPC ROM/SPI ROM. 編譯出來的 BIOS binary file透過燒錄器或是 flash tool 燒錄到此 ROM中. 內容是0101...的 binary code
5 g- M  B  L9 S( V% b5 g* }" @* v7 e7 s$ q6 l  ?5 V" c, I1 n4 ~
所以,總結來說: BIOS code被CPU fetch, 經過 decode後, 會轉發給NB.NB接到後也會自行decode 此 request;若是 與 DRAM有關的,則 forward to DRAM block;若與 display有關,則forward to display block;若是與 PCI有關的,則將之轉發給 SB(透過兩者中間的Link),請SB再找適合的人 Ex. USB, SATA, or 1394 controller ! ( 別忘了 PCI H/W是在SB裡...)2 d* h" |4 S0 V6 n! @7 r
* y* ~' p0 |' Q  a9 z0 E  p
以上依序所講到的 CPU->NB->SB->ROM,將在後面的敘述中用來說明一些觀念及flow." U4 _! c' J& @. E/ t5 I  H$ f# l

" R% \, D  u$ Q5 O* H5 CSummary:
* F6 k. Q! S* I1. BIOS可以說是 chipset's driver !!!
2 r' Y, G" F2 r& x, I8 P2 J' ?8 d. x2. CPU所 issue 的 cycle會先抵達NB,由NB判定是給誰的;若不是 for DRAM or display,則會再轉發給SB,由它判定是要給誰的
发表于 2011-10-14 07:42:23 | 显示全部楼层
感谢楼主分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2024-5-16 00:12 , Processed in 0.038214 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表