Arsitektur komputer adalah atribut atribut sebuah sistem komputer, dilihat dari sudut pandang
seorang programmer.
seorang programmer.
Dalam hal ini struktur konseptual dan perilaku fungsional sistem komputer.
• Struktur konseptual menyangkut bagaimana komponen komponen tersebut disalinghubungkan
(diinterkoneksikan).
(diinterkoneksikan).
• Perilaku fungsional (fungsional behaviour ) menyangkut fungsi komponen-komponen secara individual,
dan sebagai bagian dari struktur (aliran informasi dan kendali antar komponen-komponen dalam
struktur).
Fungsi fungsi dasar sebuah sistem komputer
- Data processing
- Data storage
- Data movement
- Control
Generasi Komputer Berdasarkan Teknologi
Teknologi IC
• Vacuum tube - 1946-1957
• Transistor - 1958-1964
• Small Scale Integration - 1965 on
– Up to 100 devices on a chip
• Medium Scale Integration - to 1971
– 100-3,000 devices on a chip
• Large Scale Integration - 1971-1977
– 3,000 - 100,000 devices on a chip
• Very Large Scale Integration - 1978 to date
– 100,000 - 100,000,000 devices on a chip
• Ultra Large Scale Integration
– Over 100,000,000 devices on a chip
Pentium Evolution
• 8080
– first general purpose microprocessor
– 8 bit data path
– Used in first personal computer – Altair
• 8086
– much more powerful
– 16 bit
– instruction cache, prefetch few instructions
– 8088 (8 bit external bus) used in first IBM PC
• 80286
– 16 Mbyte memory addressable
– up from 1Mb
• 80386
– 32 bit
– Support for multitasking
• 80486
– sophisticated powerful cache and instruction pipelining
– built in maths co-processor
• Pentium
– Superscalar
– Multiple instructions executed in parallel
• Pentium Pro
– Increased superscalar organization
– Aggressive register renaming
– branch prediction
– data flow analysis
– speculative execution
• Pentium II
– MMX technology
– graphics, video & audio processing
• Pentium III
– Additional floating point instructions for 3D graphics
• Pentium 4
– Note Arabic rather than Roman numerals
– Further floating point and multimedia enhancements
• Itanium
– 64 bit
– 32 bit
Struktur Dasar Komputer
Fungsi Komponen
- Data processing CPU
- Control
- Data movement I/O unit
- Data storage Memory
SET INSTRUKSI
Instruction Set, atau Instruction Set Architecture (ISA) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data, jenis instruksi, jenis register, mode peng-alamatan, arsitektur memory, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).
Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karena aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.
Operation Code (opcode) : menentukan operasi yang akan
dilaksanakan.
Source Operand Reference : merupakan input bagi operasi
yang akan dilaksanakan.
Result Operand Reference : merupakan hasil dari operasi
yang dilaksanakan.
Next instruction Reference : memberitahu CPU untuk
mengambil (fetch) instruksi
berikutnya setelah instruksi
yang dijalankan selesai.
Storage dari Source dan result operands reference dapat berupa salah satu diantara tiga jenis berikut ini:
Ø Main or Virtual Memory
Ø CPU Register
Ø I/O Device
Jenis instruksi
• Data processing: Arithmetic dan Logic Instructions.
• Aritmetik (ADD, SUB, dsb) dan Logic (AND, OR, NOT, SHR, dsb);
• Data storage: Memory instructions. Transfer data (STOR, LOAD, MOVE, dsb)
• Data Movement: I/O instructions. Input dan Output ke modul I/O
Control: Test and branch instructions
Beberapa simbolik instruksi:
ADD : Add (jumlahkan) STOR : Simpan data ke
register/memory
register/memory
SUB : Subtract (Kurangkan) LOAD : Load data dari
register/memory
register/memory
MPY/MUL : Multiply (Kalikan) SHL : Shift kiri data .dan lain-
lain
lain
DIV : Divide (Bagi) SHR : Shift kanan data
MOVE : Pindahkan data
dari satu tempat
ke tempat lain
dari satu tempat
ke tempat lain
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi instruksi)
3. Kompatibilitas :
- Source code compatibility
- Object code Compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut :
1. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
2. Data Types: tipe/jenis data yang dapat olah oleh Instruction Format: panjangnya, banyaknya alamat, dsb.
3. Register: Banyaknya register yang dapat digunakan
4. Addressing: Mode pengalamatan untuk operand
Jenis – jenis operand seperti :
1. Addresses modes
2. Numbers : - Integer or fixed point
- Floating point
- Decimal (BCD)
3. Characters: - ASCII (American Standard Code for Information
3. Characters: - ASCII (American Standard Code for Information
Interchange)
- EBCDIC (Extended Binary Coded Decimal Interchange Code)
4. Logical Data : Bila data berbentuk binary: 0 dan 1
Operasi set instruksi untuk transfer data :
• MOVE : Memindahkan word atau blok dari sumber ke tujuan
• STORE : Memindahkan word dari prosesor ke memori.
• LOAD : Memindahkan word dari memori ke prosesor.
• EXCHANGE : Menukar isi sumber ke tujuan.
• CLEAR / RESET : Memindahkan word 0 ke tujuan.
• SET : Memindahkan word 1 ke tujuan.
• PUSH : Memindahkan word dari sumber ke bagian paling atas stack.
• POP : Memindahkan word dari bagian paling atas sumber
Tindakan CPU untuk melakukan operasi arithmetic :
1. Transfer data sebelum atau sesudah.
2. Melakukan fungsi dalam ALU.
3. Menset kode-kode kondisi.
Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan 5. ABSOLUTE
2. SUBTRACT : pengurangan 6. NEGATIVE
3. MULTIPLY : perkalian 7. DECREMENT
4. DIVIDE : pembagian 8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal.
Bentuk instruksi:
Format instruksi 3 alamat
Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan ada pengunaanya, dalam peongoprasianya banyak register sekaligus dan program lebih pendek.
Contoh:
A, B, C, D, E, T, Y adalah register
Program : Y = (A – B) / ( C + D × E)
SUB Y, A, B Y := A – B
MPY T, D, E T := D × E
ADD T, T, C T := T + C
DIV Y, Y, T Y:= Y / T
Memerlukan 4 operasi
CACHE MEMORY
Overview Cache Memory
• Cache memory adalah memori sesaat yang memiliki kecepatan tinggi dengan ukuran yang kecil. Memori ini bertugas untuk menyimpan salinan perintah / instruksi yang selalu diakses oleh CPU. Tugas Cache memory adalah sebagai penghubung perbedaan kecepatan antara CPU dan Memori Utama.
• Dalam implementasinya jenis memori yang digunakan untuk cache adalah statik RAM (SRAM).
Operasi Cache
Jika prosesor membutuhkan suatu data, pertama prosesor akan mencarinya pada cache. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah.
Karakteristik Cache Memory
• Kapasitas relatif lebih kecil dari main memory, tetapi memiliki kecepatan yang relativ lebih tinggi
dibanding main memory.
dibanding main memory.
• Cache memory merupakan suatu memori buffer (salinan data) bagi memori utama.
• Meskipun cache menggunakan informasi yang tersimpan dalam memori utama, tetapi ia tidak
berhadapan secara langsung dengan memori utama.
berhadapan secara langsung dengan memori utama.
• Word yang disimpan didalam cache memory adalah word yang diambil dari main memory, yang
dikerjakan sesuai perintah CPU.
dikerjakan sesuai perintah CPU.
Cache Design
• Ukuran cache
• Pemetaan (Mapping Function)
• Algoritma Penggantian (Replacement Algorithm)
• Write Policy
• Ukuran Blok
• Jumlah Cache
Ukuran Cache
Menentukan ukuran cache memory sangat penting untuk mendongkrak kinerja komputer. Dari segi harga cache memory sangat, mahal tidak seperti memori utama. Semakin besar kapasitas cache tidak berarti semakin cepat prosesnya, dengan ukuran besar akan terlalu banyak gate pengalamatannya sehingga akan memperlambat proses.
Level Cache Memory
• Cache memory memori level 1 (L1) adalah cache memory yang terletak dalam prosesor (internal cache).
Cache memory ini memiliki kecepatan akses paling tinggi. Ukuran memori berkembang mulai dari 8KB,
64KB dan 128KB.
Cache memory ini memiliki kecepatan akses paling tinggi. Ukuran memori berkembang mulai dari 8KB,
64KB dan 128KB.
• Cache memory level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256KB sampai
dengan 2MB. Namun, cache memory L2 ini memiliki kecepatan yang lebih rendah dari cache memory L1. Cache memory L2 terletak terpisah dengan prosesor atau disebut dengan external cache.
dengan 2MB. Namun, cache memory L2 ini memiliki kecepatan yang lebih rendah dari cache memory L1. Cache memory L2 terletak terpisah dengan prosesor atau disebut dengan external cache.
• Cache memory level 3 (L3) hanya dimiliki oleh prosesor yang memiliki unit lebih dari satu misalnya
dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari tembolok L2 dari
masing-masing inti prosesor.
dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari tembolok L2 dari
masing-masing inti prosesor.
Pemetaan
Karena saluran cache memory lebih sedikit dibandingkan dengan blok memori utama, maka diperlukan algoritma untuk pemetaan blok memori utama ke dalam saluran cache memory. Pemilihan terhadap fungsi pemetaan akan sangat menentukan bentuk organisasi cache memory. Telah kita ketahui bahwa cache memory mempunyai kapasitas yang kecil dibandingkan memori utama. Sehingga diperlukan aturan blok-blok mana yang diletakkan dalam cache memory.
Teknik Pemetaan
• Direct mapping
• Fully associative mapping
• Set associative mapping
Direct Mapping
Keuntungan menggunakan Direct Mapping antara lain:
• Mudah dan murah diimplementasikan.
• Mudah untuk menentukan letak salinan data main memory pada cache.
Kerugian menggunakan Direct Mapping antara lain:
• Setiap blok main memory hanya dipetakan pada 1 line saja.
• Terkait dengan sifat lokal pada main memory, sangat mungkin mengakses blok yang dipetakan pada line yang sama pada cache. Blok seperti ini akan menyebabkan seringnya sapu masuk dan keluar data ke/dari cache, sehingga hit ratio mengecil. Hit ratio adalah perbandingan antara jumlah ditemukannya
data pada cache dengan jumlah usaha mengakses cache.
Full associative mapping
• Memungkinkan blok diletakkan di sebarang line yang sedang tidak terpakai.
• Diharapkan akan mengatasi kelemahan utama Direct Mapping.
• Harus menguji setiap cache untuk menemukan blok yang diinginkan.
ü Mengecek setiap tag pada line
ü Sangat lambat untuk cache berukuran besar.
• Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2 field saja, yaitu tag dan word offset.
Full associative mapping
• Keuntungan Associative Mapping: cepat dan fleksibel.
• Kerugiannya: biaya implementasi. Misalnya : untuk cache ukuran 8 kbyte dibutuhkan 1024 x 17 bit
associative memory untuk menyimpan tag identifier.
associative memory untuk menyimpan tag identifier.
Set associative mapping
• Merupakan kompromi antara Direct dengan Full Associative Mapping.
• Membagi cache menjadi sejumlah set (v) yang masing-masing memiliki sejumlah line (k)
• Setiap blok dapat diletakkan di sebarang line
• Jika sebuah set dapat menampung X line, maka cache disebut memiliki Xway set associative cache.
• Hampir semua cache yang digunakan saat ini menggunakan organisasi 2 atau 4-way set associative
mapping
mapping
Keuntungan menggunakan Set Associative Mapping antara lain:
Ø Setiap blok memori dapat menempati lebih dari satu kemungkinan nomor line (dapat menggunakan line
yang kosong), sehingga thrashing dapat diperkecil
yang kosong), sehingga thrashing dapat diperkecil
Ø Jumlah tag lebih sedikit (dibanding model associative), sehingga jalur untuk melakukan perbandingan tag
lebih sederhana.
lebih sederhana.
Algoritma pergantian
• Pada teknik direct mapping, jika sebuah blok akan disalinkan ke sebuah slot dan slot tersebut sedang
terisi, maka blok yang baru tersebut langsung akan menggantikan blok yang lama.
terisi, maka blok yang baru tersebut langsung akan menggantikan blok yang lama.
• Pada teknik fully associative dan set associative mapping, jika sebuah blok akan disalinkan ke slot cache dan semua slot saat itu penuh, maka harus ditentukan isi slot mana yang harus diganti. Untuk itu
diperlukan suatu algoritma penggantian.
diperlukan suatu algoritma penggantian.
Write Policy
Write Policy adalah suatu keadaan apabila suatu data telah diletakkan pada cache memory maka sebelum ada penggantian harus dicek apakah data tersebut telah mengalami perubahan. Apabila telah berubah maka data pada memori utama harus di-update.
Ada 2 write policy yang biasa digunakan, yaitu:
• Write Through
• Write Back
Write Through
• Penulisan dilakukan pada cache dan juga memori utama
• Akan menyebabkan banyak trafik
• Memperlambat proses penulisan
Write Back
• Pada awalnya, perubahan hanya dilakukan di cache.
• Sebuah bit akan diset apabila update terjadi.
• Pada saat blok akan diganti, penulisan pada memori hanya dilakukan apabila bit tersebut dalam keadaan diset.
• Setiap I/O harus mengakses langsung ke cache karena isi memori utama tidak valid.
• Rangkaian menjadi rumit.
ARSITEKTUR KOMPUTER
Memory
Memori adalah bagian dari komputer tempat program – program dan data – data disimpan.
Sering digunakan istilah store atau storage untuk memori, meskipun kata storage sering digunakan untuk menunjuk ke penyimpanan disket.
Tempat informasi, untuk dibaca dan ditulis
Memiliki aneka ragam jenis, teknologi, organisasi, unjuk kerja dan harganya
* Memory merupakan sumberdaya komputer yang dikelola oleh sistem operasi komputer.
* Pengelolaan memory bersangkutan dengan ruang atau letak selain sebagai pengingat, memory juga
bertindak selaku penyimpan (storage).
* Ada isi memory yang sUdah bersifat tetap, sehingga tidak dapat diubah lagi, ada juga memory yang tidak bersifat tetap.
* Keluasan ruang memory menyebabkan pencarian pencarian bagian atau letak memory tertentu menjadi
tidak mudah
ALAMAT MEMORI
* Berdasarkan atas keperluan penyimpanan informasi, dikenal adanya alamat memori mutlak atau alamat memori fisik.
* Berdasarkan atas kemudahan tataolah, dikenal adanya alamat memori relatif atau alamat memori logika.
Jenis memori dan alamat memori :
* Pada memori kerja, alamat mutlak adalah alamat fisik pada memori kerja, sedangkan alamat relatif adalah alamat memori yang secara tidak langsung menunjuk ke salah satu sel pada memori kerja .
Random Memory Access (RAM)
* RAM ditemukan oleh Robert Dennard dan diproduksi secara besar - besaran oleh Intel pada tahun 1968, Pada awal diciptakannya, RAM membutuhkan tegangan 5.0 volt untuk dapat berjalan pada frekuensi 4,77MHz, dengan waktu akses memori (access time) sekitar 200ns (1ns = 10-9 detik).
* Baca dan tulis data dari dan ke memori dapat dilakukan dengan mudah dan cepat.
* Bersifat volatile
* Perlu catu daya listrik
* RAM diakses melalui alamat, semua lokasi yang dapat dialamati dapat diakses secara acak (random)
dan membutuhkan waktu akses yang sama tanpa tergantung pada lokasi fisiknya di dalam memori.
* Terdapat dua jenis RAM, statik dan dinamik. RAM dinamik tersusun oleh sel-sel yang menyim pan
data sebagai muatan Iistrik pada kapasitor. RAM statik menyimpan nilai-nilai biner dengan
menggunakan konfigurasi gerbang logika flipflop.
Jenis-jenis RAM
* Berdasarkan cara kerja :
* dynamic RAM (DRAM)
* Fast Page Mode DRAM (FPM DRAM)
* Extended Data Output DRAM (EDO DRAM)
* Berdasarkan Module :
* Single Inline Memory Module (SIMM)
* Double Inline Memory Module (DIMM)
* RIMM (Rambus)
Read Only Memory (ROM)
Data Permanen, tidak bisa diubah
Keuntungannya untuk data yang permanen
Kerugiannya apabila ada kesalahan data atau adanya perubahan data sehingga perlu penyisipan-penyisipan
Dua masalah ROM
Langkah penyisipan data memerlukan biaya tetap yang tinggi.
Tidak boleh terjadi kesalahan (error).
Dynamic RAM (DRAM)
Dibentuk dari kapasitor (peralatan yang digunakan untuk menyimpan muatan listrik) dan transistor.
Menggunakan sirkuit pembangkit
Waktu siklusnya dua kali read access time (waktu akses baca) yaitu waktu yang dibutuhkan untuk
memanggil kembali data dari peralatan.
Jenis DRAM
DRAM disebut memori dinamis karena harus direcharge (diperbaharui muatan listriknya) secara
periodik karena pengaruh sifat kebocoran muatan yang dimiliki oleh kapasitor yang dipakai untuk
membuat sel-sel memori dari DRAM. Kelebihan DRAM adalah lebih murah dan lebih mudah
rangkaiannya sehingga satu chip DRAM dapat memuat sel bit data jauh lebih besar dari SRAM.
DRAM dapat dikatagorikan menurut metode akses datanya atas:
ØFPM (Fast Page Mode)
ØEDO (Extended Data Out)
ØBEDO (Burst EDO)
ØSDRAM (Synchronous DRAM)
ØRDRAM (Rambus DRAM)
SDRAM
Salah satu jenis DRAM yang operasinya disinkronisasikan langsung dengan sinyal clock. SDRAM muncul
dipasaran dengan ukuran 64 bit (sepanjang 168 pin DIMMs).
SDRAM hanya mengakses 612ns Pada frekuensi kerja 66 MHz. Kemudian muncul pula pada frekuensi
kerja 100 dan 133 MHz. Standar SDRAM melakukan operasi pada sisi sinyal clock tinggi.
Definisi Memori Internal
Memory Internal adalah Memory yang dapat diakses secara langsung oleh prosesor. Dalam hal ini yang
disimpan di dalam memori utama dapat berupa data atau program.
Fungsi dari memori utama sendiri adalah :
§ Menyimpan data yang berasal dari peranti masukan sampai data dikirim ke ALU (Arithmetic and Logic Unit) untuk diproses.
§ Menyimpan daya hasil pemrosesan ALU sebelum dikirimkan ke peranti keluaran Menampung
program/instruksi yang berasal dari peranti masukan atau dari peranti pengingat sekunder.
program/instruksi yang berasal dari peranti masukan atau dari peranti pengingat sekunder.
Pembagian Memory Internal
ROM (Read-Only-Memory )
Adalah jenis memori data yang hanya dapat dibaca dan biasanya telah disediakan oleh vendor komputer. Memory ini tidak akan kehilangan data walaupun tidak mendapatkan daya listrik. Dalam sebuah perangkat Personal Computer (PC), ROM biasa disebut BIOS (Basic Input/Output System) atau ROM-BIOS. Instruksi dalam BIOS inilah yang akan dijalankan oleh mikroprosesor ketka komputer mulai dihidupkan.
Pengendali Peranti (device driver)
Pengendali peranti adalah program penghubung antara hardware dengan software yang bertugas
sebagai pemberi identitas bagi perangkat keras tertentu (misalnya scanner) sehingga bisa dikenali oleh
sistem operasi.
- Menginisialisasi register dan manajemen daya listrik
- Melakukan pengujian perangkat keras (POST atau the power-on self-test) untuk
memastikanbahwa semua perangkat keras dalam keadaan baik
- Menampilkan pengaturan-pengaturan pada system
- Menentukan peranti yang akan digunakan untuk menjalankan program (ex. : hard disk)
- Mengambil isi boot sector. Boot sector juga merupakan sebuah program kecil. Oleh BIOS
program ini dimuat ke RAM dan kemudian mikroprosesor akan mengeksekusi perintah-erintah
yang sudah berada dalam RAM tersebut .
Lokasi Memori
Register
Ø Berada di dalam chip prosesor.
Ø Diakses langsung oleh prosesor dalam menjalankan operasinya.
Ø Register digunakan sebagai memori sementara dalam perhitungan maupun pengolahan
data dalam prosesor
Memori internal
Ø Berada diluar chip prosesor
Ø Dapat diakses langsung oleh prosesor.
Ø Dibedakan menjadi memori utama dan cache memori
Memori eksternal
Ø Diakses oleh prosesor melalui piranti I/O
Ø Dapat berupa disk maupun pita .
Kapasitas Memori
Ø Kapasitas memori internal maupun eksternal biasanya dinyatakan dalam bentuk byte (1
byte = 8 bit) atau word.
Ø Panjang word umumnya 8, 16, 32 bit.
Ø Memori eksternal biasanya lebih besar kapasitasnya daripada memori internal, hal ini
disebabkan karena teknologi dan sifat penggunaannya yang berbeda.
Konsep Satuan Transfer
Ø Word, merupakan satuan “alami” organisasi memori. Ukuran word biasanya sama dengan
jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi.
Ø Addressable units, pada sejumlah sistem, addressable units adalah word. Namun terdapat
sistem dengan pengalamatan pada tingkatan byte. Pada semua kasus hubungan antara
panjang A suatu alamat dan jumlah N adressable unit adalah 2A =N.
Ø Unit of transfer, adalah jumlah bit yang dibaca atau dituliskan ke dalam memori pada
suatu saat. Pada memori eksternal, transfer data biasanya lebih besar dari suatu word,
yang disebut dengan block.
Metode Akses
Sequential
Mulai dari awal dan membaca (read) sesuai urutan data.
Tidak ada alamat spesifik.
Waktu akses tergantung dari letak data dan letak pointer terakhir
Contoh: tape (pita magnetik)
Direct
Setiap block memiliki alamat yang unik
Akses dilakukan dengan melompat (jump) ke alamat block terdekat kemudian diteruskan
secara sequential
Waktu akses tergantung dari letak data dan letak pointer terakhir
Contoh : disk
Random
Setiap alamat menunjuk ke lokasi word yang acak
Waktu akses tidak tergantung dari letak data dan letak pointer terakhir
Contoh: RAM
Associative
Pencarian lokasi data didasarkan pada perbandingan sebagian dari isinya atau mappingnya
(located by a comparison with contents of a portion of the store)
Waktu akses tidak tergantung dari letak data dan letak pointer terakhir.
Contoh: cache
No comments:
Post a Comment