基于8086 CPU的單芯片計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)
隨著超大規(guī)模集成電路工藝的發(fā)展,在一顆芯片上集成上百萬(wàn)甚至上億個(gè)晶體管已成為現(xiàn)實(shí)。現(xiàn)在,芯片廠商都以面積最小化、功能最大化作為自己的發(fā)展方向,深亞微米效應(yīng)理論及IP 核技術(shù)越來(lái)越受到理論界和工業(yè)界的廣泛關(guān)注,系統(tǒng)芯片是當(dāng)前技術(shù)發(fā)展的必然趨勢(shì)。計(jì)算機(jī)的發(fā)展經(jīng)歷了電子管計(jì)算機(jī)、晶體管計(jì)算機(jī)、集成電路計(jì)算機(jī)和大規(guī)模集成電路計(jì)算機(jī),它的發(fā)展一直是將越來(lái)越多的功能集成在越來(lái)越小的空間內(nèi)??梢灶A(yù)見(jiàn),在某些特定領(lǐng)域,半導(dǎo)體制造業(yè)朝著整合型單芯片系統(tǒng)的總體趨勢(shì)將會(huì)日益明顯。
所謂單芯片計(jì)算機(jī)即是將傳統(tǒng)PC 機(jī)箱里的主板上的芯片組、CPU、內(nèi)存、顯卡、聲卡和網(wǎng)卡等最大限度的集成在單個(gè)芯片中。單芯片計(jì)算機(jī)與傳統(tǒng)PC 相比,重量、體積和功耗大幅下降,從而系統(tǒng)性能將得到很大地改善,同時(shí)帶來(lái)價(jià)格的突破性下降,直接促進(jìn)計(jì)算機(jī)的迅速普及。
本文搭建的單芯片計(jì)算機(jī)系統(tǒng)基于標(biāo)準(zhǔn)8086 CPU,集成了AMBA總線、SDRAM、8255、ROM 等外圍IP,并在AlteraDE2FPGA開(kāi)發(fā)板上實(shí)現(xiàn)了功能演示。
2 單芯片計(jì)算機(jī)的發(fā)展概況
單芯片計(jì)算機(jī)是一個(gè)完整的計(jì)算機(jī)系統(tǒng),CPU、存儲(chǔ)器和輸入輸出接口,通過(guò)總線連接,構(gòu)成了單芯片計(jì)算機(jī)的基本系統(tǒng)。單芯片計(jì)算機(jī)的系統(tǒng)級(jí)設(shè)計(jì),是以CPU 為核心開(kāi)展的I/O和外設(shè)集成過(guò)程,是基本的SoC設(shè)計(jì)流程。
近幾年,Intel、AMD 和VIA 等微處理器制造商紛紛推出平臺(tái)策略,將微處理器和芯片組組合在一起,形成一個(gè)完整的解決方案,并計(jì)劃將來(lái)進(jìn)一步推出集成所有芯片的單芯片微處理器。Intel 公司頻推平臺(tái)策略,計(jì)劃進(jìn)一步推出整合所有芯片的單芯片計(jì)算機(jī),還*了一個(gè)由500 名工程師組成的研發(fā)團(tuán)隊(duì),開(kāi)發(fā)其單芯片電腦產(chǎn)品,希望將目前電腦主板上的32 顆芯片全部集成到單一的芯片中。 而在AMD 四核皓龍?zhí)幚砥髦?,四個(gè)獨(dú)立的CPU 核集成到單一硅片上,每個(gè)核具有單獨(dú)的64KB 一級(jí)數(shù)據(jù)緩存、64KB 一級(jí)指令緩存和512KB 的二級(jí)緩存,四個(gè)核心共享2MB(或者更大)的三級(jí)緩存。這樣每個(gè)CPU 核都能夠充分發(fā)揮各自的效能,從而大幅度提升整個(gè)處理器的性能。
單芯片計(jì)算機(jī)的設(shè)計(jì),是一個(gè)基于某一種型號(hào)CPU 及其外圍I/O 接口的SoC 設(shè)計(jì)過(guò)程。因此,選擇哪種型號(hào)的CPU 就成了設(shè)計(jì)的首要問(wèn)題。綜合設(shè)計(jì)難度,工程進(jìn)度的因素,同時(shí)考慮所選CPU 要有一定的代表性,因此最終選擇標(biāo)準(zhǔn)Intel 8086 CPU。基于8086 的單芯片計(jì)算機(jī)基本結(jié)構(gòu),如圖1 所示。
3 單芯片計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)
8086 CPU 芯片有兩種工作模式,最小模式與最大模式。所謂最小模式,是指系統(tǒng)中只有一個(gè)8086 微處理器,在這種情況下,所有的總線控制信號(hào),都直接由8086 CPU 產(chǎn)生,系統(tǒng)的總線控制邏輯電路被減到最少,該模式適用于規(guī)模較小的微機(jī)應(yīng)用系統(tǒng)。
本實(shí)驗(yàn)采用8086 的最小工作模式進(jìn)行單芯片計(jì)算機(jī)的設(shè)計(jì)。所謂單芯片計(jì)算機(jī)系統(tǒng)設(shè)計(jì),即除了包含CPU、ROM、RAM、總線、地址鎖存器、數(shù)據(jù)收發(fā)器、外設(shè)地址譯碼電路以外,集成一個(gè)或一個(gè)以上的外圍I/O 接口,從而構(gòu)成一個(gè)完整的系統(tǒng)。搭建的系統(tǒng)結(jié)構(gòu)圖如2 所示。
本論文所設(shè)計(jì)的8086 單芯片計(jì)算機(jī)系統(tǒng)集成了遵從AMBA 協(xié)議的總線、8255 通用并行接口,以及SDRAM 控制器。在這里,以8255 通用并行接口為例,介紹包含8255 應(yīng)用電路的單芯片計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)。8255 作為外圍I/O 設(shè)備通過(guò)AHB 總線與8086CPU 進(jìn)行通信。
單芯片計(jì)算機(jī)系統(tǒng)的RTL 級(jí)設(shè)計(jì)是一個(gè)SoC 的設(shè)計(jì)過(guò)程。包括CPU 子系統(tǒng)的設(shè)計(jì)、總線的選擇和接口設(shè)計(jì),以及存儲(chǔ)器單元的接口設(shè)計(jì)。
3.1 CPU 子系統(tǒng)的設(shè)計(jì)
CPU 子系統(tǒng)包括8086 CPU、數(shù)據(jù)收發(fā)控制器、地址鎖存器和存儲(chǔ)器譯碼電路等。
CPU 與存儲(chǔ)器(或I/O 端口)進(jìn)行交換時(shí),CPU 首先要送出地址信號(hào),然后再發(fā)出控制信號(hào)及傳送數(shù)據(jù)。因此需要加入地址鎖存器,先鎖存地址,使在讀寫(xiě)總線周期內(nèi)地址穩(wěn)定。
數(shù)據(jù)收發(fā)控制器相當(dāng)于一個(gè)總線開(kāi)關(guān),用來(lái)控制CPU 的數(shù)據(jù)總線選擇從存儲(chǔ)單元或I/O端口發(fā)送或接受數(shù)據(jù),匹配通信時(shí)序。
存儲(chǔ)器譯碼電路與74LS138 原理一樣,利用地址線生成ROM 和RAM 單元的片選信號(hào)。CPU 上電復(fù)位后地址為FFFF0H,首先從ROM 里讀出程序,該程序是無(wú)條件跳轉(zhuǎn)指令,能夠使CPU 跳轉(zhuǎn)到RAM 的地址。CPU 再?gòu)腟DRAM 里讀出程序。
3.2 總線的選擇和設(shè)計(jì)
總線的集成對(duì)縮小芯片的面積以及減少總線的扇出都有非常積極的意義。標(biāo)準(zhǔn)的8086CPU,一般采用的是傳統(tǒng)的三總線結(jié)構(gòu),就是地址總線、數(shù)據(jù)總線、控制總線,基于這個(gè)總線架構(gòu),還可以擴(kuò)展8255、顯示器、鍵盤(pán)/鼠標(biāo)、網(wǎng)卡之類(lèi)的IP。
3.2.1 總線協(xié)議的選擇
傳統(tǒng)的8086 系列CPU 系統(tǒng)總線有ISA 總線、EISA 總線等。ISA 總線是16 位的系統(tǒng)總線,其工作頻率為8MHz,數(shù)據(jù)傳輸速率為16MB/s。EISA 是一種在ISA 總線基礎(chǔ)上擴(kuò)充的數(shù)據(jù)寬度為32 位的開(kāi)放總線標(biāo)準(zhǔn)。最大傳輸速率可以達(dá)到33MB/s。但是由于I/O 速度比較低,這兩種總線技術(shù)已經(jīng)逐漸被淘汰。
評(píng)論