BAB
SNTERNAL MEMORY
a
5.1 Memori Utama Semikonduktor
Organisasi
DRAM dan SRAM
y Jenis ROM
Logika Chip
Kemasan Chip
a Organisasi Modul
Memori Interleaved
5.2 Koreksi Kesalahan
5.3 DramOrganization Tingkat Lanjut
DRAM Sinkron
Rambus DRAM
DDR SDRAM
Cache DRAM
5.4 Bacaan dan Situs Web yang Direkomendasikan
5.5 Istilah Utama, Tinjau Pertanyaan, dan Masalah
158
4 BAB 5 / MEMORI INTERNAL
POIN-POIN PENTING
◆ Dua bentuk dasar memori akses acak semikonduktor adalah RAM
dinamis (DRAM) dan RAM statis (SRAM). SRAM lebih cepat, lebih
mahal, dan kurang padat daripada DRAM, dan digunakan untuk
memori cache. DRAM digunakan untuk memori utama.
◆ Teknik koreksi kesalahan biasanya digunakan dalam sistem memori.
Ini melibatkan menambahkan bit redundan yang merupakan fungsi dari
bit data untuk membentuk kode koreksi kesalahan. Jika kesalahan bit
terjadi, kode akan mendeteksi dan, biasanya, memperbaiki kesalahan.
◆ Untuk mengimbangi kecepatan DRAM yang relatif lambat, sejumlah
organisasi DRAM canggih telah diperkenalkan. Dua yang paling
umum adalah DRAM sinkron dan DRAM RamBus. Kedua hal ini
melibatkan penggunaan jam sistem untuk menyediakan transfer blok
data.
Kami memulai bab ini dengan survei subsistem memori utama semikonduktor,
termasuk memori ROM, DRAM, dan SRAM. Kemudian kita melihat teknik
kontrol kesalahan yang digunakan untuk meningkatkan keandalan memori. Setelah
ini, kita melihat arsitektur DRAM yang lebih maju.
Organisasi
Elemen dasar dari memori semikonduktor adalah sel memori. Meskipun berbagai
teknologi elektronik digunakan, semua sel memori semikonduktor memiliki sifat
tertentu:
• Mereka menunjukkan dua keadaan stabil (atau semistabil), yang dapat
digunakan untuk mewakili biner 1 dan 0.
• Mereka mampu ditulis ke dalam (setidaknya sekali), untuk mengatur negara.
• Mereka mampu dibaca untuk merasakan keadaan.
5.1 / MEMORI UTAMA SEMIKONDUKTOR 5
Gambar 5.1 menggambarkan pengoperasian sel memori. Paling umum, sel
memiliki tiga terminal fungsional yang mampu membawa sinyal listrik. Pilih
Menguasa Menguasa
i i
terminal, seperti namanya, memilih sel memori untuk operasi baca atau tulis. Terminal
kontrol menunjukkan membaca atau menulis. Untuk menulis, terminal lain menyediakan
sinyal listrik yang mengatur keadaan sel menjadi 1 atau 0. Untuk membaca, terminal itu
digunakan untuk output dari keadaan sel. Rincian organisasi internal, fungsi, dan waktu
sel memori tergantung pada teknologi sirkuit terpadu tertentu yang digunakan dan berada
di luar cakupan buku ini, kecuali untuk ringkasan singkat. Untuk tujuan kami, kami akan
menganggapnya sebagai mengingat bahwa sel individu dapat dipilih untuk operasi
membaca dan menulis.
Secara elektrik,
Memori flash
tingkat blok
Karakteristik lain yang membedakan RAM adalah bahwa hal itu fluktuatif.
RAM harus dilengkapi dengan catu daya yang konstan. Jika daya terputus, maka
data hilang. Dengan demikian, RAM hanya dapat digunakan sebagai
penyimpanan sementara. Dua bentuk tradisional RAM yang digunakan dalam
komputer adalah DRAM dan SRAM.
Teknologi RAM DINAMIS dibagi menjadi dua teknologi: dinamis dan statis.
RAM dinamis (DRAM) dibuat dengan sel yang menyimpan data sebagai muatan
pada kapasitor. Ada atau tidak adanya muatan dalam kapasitor ditafsirkan
sebagai biner 1 atau 0. Karena kapasitor memiliki kecenderungan alami untuk
melepaskan, RAMs dinamis memerlukan pengisian periodik menyegarkan untuk
mempertahankan penyimpanan data. Istilah dinamis mengacu pada
kecenderungan muatan yang tersimpan ini bocor, bahkan dengan daya yang terus
diterapkan.
Gambar 5.2a adalah struktur DRAM khas untuk sel individu yang
menyimpan 1 bit. Baris alamat diaktifkan ketika nilai bit dari sel ini akan dibaca
atau ditulis. Transistor bertindak sebagai saklar yang tertutup (memungkinkan
arus mengalir) jika tegangan diterapkan ke garis alamat dan terbuka (tidak ada
aliran arus) jika tidak ada tegangan yang ada pada garis alamat.
Untuk operasi tulis , sinyal tegangan diterapkan ke garis bit; tegangan
tinggi mewakili 1, dan tegangan rendah mewakili sinyal 0.A kemudian
diterapkan ke garis alamat, memungkinkan muatan ditransfer ke kapasitor.
Untuk operasi baca, ketika garis alamat dipilih, transistor menyala dan
muatan yang disimpan pada kapasitor dimasukkan ke garis bit dan ke amplifier
rasa. Penguat rasa membandingkan tegangan kapasitor dengan nilai referensi dan
menentukan apakah sel berisi logika 1 atau logika 0. Pembacaan dari sel
melepaskan kapasitor, yang harus dipulihkan untuk menyelesaikan operasi.
5.1 / MEMORI UTAMA SEMIKONDUKTOR 7
tegangan dc
Baris alamat
T3 T4
T5 C1 C2 T6
Transistor
Penyimpa
kapasitor
nan
T1 T2
Garis bit Bi t li Ne
Alamat BB
garis
(a) Sel RAM Dinamis (DRAM) (b) Sel RAM Statis (SRAM)
Sebaliknya, RAM statis (SRAM) adalah perangkat digital yang menggunakan elemen
logika yang sama yang digunakan dalam prosesor. Dalam SRAM, nilai biner disimpan
menggunakan konfigurasi gerbang logika flip-flop tradisional (lihat Bab 20 untuk
deskripsi sandal jepit). RAM statis akan menyimpan datanya selama daya dipasok ke
sana.
Gambar 5.2b adalah struktur SRAM khas untuk sel individu. Empat transistor ( T1,
T2, T3, T4) dihubungkan silang dalam pengaturan yang menghasilkan keadaan logika yang
stabil. Dalam keadaan logika 1,titik C1 tinggi dan titik C2 rendah; dalam keadaan ini, T1
dan T4 mati dan T2 dan T3 menyala. 1 Dalam keadaan logika 0, titik C1 rendah dan titik C2
tinggi; dalam keadaan ini, T1 dan T4 menyala dan T2 dan T3 mati. Kedua keadaan stabil
selama tegangan arus searah (dc) diterapkan. Berbeda dengan DRAM, tidak diperlukan
refresh untuk menyimpan data.
Seperti dalam DRAM, baris alamat SRAM digunakan untuk membuka atau
menutup sakelar. Garis alamat mengontrol dua transistor ( T5 dan T6). Ketika sinyal
diterapkan pada baris ini, kedua transistor dinyalakan, memungkinkan operasi baca atau
tulis. Untuk operasi tulis, nilai bit yang diinginkan diterapkan ke baris B, sedangkan
pelengkapnya adalah ap-
SRAM VERSUS DRAM Baik RAMs statis dan dinamis bersifat volatil; yaitu, daya
harus terus dipasok ke memori untuk mempertahankan nilai bit. Sel memori dinamis
lebih sederhana dan lebih kecil dari sel memori statis . Dengan demikian, DRAM lebih
padat (sel yang lebih kecil = lebih banyak sel per satuan luas) dan lebih murah daripada
SRAM yang sesuai. Di sisi lain, DRAM membutuhkan sirkuit penyegaran pendukung.
Untuk ingatan yang lebih besar, biaya tetap sirkuit refresh lebih dari dikompensasi oleh
biaya variabel sel DRAM yang lebih kecil . Dengan demikian, DRAMs cenderung
disukai untuk kebutuhan memori yang besar. Poin terakhir adalah bahwa SRAMs
umumnya agak lebih cepat daripada DRAMs. Karena karakteristik relatif ini, SRAM
digunakan untuk memori cache (baik chip on dan off), dan DRAM digunakan untuk
memori utama.
Jenis ROM
Seperti namanya, memori baca-saja (ROM) berisi pola data permanen yang tidak dapat
diubah. ROM adalah nonvolatile; artinya, tidak ada sumber daya yang diperlukan untuk
mempertahankan nilai bit dalam memori. Meskipun dimungkinkan untuk membaca
ROM, tidak mungkin untuk menulis data baru ke dalamnya. Aplikasi penting dari ROM
adalah pemrograman mikro, dibahas dalam Bagian Empat. Aplikasi potensial lainnya
termasuk
• Subrutin perpustakaan untuk fungsi yang sering diinginkan
• Program sistem
• Tabel fungsi
Untuk kebutuhan berukuran sederhana , keuntungan dari ROM adalah bahwa data atau
program secara permanen dalam memori utama dan tidak perlu dimuat dari perangkat
penyimpanan sekunder.
A ROM dibuat seperti chip sirkuit terintegrasi lainnya, dengan
data yang sebenarnya masuk ke dalam chip sebagai bagian dari proses
fabrikasi. Ini menghadirkan dua masalah:
• Langkah penyisipan data mencakup biaya tetap yang relatif besar, apakah satu atau
ribuan salinan ROM tertentu dibuat.
• Tidak ada ruang untuk kesalahan. Jika satu bit salah, seluruh batch ROM harus
dibuang.
Ketika hanya sejumlah kecil ROM dengan konten memori tertentu yang
diperlukan, alternatif yang lebih murah adalah ROM yang dapat diprogram (PROM).
Seperti ROM, PROM tidak berbelit-belit dan dapat ditulis hanya sekali. Untuk PROM,
proses penulisan dilakukan secara elektrik dan dapat dilakukan oleh pemasok atau
pelanggan pada suatu waktu lebih lambat dari fabrikasi chip asli. Peralatan khusus
diperlukan untuk proses penulisan atau "pemrograman". PROM memberikan fleksibilitas
dan kenyamanan. ROM tetap menarik untuk produksi volume tinggi.
5.1 / MEMORI UTAMA SEMIKONDUKTOR 9
Variasi lain pada memori baca-saja adalah memori baca-sebagian besar, yang
berguna untuk aplikasi di mana operasi membaca jauh lebih sering daripada operasi tulis
tetapi penyimpanan nonvolatile diperlukan. Ada tiga bentuk umum dari memori baca-
sebagian besar: EPROM, EEPROM, dan memori flash.
Memori baca-saja yang dapat diprogram secara optik (EPROM) dibaca dan
ditulis secara elektrik, seperti halnya PROM. Namun, sebelum operasi tulis, semua sel
penyimpanan harus dihapus ke keadaan awal yang sama dengan paparan chip yang
dikemas terhadap radiasi ultraviolet. Penghapusan dilakukan dengan menyinari sinar
ultraviolet yang intens melalui jendela yang dirancang ke dalam chip memori. Proses
penghapusan ini dapat dilakukan berulang kali; setiap penghapusan dapat memakan
waktu hingga 20 menit untuk dilakukan. Dengan demikian, EPROM dapat diubah
beberapa kali dan, seperti ROM dan PROM, menyimpan datanya hampir tanpa batas.
Untuk jumlah penyimpanan yang sebanding, EPROM lebih mahal daripada PROM,
tetapi memiliki keuntungan dari kemampuan beberapa pembaruan.
A Bentuk memori baca-sebagian besar yang lebih menarik
adalah memori baca-saja yang dapat diprogram secara elektrik
(EEPROM). Ini adalah memori baca-sebagian besar yang dapat ditulis kapan
saja tanpa menghapus konten sebelumnya; hanya byte atau byte yang
ditujukan yang diperbarui. Operasi tulis membutuhkan waktu jauh lebih
lama daripada operasi baca, pada urutan beberapa ratus mikrodetik per byte.
EEPROM menggabungkan keuntungan dari nonvolatility dengan
fleksibilitas yang diperbarui di tempat, menggunakan kontrol bus biasa,
alamat, dan jalur data. EEPROM lebih mahal daripada EPROM dan juga
kurang padat, mendukung lebih sedikit bit per chip.
Bentuk lain dari memori semikonduktor adalah memori flash (dinamakan
demikian karena kecepatan yang dapat diprogram ulang). Pertama kali diperkenalkan
pada pertengahan 1980-an, memori flash adalah perantara antara EPROM dan EEPROM
baik dalam biaya dan fungsionalitas. Seperti EEPROM, memori flash menggunakan
teknologi penghapusan listrik. Seluruh memori flash dapat dihapus dalam satu atau
beberapa detik, yang jauh lebih cepat daripada tambahan EPROM.In, adalah mungkin
untuk menghapus hanya blok memori daripada seluruh chip. Memori flash mendapatkan
namanya karena microchip diatur sehingga bagian dari sel memori terhapus dalam satu
tindakan atau "flash." Namun, memori flash tidak memberikan penghapusan tingkat byte.
Seperti EPROM, memori flash hanya menggunakan satu transistor per bit, sehingga
mencapai kepadatan tinggi (dibandingkan dengan EEPROM) dari
EPROM.
Logika Chip
Seperti produk sirkuit terintegrasi lainnya, memori semikonduktor hadir dalam chip
kemasan (Gambar 2.7). Setiap chip berisi array sel memori.
Dalam hierarki memori secara keseluruhan, kami melihat bahwa ada trade-off di
antara kecepatan, kapasitas, dan biaya. Trade-off ini juga ada ketika kita
mempertimbangkan organisasi sel memori dan logika fungsional pada chip. Untuk
memori semikonduktor, salah satu masalah desain utama adalah jumlah bit data yang
dapat dibaca / ditulis pada suatu waktu. Pada satu ekstrem adalah organisasi di mana
10 BAB 5 / MEMORI INTERNAL
pengaturan fisik sel dalam array sama dengan pengaturan logis (seperti yang dirasakan
oleh prosesor) kata-kata dalam memori. Array diatur ke dalam kata-kata W dari B bit
masing-masing. Misalnya, chip 16-Mbit dapat diatur sebagai kata 1M 16-bit . Pada
ekstrem lainnya adalah apa yang disebut organisasi 1-bit-per-chip, di mana data dibaca /
ditulis 1 bit pada suatu waktu. Kami akan mengilustrasikan organisasi chip memori
dengan DRAM; Organisasi ROM serupa, meskipun lebih sederhana.
Gambar 5.3 menunjukkan organisasi khas DRAM 16-Mbit. Dalam hal ini, 4 bit
dibaca atau ditulis sekaligus. Secara logis, array memori diatur sebagai empat array
persegi 2048 oleh 2048 elemen. Berbagai pengaturan fisik dimungkinkan.
Bagaimanapun, elemen array dihubungkan oleh garis horizontal (baris) dan vertikal
(kolom). Setiap garis horizontal terhubung ke terminal Pilih setiap sel di barisnya ; setiap
garis vertikal terhubung ke terminal Data-In /Sense dari setiap sel di kolomnya.
Baris alamat menyediakan alamat kata yang akan dipilih. Diperlukan total garis log2
W. Dalam contoh kami, 11 baris alamat diperlukan untuk memilih salah satu dari 2048
baris. 11 baris ini dimasukkan ke dalam decoder baris, yang memiliki 11 baris input dan
2048 baris untuk output. Logika decoder mengaktifkan satu dari output 2048 tergantung
pada pola bit pada 11 baris input (211 = 2048).
11 baris alamat tambahan pilih salah satu kolom 2048 dengan 4 bit per kolom.
Empat baris data digunakan untuk input dan output dari 4 bit ke dan dari buffer data.
Pada input (tulis), driver bit dari setiap baris bit diaktifkan untuk 1 atau 0 sesuai dengan
nilai garis data yang sesuai. Pada output (baca), nilai setiap garis bit dilewatkan melalui
amplifier rasa dan disajikan ke garis data. Baris baris memilih baris sel mana yang
digunakan untuk membaca atau menulis.
Karena hanya 4 bit yang dibaca / ditulis ke DRAM ini, harus ada beberapa DRAMs
yang terhubung ke pengontrol memori untuk membaca / menulis kata data ke bus.
Perhatikan bahwa hanya ada 11 baris alamat (A0-A10), setengah dari jumlah yang
Anda harapkan untuk array 2048 * 2048. Hal ini dilakukan untuk menghemat jumlah pin.
22 baris alamat yang diperlukan dilewatkan melalui logika pilih di luar chip dan
multipleks ke 11 baris alamat. Pertama, 11 sinyal alamat diteruskan ke chip untuk
menentukan alamat baris array, dan kemudian 11 sinyal alamat lainnya disajikan untuk
alamat kolom . Sinyal-sinyal ini disertai dengan alamat baris se-
Sinyal lect (RAS) dan column address select (CAS) untuk memberikan waktu pada chip.
Pin write enable (WE) dan output enable (OE) menentukan apakah operasi tulis
atau baca dilakukan. Dua pin lainnya, tidak ditampilkan pada Gambar 5.3, adalah ground
(Vss) dan sumber tegangan (Vcc).
Selain itu, pengalamatan multipleks ditambah penggunaan array persegi
menghasilkan empat kali lipat ukuran memori dengan setiap chip memori generasi baru.
Satu pin lagi yang ditujukan untuk menangani menggandakan jumlah baris dan kolom,
sehingga ukuran memori chip tumbuh dengan faktor 4.
RAS CAS KAM Œ
I
Refresh MUX
konter
Mend Mend
• Array memori
alamat
ayung de-
ayung
A0 • (2048 2048 4)
Buffer Coder
A1 •
•
• • • •
•
Input data
A10 Kolom Buffer D1
alamat Sirkuit penyegaran D2
D3
Buffer Data keluaran D4
Buffer
Decoder kolom
Kemasan Chip
Seperti disebutkan dalam Bab 2, sirkuit terpadu dipasang pada paket yang berisi pin untuk
koneksi ke dunia luar.
Gambar 5.4a menunjukkan contoh paket EPROM, yang merupakan chip 8-Mbit yang
diatur sebagai 1M * 8. Dalam hal ini, organisasi diperlakukan sebagai paket satu kata per chip.
Paket ini mencakup 32 pin, yang merupakan salah satu ukuran paket chip standar . Pin
mendukung garis sinyal berikut:
• Alamat kata yang diakses. Untuk 1 juta kata, diperlukan total 20 (220 = 1M) pin (A0–A19).
• Data yang akan dibacakan, terdiri dari 8 baris (D0-D7).
• Catu daya ke chip (Vcc).
• Pin tanah (Vss).
• Pin aktifkan (CE) chip. Karena mungkin ada lebih dari satu chip memori, yang masing-
masing terhubung ke bus alamat yang sama, pin CE digunakan untuk menunjukkan
apakah alamat tersebut valid untuk chip ini atau tidak . Pin CE diaktifkan oleh
Vcc 1 24 Vss
4M 4
D1 2 23 D4
D2 3 22 D3
KAM 4 21 CAS
I
RAS 5 20 Œ
NC 6 24-Celupkan19 A9
Pin
A10 7 0.6" 18 A8
A0 8 17 A7
A1 9 16 A6
A2 10 15 A5
A3 11 14 A4
Vcc 12 Tampilan 13 Vss
Atas
Organisasi Modul
Jika chip RAM hanya berisi 1 bit per kata, maka jelas kita akan membutuhkan setidaknya
sejumlah chip yang sama dengan jumlah bit per kata. Sebagai contoh, Gambar 5.5 menunjukkan
Decode 1 dari
512 Kata-kata
Alamat memori 512
dengan
512
512 Kata-kata
512
dengan
512
ChipSedik
#1
it
Decode 1 dari
512 sedikit-
sense
bagaimana modul memori yang terdiri dari kata-kata 256K 8-bit dapat diatur. Untuk kata 256K ,
alamat 18-bit diperlukan dan dipasok ke modul dari beberapa sumber eksternal (misalnya, garis
alamat bus tempat modul terpasang). Alamat disajikan ke 8 chip 256K * 1-bit, yang masing-
masing menyediakan input / output 1 bit.
Organisasi ini bekerja selama ukuran memori sama dengan jumlah bit per chip. Dalam
kasus di mana memori yang lebih besar diperlukan, berbagai chip diperlukan. Gambar 5.6
menunjukkan kemungkinan organisasi memori yang terdiri dari 1 juta kata dengan 8 bit per
kata. Dalam hal ini, kami memiliki empat kolom chip, setiap kolom berisi kata-kata 256K yang
disusun seperti pada Gambar 5.5. Untuk kata 1M, diperlukan 20 baris alamat. 18 bit paling tidak
signifikan dialihkan ke semua 32 modul. Urutan tinggi 2 bit adalah input ke modul logika pilih
kelompok yang mengirimkan sinyal aktifkan chip ke salah satu dari empat kolom modul.
Data keluar M
Korektor
Data di M M K
f
K Ingatan K Membandin
f gkan
1 1
1 0
0
1 0 0
(c 1 (d 1
) ) 0
1 1
1 0 1 0
0 0
0 0 0
Yang paling sederhana dari kode koreksi kesalahan adalah kode Hamming yang dirancang
oleh Richard Hamming di Bell Laboratories. Gambar 5.8 menggunakan diagram Venn untuk
menggambarkan penggunaan kode ini pada kata-kata 4-bit (M = 4). Dengan tiga lingkaran
berpotongan, ada tujuh kompartemen. Kami menetapkan 4 bit data ke kompartemen dalam
(Gambar 5.8a). Kompartemen yang tersisa diisi dengan apa yang disebut bit paritas. Setiap bit
paritas dipilih sehingga jumlah total 1s dalam lingkarannya genap (Gambar 5.8b). Jadi, karena
lingkaran A mencakup tiga data 1s, bit paritas dalam lingkaran itu diatur ke 1. Sekarang, jika
kesalahan mengubah salah satu bit data (Gambar 5.8c), mudah ditemukan. Dengan memeriksa
17
bit paritas, perbedaan ditemukan di lingkaran A dan lingkaran C tetapi tidak di lingkaran B.
Hanya satu dari tujuh kompartemen dalam A dan C tetapi tidak B.Kesalahan karena itu dapat
diperbaiki dengan mengubah bit itu.
Untuk memperjelas konsep yang terlibat, kami akan mengembangkan kode yang dapat
mendeteksi dan memperbaiki kesalahan satu bit dalam kata-kata 8-bit.
Untuk memulai, mari kita tentukan berapa lama kode harus. Mengacu pada Gambar 5.7,
logika perbandingan menerima sebagai input dua nilai K-bit. Perbandingan bit-by-bit dilakukan
dengan mengambil exclusive-OR dari dua input. Hasilnya disebut kata sindrom. Dengan
demikian, setiap bit sindrom adalah 0 atau 1 sesuai dengan apakah ada atau tidak cocok dalam
posisi bit untuk dua input.
Oleh karena itu kata sindrom adalah K bits lebar dan memiliki kisaran antara 0 dan 2K - 1.
Nilai 0 menunjukkan bahwa tidak ada kesalahan yang terdeteksi, meninggalkan nilai 2K - 1 untuk
ditunjukkan, jika ada kesalahan, bit mana yang salah. Sekarang, karena kesalahan dapat terjadi
pada salah satu bit data M atau bit pemeriksaan K, kita harus memiliki
2K - 1 Ú M + K
5.2 / KOREKSI KESALAHAN
Nomor 1100 1011 1010 1001 1000 011 0110 0101 0100 0011 0010 0001
posisi 1
Bit data D8 D7 D6 D5 D4 D3 D2 D1
Periksa C8 C4 C2 C1
bit
Gambar 5.9Layout dari Bit Data dan Periksa Bit
Setiap bit cek beroperasi pada setiap bit data yang nomor posisinya berisi 1 di
posisi bit yang sama dengan nomor posisi bit cek itu. Dengan demikian, data bit posisi 3,
5, 7, 9, dan 11 (D1, D2, D4, D5, D7) semuanya berisi 1 dalam bit paling signifikan dari
nomor posisi mereka seperti halnya C1; posisi bit 3, 6, 7, 10, dan 11 semuanya
mengandung 1 di posisi bit kedua, seperti halnya C2; dan seterusnya. Melihat ke arah
gi
lain, posisi bit n diperiksa oleh bit Ci tersebut sehingga = n. Misalnya, posisi 7 diperiksa
oleh bit di posisi 4, 2, dan 1; dan 7 = 4 + 2 + 1.
Mari kita verifikasi bahwa skema ini bekerja dengan sebuah contoh. Asumsikan
bahwa kata input 8-bit 00111001, dengan bit data D1 di posisi paling kanan .
Perhitungannya adalah sebagai berikut:
C1 = 1 { 0 { 1 { 1 { 0 = 1
C2 = 1 { 0 { 1 { 1 { 0 = 1
C4 = 0 { 0 { 1 { 0 = 1
C8 = 1 { 1 { 0 { 0 = 0
Misalkan sekarang data bit 3 mengalami kesalahan dan diubah dari 0 menjadi 1.Ketika
bit cek dihitung ulang, kita memiliki
C1 = 1 { 0 { 1 { 1 { 0 = 1
C2 = 1 { 1 { 1 { 1 { 0 = 0
C4 = 0 { 1 { 1 { 0 = 0
C8 = 1 { 1 { 0 { 0 = 0
Ketika bit cek baru dibandingkan dengan bit cek lama, kata sindrom terbentuk:
C8C4C2C1
19
0111
Hasilnya adalah 0110, menunjukkan bahwa posisi bit 6, yang berisi data bit 3, salah.
Gambar 5.10 menggambarkan perhitungan sebelumnya. Data dan bit cek
diposisikan dengan benar dalam kata 12-bit. Empat bit data memiliki nilai 1 (diarsir di
Posisi bit 12 11 10 9 8 7 6 5 4 3 2 1
Nomor 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001
posisi
Bit data D8 D7 D6 D5 D4 D3 D2 D1
Periksa C8 C4 C2 C1
bit
Kata 0 0 1 1 0 1 0 0 1 1 1 1
disimpan
sebagai
Kata 0 0 1 1 0 1 1 0 1 1 1 1
diambil
sebagai
Nomor 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001
posisi
Periksa 0 0 0 1
bit
Gambar 5.10Check Perhitungan Bit
5.3 / ORGANISASI DRAM TINGKAT LANJUT
(s ) (b) (c)
e
b 0 0 0
u 0 1 1 1
a 1 1 0
1 0 1 0 1 0
h
0 0
1 1
0 0 0
1 1 1 1 1 1
0 0 0
1 0 1 1 1 1
0 0 0
1 1 1
tabel), dan nilai posisi bit mereka adalah XORed untuk menghasilkan kode Hamming
0111, yang membentuk empat digit cek. Seluruh blok yang disimpan adalah
001101001111.Misalkan sekarang data bit 3,di posisi bit 6,menopang kesalahan dan
diubah dari 0 menjadi 1. Blok yang dihasilkan 001101101111, dengan kode Hamming
20 BAB 5 / MEMORI INTERNAL
0111.An XOR dari kode Hamming dan semua nilai posisi bit untuk bit data yang tidak
nol menghasilkan 0110. Hasil nonzero mendeteksi kesalahan dan menunjukkan bahwa
kesalahan berada di posisi bit 6.
Kode yang baru saja dijelaskan dikenal sebagai kode koreksi kesalahan tunggal
(SEC). Lebih umum, memori semikonduktor dilengkapi dengan kode koreksi kesalahan
tunggal, deteksi kesalahan ganda (SEC-DED). Seperti yang ditunjukkan tabel 5.2, kode
tersebut memerlukan satu bit tambahan dibandingkan dengan kode SEC.
Gambar 5.11 menggambarkan cara kerja kode semacam itu, sekali lagi dengan kata
data 4-bit. Urutan menunjukkan bahwa jika dua kesalahan terjadi (Gambar 5.11c),
prosedur pengecekan tersesat (d) dan memperburuk masalah dengan membuat kesalahan
ketiga (e). Untuk mengatasi masalah ini, bit kedelapan ditambahkan yang diatur sehingga
jumlah total 1s dalam diagram merata. Bit paritas ekstra menangkap kesalahan (f).
Kode koreksi kesalahan meningkatkan keandalan memori dengan mengorbankan
kompleksitas tambahan. Dengan organisasi 1-bit-per-chip, kode SEC-DED umumnya
dianggap memadai. Misalnya, implementasi IBM 30xx menggunakan kode SECDED 8-
bit untuk setiap 64 bit data dalam memori utama. Dengan demikian, ukuran memori
utama sebenarnya sekitar 12% lebih besar dari yang terlihat oleh pengguna. Komputer
VAX menggunakan SEC-DED 7-bit untuk setiap 32 bit memori, untuk overhead 22%.
Sejumlah DRAMs kontemporer menggunakan 9 bit cek untuk setiap 128 bit data, untuk
overhead 7% [SHAR97].
DRAM Sinkron
Salah satu bentuk DRAM yang paling banyak digunakan adalah DRAM sinkron (SDRAM)
[VOGL94]. Berbeda dengan DRAM tradisional, yang asinkron, SDRAM bertukar data dengan
prosesor disinkronkan ke sinyal clock eksternal dan berjalan pada kecepatan penuh dari prosesor
/ bus memori tanpa memaksakan keadaan tunggu.
Dalam DRAM yang khas, prosesor menyajikan alamat dan tingkat kontrol ke memori,
menunjukkan bahwa satu set data di lokasi tertentu dalam memori harus dibaca dari atau ditulis
ke dalam DRAM. Setelah penundaan, waktu akses, DRAM menulis atau membaca data. Selama
penundaan waktu akses, DRAM melakukan berbagai fungsi internal, seperti mengaktifkan
kapasitansi tinggi baris dan baris kolom, merasakan data, dan merutekan data melalui buffer
output. Prosesor hanya harus menunggu melalui penundaan ini, memperlambat kinerja sistem.
Dengan akses sinkron, DRAM memindahkan data masuk dan keluar di bawah kendali jam
sistem. Prosesor atau master lainnya mengeluarkan instruksi dan informasi alamat, yang dibcap
oleh DRAM. DRAM kemudian merespon setelah sejumlah siklus clock. Sementara itu, master
dapat dengan aman melakukan tugas lain saat SDRAM memproses permintaan.
Gambar 5.12 menunjukkan logika internal IBM 64-Mb SDRAM [IBM01], yang khas dari
organisasi SDRAM , dan Tabel 5.4 mendefinisikan berbagai tugas pin.
Gambar 5.12 RAM Dinamis Sinkron (SDRAM)
5
17
24 BAB 5 / MEMORI INTERNAL
Tabel 5.4SDRAM Pin Tugas
A0 hingga A13 Input alamat
panjang adalah 4 dan latensi adalah 2. Perintah baca burst dimulai dengan memiliki CS
dan CAS rendah sambil memegang RAS dan KAMI tinggi-tinggi di tepi jam yang
meningkat. Input alamat menentukan alamat kolom awal untuk burst, dan register mode
menetapkan jenis burst (sequential atau interleave) dan burst length (1, 2, 4, 8, full page).
Penundaan dari awal perintah hingga kapan data dari
sel pertama yang muncul pada output sama dengan nilai latensi CAS yang diatur dalam
register mode.
T0 T1 T2 T3 T4 T5 T6 T7 T8
CLK
PERINTAH BACA A NOP NOP NOP NOP NOP NOP NOP NOP
Sekarang ada versi SDRAM yang disempurnakan, yang dikenal sebagai double data
rate SDRAM (DDR-SDRAM) yang mengatasi batasan sekali per siklus. DDRSDRAM
dapat mengirim data ke prosesor dua kali per siklus clock.
Rambus DRAM
RDRAM, dikembangkan oleh Rambus [FARM92, CRIS97], telah diadopsi oleh Intel untuk
prosesor Pentium dan Itanium. Ini telah menjadi pesaing utama SDRAM. Chip RDRAM
adalah paket vertikal, dengan semua pin di satu sisi. Chip bertukar data dengan prosesor
lebih dari 28 kabel tidak lebih dari 12 sentimeter. Bus ini dapat menangani hingga 320 chip
RDRAM dan diberi peringkat 1,6 GBps.
Bus RDRAM khusus memberikan informasi alamat dan kontrol menggunakan
protokol berorientasi blok asinkron . Setelah waktu akses 480 ns awal, ini menghasilkan
kecepatan data 1,6 GBps. Apa yang membuat kecepatan ini mungkin adalah bus itu sendiri,
yang mendefinisikan impedansi, clocking, dan sinyal sangat tepat. Alih-alih dikendalikan
oleh sinyal RAS, CAS, R / W, dan CE eksplisit yang digunakan dalam DRAMs
konvensional, RDRAM mendapat permintaan memori melalui bus berkecepatan tinggi.
Permintaan ini berisi alamat yang diinginkan, jenis operasi, dan jumlah byte dalam operasi.
Gambar 5.14 menggambarkan tata letak RDRAM. Konfigurasi terdiri dari pengontrol
dan sejumlah modul RDRAM yang terhubung melalui bus umum. Pengontrol berada di
salah satu ujung konfigurasi, dan ujung bus adalah penghentian paralel jalur bus. Bus ini
mencakup 18 jalur data (16 data aktual, dua paritas) bersepeda dengan kecepatan dua kali
lipat; yaitu, 1 bit dikirim di tepi depan dan mengikuti setiap sinyal clock. Ini menghasilkan
kecepatan sinyal pada setiap baris data 800 Mbps. Ada satu set terpisah dari 8 baris (RC)
yang digunakan untuk sinyal alamat dan kontrol. Ada juga sinyal clock yang dimulai di
ujung dari pengontrol merambat ke ujung pengontrol dan kemudian loop kembali. Modul
RDRAM mengirimkan data ke pengontrol secara sinkron ke jam untuk dikuasai, dan
pengontrol mengirimkan data ke RDRAM secara sinkron dengan sinyal clock ke arah yang
berlawanan. Jalur bus yang tersisa termasuk tegangan referensi, tanah, dan sumber daya.
Pengendali
RDRAM 1 RDRAM 2 ••• RDRAM n
Vterm
INITo
INIT
•••
Bus data [18:0]
RC [7:0]
RClk [2]
TClk [2]
Vref
Gnd (32/18)
Vd(4)
Selai
RAS
CAS
Mend Kolom
Alamat
alamat
ayung alamat
DQS
Cache DRAM
Cache DRAM (CDRAM), yang dikembangkan oleh Mitsubishi [HIDA90, ZHAN01],
mengintegrasikan cache SRAM kecil (16 Kb) ke chip DRAM generik.
SRAM pada CDRAM dapat digunakan dalam dua cara. Pertama, dapat digunakan
sebagai cache sejati, yang terdiri dari sejumlah garis 64-bit . Mode cache CDRAM efektif
untuk akses acak biasa ke memori.
SRAM pada CDRAM juga dapat digunakan sebagai buffer untuk mendukung akses
serial blok data. Misalnya, untuk menyegarkan layar yang dipetakan sedikit, CDRAM dapat
melakukan prefetch data dari DRAM ke buffer SRAM. Akses berikutnya ke chip
menghasilkan akses hanya ke SRAM.
Syarat Utama
cache DRAM (CDRAM) RAM kegagalan keras koreksi kesalahan tunggal,
dinamis (DRAM) nonvolatile memori deteksi kesalahan ganda
ROM yang dapat diprogram programmable ROM Kode (SEC-DED)
secara elektrik (EEPROM) (PROM) kesalahan lunak
ROM yang dapat diprogram DRAM RamBus (RDRAM) RAM statis (SRAM)
dapat disejajai read-mostly memori read-only DRAM sinkron
(EPROM) memory (ROM) memori (SDRAM)
kode koreksi kesalahan (ECC) semikonduktor memori volatil
koreksi kesalahan memori kode koreksi kesalahan tunggal sindrom
flash kode Hamming (SEC)
Tinjau Pertanyaan
5.1Apa sifat kunci dari memori semikonduktor?
5.2Apa dua indera di mana istilah memori akses acak digunakan?
5.3Apa perbedaan antara DRAM dan SRAM dalam hal aplikasi?
5.4 Apa perbedaan antara DRAM dan SRAM dalam hal karakteristik seperti kecepatan, ukuran,
dan biaya?
5.5 Menjelaskan mengapa satu jenis RAM dianggap analog dan yang lainnya digital.
5.6Apa beberapa aplikasi untuk ROM?
5.7Apa perbedaan antara EPROM, EEPROM, dan memori flash?
5.8 Menjelaskan fungsi setiap pin pada Gambar 5.4b.
29
5.5 / ISTILAH UTAMA, PERTANYAAN ULASAN , DAN
MASALAH
Urusan
5.1 Sarankan alasan mengapa RAMs secara tradisional telah diatur hanya sebagai 1 bit per chip
sedangkan ROM biasanya diatur dengan beberapa bit per chip.
5.2 Pertimbangkan RAM dinamis yang harus diberi siklus refresh 64 kali per ms. Setiap operasi
refresh membutuhkan 150 ns; siklus memori membutuhkan 250 ns. Berapa persentase dari
total waktu operasi memori yang harus diberikan untuk penyegaran?
5.3 Gambar 5.16 menunjukkan diagram waktu yang disederhanakan untuk operasi pembacaan
DRAM di atas bus. Waktu akses dianggap berlangsung dari t1 ke t2. Lalu ada waktu
pengisian ulang, yang berlangsung dari t2 hingga t3, di mana chip DRAM harus diisi ulang
sebelum prosesor dapat mengaksesnya lagi.
a. Asumsikan bahwa waktu akses adalah 60 ns dan waktu pengisian ulang adalah 40 ns.
Berapa waktu siklus memori? Berapa kecepatan data maksimum dram ini dapat
mempertahankan, dengan asumsi output 1-bit?
b. Membangun sistem memori selebar 32-bit menggunakan chip ini menghasilkan
kecepatan transfer data?
5.4 Gambar 5.6 menunjukkan cara membangun modul chip yang dapat menyimpan 1 MByte
berdasarkan sekelompok empat chip 256-Kbyte. Katakanlah modul chip ini dikemas
sebagai chip 1-Mbyte tunggal, di mana ukuran kata adalah 1 byte. Berikan diagram chip
tingkat tinggi tentang cara membangun memori komputer 8-Mbyte menggunakan delapan
chip 1-Mbyte. Pastikan untuk menampilkan baris alamat dalam diagram Anda dan untuk
apa garis alamat digunakan.
5.5 Pada sistem Intel 8086-based yang khas, terhubung melalui bus sistem ke memori DRAM,
untuk operasi baca, RAS diaktifkan oleh tepi trailing sinyal Address Enable (Gambar 3.19).
Namun, karena propagasi dan penundaan lainnya, RAS tidak aktif hingga 50 ns setelah
Address Enable kembali ke titik terendah. Asumsikan yang terakhir terjadi di tengah paruh
kedua T1 negara (agak lebih awal dari pada Gambar 3.19). Data dibaca oleh prosesor pada
akhir T3. Namun, untuk presentasi tepat waktu ke prosesor, data harus disediakan 60 ns
lebih awal oleh memori. Interval ini menyumbang
30 BAB 5 / MEMORI INTERNAL
Alamat
Alamat baris Alamat kolom
Baris
RAS
CAS
R/W
Data
Data keluar valid
Baris
t1 t2 t3
A1
A2
A3
CS
n m l k j s h g f e d c b s
a e
R/W y b
a u
D3
a
D2 h
D1
D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1
5.7 Gambar 5.17 menunjukkan salah satu SRAMs awal, chip 16 * 4 Signetics 7489, yang menyimpan 16
kata 4-bit.
a. Cantumkan mode pengoperasian chip untuk setiap pulsa input CS yang ditunjukkan pada Gambar
5.17c.
b. Cantumkan isi memori lokasi kata 0 hingga 6 setelah pulsa n.
c. Bagaimana keadaan data output mengarah untuk pulsa input h melalui m?
5.8 Desain memori 16-bit dari total kapasitas 8192 bit menggunakan chip SRAM ukuran 64 * 1 bit.
Berikan konfigurasi array chip pada papan memori yang menunjukkan semua sinyal input dan output
yang diperlukan untuk menetapkan memori ini ke ruang alamat terendah. Desain harus
memungkinkan akses byte dan kata 16-bit.
5.9 Unit ukuran umum untuk tingkat kegagalan komponen elektronik adalah Kegagalan unIT (FIT),
dinyatakan sebagai tingkat kegagalan per miliar jam perangkat. Ukuran lain yang terkenal tetapi
kurang digunakan adalah waktu rata-rata antara kegagalan (MTBF), yang merupakan waktu rata-
rata operasi komponen tertentu sampai gagal. Pertimbangkan memori 1 MB dari mikroprosesor 16-bit
dengan 256K * 1 DRAMs. Hitung MTBF-nya dengan asumsi 2000 FITS untuk setiap DRAM.
5.10 Untuk kode Hamming yang ditunjukkan pada Gambar 5.10, tunjukkan apa yang terjadi ketika bit
pemeriksaan daripada bit data salah?
5.11 Misalkan kata data 8-bit yang disimpan dalam memori 11000010. Dengan menggunakan algoritma
Hamming, tentukan bit cek apa yang akan disimpan dalam memori dengan kata data. Tunjukkan
bagaimana Anda mendapatkan jawaban Anda.
5.12 Untuk kata 8-bit 00111001, bit cek yang disimpan dengannya adalah 0111. Misalkan ketika kata
dibaca dari memori, bit cek dihitung menjadi 1101.Apa kata data yang dibaca dari memori?
5.13 Berapa banyak bit pemeriksaan yang diperlukan jika kode koreksi kesalahan Hamming digunakan
untuk mendeteksi kesalahan bit tunggal dalam kata data 1024-bit?
5.14 Kembangkan kode SEC untuk kata data 16-bit. Buat kode untuk kata data 0101000000111001.
Tampilkan bahwa kode akan mengidentifikasi kesalahan dengan benar di data bit 5.