tugas arkom_pipeline

41
ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan Mahastama [email protected] UNIV KRISTEN DUTA WACANA GENAP 1213 5 Memori dalam CPU: Register dan Cache

Upload: nofitri-heriyani

Post on 30-Dec-2014

17 views

Category:

Documents


0 download

DESCRIPTION

PIPELINE_ARKOM

TRANSCRIPT

Page 1: TUGAS ARKOM_PIPELINE

ARSITEKTUR DAN ORGANISASI KOMPUTER

Aditya Wikan [email protected]

UNIV KRISTEN DUTA WACANA – GENAP 1213

5

Memori dalam CPU:Register dan Cache

Page 2: TUGAS ARKOM_PIPELINE

• A processor register is a small amount of storage available as part of a CPU or other digital processor

• Such registers are (typically) addressed by mechanisms other than main memory and can be accessed more quickly register naming

• Almost all computers load data from a larger memory into registers where it is used for arithmetic, manipulated, or tested, by some machine instruction

REGISTER

Page 3: TUGAS ARKOM_PIPELINE

• User Accessible Registers: bisa diakses langsung oleh pengguna melalui instruksi bahasa mesin/assembly, biasanya pengalamatannya dinamakan X, Y, Z, dsb.

• Data Registers: register yang digunakan untuk menampung data berupa bilangan maupun instruksi, biasanya integer. Untuk pecahan ada FP (Floating Point) register

• Address Registers: register yang hanya dapat menampung sebuah alamat

JENIS REGISTER

Page 4: TUGAS ARKOM_PIPELINE

• PC: Program Control Register

• AC: Accumulator Register

• IR: Instruction Register

• MAR: Memory Address Register

• MBR: Memory Buffer Register

• AX, BX, CX, DX

CONTOH REGISTER

Page 5: TUGAS ARKOM_PIPELINE

POSISI REGISTER

Page 6: TUGAS ARKOM_PIPELINE

CONTOH REGISTER PADA PROSESOR

Page 7: TUGAS ARKOM_PIPELINE

• Sebagian program mempunyai instruksi yang cenderung mengambil data dari alamat yang sama berkali-kali. Misal: menyimpan variabel, kemudian dilakukan loop.

• Kalau untuk data yang sama harus mencari lokasi alamat ke memory lagi, berarti buang-buang waktu

• Bagaimana seandainya data yang sering diakses, disimpan di dalam memory, tetapi harus static (punya jalur langsung ke CPU), agar lebih cepat Cache

CACHE

Page 8: TUGAS ARKOM_PIPELINE

• Sejumlah kecil memory berkecepatan tinggi

• Terdiri dari slot-slot berukuran masing-masing satu block memory

• Satu block biasanya terdiri dari 4 s/d 16 words

• Bekerja antara main memory dan CPU

• Bisa terletak di chip CPU atau pada modul tersendiri

CACHE

Page 9: TUGAS ARKOM_PIPELINE

ORGANISASI CACHE PADA UMUMNYA

Page 10: TUGAS ARKOM_PIPELINE

BAGAIMANA CACHE BEKERJA?

• Saat CPU meminta alamat sebuah lokasi memory, cache dicek untuk data tersebut

• Kalau ada, ambil dari cache (cepat)

• Kalau tidak ada, ambil data dari memory, simpan ke dalam slot cache, kemudian teruskan data dari cache ke CPU

• Pada saat menyimpan ke slot, cache memberikan tag dari blok memory mana data tersebut berasal, untuk referensi berikutnya.

Page 11: TUGAS ARKOM_PIPELINE

• Semakin besar cache, semakin bagus, karena akses data akan semakin cepat

• Tapi untuk membuat cache yang besar, biayanya akan sangat mahal

• Cache akan selalu berukuran kecil, dan hanya menyimpan data-data berfrekuensi akses tinggi saja.

• Akan selalu butuh metode MAPPING

• Akan selalu butuh WRITE POLICY

SIZE DOES MATTER

Page 12: TUGAS ARKOM_PIPELINE

• Satu word data dari main memory akan di-mapping ke satu slot/baris cache

Alamat main memory akan dibagi menjadi:

• w bit LSB mewakili nomor word dalam 1 block

• s bit MSB mewakili block

