淺析嵌入式存儲系統(tǒng)設(shè)計(jì)方法
嵌入式存儲系統(tǒng)由嵌入式硬件和固化在硬件平臺中的嵌入式存儲系統(tǒng)軟件組成。傳統(tǒng)的小規(guī)模嵌入式存儲系統(tǒng),軟件多采用前后臺的方法,通常應(yīng)用于實(shí)時性要求不高的簡單場合;對于復(fù)雜的應(yīng)用場合,較為普遍的做法是給系統(tǒng)配上嵌入式存儲系統(tǒng)實(shí)時操作系統(tǒng)(RTOS),這樣不僅能夠使系統(tǒng)具有良好的實(shí)時性能,降低軟件編制的工作量,還可以提高整個系統(tǒng)的穩(wěn)定性。此外,為了簡化用戶程序,系統(tǒng)通常要提供一些必要的庫函數(shù)供用戶調(diào)用。同前后臺系統(tǒng)相比,這種實(shí)時嵌入式系統(tǒng)增加了系統(tǒng)存儲空間的開銷。Intel 8051系列及各種兼容的單片機(jī)因其極高的性價(jià)比、豐富的庫函數(shù)和長期的技術(shù)積累等背景而被廣泛應(yīng)用于各種嵌入式領(lǐng)域中。受傳統(tǒng)單片機(jī)尋址空間的限制,嵌入式應(yīng)用中經(jīng)常需要進(jìn)行存儲空間擴(kuò)展。本文借鑒傳統(tǒng)計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中的虛擬存儲技術(shù),以8051單片機(jī)為例提出一種采用頁面分組和虛擬接口技術(shù)擴(kuò)展存儲空間的方法。本方法與Keil C編譯器具有良好的兼容性。
本文引用地址:http://m.butianyuan.cn/article/173465.htm2 存儲系統(tǒng)的組織
2.1 虛擬存儲系統(tǒng)
計(jì)算機(jī)系統(tǒng)中常采用虛擬存儲技術(shù)來擴(kuò)展存儲系統(tǒng)容量,頁式虛擬存儲器是常用的一種組織方法。在這種方法下,整個虛擬地址空間和主存空間均被分成容量相等的若干頁,地址變換機(jī)構(gòu)(通常是一個快速地址變換表)建立了虛擬空間到主存空間虛頁到實(shí)頁的映射。頁式存儲器組織關(guān)系如圖1。
虛擬存儲系統(tǒng)利用計(jì)算機(jī)CPU中的一組寄存器堆作為頁表基址寄存器,如圖1(b)所示,它與頁表一起給出用戶程序地址。實(shí)際計(jì)算機(jī)系統(tǒng)的頁式虛擬存儲要比這復(fù)雜得多,還需考慮未命中時的外部地址變換以及頁面替換算法,然而在嵌入式存儲系統(tǒng)中這些都可以簡化乃至省去。
2.2 單片機(jī)嵌入式存儲系統(tǒng)程序存儲區(qū)擴(kuò)展
受虛擬存儲系統(tǒng)啟發(fā),我們把上述方法作了一些修改以應(yīng)用于嵌入式存儲系統(tǒng)中。由于系統(tǒng)設(shè)計(jì)選用的外部程序存儲器容量為256k,而一般單片機(jī)(如 8051系列)的尋址空間為64k,為簡單起見,以64k為一頁,將256k虛擬地址分為4頁映射到單片機(jī)的64k空間。嵌入式存儲系統(tǒng)中地址變換機(jī)構(gòu)可被簡化:單片機(jī)沒有專用的頁表基址寄存器,可以通過額外的端口線(如P1.0,P1.1,P1.2等)作為基址指定不同的頁面,頁表查詢可用一個跳轉(zhuǎn)表實(shí)現(xiàn)。然而頁面切換前后必須保證能夠正確訪問到跳轉(zhuǎn)表,因此所有64k頁面都需要有一個完全相同的代碼段用來存放跳轉(zhuǎn)表和中斷矢量等公共資源。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論