1. 隻讀存儲器
隻讀存儲器中一般用于儲存系統程式或者系統的配置資訊;
- 早期的隻讀存儲器, 在廠家就寫好了内容
- 改進1, 使用者可以自己寫, 一次性
- 改進2, 可以多次寫-- 要能對資訊進行擦除;
- 改進3, 電可擦寫, 特定裝置
- 改進4, 電可擦寫, 直接連接配接到計算機上
1.1 隻讀存儲器ROM
-
掩模rom, (MROM)
行列選擇線交叉處有MOS管為’‘1’';
行列選擇線交叉處無Mos管為 ‘‘0’’;
-
PROM (一次性程式設計)
行線
- eprom 多次性程式設計
-
E2prom 多次性程式設計
電可擦寫
局部擦寫
全部擦寫
-
flash Memory 閃速型存儲器
eprom 價格便宜, 內建度高
e2prom 電可擦寫,重寫
flash memory 快, 具備RAM功能
2. 存儲器與cpu 的連接配接
cpu 執行的指令和資料都儲存在主存儲器中,
2.1 存儲器容量的擴充
通常情況下,cpu的位址線數目較多,尋址空間範圍較大,
一個存儲器需要多個存儲晶片共同組成。
2.1.1 位擴充
位擴充,
擴充的是資料線的個數
.
擴充的是資料的位數, 即增加了存儲字長;
位擴充時, 将晶片同時進行工作,同時讀和寫操作。
通過将 cs 片選信号線連接配接在一起, 使得兩個晶片同時進行工作,
每個2114是4位的資料線, 兩個便構成8位的資料線;
2.1.2 字擴充
字擴充,
擴充的是資料線的個數
.
由于 資料的位數滿足條件,
是以兩個晶片不可以同時進行工作, 同時進行工作,造成兩個8位的資料線會混亂。
增加存儲字的數量,
2k 一共11根位址線, a10位址線作為晶片選擇線。
第一個晶片使用 a0-a9的位址線, 提供了前1k的位址空間。
第二個晶片同樣使用a0-a9 的位址線, 提供了後1k的位址空間。
每個晶片構成1k的位址空間,
2.1.3 字,位擴充
每兩個晶片構成一組1k * 8位資料線,
此時每一組中,使用的是同一個片選信号,
每一組都是10根位址線, a0-a9提供1k的位址線;
4組則提供4k的位址線;
a10-a11 構成片選譯碼,
00-代表第一個1k的位址空間;
01-代表第2個1k的位址空間;
10-代表第3個1k的位址空間;
11-代表第4個1k的位址空間;
2.2 存儲器與cpu的連接配接
- 1. 位址線的連接配接: 存儲器需要根據cpu給出的位址,找到相應的存儲單元, 将cpu的低位位址線作為位址信号輸入到信号中,高位作為晶片選擇信号,
- 2. 資料線的連接配接:cpu的線數比存儲器的資料線數多, 此時需要使用位擴充, 使得存儲器輸入輸出的資料滿足cpu的要求,
- 3. 讀寫指令線的連接配接: cpu給出讀寫指令,連接配接到存儲器中,rom 隻能讀,不可寫。
- 4. 片選線的連接配接: 片選線負責控制選中哪些存儲晶片上,片選線負責确認通路的是存儲器,不是io.
存儲器的通路信号,一定要在片選信号中展現,每個記憶體晶片都有自己的位址範圍,與cpu構成的系統當中,是給他配置設定的指定範圍, 該指定範圍必須滿足cpu的要求。 存儲器的每一根位址都需要使用, 某些位址作為存儲晶片的内部位址輸入每一個晶片當中,其他一些位址作為片選信号, 來保證對某一個晶片的通路是在給定的位址範圍内進行通路的。
-
- 合理選擇存儲晶片: 儲存系統程式的地方和系統配置資訊的地方, 使用rom; 而運作系統程式時,或者使用者程式這些區域則占用的是 RAM, 這些區域都是可讀 可寫的。
-
- 其他時序,負載, cpu的時序和存儲器的時序需要互相配合,才能讀出和寫入。 cpu可以帶動多少個存儲晶片。
3. 存儲器的校驗
- 為什麼要對存儲器的資訊進行校驗?
記憶體是電子裝置, 資訊儲存在電容當中,
采用靜态RAM時, 儲存在一個4個半導體的觸發器當中,
如果記憶體所處環境複雜, 或者在空間環境中受到帶電離子的打擊,
可能會造成電容的充放電, 或者觸發器的翻轉,
存放在存儲器中的資訊會出錯,是以需要對存儲器的資訊進行校驗。
進而導緻,程式運作時出錯。
- 為了能夠校驗出資訊是否正确, 如何進行編碼?
以下的編碼方式,指的是使用三個0 代表數字0, 三個1代表數字1;
- 糾錯或檢錯能力與什麼因素有關?
任意兩組合法代碼之間二進制位的最少差異數, 定義為編碼的最小距離。
是以編碼的糾錯,檢錯能力與編碼的最小距離有關。
- 校驗出資訊出錯後是如何進行糾錯?
- 除了上述的校驗碼? 還有哪些容錯編碼, 原理是什麼?
3.1 合法代碼集合
以下的編碼方式,指的是使用三個0 代表數字0, 三個1代表數字1;
四倍備援的方式指的是: 四個0 代表數字0, 四個1代表數字1
以下的情況當中: 當出現出錯碼時,通常認為出錯1位碼的機率是 大于出錯2位碼
是以通常情況下,
一位出錯的機率是最大的, 超百分之九十
- 當出錯碼屬于合法碼中的集合中時,此時檢0位錯,糾0位錯;
- 當出錯碼不在合法代碼的集合中時,此時可以檢測出錯碼1一位, 但是沒有能力糾錯。
即合法代碼之間的差異位數,
- 當任意兩個合法代碼之間的差異位數是三時, 檢一位,糾一位;
- 當任意兩個合法代碼之間的差異位數是四時, 檢兩位,糾一位;
- 當任意兩個合法代碼之間的差異位數是五時, 檢兩位,糾兩位
3.2 編碼的最小距離
編碼的最小距離: 任意兩組合法代碼之間二進制位數的最少差異。
L − 1 = D + C , ( D > = C ) L-1 = D +C ,(D>= C) L−1=D+C,(D>=C)
L: 編碼的最小距離 L=3,
D: 檢測錯誤的位數, 具有一位糾錯能力
C: 糾正錯誤的位數
漢明碼是具有一位糾錯能力的編碼。
編碼的糾錯,檢測能力與編碼的最小距離有關。
3.3 漢明碼的組成
- 漢明碼采用奇偶校驗, 與分組校驗;
偶校驗:加上一位偶校驗, 使得整個編碼當中,一的個數是偶數個,
如果出現1的個數是奇數個, 則表明資訊出錯;
分組校驗: 此時,如果采用兩位奇偶校驗位, 進行分組, 前一個奇偶檢驗位檢測前一組中的一的個數, 後一個奇偶校驗位檢測後一組中一的個數。
-
漢明碼采用 一種非劃分的方式:
組群組之間是有交叉的,即某些位 屬于多個組, 某些位隻屬于一個組;