單片機(jī)的存儲(chǔ)器 寄存器概述
地址空間
要保證多個(gè)應(yīng)用程序同時(shí)處于內(nèi)存中并且不互相影響,則需要解決兩個(gè)問(wèn)題:保護(hù)和重定位。我們來(lái)看一個(gè)原始的對(duì)前者的解決辦法,它曾被用在IBM 360上:給內(nèi)存塊標(biāo)記上一個(gè)保護(hù)鍵,并且比較執(zhí)行進(jìn)程的鍵和其訪問(wèn)的每個(gè)內(nèi)存字的保護(hù)鍵。然而,這種方法本身并沒(méi)有解決后一個(gè)問(wèn)題,雖然這個(gè)問(wèn)題可以通過(guò)在程序被裝載時(shí)重定位程序來(lái)解決,但這是一個(gè)緩慢且復(fù)雜的解決方法。
一個(gè)更好的辦法是創(chuàng)造一個(gè)新的內(nèi)存抽象:地址空間。就像進(jìn)程的概念創(chuàng)造了一類(lèi)抽象的CPU以運(yùn)行程序一樣,地址空間為程序創(chuàng)造了一種抽象的內(nèi)存。地址空間是一個(gè)進(jìn)程可用于尋址內(nèi)存的一套地址集合。每個(gè)進(jìn)程都有一個(gè)自己的地址空間,并且這個(gè)地址空間獨(dú)立于其他進(jìn)程的地址空間(除了在一些特殊情況下進(jìn)程需要共享它們的地址空間外)。
地址空間的概念非常通用,并且在很多場(chǎng)合中出現(xiàn)。比如電話(huà)號(hào)碼,在美國(guó)和很多其他國(guó)家,一個(gè)本地電話(huà)號(hào)碼通常是一個(gè)7位的數(shù)字。因此,電話(huà)號(hào)碼的地址空間是從0 000 000到9 999 999,雖然一些號(hào)碼并沒(méi)有被使用,比如以000開(kāi)頭的號(hào)碼。隨著手機(jī)、調(diào)制解調(diào)器和傳真機(jī)數(shù)量的增長(zhǎng),這個(gè)空間變得越來(lái)越不夠用了,從而導(dǎo)致需要使用更多位數(shù)的號(hào)碼。Pentium的I/O端口的地址空間從0到16 383。IPv4的地址是32位的數(shù)字,因此它們的地址空間從0到232-1(也有一些保留數(shù)字)。
地址空間可以不是數(shù)字的。一套“。com”的互聯(lián)網(wǎng)域名也是地址空間。這個(gè)地址空間是由所有包含2~63個(gè)字符并且后面跟著“。com”的字符串組成的,組成這些字符串的字符可以是字母、數(shù)字和連字符。到現(xiàn)在你應(yīng)該已經(jīng)明白地址空間的概念了。它是很簡(jiǎn)單的。
外部存儲(chǔ)器
軟盤(pán)、硬盤(pán)、光盤(pán)、U盤(pán)都是外部存儲(chǔ)器。 從馮。諾依曼的存儲(chǔ)程序工作原理及計(jì)算機(jī)的組成來(lái)說(shuō),計(jì)算機(jī)分為運(yùn)算器、控制器、存儲(chǔ)器和輸入/輸出設(shè)備,這里的存儲(chǔ)器就是指內(nèi)存,而硬盤(pán)屬于輸入/輸出設(shè)備。 CPU運(yùn)算所需要的程序代碼和數(shù)據(jù)來(lái)自于內(nèi)存,內(nèi)存中的東西則來(lái)自于硬盤(pán)。所以硬盤(pán)并不直接與CPU打交道。 硬盤(pán)相對(duì)于內(nèi)存來(lái)說(shuō)就是外部存儲(chǔ)器。 存儲(chǔ)器是用來(lái)存儲(chǔ)器數(shù)據(jù)的,內(nèi)存有告訴緩存和內(nèi)存,計(jì)算機(jī)內(nèi)部存儲(chǔ),外存就是類(lèi)似U盤(pán)的外部存儲(chǔ),內(nèi)存儲(chǔ)器 速度快 價(jià)格貴,容量小,斷電 后內(nèi)存內(nèi)數(shù)據(jù)會(huì)丟失。 外存儲(chǔ)器 單位價(jià)格低,容量大, 速度慢, 斷電后數(shù)據(jù)不會(huì)丟失。
評(píng)論