1. Arsitektur Set Instruksi
Set instruksi didefinisikan sebagai suatu aspek dalam
arsitektur computer yang dapat dilihat oleh para pemrogram.
Dua bagian utama arsitektur komputer:
1. Instruction set architecture (ISA) / arsitektur set
instruksi
ISA meliputi spesifikasi yang menentukan bagaimana
programmer bahasa mesin akan berinteraksi oleh computer. ISA menentukan sifat
komputasional computer.
2. Hardware system architecture (HSA) / arsitektur
system hardware
HAS berkaitan dengan subsistem hardware utama computer
(CPU, system memori dan IO). HSA mencakup desain logis dan organisasi arus data
dari subsistem.
JENIS INSTRUKSI
- Data processing/pengoahan data : instruksi
aritmetika dan logika.
- Data storage/penyimpanan data : instruksi-instruksi
memori.
- Data movement/perpindahan data : instruksi I/O.
- Instruksi aritmetika memiliki kemampuan untuk mengolah data numeric. Sedangkan instruksi logika beroperasi pada bit-bit word sebagai bit, bukan sebagai bilangan. Operasi-operasi tersebut dilakukan teutama untuk data di register CPU.
-
Instruksi-instruksi memori diperlukan untuk memindah
data yang terdapat di memori dan register.
-
Instruksi-instruksi I/O diperlukan untuk memindahkan
program dan data kedalam memori dan mengembalikan hasil komputasi kepada
pengguna.
TEKNIK PENGALAMATAN
Ada 3 teknik dasar untuk pengalamatan, yaitu:
1. Pemetaan langsung (direct mapping), terdiri dari
dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan
relatif (relative addressing).
-
Pengalamatan Mutlak
Untuk teknik pengalamatan ‘alamat mutlak’ ini, tidak
terlalu mempermasalahkan kunci atribut karena diminta langsung menuliskan di
mana alamat record yang akan di masukkan. Jika kita menggunakan hard disk atau
magnetic drum, ada dua cara dalam menentukan alamat memorinya, yaitu (1)
cylinder addressing dan (2) sector addressing. Jika kita menggunakan cylinder
addressing, maka kita harus menetapkan nomor-nomor dari silinder (cylinder),
permukaan (surface), dan record, sedangkan bila kita menggunakan sector
addressing, maka kita harus menetapkan nomor-nomor dari sektor (sector),
lintasan (track), dan permukaan (surface). Teknik ini mudah dalam pemetaan
(pemberian) alamat memorinya. Sulitnya pada pengambilan (retrieve) data
kembali, jika data yang kita masukkan banyak, kita bisa lupa di mana alamat
record tertentu.
-
Pengalamatan relatif
Teknik ini menjadikan atribut kunci sebagai alamat
memorinya, jadi, data dari NIM dijadikan bertipe numeric(integer) dan dijadikan
alamat dari record yang bersangkutan. Cara ini memang sangat efektif untuk
menemukan kembali record yang sudah disimpan, tetapi sangat boros penggunaan
memorinya. Tentu alamat memori mulai dari 1 hingga alamat ke sekian juta tidak
digunakan karena nilai dari NIM tidak ada yang kecil. Pelajari keuntungan dan
kerugian lainnya.Teknik ini termasuk dalam katagori address space dependent.
2. Pencarian Tabel (directory look-up)
Teknik ini dilakukan dengan cara mengambil seluruh
kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel
tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi
kunci atribut (misalkan NIM) yang telah disorting (diurut) dan alamat
memorinya. Jadi, sewaktu dilakukan pencarian data, tabel yang pertama dibaca
adalah tabel INDEX itu, setelah ditemukan atribut kuncinya, maka data alamat
yang ada di sana digunakan untuk meraih alamat record dari data (berkas/ file/
tabel) yang sebenarnya. Pencarian yang dilakukan di tabel INDEX akan lebih
cepat dilakukan dengan teknik pencarian melalui binary search (dibagi dua-dua,
ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan
secara sequential. Nilai key field (kunci atribut) bersifat address space
independent (tidak terpengaruh terhadap perubahan organisasi file-nya), yang berubah
hanyalah alamat yang ada di INDEX-nya.
3. Kalkulasi (calculating).
Kalau pada teknik pencarian tabel kita harus
menyediakan ruang memori untuk menyimpan tabel INDEX-nya, maka pada teknik ini
tidak diperlukan hal itu. Yang dilakukan di sini adalah membuat hitungan
sedemikian rupa sehingga dengan memasukkan kunci atribut record-nya, alamatnya
sudah dapat diketahui. Tinggal masalahnya, bagaimana membuat hitungan dari
kunci atribut itu sehingga hasilnya bisa efisien (dalam penggunaan memori) dan
tidak berbenturan nilainya (menggunakan alamat yang sama).
DESAIN SET INSTRUKSI
Desain set instruksi merupakan masalah yang sangat
komplek yang melibatkan banyak aspek, diantaranya adalah :
1. kelengkapan set instruksi
2. ortogonalitas (sifat indepedensi instruksi)
3. kompatibilitas :
- source code compatibility
- object code compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal
sebagai berikut :
a. Operation Repertoire: Berapa banyak dan operasi apa
saja yang disediakan, dan berapa sulit
operasinya
b. Data Types : tipe/jenis data yang dapat diolah.
c. Instruction Format : panjangnya, banyaknya alamat,
dsb.
d. Register : Banyaknya register yang dapat digunakan
.
e. Addressing : Mode pengalamatan untuk operand.
2. CPU
Central processing unit (CPU) adalah bagian dari
sebuah komputer sistem yang melaksanakan instruksi dari program komputer ,
untuk melakukan aritmatika, logis, dan dasar input / output dari sistem
operasi.
PENGERTIAN BUS
Pada motherboard terdapat saluran-saluran penghubung
yang menghubungkan satu komponen dengan komponen lainnya. Saluran penghubung
ini berupa garis-garis yang tercetak pada PCB motherboard. Melalui
saluran-saluran inilah data, informasi, dan instruksi-instruksi yang diberikan
pada komputer ditransfer/melintas dari komponen satu ke komponen lainnya. Data
dan instruksi tersebut diangkut dalam wujud sinyal-sinyal elektronis yang
mempunyai makna tertentu. Sekelompok saluran yang mempunyai fungsi yang sama
disebut jalur atau bus. Saluran-saluran penghubung tadi disebut pula dengan
istikah konduktor.
ORGANISASI BUS
Organsiasi bus merupakan sekumpulan dari bagian-bagian
bus dimana tersusun menjadi satu,yang memungkinkan suatu bus dapat bekerja dan
dapat dilakukan. Adapun bagian tersebut yaitu seperti Pengertian jalur tidak
sama dengan saluran. Dalam hal ini, jalur adalah kata jamak dari saluran.
Pahamilah penjelasan berikut ini: Jalur data (data bus) yang terdiri dari
beberapa (sejumlah) saluran data, jalur adres (address bus) terdiri dari
beberapa (sejumlah) saluran adreess dan jalur kontrol (control bus) terdiri
dari beberapa (sejumlah) saluran control.
STRUKTUR BUS
Sebuah bus biasanya terdiri atas beberapa saluran.
Sebagai contoh bus data terdiri atas 8 saluran sehingga dalam satu waktu dapat
mentransfer data 8 bit. Secara umum fungsi saluran bus dikatagorikan dalam tiga
bagian, yaitu saluran data, saluran alamat dan saluran control. Saluran
data(data bus) adalah lintasan bagi perpindahan data antar modul. Secara
kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan
panjang word, misalnya 8, 16, 32 saluran dengan tujuan agar mentransfer word
dalam sekali waktu. Jumlah saluran dalam bus data dikatakan lebar bus, dengan
satuan bit, misal lebar bus 16 bit.
KONEKSI BUS
Bus merupakan lintasan komunikasi yang menghubungkan
dua atau lebih komponen komputer. Sifat penting dan merupakan syarat utama bus
adalah media transmisi yang dapat digunakan bersama oleh sejumlah perangkat
yang terhubung apadanya. Karena digunakan bersama, diperlukan aturan main agar
tidak terjadi tabrakan data atau kerusakan data yang ditransmisikan. Walaupun
digunakan bersama namun dalam satu waktu hanya ada sebuah perangkat yang dapat
menggunakan bus.
TIPE BUS
Berdasar jenis busnya, bus dibedakan menjadi bus yang
khusus menyalurkan data tertentu, misalnya paket data saja, atau alamat saja,
jenis ini disebut dedicated bus. Namun apabila bus dilalukan informasi yang
berbeda baik data, alamat maupun sinyal kontrol dengan metode mulipleks data
maka bus ini disebut multiplexed bus. Keuntungan
mulitiplexed bus adalah hanya memerlukan saluran sedikit sehingga dapat
menghemat tempat, namun kerugiannya adalah kecepatan transfer data menurun dan
diperlukan mekanisme yang komplek untuk mengurai data yang telah dimulitipleks. Saat ini yang umum, bus didedikasikan untuk
tiga macam, yaitu bus data, bus alamat dan bus
kontrol.
ALU (Aritmetik Logic Unit)
adalah sebuah sirkuit digital yang melakukan
aritmatika dan logika operasi. ALU adalah sebuah blok bangunan fundamental dari
central processing unit komputer, dan bahkan yang paling sederhana
mikroprosesor mengandung satu untuk tujuan seperti timer mempertahankan.
Prosesor ditemukan di dalam CPU modern dan unit pengolahan grafis ( GPU )
mengakomodasi ALUS sangat kuat dan sangat kompleks, sebuah komponen tunggal
mungkin berisi sejumlah alus.
- Fixed Point
adalah tipe data yang nyata untuk
nomor yang telah tetap jumlah digit setelah (dan kadang-kadang juga sebelum)
titik radix (setelah titik desimal dalam notasi desimal bahasa Inggris '.').
Representasi fixed-point nomor dapat dibandingkan dengan (dan lebih menuntut
komputasi) lebih rumit floating point representasi nomor.
Fixed-point nomor berguna untuk
mewakili nilai-nilai pecahan, biasanya dalam basis 2 atau basis 10, ketika
menjalankan prosesor tidak memiliki unit floating point (FPU) atau jika
fixed-point menyediakan peningkatan kinerja atau akurasi untuk aplikasi di
tangan. Paling rendah-biaya tertanam mikroprosesor dan mikrokontroler tidak
memiliki FPU.
- Floating Point
- Floating Point
floating point menjelaskan metode mewakili bilangan
real dalam cara yang dapat mendukung berbagai nilai. Nomor, pada umumnya,
mewakili sekitar untuk tetap jumlah digit yang signifikan dan ditingkatkan
menggunakan eksponen . Dasar untuk scaling biasanya 2, 10 atau 16. Jumlah yang
khas yang dapat diwakili tepat adalah dalam bentuk:
Signifikan
digit × basis eksponen
Floating point merujuk pada fakta bahwa titik radix
(titik desimal, atau, lebih umum di komputer, titik biner) dapat
"mengambang", yaitu, dapat ditempatkan di mana saja relatif terhadap
angka signifikan dari nomor tersebut. Posisi ini ditunjukkan secara terpisah
dalam representasi internal, dan floating-point sehingga representasi dapat
dianggap sebagai realisasi komputer notasi ilmiah.
CU (Control Unit)
adalah salah satu bagian dari CPU
yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang
dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output
dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU
tersebut.
Pada awal-awal desain komputer, CU
diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU
diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat
penyimpanan kontrol (control store). Beberapa word dari microprogram dipilih
oleh microsequencer dan bit yang datang dari word-word tersebut akan secara
langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di
antaranya adalah register, ALU, register instruksi, bus dan peralatan
input/output di luar chip. Pada komputer modern, setiap subsistem ini telah
memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya
(supervisor).
REGISTER
Adalah memori yang kecil pada computer yang bekerja
dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap
program-program komputer dengan menyediakan akses yang cepat terhadap
nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah
nilai yang sedang dieksekusi dalam waktu tertentu.
- Set Register
Prosesor memiliki 16 register 16-bit, meskipun hanya
12 dari mereka adalah tujuan yang benar-benar umum. Empat pertama telah
mendedikasikan menggunakan:
• r0 (alias PC) adalah program counter. Anda bisa melompat dengan menentukan r0, dan konstanta yang diambil langsung dari aliran instruksi menggunakan pasca-kenaikan mode pengalamatan r0. PC selalu bahkan.
• r1 (alias SP) adalah stack pointer. Ini digunakan
oleh panggilan dan instruksi dorong, dan dengan penanganan interupsi. Hanya ada
satu stack pointer; MSP430 tidak memiliki apa pun yang menyerupai mode
supervisor. Pointer stack selalu bahkan; Tidak jelas apakah LSB bahkan
diimplementasikan.
• r2 (alias SR) adalah register status.
• r3 ini didesain untuk 0. Jika ditetapkan sebagai
sumber, nilainya adalah 0. Jika ditetapkan sebagai tujuan, nilai tersebut akan
dibuang.
Cache Memory pada Komputer
Cache memory merupakan media penyimpanan data sekunder berkecepatan tinggi, dimana tempat menyimpan data atau informasi sementara yang sering digunakan atau diakses oleh komputer.
Fungsi Cache Memory
- Mempercepat Akses data pada komputer
- Meringankan kerja prosessor
- Menjembatani perbedaan kecepatan antara cpu dan memory utama.
- Mempercepat kinerja memory
Cache memory merupakan media penyimpanan data sekunder berkecepatan tinggi, dimana tempat menyimpan data atau informasi sementara yang sering digunakan atau diakses oleh komputer.
Fungsi Cache Memory
- Mempercepat Akses data pada komputer
- Meringankan kerja prosessor
- Menjembatani perbedaan kecepatan antara cpu dan memory utama.
- Mempercepat kinerja memory
Letak Cache Memory
1.
Terdapat di
dalam Processor (on chip )
Cache internal
diletakkan dalam prosesor sehingga tidak memerlukan bus eksternal, maka waktu aksesnya
akan sangat cepat sekali
2.
Terdapat
diluar Processor(off chip)
berada pada MotherBoard, memori jenis ini kecepatan
aksesnya sangat cepat, meskipun tidak secepat chache memori jenis pertama
Jenis Cache Memory
1. L1 cache L1 Cache adalah Sejumlah kecil SRAM
memori yang digunakan sebagai cache yang terintegrasi menyatu pada prosesor.
- Berguna
untuk menyimpan secara sementara instruksi dan data, dan memastikan bahwa
prosesor memiliki supply data yangstabil untuk diproses sementara memori
mengambil dan menyimpan data baru.
- L1 cache
(Level 1 cache) disebut pula dengan istilah primary cache, first cache, atau
level one cache.
- transfer
data dari L1 cache ke prosesor terjadi paling cepat Kecepatannya mendekati
kecepatan register
2. L2 cache Arti
istilah L2 Cache adalah Sejumlah kecil SRAM memori yang berada di motherboard
dekat dengan posisi dudukan prosesor.
- Berguna
untuk menyimpan sementara instruksi dan data, dan memastikan bahwa prosesor
memiliki supply data yangstabil untuk diproses sementara memori mengambil dan
menyimpan data baru
- (Level 2 cache) secondary cache, second level cache,
atau level two cache.
- L2 cache memiliki ukuran lbih besar
dibandingkan L1 namun kecepatan transfernya sedikit lebih lama dari L1cache.
3. L3 cache jarang sekali ada, hanya ada di komputer tertentu.
- Berguna ketika
terdapat cache yang hilang ”missing” pada cache L1&L2
- L3 cache memiliki ukuran lbih
besar dibandingkan L1 dan L2 namun kecepatan
transfernya
lebih lama dari L1cache dan L2 Cache.
Elemen Cache Memory
-
Fungsi
Pemetaan (Mapping)
- Pemetaan blok-blok memori utama ke dalam
saluran cache.
- Pemetaan
Langsung (Direct Mapping)
- Pemetaan Asosiatif (Associative Mapping)
- Pemetaan Asosiatif Set (Set Associative Mapping)
-
Algoritma
Penggantian
untuk memilih blok data mana yang ada di cache yang
dapat diganti dengan blok data baru
·
Least
Recently used (LRU)
·
First in
first out (FIFO)
·
Least
frequently used (LFU)
· Random
Cara Kerja
Cache Memori
1. CPU membaca word memori
2. Periksa di Cache Memory,
3. Jika ada akan dikirim ke CPU
4. Jika tidak ada akan dicari ke Memory Utama
5. Dikirim ke Cache Memory lalu dikirim ke CPU
Memori virtual
Memori virtual
menggabungkan RAM aktif dan memori aktif dalam bentuk cakram ke dalam berbagai
macam alamat yang berdekatan.Dalam ilmu komputer,
memori virtual adalah teknik manajemen memori yang dikembangkan
untuk kernel multitugas. Teknik ini divirtualisasikan dalam berbagai bentuk arsitektur komputer dari komputer
penyimpanan data (seperti memori akses
acak dan cakram penyimpanan), yang
memungkinkan sebuah program
harus dirancang seolah-olah hanya ada satu jenis memori, memori
"virtual", yang bertindak secara langsung beralamat memori baca/tulis
(RAM).
Sebagian besar sistem operasi modern yang mendukung memori
virtual juga menjalankan setiap proses di ruang alamat khususnya
sendiri. Setiap program dengan demikian tampaknya memiliki akses tunggal ke
memori virtual. Namun, beberapa sistem operasi yang lebih tua (seperti OS/VS1 dan OS/VS2 SVS) dan bahkan
yang modern yang (seperti IBM i) adalah sistem
operasi ruang alamat tunggal yang menjalankan semua proses dalam
ruang alamat tunggal yang terdiri dari memori virtual.
Memori virtual membuat pemrograman aplikasi lebih mudah oleh fragmentasi
persembunyian dari memori fisik; dengan mendelegasikan ke kernel beban dari
mengelola hierarki memori (sehingga menghilangkan keharusan untuk program dalam
mengatasi hamparan secara
eksplisit); dan, bila setiap proses berjalan dalam ruang alamat khususnya
sendiri, dengan menghindarkan kebutuhan untuk
merelokasi kode program atau untuk mengakses memori dengan
pengalamatan relatif. Virtualisasi memori adalah
generalisasi dari konsep memori virtual.
Referensi
http://hackwary.blogspot.com/2012/01/arsitektur-set-instruksi.html
http://id.wikipedia.org/wiki/Memori_virtual
http://id.wikipedia.org/wiki/Memori_virtual