pengantar & internal memory
TRANSCRIPT
ARSITEKTUR DAN ORGANISASI KOMPUTER
Aditya Wikan [email protected]
UNIV KRISTEN DUTA WACANA – GENAP 1213 v2
3
Pengantar Memorydan Memory Internal
• A chipset is a set of electronic components in an integrated circuit that manage the data flow between the processor, memory and peripherals, e.g. Determining each bus’ speed comparable to the system clock.
• Chipsets are usually designed to work with a specific family ofmicroprocessors.
• Because it controls communications between the processor and external devices, the chipset plays a crucial role in determining system performance.
Tambahan Topik Bus: tentang Chipset
Main chipset components on a motherboard
• Chipset can limit implementation of instructions known to CPU, due to hardware limitations.
Arus Data Dalam Komputer
Memori (RAM)Memori (RAM)
CPUCPU
StorageStorage
External DevicesExternal Devices
Program, Data
Program, Data,
Alamat
Data, Control, Alamat
Control, dataalamat periferal, alamat memori
Data, Interrupt
Data, Control, Alamat
Modul I/OModul I/O
Data, Control
Data
DMA
Data, Interrupt
Control, dataalamat periferal
Data
Instruksi dari CPU:‐Dikirim sebagai control signal (read, write)‐Instruksi lainnya dikirim dalam bentuk bahas mesin melewati jalur data yang akan diartikan oleh controller peripheral
Overview: Bagaimana Program Dijalankan?
Memori (RAM)
CPU
Instruksi Bahasa Assembly/Mesin, Data
Instruksi Bhs. Assembly/
Mesin (dapat memuat
alamat), Data
Data, Control, Alamat
Data, Control, Alamat
Sistem OperasiSistem Operasi
StorageStorage
Pertama‐tama, user program dalam bentuk instruksi, akan diload dari storage ke memori
Sistem operasi: sebuah perangkat lunak yang berada di memory selama komputer bekerja, bertugas sebagai perantara dan pengatur (manager) proses kerja sama seluruh perangkat lunak dan perangkat keras. Contoh tugasnya adalah mengatur penyimpanan program dalam wujud instruksi dari storage ke memory, supaya dapat dijalankan secara urut oleh CPU
Overview: Bagaimana Program Dijalankan?
Memori (RAM)
CPU
Instruksi Bahasa Assembly/Mesin, Data
Instruksi Bhs. Assembly/
Mesin (dapat memuat
alamat), Data
Data, Control, Alamat
Data, Control, Alamat
Sistem OperasiSistem Operasi
StorageStorage
Kompilasi atau interpretasi: proses menerjemahkan program dari bahasa pemrograman ke bahasa yang dimengerti mesin CPU dan Chipset (instruksi bahasa assembly atau langsung ke bahasa mesin). Hasil kompilasi berupa file bahasa mesin (EXE atau COM pada sistem Windows) yang tidak perlu diterjemahkan ulang, sedangkan interpretasi tidak menghasilkan residu terjemahan. Kompiler atau interpreter biasanya disediakan oleh editor bahasa pemrograman.
Memori (RAM)
CPU
Instruksi Bahasa Assembly/Mesin, Data
Instruksi Bhs. Assembly/
Mesin (dapat memuat
alamat), Data
Data, Control, Alamat
Data, Control, Alamat
Sistem OperasiSistem Operasi
StorageStorage
Setelah berada di RAM, tiap instruksi akan dibaca oleh CPU, disimpan sementara ke dalam register, kemudian diartikan dan dikerjakan dalam instruksi‐instruksi atomik yang sesuai dengan organisasinya.
Jadi ada baiknya sebelum melihat lebih detail bagaimana sebuah program dijalankan, kita lihat terlebih dahulu soal memory yang berperan
R
R
R
Overview: Bagaimana Program Dijalankan?
Internal Memory• Memori yang terikat erat dengan berfungsinya arsitektur dan organisasi sistem ybs.
External Memory• Memori yang tidak terikat erat dengan berfungsinya arsitektur dan organisasi sistem ybs., lebih berfungsi sebagai tempat menyimpan data permanen.
Memory
Internal Memory
External Memory
Register dan Cache (berada di dalam CPU)
Memory
Memory
Semikonduktor (Chip/IC)• Read Only Memory, Random Access Memory, Solid State Device, Register, Cache
Lapisan Induktif Magnetik• Hard Disk, Tape/PitaLapisan Optik Terukir• CD, DVD
Bahan MemoryKarakteristik Bahan:• Seberapa besar kemungkinan rusaknya data
• Gampang dipindahkan atau tidak
• Bisa dihapus atau tidak (erasable)
• Membutuhkan daya atau tidak untuk menyimpan data
Bagaimana Data Disimpan?
01010101010100101010101010
11110101010011111010101001
00101010101010010101010101
0000
0001
0010
101010011101010101001110100011
000001010111100000101011110110
Address Bus LineAddress Bus Line
Data Bus LineData Bus Line
Control Bus LineControl Bus Line
Address Data Word
• Semua data disimpan dalam bentuk bit biner
• Data disimpan dalam satuan word. Tiap memori dapat memiliki ukuran word masing‐masing
• Bagaimana dengan karakter/angka desimal?
Bagaimana Data Disimpan?
01010101010100101010101010
11110101010011111010101001
00101010101010010101010101
0000
0001
0010
101010011101010101001110100011
000001010111100000101011110110
Address Bus LineAddress Bus Line
Data Bus LineData Bus Line
Control Bus LineControl Bus Line
Data Word
• Lebar jalur alamat (address bus) mempengaruhi jumlah ruang data yang dapat dialamati
• Tidak serta merta mengikuti hardware memory
4-bit
4-bit
Bagaimana Data Disimpan?
01010101010100101010101010
11110101010011111010101001
00101010101010010101010101
0000
0001
0010
101010011101010101001110100011
000001010111100000101011110110
Address Bus LineAddress Bus Line
Data Bus LineData Bus Line
Control Bus LineControl Bus Line
• Ukuran maksimum word sama dengan lebar jalur data (data bus), tetapi bisa juga lebih kecil dalam bentuk pembagian basis dua dari lebar jalur data.
• Jika ukuran word lebih kecil, transfer bisa dilakukan dalam beberapa word, disebut block.
16-bit
Addressmaks 16-bit
• Tiap bagian komponen yang secara fisik digunakan untuk menyimpan satu bit data pada sebuah memori disebut dengan memory cell.
• Contoh memory cell:– Satu rangkaian memory cell pada RAM– Satu ceruk pada DVD– Satu petak lapisan terinduksi magnet pada hard disk
Bagaimana Data Disimpan?
• Jika lebar jalur alamat bus adalah 8‐bit, berapa jumlah ruang memori yang dapat dialamati, dan berapa range indeks alamatnya?
• Jika ukuran word sebuah RAM adalah 64‐bit dan jalur data bus yang terhubung dengannya adalah 512‐bit, berapa maksimum banyak word yang dapat terkirim dalam satu blok?
Test Question
• Access time (waktu akses)– Waktu yang dibutuhkan untuk mencari lokasidata dan mengambil data
• Memory Cycle time (waktu siklus)– Waktu yang dibutuhkan memory untuk“recover” sebelum akses berikutnya
– Cycle time adalah access time + recovery time• Transfer Rate (kecepatan transfer)
– Kecepatan perpindahan data hardware
Mengukur Performa
• 1. Registers• 2. L1 Cache• 3. L2 Cache, L3 dan seterusnya…• 4. Main memory – RAM• 5. Solid State Drive – SSD?• 6. Disk cache ‐misal di hard disk• 7. Disk devices• 8. Optical devices• 9. Tape devices
Siapa Paling Cepat?
• Sequential– Mulai dari awal dan membaca (read) sesuai urutan data. Tidak ada alamat spesifik.
– Waktu akses tergantung dari letak data dan letakpointer terakhir
– Contoh: tape (pita magnetik)• Direct
– Setiap block memiliki alamat yang unik– Akses dilakukan dengan melompat (jump) ke alamatblock terdekat kemudian diteruskan secara sequential
– Waktu akses tergantung dari letak data dan letakpointer terakhir
– Contoh: disk
Metode Akses
• Random– Setiap alamat menunjuk ke lokasi word yang pasti– Waktu akses tidak tergantung dari letak data dan letakpointer terakhir
– Contoh: RAM• Associative
– Pencarian lokasi data didasarkan pada perbandingansebagian dari isinya atau mappingnya (located by a comparison with contents of a portion of the store)
– Waktu akses tidak tergantung dari letak data dan letakpointer terakhir
– Contoh: cache
Metode Akses
(1)Internal Memory
Read Only Memory (ROM)• Penyimpanan permanen
– Non‐volatile• Diprogram secara microprogramming (pemrograman
mikroprosessor)• Biasanya untuk menyimpan:
‐ Library subroutines untuk fungsi2 sistem yang seringdipanggil (pada masa dahulu)
‐ Systems programs (BIOS)
Berkembang penggunaannya dalamFlash Disk dan SSD
Jenis‐jenis ROM• Program ditulis pada saat pembuatan (manufaktur) – masks
tidak bisa diubah/dihapus.• Programmable (once)
– PROM (PROgrammable Memory) (OTP‐ROM)– Diprogram dengan alat khusus – biasanya di pabrik MB
• Programmable ‐ Program bisa di tulis ulangUntuk menulis membutuhkan waktu lebih lama dari membaca– Erasable Programmable (EPROM)
• Dihapus dengan UV – semua isi memory– Electrically Erasable (EEPROM)
• Dihapus secara elektrik dg field emission (Fowler‐Nordheimtunneling) – bisa per byte
– Flash memory• Dihapus secara elektrik dg field emission – bisa semua isimemory, bisa per blok
Jenis‐Jenis ROM
EPROM
EEPROM
Flash Memory• Flash memory is an electronic (i.e. no moving parts) non‐
volatile computer storage device that can be electrically erased and reprogrammed.
• Flash memory was developed from EEPROM (electrically erasable programmable read‐only memory). There are two main types of flash memory, which are named after the NAND and NOR logic gates. The internal characteristics of the individual flash memory cells exhibit characteristics similar to those of the corresponding gates.
• NAND type flash memory may be written and read in blocks (or pages) which are generally much smaller than the entire device. The NOR type allows a single machine word (byte) to be written or read independently.
Flash Memory• Generally faster to read than to write• Micron Technology and Sun Microsystems announced an SLC NAND flash memory chip rated for 1,000,000 P/E cycles on 17 December 2008
Random Access Memory (RAM)– Operasi: Baca & Tulis (Read & Write)– Volatile (membutuhkan daya untuk menyimpan data)– Sarana penyimpanan temporer saja– Bersifat static atau dynamic– Secara fisik terdiri atas sel‐sel memory, satu sel dapatmenyimpan satu bit
Operasi padaSel-sel memory
Dynamic RAM (DRAM)• ANALOG (Menggunakan KAPASITOR), besar kecilnya
muatan menentukan nilai data 0 atau 1• Bit data disimpan sebagai muatan (charge) di dalam
kapasitor• Muatan cenderung bocor (berkurang)• Membutuhkan refreshing, meskipun dalam kondisi ada
daya (power on)Membutuhkan adanya sirkuit untuk refreshLebih lambat
• Konstruksi lebih sederhana, lebih murah biayanya• Tempat yang dipakai per bitnya lebih kecil• Paling umum dipakai sebagai main memory
Kapasitor
Muatan kapasitor
waktu
1
0
t=1 t=2 t=3 t=4
WRITE
Bagaimana Me‐refresh DRAM• Dengan refresh circuit yang
terintegrasi dalam controller chip, melakukan refresh tiap interval tertentu sebelum waktu paruh yang dapat merubah data.
• Cara kerja:1. Disable chip (chip dibuat tidakbisa diakses untuk sementara)2. Count through rows (dilakukanper baris sel‐sel memory):3. Read & Write back (Baca dan tulislagi ke alamat yang sama)
• Hal ini membutuhkan waktu danmemperlambat kinerja
Muatan kapasitor
waktu
1
0
t=1 t=2 t=3 t=4READ WRITEWRITE
Static RAM (SRAM)• DIGITAL (Menggunakan rangkaian flip‐flop)• Bits disimpan sebagai switch on/off (secara logika)• Tidak memakai tegangan yang dapat bocor, sehingga
tidak membutuhkan refreshing selama ada daya(powered), lebih cepat
• Konstruksi lebih rumit• Ukuran memory cell
lebih besar• Lebih mahal• Biasanya untuk cache
Kesimpulan SRAM vs DRAM• Keduanya volatile
– Membutuhkan daya untuk menyimpan data• Dynamic cell
– Lebih gampang dibuat dan lebih kecil– Lebih padat (lebih banyak bit bisa disimpan)– Memungkinkan dibuat keping memory bersatuanbesar
– Murah– Tapi butuh refresh
• Static cell– Lebih cepat, tidak butuh refresh, tapi mahal– Hanya untuk cache
Synchronous DRAM (SDRAM)• Akses disinkronisasikan dengan external clock (biasanya
system clock / clock CPU)• Pada proses pembacaan data dari RAM:
1. RAM dikirim alamat yg akan dibaca2. RAM mencari data Pada DRAM konvensional, CPU akan menunggu3. Pada SDRAM, karena proses perpindahan data sudahdijadwalkan, CPU tahu kapan data siap, sehingga CPU tidakharus menunggu, bisa mengerjakan hal lain dulu selamainterval tunggu ‐ Column Address Strobe (CAS) latency
• Burst mode (kalau ada) membuat SDRAM dapat melakukanstream data dengan mengirimnya dalam bentuk blok serial
• Double Data Rate (DDR)‐SDRAM mengirim data dua kali per satu siklus clock
CAS Latency (in simple)• Access time spesifik pada RAM
clocks
Controller receives read signal and address from input pin
Data lookup and retrieval from chips (“lookup between columns”)
Data ready in output pin
t=0
t=n
Contoh Burst Mode SDRAM
Selingan: Hendak Tahu Lebih Banyak?
• Ketika ingin tahu lebih banyak mengenai spesifikasihardware, lihat di mana?
Packaging A: Address PinD: Data PinVcc: Power Supply PinCAS: Column Address
Select
Vss: Ground pinVpp: Program voltage pinCE: Chip enable pinRAS: Row Address
Select
Organisasi Memory• Kenapa ada beberapa chip semikonduktor (IC) dalamsekeping memory?
• SISTEM A BIT PER CHIP• Sekeping memory 16Mbit bisa diorganisasikansebagai 1M kali 16 bit words
• Sistem “A bit per chip” punya 16 lot x 1Mbit chip dengan bit pertama tiap word ada di chip 1, bit ke 2 ada di chip 2 dan seterusnya
• Berkembang menjadi multiple bits per chip
Organisasi Memory• Namun, sekeping memory 16Mbit juga dapatdiorganisasikan dalam 2048 x 2048 x 4bit array (multiplexed)
• Cara ini dapat mengurangi jumlah pin alamat• Multiplex row address and column address• 11 pins to address (211=2048)• Adding one more pin doubles range of values so x4 capacity
Organisasi Memory
• A Bit Per Chip
• Multiplexed2^4 storage words = 4 pins
2^4 storage words = 2 pins, receiving 2 bit column, then 2 bit row number
RAMBUS® RDRAM• Dahulu Diadopsi Intel untuk seri Pentium keatas• (Tadinya) Kompetitor SDRAM & DDR gagal karena
skandal• Adalah DDR dengan Bus khusus DRAM, pertukaran data
lewat 28 kabel dengan panjang < 12 cm. CPU request data ke controller RDRAM
• Bus mengalamati sampai 320 RDRAM chips dengankecepatan 1.6Gbps (480ns access time)
Ringkasan Tipe‐tipe Memory Semikonduktor
(2)Hamming Error Correcting Code
Error Correction
• Error di memory: kerusakan data: macet di 0 atau 1, atau berubah‐ubah antara 0 dan 1
• Jenis Error: Hard Failure– Bersifat permanen, fisik, disebabkan penggunaanyang tidak semestinya, cacat pabrik atau usia
• Jenis Error: Soft Error– Random, non‐destructive– Tidak permanen, disebabkan masalah power supply
Error Correction
• CPU tahu mengubah bit yang salah jadi yang benar:0 jadi 11 jadi 0
• Masalahnya, dia tidak tahu bit mana yang harus diubah!!
• Untuk itulah ada Hamming Error Correcting Code (Hamming ECC)
• Fungsi ECC disimpan bersama data di memory
Fungsi Error Correction
f: fungsi error correctionM: data sebanyak M-bitK: K-bit kode hasil perhitungan fungsi
Sebenarnya disimpan di memory:M-bit data + K-bit kode
Hamming Error Correcting Code• Diciptakan Richard Hamming di Bell Laboratories pada 1950
• Mekanisme pendeteksian kesalahan denganmenyimpan parity check bit (bit cek paritas) bersama bit‐bit data asli sebagai penanda poladata, untuk memeriksa apakah ada data yang berubah
• Pemikiran dasar: dari serentetan bit data pastibisa didapatkan sebuah ciri yang menunjukkanketerhubungan antar data. Ciri tersebut disimpansebagai check bit
Hamming Error Correcting Code• Misal ada 4 bit data biner• Jika 4 bit data tersebut dianggap sebagai anggotatunggal perpotongan himpunan, berartidibutuhkan 3 buah himpunan
Hamming Error Correcting Code• Buat aturan yang menyatakan hubungan antaraperpotongan himpunan dengan seluruh anggotadalam himpunan itu sendiri
• Misal jumlah angka 1 dalam sebuah himpunanharus genap dan anggota tiap himpunan harus 4
Hamming Error Correcting Code• Buat aturan yang menyatakan hubungan antaraperpotongan himpunan dengan seluruh anggotadalam himpunan itu sendiri
• Misal jumlah angka 1 dalam sebuah himpunanharus genap
Hamming Error Correcting Code• Buat aturan yang menyatakan hubungan antaraperpotongan himpunan dengan seluruh anggotadalam himpunan itu sendiri
• Misal jumlah angka 1 dalam sebuah himpunanharus genap
Hamming Error Correcting Code• Buat aturan yang menyatakan hubungan antaraperpotongan himpunan dengan seluruh anggotadalam himpunan itu sendiri
• Misal jumlah angka 1 dalam sebuah himpunanharus genap
Hamming Error Correcting Code• Simpan anggota himpunan yang tidakberpotongan sebagai parity check bit
• Gunakan bit penanda yang telah disimpan denganmembandingkan hasil perhitungan bit penandasetelah data dibaca, untuk menentukan letakkesalahan bit
• Dari contoh sebelumnya:Parity Check Bit: 0 1 0
Hamming Error Correcting Code IdeaHow to Use?
Hamming Error Correcting Code IdeaHow to Use?
Hamming Error Correcting Code IdeaHow to Use?
Hamming Error Correcting Code IdeaHow to Use?
Hamming Error Correcting Code IdeaHow to Use?
Implementasi Hamming• Untuk tiap 8 bit data D, pada posisi bit dimana posisi angka
biner 1 hanya sebuah, disisipkan satu check bit C• Data yang disimpan
menjadi 12 bit
Implementasi Hamming
• Aturan untuk menentukan C:C1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7C2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7C4 = D2 ⊕ D3 ⊕ D4 ⊕ D8C8 = D5 ⊕ D6 ⊕ D7 ⊕ D8
Implementasi Hamming
• Kemudian check bits yang didapat saat data disimpan di⊕‐kan dengan check bits saatpembacaan.
• Bilangan biner yang didapat menunjukkan letakbit data yang salah, kemudian bit yang salah diNOT‐kan
Implementasi Hamming• Contoh, Write data ke memory:1 0 1 0 0 1 0 1
• Tentukan C:C1 = 1 ⊕ 0 ⊕ 0 ⊕ 0 ⊕ 0C2 = 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1C4 = 0 ⊕ 1 ⊕ 0 ⊕ 1C8 = 0 ⊕ 1 ⊕ 0 ⊕ 1
• Hasil:C1 = 1 C2 = 0C4 = 0C8 = 0
C1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7C2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7C4 = D2 ⊕ D3 ⊕ D4 ⊕ D8C8 = D5 ⊕ D6 ⊕ D7 ⊕ D8
Implementasi Hamming• Contoh, Read data dari memory:1 0 1 0 1 1 0 1
• Tentukan C:C1 = 1 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 0C2 = 1 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 1C4 = 0 ⊕ 1 ⊕ 1 ⊕ 1C8 = 0 ⊕ 1 ⊕ 0 ⊕ 1
• Hasil:C1 = 0 C2 = 1C4 = 1C8 = 0
C1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7C2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7C4 = D2 ⊕ D3 ⊕ D4 ⊕ D8C8 = D5 ⊕ D6 ⊕ D7 ⊕ D8
Implementasi Hamming• Hasil Parity Check bit Write dan Read di‐XOR kan
C8 C4 C2 C10 0 0 10 1 1 0‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ⊕0 1 1 1
• Desimal dari 0111 = 7
• Posisi bit ke 7 dari data yang sudah tersisipkan oleh Parity Check Bit adalah D4
Implementasi Hamming• Desimal dari 0111 = 7
• Posisi bit ke 7 dari data yang sudah tersisipkan oleh Parity Check Bit adalah D4
• Data Read:D8 D7 D6 D5 D4 D3 D2 D1
1 0 1 0 1 1 0 1• Data yang Benar:
1 0 1 0 0 1 0 1
(3)Extra Slides, Belajar Mandiri
Struktur Memory Cell DRAM
Operasi pada DRAM• Address line aktif ketika sebuah bit dibaca/ditulis
– Switch transistor ditutup (arus mengalir)• Write (Tulis)
– Beri voltase (tegangan) ke bit line• Tinggi untuk 1, rendah untuk 0
– Kemudian beri sinyal ke address line• Tegangan diteruskan ke kapasitor
• Read (Baca)– Address line dipilih
• transistor menjadi on– Tegangan dari kapasitor disalurkan ke sense amplifier melaluibit line
• Bandingkan dengan nilai referensi untuk menentukanapakah tegangan termasuk 0 or 1
– Setelah itu, tegangan kapasitor dipulihkan
Struktur Memory Cell SRAM
Cara Kerja Static RAM• Penataan transistor menghasilkan sebuah kondisi logika
(logic state) yang stabil• State 1
– C1 high, C2 low– T1 T4 off, T2 T3 on
• State 0– C2 high, C1 low– T2 T3 off, T1 T4 on
• Mau baca/tulis: Address line transistor T5 T6 di‐on kan• Write – apply value to B & compliment to B• Read – value is on line B
Cara Akses 16 Mbit DRAM (4M x 4)RAS: Row Address SelectCAS: Column Address SelectWE: Write EnableOE: Output Enable
OrganisasiModul Memory
Seandainya sebuah chip RAM hanya berkapasitas 1 bit per wordnya, maka akandibutuhkan sejumlah n-chip untuk menampung sebuahword berukuran n-bit.
Jika 1 word berukuran 8-bit, makaDibutuhkan 8 buah chip dalam satumodul
Contoh di kanan:1 chip terorganisasi dalam 512 baris x 512 kolom x 1 bitUntuk itu pengalamatannyamembutuhkan 18 bit (29 x 29)(512 = 29)
256Kbyte memory
Organisasi Modul Memory (2)
1Mbyte memory
• Topik Berikutnya: • Memori Eksternal (belajar mandiri)
Buatlah paper berkelompok mengenai External Memory:Apa saja jenis yang anda ketahui, kemudian dari tiap jenis terangkan:Apa bahan pembuatnya, bagaimana data disimpan dalam tiap‐tiap memory cellnya, apa kelebihan dan kekurangannya, bagaimana performanya, adakah saran pengembangan dari kelompok anda untuk jenis memory tersebut. Cantumkan pustaka yang anda gunakan.Bawalah minggu depan dalam bentuk hard copy, kumpulkan, kemudian dari saya akan menunjuk secara acak anggota tiap kelompok untuk menjawab pertanyaan berdasarkan isi paper yang anda buat.
• Memory‐memory dalam Prosesor
Demikian Materi Hari Ini