主機
NES(FC、紅白機、小霸王)的系統架構可用下圖表示:

系統中最核心的組件是 CPU,其它組件都可以算作 CPU 的外設,CPU 的外設包括:PPU(影像處理器)、APU(音頻處理器)、WRAM(記憶體)、IO 設備(手柄、鍵盤等)、CART(卡帶),這些外設分別占據 CPU 地址空間中的一部分,CPU 通過設定 CPU 地址總線選中相應的外設,然后通過 CPU 資料總線與外設交換資料,CPU 與外設的這種通信方式也叫“記憶體映射 IO”,外設占用的地址空間可以到 nesdev 上查閱,
系統中第二核心的組件是 PPU,PPU 也有外設,它的外設包括:VRAM(視頻記憶體)和卡帶,PPU 和它的外設之間也采用“記憶體映射 IO”方式通信,PPU 的地址空間分配可以查閱 nesdev,
真實的 NES 上是看不到 APU 的,因為 APU 與 PPU 封裝到了一起,在開發模擬器時,把它們當作獨立的組件是沒有關系的
卡帶
上圖中,卡帶只是使用一個方框簡單概括,實際上卡帶也是一個復雜的設備,卡帶即是 CPU 的外設,也是 PPU 的外設,它可以存盤程式代碼供 CPU 讀取執行,可以存盤影像資源供 PPU 使用,也可以為 CPU 提供額外的記憶體,甚至還可以提供額外的音頻芯片、PPU,
根據卡帶的電路板復雜性,可以粗略地把卡帶分為簡單卡帶和復雜卡帶,
簡單卡帶
簡單卡帶的內部結構如下圖,

圖中 PA 表示 PPU 地址線,PD 表示 PPU 資料總線,A 表示 CPU 地址線,D 表示 CPU 資料總線,可以看到簡單卡帶基本上直接從存盤芯片中讀寫資料,其中存盤芯片可以根據需求配置為不同大小,由于地址空間的限制,簡單卡帶上并不能存盤太多內容,
復雜卡帶

上圖演示了一種復雜卡帶的架構,可以看到最大的區別是多了一個叫 MMC 的組件,MMC 意為“記憶體管理芯片”,是一種可編程芯片,負責將 CPU、PPU 的地址映射到它管理的存盤器中的某個區間,有了 MMC,CPU、PPU可以尋址更大的地址空間,卡帶也可以存盤更多內容,
參考資料
- nesdev
- NES 名詞解釋
- NES 架構介紹[Youtube], NES 架構介紹[B 站]
- NES 架構
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/552327.html
標籤:其他
下一篇:返回列表
