2008-02-04

懷念的 8088 (1)

超級令人懷念的 8088 架構重出現! 看了《IBM PC/XT BIOS 剖析》後,才知道事情都有歷史因素的...首先是懷念的主機板 (p.15)

8088 用的是 14.31818MHz 的石英振盪晶體,除3後 4.77MHz 給 CPU (CLK),除4後 3.58MHz 給顯示卡。8088 有4個DMA, 3個 16-bit timer counter (TC), 8個INT, 一個 NMI. 其中 DMA#4 要拿來給記憶體充電,充電時 address bus 不能用,所以 CPU 要等記憶體 refresh.

TC Channel 0: 系統時間
TC Channel 1: 和 DMA#4 一起幫 RAM 充電
TC Channel 2: speaker 用的

系統硬體架構圖 (p.20)先是 8284 (p.21) 做 OSC,然後輸出 CLK (4.77MHz), PCLK (2.38MHz), 再加一組 RES (reset) 和 RDY (ready). 開機時做 CPU Reset 原來 8088 就有了,那是為了避免剛開電的時候訊號不穩定,8284 等 pulse 穩定後,會送 RES 給 CPU. RDY 是給週邊設備用的,它可以叫 CPU 等一下下...

8087 有 8 個 80-bit 暫存器,可以透過 QS0, QS1 和 8088 一起抓指令。8088 抓到 8087 的指令後丟掉不管,8087 會撿起來執行。在計算的時候,BUSY 拉起來,8088 就知道要等結果。它們用同一個 CLK. 8087 用 RQ/GT0 告訴 8088 它想用 bus. 這本書講了一堆 8087 運作方式和指令集,先跳過。

古老的時代,PIC 用的是 8259A. 如果在觸發 INT 的時候剛好 stack overflow 會怎樣?

沒有留言: