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