• MSB kemudian diambil r bit sebagai penanda baris cache, sisanya (s-r) sebagai tag (penanda)

DIRECT MAPPING

Page 13: TUGAS ARKOM_PIPELINE

Tag s-r Line or Slot r Word w

8 14 2

• 24 bit address

• 2 bit word identifier (4 word per block)

• 22 bit block identifier

– 8 bit tag (=22-14)

– 14 bit slot or line

• Check contents of cache by finding LINE and checking TAG

DIRECT MAPPING – Struktur Alamat

Page 14: TUGAS ARKOM_PIPELINE

Tag s-r Line or Slot r Word w

8 14 2

DIRECT MAPPING – Asal Pembagian Bit

Line Tag Data

0000

0001

0010

0011

.

.

.

CACHE

Jumlahbariscache

Block pengiriman RAM

Jumlahword

s

Page 15: TUGAS ARKOM_PIPELINE

DIRECT MAPPING – Organisasi Cache

Page 16: TUGAS ARKOM_PIPELINE

• Simpel & sederhana

• Tidak borosresource

• Alamat mapping tiapword ke cache sama

• Kalau ada beberapablok berbeda yangmenempati line/slotyang sama, peluang

CACHE MISS lebihbesar

DIRECT MAPPING – Contoh

Page 17: TUGAS ARKOM_PIPELINE

• Panjang alamat = (s + w) bits

• Jumlah unit yang dapat dialamati = 2s+w

words or bytes

• Besar blok = besar baris = 2w words or bytes

• Jumlah blok pada main memory = 2s+ w/2w = 2s

• Jumlah baris di cache = m = 2r

• Ukuran tag = (s – r) bits

DIRECT MAPPING FACTS

Page 18: TUGAS ARKOM_PIPELINE

• Satu word data dari main memory akan di-mapping ke satu slot/baris cache

Alamat main memory akan dibagi menjadi:

• w bit LSB mewakili nomor word dalam 1 block

• s bit MSB sebagai Tag yang mewakili 1 block

• Tag disimpan sebagai penanda dari block mana di memory, data tersebut berasal.

ASSOCIATIVE MAPPING

Page 19: TUGAS ARKOM_PIPELINE

Tag 22 bitWord

2 bit

• 24 bit address

• 2 bit word identifier (4 word per block)

• 22 bit tag identifier

• Check contents of cache by finding TAG

ASSOCIATIVE MAPPING – Struktur Alamat

Page 20: TUGAS ARKOM_PIPELINE

ASSOCIATIVE MAPPING – Organisasi Cache

Page 21: TUGAS ARKOM_PIPELINE

• Lebih banyak bityang disimpan sebagaipenanda

• Lebih boros resourcekarena harus mencaridari line paling atasdengan mencocokkantiap-tiap tag

ASSOCIATIVE MAPPING – Contoh

Page 22: TUGAS ARKOM_PIPELINE

• Panjang alamat = (s + w) bits

• Jumlah unit yang dapat dialamati = 2s+w

words or bytes

• Besar blok = Besar baris = 2w words or bytes

• Jumlah blok di main memory = 2s+ w/2w = 2s

• Jumlah baris di cache = bebas

• Ukuran tag = s bits

ASSOCIATIVE MAPPING FACTS

Page 23: TUGAS ARKOM_PIPELINE

• Satu word data dari main memory akan di-mapping ke slot mana saja di cache dalam baris set yang sama

Alamat main memory akan dibagi menjadi:

• w bit LSB mewakili nomor word dalam 1 block

• s bit MSB mewakili block

• MSB kemudian diambil r bit sebagai penanda baris set cache, sisanya (s-r) sebagai tag (penanda)

SET ASSOCIATIVE MAPPING

Page 24: TUGAS ARKOM_PIPELINE

• 24 bit address

• 2 bit word identifier (4 word per block)

• 22 bit block identifier– 9 bit tag (=22-13)

– 13 set number, each having 2 slots

• Check contents of cache by finding SET and checking TAG

Tag 9 bit Set 13 bitWord

2 bit

SET ASSOCIATIVE MAPPING – Struktur Alamat

Page 25: TUGAS ARKOM_PIPELINE

Tag 9 bit Set 13 bitWord

2 bit

SET ASSOCIATIVE MAPPING – Asal Pembagian Bit

