Re: [問題] 請問有關於開機 bios 的問題

看板ASM作者 (= =)時間14年前 (2010/03/07 11:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
※ 引述《WolfLord (呆呆小狼)》之銘言: : ※ 引述《R119 (= =)》之銘言: : : 我看不懂 BIOS ROM 是 8bit/16bit 是什麼意思 @@? : : 一般而言 當開機時 CPU 應是處於 Real Mode 的情況下 : FLASH 的IC,尤其是可以直接RUN的大多數是8Bit的 : : 在 Real Mode 時 CPU 是以16bit 為單位 : : 而 BIOS ROM 聽過有三種 SPI LPC FWH : : 目前我遇到現在主機板大部分都是用 SPI flash , LPC 跟 FWH 沒用過 : : CPU 基本上讀取 BIOS 都是透過 北橋 -> 南橋 -> SPI ROM : 這是因為你把自動LOAD動作視為理所當然,事實上CPU要執行,資料就必須 : 排好放在記憶體內。x86家族的CPU有一個優良傳統,在REAL MODE時會依循 : 8086/88的執行模式。因此外部週邊可以使用8BIT的MEMORY作為BOOT。 : 在沒有單晶系統(南北橋)的時代,機器就是這樣啟動的。事實上一直到 : 有了南北橋晶片之後,一些高速機板仍有採用8/16BIT的FLASH,原因就是 : 這樣的MEMORY可以直接 RUN。在更低階低成本的系統中,這樣的結構反而 : 才是正規作法。 小弟孤陋寡聞 不清楚其他系統是怎樣啦 就一般主機板而言啦 CPU 一開機初始的指令就是去抓 0xFFFFFFF0 這個位址的的指令 但是 0xFFFFFFF0 並不一定要真的在 記憶體空間(RAM)上 只要讓 CPU "認為" 那個記憶體位址有資料就可以了 我之前就有提到 南橋會將 Flash ROM Mapping 到最高位址 Mapping 並不等於 Copy 有興趣的話 可以試者去看你現在電腦的記憶體 不論你有沒有 4G 的記憶體 在 0xFFFFFFF0 的地方 應該都有 0xEA 的值 也就是 jmp 的 opcode 也是BIOS 第一條被執行的指令 接者去看 0x000FFFF0 的地方 往前比對就會發現 兩邊的 Binary Code 幾乎一模一樣 就是 BIOS 將自身的 Code 從 flash copy 到 memoey 的結果 : : 主要是透過 memory mapping 的方式讀取 我沒遇過 CPU 直接聯到 Flash ROM 的 : : 在主機板的實作上(Legacy) 主要分成兩個部分 Boot Block 跟 POST : : 在 Boot Block 階段是不需要 RAM 的 : : 會先做最前面的 CPU/南北橋/Super IO/Clock Gen初始化 : : 在進入 POST 前 BIOS 才會將 BIOS copy 到 RAM 中去執行 : 我想您倒因為果了,就是CPU太快,匯流排複雜。所以整合時序控制後作 : 成北橋晶片,然後把低速IO的邏輯整合後作成南橋晶片。這樣才方便簡 : 單的掛上週邊IC。然後為了節省成本,廠商想使用低腳數的記憶體,所 : 以才把spi/i2c的FLASH自動LOADER裝進南橋(反正USER也不知道 RAM被 : 誰偷走了)。 這邊我不確定你指的記憶體是指一般我們插的 RAM 還是指什麼 因為在 BIOS 的過程中 一開始是有一段程式是不插 RAM 也能執行的 只要把記憶體拔掉插上 80 port debug 卡 就可以看到 BIOS 會丟 POST Code 出來 如果要將 Flash ROM mapping 到最高 memory space 視做偷 RAM 的話 也不是不行啦 只要你的 memory 插到 4G 就可以 這也是在 32bit 的系統中 無法使用完整的 4G memory 原因之一 你可以看一下南橋Spec 裡面會提到 flash ROM 可以對應到記憶體位址的範圍 : : 另外寫入的方式是透過南橋寫入Flash ROM, 根據Flash ROM 的不同會有不同的指令 : : 所以並不是每個廠商的 flash ROM 都可以寫入, 要看BIOS 有沒有支援 : 這一段就不多說了,跟上一段是一樣的.... : 所謂的南北橋是整合晶片,九世把一些原本哩哩袧袧的東西整合起來 : 方便製造與降低成本。但是電腦的原理並沒有因此而改變。 電腦的原理是沒有改變沒有錯 但是隨者時代的進步 總是會有其他技術來幫助或提升電腦的性能 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.118.208
文章代碼(AID): #1Bao4EGu (ASM)
文章代碼(AID): #1Bao4EGu (ASM)