1 / 40

記憶體與可規劃邏輯

記憶體與可規劃邏輯. Chapter 7. 7-1 前言. 記憶體 儲存被轉移的二元資訊 記憶體單元是儲存格的集合,它被用來儲存大量的二元資訊。 隨機存取記憶體 (RAM – Random-Access Memory) 讀取 (read) 的操作 寫入 (write) 的操作 唯讀記憶體 (ROM – Read-Only Memory) 僅能做讀取的操作 唯讀記憶體是一種可規劃邏輯裝置 (programmable logic device, PLD) 。. 可規劃邏輯裝置 (programmable logic device, PLD) ROM

feng
Télécharger la présentation

記憶體與可規劃邏輯

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 記憶體與可規劃邏輯 Chapter 7

  2. 7-1 前言 • 記憶體 • 儲存被轉移的二元資訊 • 記憶體單元是儲存格的集合,它被用來儲存大量的二元資訊。 • 隨機存取記憶體(RAM – Random-Access Memory) • 讀取 (read) 的操作 • 寫入 (write) 的操作 • 唯讀記憶體 (ROM – Read-Only Memory) • 僅能做讀取的操作 • 唯讀記憶體是一種可規劃邏輯裝置 (programmable logic device, PLD)。

  3. 可規劃邏輯裝置 (programmable logic device, PLD) • ROM • PLA –可規劃邏輯陣列 (programmable logic array) • PAL –可規劃陣列邏輯 (programmable array logic) • FPGA –現場可規劃邏輯陣列 (field-programmable gate array) • 可規劃邏輯區塊 (programmable logic blocks) • 可規劃內部連接 (programmable interconnects)

  4. 7-2 隨機存取記憶體 • 記憶體單元 • 記憶體單元是以一組位元為儲存單位,此一組二元資訊稱為字組 (words)。 • 8-位元(一位元組), 2 位元組, 4 位元組 • 方塊圖

  5. ㄧ個 1024  16 記憶體

  6. 寫入與讀取操作 • 寫入操作 • 將所需字組的二進位位址轉移至位址線。 • 將必須儲存於記憶體的資料位元轉移至資料輸入線。 • 啟動「寫入(write)」輸入。 • 讀取操作 • 將所需字組的二進位位址轉移至位址線。 • 啟動「讀取(read)」輸入。

  7. 記憶體的種類 • 靜態 (static) • 二元資訊儲存在內部閂鎖中 • 只要此單元的電源持續供應,所儲存的資訊便保持正確。 • 較易使用且其讀寫週期較短 • 動態 (dynamic) • 以電荷加在電容器上的形式來儲存二進位資訊 • 電容器所儲存的電荷會隨時間而放電 • 電容器必須週期性的再充電 (refreshing) 來恢復動態記憶體。 • 功率消耗較少 • 在單一記憶體晶片內提供較大的儲存容量

  8. 有揮發性 (volatile)記憶體 • 當電源關閉時,記憶體單元會失去所儲存的資訊 • SRAM, DRAM • 非揮發性(Non-volatile)記憶體 • 在電源關閉後仍保有其所儲存的資訊。 • ROM • EPROM, EEPROM • 快閃記憶體

  9. 7-3 記憶體的解碼 • 記憶體單元 • 儲存元件 • 解碼電路來選取由輸入位址所指定的記憶體字組。 • 記憶體儲存胞元 (memory cell)

  10. 內部結構 • m 個字組且每一個字組n-位元的 RAM • m  n 個二進位儲存胞元 • 一個解碼器來選取其中一個字組。 • k-至-2k線解碼器

  11. 4  4 RAM

  12. 一致的解碼 • 基本的構想就是二維解碼 • 用來減少所需使用的解碼器複雜度

  13. 10-至-1024線解碼器 • 1024 個AND 閘,每ㄧ閘具有10 條輸入 • 兩個 5-至-32線解碼器 • 2  (32 個AND 閘,每ㄧ閘具有5 條輸入) • 減少電路複雜度與週期時間

  14. 漢明碼 (Hamming Code) • 將 k 個同位位元加至 n個位元的資料字組,形成一個 n + k個位元的新字組。 • (2k –1  n + k) • 位元的位置則是依序的由1至 n + k 來加以編碼。 • 若是2的冪次方編號,則保留給同位位元 • 其餘的位元則是資料位元

  15. 範例:8-位元的資料字組 11000100 • 將 4個同位位元與 8-位元字組合併 12位元 2k –1  n + k, n = 8  k = 4 位元位置: 1 2 3 4 5 6 7 8 9 10 11 12 P1P2 1 P4 1 0 0 P8 0 1 0 0 • 計算同位位元:偶同位  假設 P1 = 位元(3, 5, 7, 9, 11) 的XOR = 1  1  0  0  0 = 0 P2 =位元(3, 6, 7, 10, 11)的XOR = 1  0  0  1  0 = 0 P4 =位元(5, 6, 7, 12)的XOR = 1  0  0  0 = 1 P8 =位元(9, 10, 11, 12)的XOR = 0  1  0  0 = 1 • 將這個12-位元的合成字組一起儲存在記憶體 位元位置: 1 2 3 4 5 6 7 8 9 10 11 12 00 1 1 1 0 0 1 0 1 0 0

  16. 當將這個12-位元從記憶體讀取出來時 • 檢查位元的計算如下: C1 = 位元(1, 3, 5, 7, 9, 11)的XOR C2 = 位元(2, 3, 6, 7, 10, 11)的XOR C4 = 位元(4, 5, 6, 7, 12)的XOR C8 = 位元(8, 9, 10, 11, 12)的XOR • 若無錯誤發生 位元位置:1 2 3 4 5 6 7 8 9 10 11 12 0 0 1 1 1 0 0 1 0 1 0 0  C = C8C4C2C1 = 0000 ♣ 0檢查位元代表這些檢查位元為偶同位,而1則代表奇同位。

  17. 單-位元錯誤 • 錯誤在位元1位置 • C1 = 位元(1, 3, 5, 7, 9, 11)的XOR = 1 • C2 = 位元(2, 3, 6, 7, 10, 11)的XOR= 0 • C4 = 位元(4, 5, 6, 7, 12)的XOR= 0 • C8 = 位元(8, 9, 10, 11, 12)的XOR= 0 • C8C4C2C1 = 0001 • 錯誤在位元5位置 • C8C4C2C1 = 0101 • 雙-位元錯誤 • 錯誤在位元1位置與位元5位置 • C8C4C2C1 = 0100

  18. 漢明碼可應用於任意長度的資料 • k 個檢查位元 • 2k –1  n + k

  19. 單-錯誤更正,雙-錯誤檢測 • 漢明碼 • 漢明碼僅能檢測及更正單一錯誤 • 多重錯誤則無法檢測 • 漢明碼 + ㄧ個同位位元 • 可以用來更正單一錯誤及檢測出雙錯誤 • 額外加入的同位位元與其他12個位元做互斥-OR (XOR) • 例如:原先12位元已編碼的字組 0 0 1 1 1 0 0 1 0 1 0 0 P13 0 0 1 1 1 0 0 1 0 1 0 0 1 (偶同位)

  20. 當將這個字組從記憶體讀取出來時 • 若 P = 0,同位位元是正確的 (偶同位);但若 P = 1 時,則此13個位元上的同位不正確 (奇同位) 。 • 可能發生下列四種狀況: • 若 C = 0 且 P = 0,無錯誤發生。 • 若 C  0 且 P = 1,發生單一錯誤,且可被更正。 • 若 C  0 且 P = 0,發生雙錯誤,可被檢測但無法更正。 • 若 C = 0 且 P = 1,有一錯誤發生在 P13 位元。

  21. 7-5 唯讀記憶體 (Read-Only Memory, ROM) • 是一個可以永久儲存二進位資訊的記憶體裝置。 • 2k x n ROM • k條位址輸入線 • 致能輸入(s) • 三態的輸出來促成大型的ROM陣列結構。

  22. 32 x 8 ROM • 5-至-32 線解碼器 • 8個OR閘 • 每個OR閘有32條輸入 • 32  8個可以規劃的內部交叉點

  23. ROM真值表(部份) • 範例

  24. 可規劃連接 • 「關閉」(意思是兩條線相連接) • 或是「開啟」(意思是兩條線不相連) • 最簡單的方法就是利用熔絲。藉由加一個高電壓到此熔絲來熔斷它。

  25. 組合邏輯電路的製作 • ROM:一個解碼器 + 數個OR閘 • 最小項(全及項)之和 • 布林函數 =最小項之和 • 對ㄧ個n-輸入, m-輸出的組合電路而言  2n  m ROM • 設計程序: • 決定ROM的大小 • 求出ROM 規劃真值表 • 真值表 = 熔絲圖

  26. 例題 7-1 • 3輸入,6輸出 • B1=0 • B0=A0 • 8x4 ROM

  27. ROM的製作 • 真值表

  28. ROM的種類 • ROM的種類 • 罩冪規劃 (mask programming)ROM • IC製造商須依據顧客的真值表,製作相對應的罩冪,以產生1與0的路徑。 • 大量製造相同ROM的組態時,罩冪規劃才會較經濟些。 • PROM:可規劃唯讀記憶體 (programmable read-only memory) • 熔絲 • 萬用規劃器 (programmer) • EPROM:可清除的PROM (erasable PROM) • 浮接邏輯閘 • 紫外線可清除 • EEPROM:可電性清除的 (electrically erasable) PROM (EEPROM或EPROM) • 需較長的時間進行寫入 • 快閃ROM

  29. 組合型PLDs • 可規劃雙階層邏輯 • 一個AND陣列及一個OR陣列

  30. 7.6 可規劃邏輯陣列 • PLA • 一種可規劃AND閘陣列 • 可以產生輸入變數所組成的任何乘積項。 • 一種可規劃OR閘陣列 • 可以產生乘積項之和。 • 比ROM更具彈性 • 使用比ROM 少的電路 • 僅必要的乘積項才需產生

  31. F1 = AB + AC + ABC • F2 = (AC + BC) • XOR 閘 • 可使輸出反相 • 範例

  32. PLA 規劃表 • 指定熔絲圖 • 破折號 “─” 表示一個熔斷的熔絲同時位在輸入變數和它的補數之間。

  33. PLA的大小是由 • 輸入數目 • 乘積項數目(AND閘)及 • 輸出數目(OR閘)來指定的。 • 利用PLA來設計一個數位系統時,所需要的就是一個PLA的規劃表。 • 必須仔細地檢查以減少不同乘積項的數目。 • 每一項的文字符號數目並不重要 • 每一個函數的真值和補數均需加以簡化,以便了解哪一個可用較少的乘積項來表示,及哪一個乘積項可與其他函數共用。

  34. 例題 7-2 • F1(A, B, C) =  (0, 1, 2, 4); F2(A, B, C) =  (0, 5, 6, 7) • 這兩個函數的真值與補數都用積項和的形式加以簡化以便核對驗證。

  35. F1 = (AB+ AC + BC) • F2 = AB + AC + ABC

  36. 7-7 可規劃陣列邏輯 • PAL是一個具有一固定OR陣列與一可規劃AND陣列的可規劃邏輯裝置。 • PAL較容易規劃,但不像PLA那樣的較具彈性。

  37. PAL範例 • 乘積項不可能由兩個或更多的OR閘來分享

  38. 用PAL來設計組合邏輯電路的範例 w(A,B,C,D) = (2,12,13) x(A,B,C,D) = (7,8,9,10,11,12,13,14) y(A,B,C,D) = (0,2,3,4,5,6,7,8,10,11,15) z(A,B,C,D) = (1,2,8,12,13) • 簡化這些函數: w = ABC + ABCD x = A + BCD y = AB + CD + BD z = ABC + ABCD + ACD + ABCD = w + ACD + ABCD

  39. PAL 規劃表

  40. w = ABC + ABCD • x = A + BCD • y = AB + CD + BD • z = w + ACD + ABCD

More Related