基于8086 CPU的單芯片計算機系統的設計
隨著超大規模集成電路工藝的發展,在一顆芯片上集成上百萬甚至上億個晶體管已成為現實。現在,芯片廠商都以面積最小化、功能最大化作為自己的發展方向,深亞微米效應理論及IP 核技術越來越受到理論界和工業界的廣泛關注,系統芯片是當前技術發展的必然趨勢。計算機的發展經歷了電子管計算機、晶體管計算機、集成電路計算機和大規模集成電路計算機,它的發展一直是將越來越多的功能集成在越來越小的空間內。可以預見,在某些特定領域,半導體制造業朝著整合型單芯片系統的總體趨勢將會日益明顯。
所謂單芯片計算機即是將傳統PC 機箱里的主板上的芯片組、CPU、內存、顯卡、聲卡和網卡等最大限度的集成在單個芯片中。單芯片計算機與傳統PC 相比,重量、體積和功耗大幅下降,從而系統性能將得到很大地改善,同時帶來價格的突破性下降,直接促進計算機的迅速普及。
本文搭建的單芯片計算機系統基于標準8086 CPU,集成了AMBA總線、SDRAM、8255、ROM 等外圍IP,并在AlteraDE2FPGA開發板上實現了功能演示。
2 單芯片計算機的發展概況
單芯片計算機是一個完整的計算機系統,CPU、存儲器和輸入輸出接口,通過總線連接,構成了單芯片計算機的基本系統。單芯片計算機的系統級設計,是以CPU 為核心開展的I/O和外設集成過程,是基本的SoC設計流程。
近幾年,Intel、AMD 和VIA 等微處理器制造商紛紛推出平臺策略,將微處理器和芯片組組合在一起,形成一個完整的解決方案,并計劃將來進一步推出集成所有芯片的單芯片微處理器。Intel 公司頻推平臺策略,計劃進一步推出整合所有芯片的單芯片計算機,還*了一個由500 名工程師組成的研發團隊,開發其單芯片電腦產品,希望將目前電腦主板上的32 顆芯片全部集成到單一的芯片中。 而在AMD 四核皓龍處理器中,四個獨立的CPU 核集成到單一硅片上,每個核具有單獨的64KB 一級數據緩存、64KB 一級指令緩存和512KB 的二級緩存,四個核心共享2MB(或者更大)的三級緩存。這樣每個CPU 核都能夠充分發揮各自的效能,從而大幅度提升整個處理器的性能。
單芯片計算機的設計,是一個基于某一種型號CPU 及其外圍I/O 接口的SoC 設計過程。因此,選擇哪種型號的CPU 就成了設計的首要問題。綜合設計難度,工程進度的因素,同時考慮所選CPU 要有一定的代表性,因此最終選擇標準Intel 8086 CPU。基于8086 的單芯片計算機基本結構,如圖1 所示。

3 單芯片計算機系統的設計
8086 CPU 芯片有兩種工作模式,最小模式與最大模式。所謂最小模式,是指系統中只有一個8086 微處理器,在這種情況下,所有的總線控制信號,都直接由8086 CPU 產生,系統的總線控制邏輯電路被減到最少,該模式適用于規模較小的微機應用系統。
本實驗采用8086 的最小工作模式進行單芯片計算機的設計。所謂單芯片計算機系統設計,即除了包含CPU、ROM、RAM、總線、地址鎖存器、數據收發器、外設地址譯碼電路以外,集成一個或一個以上的外圍I/O 接口,從而構成一個完整的系統。搭建的系統結構圖如2 所示。

本論文所設計的8086 單芯片計算機系統集成了遵從AMBA 協議的總線、8255 通用并行接口,以及SDRAM 控制器。在這里,以8255 通用并行接口為例,介紹包含8255 應用電路的單芯片計算機系統的設計。8255 作為外圍I/O 設備通過AHB 總線與8086CPU 進行通信。
單芯片計算機系統的RTL 級設計是一個SoC 的設計過程。包括CPU 子系統的設計、總線的選擇和接口設計,以及存儲器單元的接口設計。
3.1 CPU 子系統的設計
CPU 子系統包括8086 CPU、數據收發控制器、地址鎖存器和存儲器譯碼電路等。
CPU 與存儲器(或I/O 端口)進行交換時,CPU 首先要送出地址信號,然后再發出控制信號及傳送數據。因此需要加入地址鎖存器,先鎖存地址,使在讀寫總線周期內地址穩定。
數據收發控制器相當于一個總線開關,用來控制CPU 的數據總線選擇從存儲單元或I/O端口發送或接受數據,匹配通信時序。
存儲器譯碼電路與74LS138 原理一樣,利用地址線生成ROM 和RAM 單元的片選信號。CPU 上電復位后地址為FFFF0H,首先從ROM 里讀出程序,該程序是無條件跳轉指令,能夠使CPU 跳轉到RAM 的地址。CPU 再從SDRAM 里讀出程序。
3.2 總線的選擇和設計
總線的集成對縮小芯片的面積以及減少總線的扇出都有非常積極的意義。標準的8086CPU,一般采用的是傳統的三總線結構,就是地址總線、數據總線、控制總線,基于這個總線架構,還可以擴展8255、顯示器、鍵盤/鼠標、網卡之類的IP。
3.2.1 總線協議的選擇
傳統的8086 系列CPU 系統總線有ISA 總線、EISA 總線等。ISA 總線是16 位的系統總線,其工作頻率為8MHz,數據傳輸速率為16MB/s。EISA 是一種在ISA 總線基礎上擴充的數據寬度為32 位的開放總線標準。最大傳輸速率可以達到33MB/s。但是由于I/O 速度比較低,這兩種總線技術已經逐漸被淘汰。
評論