除處理器之外,各種類型的存儲器是微控制器中最重要的單元,它們用于存儲程序代碼和數(shù)據(jù)。由于智能卡微控制器是一個完整的計算機,因而其內部存儲器根據(jù)其特性分類為RAM、ROM和EEPROM,更精確的劃分參見圖1。在任何情況下,總是努力把RAM和EEPROM做到盡可能小些。
圖1 智能卡微控制存儲器分類圖(PROM和EPROM在現(xiàn)代微控制器里已不再使用;Flash EEPROM和PRAM是用于智能卡早期開發(fā)的存儲器類型)
對于多應用智能卡,它可以同時管理幾個應用。最常用的芯片中ROM容量約為EEPROM容量的兩倍,以便提供足夠的空間來存儲非常復雜的操作系統(tǒng)代碼。對于單應用智能卡來說,所選擇的微控制器的EEPROM容量只是比應用數(shù)據(jù)的容量稍大一點。所有非固定的應用數(shù)據(jù),連同操作系統(tǒng)的某些部分都可以存儲在EEPROM中,所以,才需要優(yōu)化EEPROM的使用。否則,EEPROM要占去芯片中較大的空間,因而相當昂貴。
從技術上來說,在單個硅晶片上集成三種不同類型的半導體存儲器是相當復雜的,它要求有更多的生產(chǎn)步驟和曝光掩膜。每一類型存儲器的結構和工作原理都不盡相同,所要求的空間量的差異也非常大。例如:1個RAM單元就需要占用大約4個EEPROM單元那樣大的空間,而1個EEPROM單元又需要占用4個ROM單元那樣大的空間。這也就是智能卡微控制器中只有很少RAM的原因。通常256字節(jié)的RAM已認為是相當大了。當你明白在相同的面積里可放人1 024字節(jié)的EEPROM或4 096字節(jié)ROM時,就弄明白這個原因了。圖2說明芯片大小關系,各種存儲器的性能比較見表1。
圖2 各類型的存儲器每一位單元所占用晶片面積的比較
圖中所標示的尺寸是近似的,并且是用0.8μm技術制造,與之相比,1959年的第1個平面晶體管的直徑是764μm[Buchmann 96,Stix 96]。本書每一句結尾的句號的直徑是400μm,人眼的分辨極限是40μm,一個細菌的大小是0.4~2μm,而一個雙螺旋DNA是0.1rtm。
表1 用于智能卡微控制中的備類存儲器的比較
典型的激光打印機的打印分辨率為600dpi(每英寸的點數(shù)),這就意味著其墨點直徑最小為42.6μm。本書句號的面積是125 660μm2,如果用分辨率等于0.8μm(半導體工藝標準)的設備來打印本書的句號(直徑是400flm),就相當于需要一臺具有32 000dpi分辨率的打印機!
最新的高性能硬盤驅動器其存儲量可達每平方英寸11.66b。假設每位都占有一個方形面積,這就是說每一位單元的邊緣長度為0.24rtm。如果智能卡微控制器的ROM單元用0.8ftm技術來制造的話,那么一個ROM單元就需要占用1 700位那么多的面積!