Tag Data

CACHE

Jumlahbaris(set)cache Block pengiriman

RAM

Jumlahword

Tag DataSet

0000

0001

0010

0011

.

.

.

ways

Page 26: TUGAS ARKOM_PIPELINE

TWO-WAY SET ASSOCIATIVE – Contoh

Page 27: TUGAS ARKOM_PIPELINE

• Menggabungkan kelebihan direct mapping dan associative mapping

TWO-WAY SET ASSOCIATIVE – Contoh

Page 28: TUGAS ARKOM_PIPELINE

• Panjang Alamat = (s + w) bits

• Jumlah unit yang bisa dialamatkan = 2s+w

words or bytes

• Besar blok = besar baris = 2w words or bytes

• Jumlah blok di main memory = 2d

• Jumlah baris dalam sebuah set = k

• Jumlah set = v = 2d

• Jumlah baris dalam satu cache = kv = k * 2d

• Ukuran tag = (s – d) bits

SET ASSOCIATIVE MAPPING FACTS

Page 29: TUGAS ARKOM_PIPELINE

• Tidak ada pilihan

• Tiap word dari sebuah blok hanya dapat terpetakan pada satu baris tertentu

• Jika ada data baru yang akan disimpan dalam cache, replace baris tersebut

ALGORITMA REPLACEMENT– Direct Mapping

Page 30: TUGAS ARKOM_PIPELINE

• Implementasi algoritma bisa langsung secara hardware (cepat)

• Least Recently Used (LRU)Misal pada 2 way set associative– Mana dari kedua slot yang is LRU?

• First In First Out (FIFO)– Replace slot yang paling lama berada di cache

• Least Frequently Used (LFU)– Replace slot yang memiliki hit paling rendah

• Random

ALGORITMA REPLACEMENT– Associative & Set Associative

Page 31: TUGAS ARKOM_PIPELINE

• Mengapa butuh write policy? Karena bisa saja data yang tadi diload ke cache, terupdate oleh proses di CPU

• Demi keamanan data, jangan overwrite isi cache kecuali jika main memory sudah di-update

• Agar tidak berebut, multiple CPU (satu komputer dengan > 1 CPU, yang dapat berupa CPU terpisah maupun multi-core) bisa memiliki cache masing-masing

WRITE POLICY

Page 32: TUGAS ARKOM_PIPELINE

• Write terhadap update data dilakukan baik ke main memory maupun cache

• CPU bisa memonitor traffic main memory untuk menjaga agar cache selalu up to date

• Kekurangan:– Traffic data

– Memperlambat proses write

WRITE POLICY: WRITE THROUGH

Page 33: TUGAS ARKOM_PIPELINE

• Write terhadap update data, awalnya hanya dilakukan pada data di cache (update bit pada baris cache di-set ketika terjadi update)

• Jika slot data tersebut akan terkena replace, baru tuliskan update ke main memory

• Sisi negatif:– Cache terlambat tersinkronisasi– I/O harus mengakses main memory melewati

cache– 15% pembacaan memory adalah write

WRITE POLICY: WRITE BACK

Page 34: TUGAS ARKOM_PIPELINE

• 80386 – no on chip cache• 80486 – 8k using 16 byte lines and four way set

associative organization• Pentium (all versions)

– two on-chip L1 caches for Data & instructions• Pentium 4 – L1 caches

– 8k bytes– 64 byte lines– four way set associative

• L2 cache – Feeding both L1 caches- 256k– 128 byte lines– 8 way set associative

CONTOH: PENTIUM 4 CACHE

Page 35: TUGAS ARKOM_PIPELINE

UKURAN CACHE

Page 36: TUGAS ARKOM_PIPELINE

ARSITEKTUR PENTIUM 4

Page 37: TUGAS ARKOM_PIPELINE

INTEL CORE i3

Page 38: TUGAS ARKOM_PIPELINE

INTEL CORE i5

Page 39: TUGAS ARKOM_PIPELINE

INTEL CORE i7

Page 40: TUGAS ARKOM_PIPELINE

ARSITEKTUR INTEL CORE i3

Page 41: TUGAS ARKOM_PIPELINE

Topik Berikutnya: Program dan Interrupt

Demikian Materi Kali Ini