ARSITEKTUR
SET INTRUKSI
1.Pengertian
Sebuah set instruksi, atau instruksi arsitektur set (ISA), adalah bagian dari arsitektur komputer yang berkaitan dengan pemrograman , termasuk asli jenis data , instruksi, register , mode pengalamatan , arsitektur memori , interupsi dan exception handling , dan eksternal I / O . ISA mencakup spesifikasi dari himpunan opkode ( bahasa mesin ), dan perintah-perintah asli diimplementasikan oleh prosesor tertentu.
Sebuah set instruksi, atau instruksi arsitektur set (ISA), adalah bagian dari arsitektur komputer yang berkaitan dengan pemrograman , termasuk asli jenis data , instruksi, register , mode pengalamatan , arsitektur memori , interupsi dan exception handling , dan eksternal I / O . ISA mencakup spesifikasi dari himpunan opkode ( bahasa mesin ), dan perintah-perintah asli diimplementasikan oleh prosesor tertentu.
Arsitektur set instruksi dibedakan dari mikroarsitektur ,
yang merupakan seperangkat teknik desain prosesor yang digunakan untuk
mengimplementasikan set instruksi. Komputer
dengan microarchitectures berbeda dapat berbagi set instruksi yang sama. Sebagai contoh, Intel Pentium dan AMD Athlon mengimplementasikan
versi yang hampir identik dari x86 set instruksi,
namun memiliki desain internal yang sangat berbeda.
Beberapa mesin virtual yang mendukung bytecode untuk Smalltalk ,
yang mesin virtual Java , dan Microsoft Common Language Runtime mesin virtual karena ISA mereka
menerapkannya dengan menerjemahkan bytecode untuk jalur kode yang umum
digunakan ke dalam kode mesin asli, dan melaksanakan jalur kode kurang-sering
digunakan oleh interpretasi; Transmeta menerapkan
instruksi x86 ditetapkan atas VLIW prosesor
dengan cara yang sama.
1.1 Jenis Intruksi :
1.1.1 Data
Dalam pemrograman komputer , tipe data adalah klasifikasi mengidentifikasi
satu dari berbagai jenis data, seperti floating-point , bilangan bulat , atau Boolean ,
yang menentukan nilai yang mungkin untuk jenis itu; operasi yang dapat
dilakukan pada nilai-nilai dari tipe tersebut; arti dari data, dan nilai-nilai
cara jenis yang dapat disimpan. [1] [2] Jenis data yang digunakan dalam sistem tipe ,
yang menawarkan berbagai cara untuk mendefinisikan, menerapkan dan menggunakan
mereka. Sistem tipe yang berbeda
memastikan berbagai tingkat keselamatan jenis . Secara formal, ketik dapat
didefinisikan sebagai ".. setiap properti dari sebuah program kita dapat
menentukan tanpa menjalankan program.
1.1.2 Input
dan Output
Dalam komputasi , input / output, atau I / O, mengacu pada
komunikasi antara sistem pengolahan informasi (seperti komputer ),
dan dunia luar, mungkin seorang manusia, atau lain sistem pengolahan informasi. Masukan adalah
sinyal atau data yang diterima oleh sistem, dan output adalah
sinyal atau data yang dikirim dari itu. Istilah ini juga dapat digunakan
sebagai bagian dari suatu tindakan, untuk "melakukan I / O" adalah
untuk melakukan operasi input atau output yang . I
/ O device yang digunakan oleh orang (atau sistem lainnya) untuk berkomunikasi
dengan komputer.Misalnya, Keyboard atau Mouse mungkin
merupakan perangkat input untuk komputer, sementara monitor dan printer dianggap
perangkat output untuk sebuah komputer. Perangkat
untuk komunikasi antar komputer, seperti modem dan kartu jaringan ,
biasanya melayani untuk kedua input dan output.
Perhatikan bahwa penunjukan perangkat baik sebagai input atau output
tergantung pada perspektif. Mouse
dan keyboard ambil sebagai masukan gerakan fisik yang output pengguna manusia
dan mengubahnya menjadi sinyal bahwa komputer dapat mengerti. Output dari perangkat ini adalah
masukan untuk komputer. Demikian
pula, printer dan monitor ambil sebagai masukan sinyal bahwa output komputer. Mereka kemudian mengkonversi
sinyal-sinyal ke representasi bahwa pengguna manusia dapat melihat atau
membaca. Untuk pengguna manusia
proses membaca atau melihat representasi ini adalah menerima masukan. Ini interaksi antara komputer dan
manusia dipelajari dalam bidang yang disebut interaksi manusia-komputer .
Dalam arsitektur komputer, kombinasi dari CPU dan memori utama (memori
yaitu bahwa CPU dapat membaca dan menulis secara langsung, dengan individu instruksi ) dianggap sebagai otak dari komputer,
dan dari sudut pandang setiap transfer informasi dari atau ke kombinasi yang,
misalnya untuk atau dari disk drive ,
dianggap I / O. CPU dan sirkuit
pendukungnya menyediakan memori-dipetakan I / O yang digunakan dalam tingkat rendah pemrograman komputer dalam pelaksanaan driver perangkat . Sebuah algoritma I / O adalah salah satu dirancang untuk
mengeksploitasi lokalitas dan melakukan efisien ketika data berada pada
penyimpanan sekunder, seperti disk drive.
1.1.3 Logika
Logika merupakan suatu perintah atau intruksi pada komputer, yang
berfungsi untuk menjalankan suatu program. Dalam logika komputer terdapat
gerbang logika untuk menjalankannya. Gerbang logika atau gerbang logik adalah suatu entitas
dalam elektronika dan matematika Boolean yang mengubah satu atau
beberapa masukan logik menjadi sebuah sinyal keluaran logik. Gerbang logika
terutama diimplementasikan secara elektronis menggunakan dioda atau transistor, akan tetapi dapat pula dibangun menggunakan susunan
komponen-komponen yang memanfaatkan sifat-sifat elektromagnetik (relay), cairan, optik dan bahkan mekanik.
1.1.4 Aritmatika
Aritmetika (kadang salah dieja
sebagai aritmatika) (dari kata bahasa Yunani αριθμός - arithnos = angka) atau dulu
disebut ilmu hitung merupakan cabang (atau pendahulu) matematika yang mempelajari operasi dasar bilangan. Oleh orang awam, kata
"aritmetika" sering dianggap sebagai sinonim dari teori bilangan. Silakan lihat angka untuk mengetahui lebih dalam tentang teori bilangan.
Operasi dasar aritmetika adalah penjumlahan, pengurangan, perkalian dan pembagian,
walaupun operasi-operasi lain yang lebih canggih (seperti persentase, akar
kuadrat, pemangkatan, dan logaritma)
kadang juga dimasukkan ke dalam kategori ini. Perhitungan dalam aritmetika
dilakukan menurut suatu urutan operasi yang menentukan operasi aritmetika
yang mana lebih dulu dilakukan.
Aritmetika bilangan
asli, bilangan
bulat, bilangan
rasional, dan bilangan
real umumnya dipelajari oleh
anak sekolah, yang mempelajari algoritma manual aritmetika. Namun demikian,
banyak orang yang lebih suka menggunakan alat-alat seperti kalkulator,komputer, atau sempoa untuk melakukan perhitungan
aritmetika.Perkembangan terakhir di Indonesia berkembang mempelajari aritmetika
dengan bantuan metoda jarimatika,
yakni menggunakan jari-jari tangan untuk melakukan operasi
kali-bagi-tambah-kurang.
1.2 Teknik Pengalamatan
Teknik pengalamatan merupakan aspek dari arsitektur set instruksi di sebagian unit pemrosesan sentral (CPU) desain. Teknik pengalamatan berbagai
didefinisikan dalam sebuah arsitektur set instruksi yang diberikan menentukan
bagaimana bahasa mesin instruksi dalam arsitektur yang mengidentifikasi operan (operand
atau) dari setiap instruksi. Sebuah
mode pengalamatan menentukan bagaimana menghitung alamat memori efektif operand
dengan menggunakan informasi yang diadakan di register dan
/ atau konstanta yang terkandung dalam instruksi mesin atau tempat lain. Dalam pemrograman komputer , mode pengalamatan terutama menarik
bagi kompilator penulis
dan mereka yang menulis kode secara langsung dalam bahasa assembly .
1.2.1 Imnediate/Teknik Pengalamatan Bit
Teknik pengalamatan bit adalah penunjukkan alamat lokasi bit
baik dalam RAM internal atau perangkat keras. Untuk melakukan pengalamatan bit
digunakan simbol titik (.). immediate
addressing sangat umum dipakai karena harga yang akan disimpan dalam
memori langsung mengikuti kode operasi dalam memori. Dengan kata lain, tidak
diperlukan pengambilan harga dari alamat lain untuk disimpan. Contohnya: MOV
A,#20h. Dalam instruksi tersebut, akumulator akan diisi dengan harga yang
langsung mengikutinya, dalam hal ini 20h. Mode ini sangatlah cepat karena harga
yang dipakai langsung tersedia.
1.2.2
Register
Dalam arsitektur komputer , sebuah register prosesor adalah
sejumlah kecil penyimpanan tersedia
sebagai bagian dari CPU atau prosesor
digital lainnya. Register tersebut (biasanya) ditangani oleh
mekanisme lain selain memori utama dan
dapat diakses lebih cepat. Hampir
semua komputer, beban-toko arsitektur atau tidak, memuat data dari memori
yang lebih besar ke register di mana ia digunakan untuk aritmatika,
dimanipulasi, atau diuji, oleh beberapa instruksi mesin . Data dimanipulasi kemudian sering
disimpan kembali di memori utama, baik dengan instruksi yang sama atau yang
berikutnya. Prosesor modern
menggunakan baik RAM statis atau RAM dinamis sebagai
memori utama, yang terakhir seringkali implisit diakses melalui satu atau lebih cache-tingkat . Sebuah properti umum dari program komputer adalah lokalitas referensi : nilai-nilai yang sama sering diakses
berulang kali dan sering digunakan nilai-nilai yang diadakan di register
meningkatkan kinerja. Inilah yang
membuat register cepat (dan cache) bermakna.
Register prosesor biasanya di bagian atas hirarki memori ,
dan menyediakan cara tercepat untuk mengakses data. Istilah ini biasanya mengacu hanya
kepada kelompok register yang dikodekan secara langsung sebagai bagian dari
instruksi, seperti yang didefinisikan oleh set instruksi . Namun, modern CPU kinerja tinggi
sering memiliki duplikat dari "register arsitektur" dalam rangka
meningkatkan kinerja melalui penggantian nama mendaftar , memungkinkan paralel dan eksekusi spekulatif . Modern x86 mungkin adalah
contoh paling terkenal dari teknik ini.
Mengalokasikan variabel yang sering digunakan untuk register
dapat penting untuk kinerja sebuah program. Ini alokasi register baik
dilakukan oleh kompilator ,
dalam generasi kode fase, atau secara manual, oleh bahasa assembly programmer.
1.2.3 Direct
Dalam mode
pengalamatan direct addressing, harga yang akan dipakai diambil langsung
dalam alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca
data dari RAM internal dengan alamat 30h dan kemudian disimpan dalam akumulator.
Mode pengalamatan ini cukup cepat, meskipun harga yang didapat tidak langsung
seperti immediate, namun cukup cepat karena disimpan dalam RAM internal.
Demikian pula akan lebih mudah menggunakan mode ini daripada
mode immediate karena harga yang didapat bisa dari lokasi memori yang
mungkin variabel.
1.2.4
Indirect
Mode pengalamatan indirect
addressing sangat berguna karena dapat memberikan fleksibilitas tinggi
dalam mengalamati suatu harga. Mode ini pula satu-satunya cara untuk mengakses
128 byte lebih dari RAM internal pada keluarga 8052. Contoh: MOV
A,@R0. Dalam instruksi tersebut, 89C51 akan mengambil harga yang berada pada
alamat memori yang ditunjukkan oleh isi dari R0 dan kemudian mengisikannya ke
akumulator.
1.3
Desain Set Intruksi
Desain set instruksi merupakan masalah yang kompleks. Ada dua tahap dalam sejarah untuk mikroprosesor. Yang pertama adalah CISC (Complex Instruction Set
Computer) yang memiliki banyak instruksi yang berbeda. Pada 1970-an, bagaimanapun, tempat-tempat seperti IBM
melakukan penelitian dan menemukan bahwa banyak instruksi dalam mengatur bisa
dihilangkan. Hasilnya adalah RISC (Reduced
Instruction Set Computer), sebuah arsitektur yang menggunakan satu set
instruksi yang lebih kecil. Sebuah set instruksi
sederhana mungkin menawarkan potensi untuk kecepatan tinggi, ukuran prosesor
berkurang, dan mengurangi konsumsi daya. Namun, yang lebih kompleks dapat mengoptimalkan operasi
umum, meningkatkan memori / cache yang efisiensi, atau menyederhanakan
pemrograman.
Beberapa set instruksi
desainer cadangan satu atau lebih opcode untuk beberapa jenis system call atau software
interrupt Misalnya, MOS
Technology 6502 menggunakan
00 H, Zilog Z80menggunakan
delapan kode C7, CF, D7, DF, E7, EF, F7, FF H sedangkan Motorola
68000 kode digunakan
dalam kisaran A000 .. AFFF H.
Mesin virtual cepat adalah
jauh lebih mudah untuk mengimplementasikan set instruksi jika memenuhi Popek dan persyaratan virtualisasi Goldberg . Para geser NOP digunakan dalam Pemrograman Imunitas Sadar jauh lebih mudah untuk menerapkan jika
"unprogrammed" negara memori ditafsirkan sebagai NOP .
Pada sistem dengan prosesor ganda, non-blocking sinkronisasi algoritma yang lebih mudah untuk
mengimplementasikan set instruksi jika termasuk dukungan untuk sesuatu seperti
"fetch-kenaikan dan-" atau "beban terkait / kondisional toko (LL
/ SC)" atau "atom membandingkan
dan Swap ".
2. CPU
Unit
Pemroses Sentral (UPS) (bahasa Inggris: Central
Processing Unit; CPU), merujuk kepada perangkat keras komputer yang memahami dan
melaksanakan perintah dan data dari perangkat
lunak. Istilah lain,
pemroses/prosesor (processor), sering digunakan untuk menyebut UPS. Adapun
mikroprosesor adalah UPS yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paketsirkuit terpadu-tunggal. Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi
aspek penting dalam penerapan UPS.
2.1 Sistem bus
System bus atau bus sistem, dalam arsitektur komputer merujuk
pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua
komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur
di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk
komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program
yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui
perantara sistem bus.
Sebuah komputer memiliki
beberapa bus, agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem,
tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh,
sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh keyboard dan mouse),
dan bus-bus lainnya.
Bus disusun secara hierarkis,
karena setiap bus yang memiliki kecepatan rendah akan dihubungkan dengan bus
yang memiliki kecepatan tinggi. Setiap perangkat di dalam sistem juga
dihubungkan ke salah satu bus yang ada. Sebagai contoh, kartu grafis AGP akan
dihubungkan ke bus AGP. Beberapa perangkat lainnya (utamanya
chipset atau kontrolir) akan bertindak sebagai jembatan antara bus-bus yang
berbeda. Sebagai contoh, sebuah kontrolir bus SCSI dapat
mengubah sebuah bus menjadi bus SCSI, baik itu bus PCI atau bus PCI Express.
Berdasar jenis busnya, bus
dapat dibedakan menjadi bus yang khusus menyalurkan data tertentu, contohnya
paket data saja, atau alamat saja, jenis ini disebut dedicated bus. Namun apabila bus yang
dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan
metode multipleks data maka bus ini disebut multiplexed bus. Kekurangan
multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat
tempat tapi kecepatan transfer data menurun dan diperlukan mekanisme yang
komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated
bus merupakan kebalikan dari multipexed bus.
2.1.1 Organisasi
Bus
Dalam organisasi pada Bus di bagi menjadi dua macam yaitu :
2.1.1.a Jalur
Kontrol
- Berisi signal request dan sinyal
acknowledgements
- Mengindikasikan tipe informasi pada jalur
data.
2.1.1.b Jalur Data
- Membawa informasi antara sumber dan
tujuan data
dan alamat dan perintah-perintah kompleks
.
2.1.2 Struktur bus dan Tipe Bus
Semua
unit yang terhubung ke bus tunggal, sehingga menyediakan satu-satunya cara
interkoneksi. Struktur bus tunggal memiliki
keunggulan kesederhanaan dan biaya rendah.
Struktur bus tunggal memiliki
kelemahan kecepatan terbatas karena biasanya hanya dua unit dapat
berpartisipasi dalam transfer data pada satu waktu. Ini berarti bahwa sistem arbitrase diperlukan dan bahwa
unit akan dipaksa untuk menunggu. Hanya dua unit secara aktif dapat
menggunakan bus pada waktu tertentu. Garis kontrol bus digunakan
untuk menengahi beberapa permintaan untuk penggunaan bus.
Sebuah bus adalah kumpulan kabel yang
menghubungkan beberapa perangkat dalam sistem komputer.Ketika sebuah kata data
ditransfer antara unit, semua bit yang ditransfer secara paralel. Sebuah komputer harus memiliki beberapa baris untuk
mengatasi dan tujuan kontrol.
Tiga kelompok utama baris:
1. Data Bus. Ini adalah untuk transmisi data.
2. Alamat Bus. Ini menentukan lokasi data dalam MM.
3.Bus
kontrol. Hal ini menunjukkan arah
transfer data dan koordinat waktu kejadian selama transfer.
2.2 ALU
ALU, singkatan dari Arithmetic And Logic Unit (bahasa Indonesia:
unit aritmatika dan logika), adalah salah satu bagian dalam dari sebuah mikroprosesoryang
berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Contoh operasi aritmatika adalah
operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah
logika AND dan OR. tugas utama dari ALU (Arithmetic And Logic Unit)adalah
melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai
dengan instruksi program. ALU melakukan operasi aritmatika yang lainnya.
Seperti pengurangan, pengurangan, dan pembagian dilakukan dengan dasar
penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi aritmatika ini disebutadder. ALU melakukan operasi arithmatika
dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti
pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan.
sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi
arithmatika ini disebutadder. Tugas lalin dari ALU adalah melakukan
keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical
operation) meliputi perbandingan dua buah elemen logika dengan menggunakan
operator logika, yaitu:
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=) (sumber: Buku
Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
2.3 Control
Unit (CU)
Unit kendali (bahasa Inggris: Control Unit - CU) 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).
2.4 Register
Prosessor
Register prosesor,
dalam arsitektur
komputer, adalah sejumlah kecil memori komputer 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.
Register prosesor berdiri pada
tingkat tertinggi dalam hierarki memori: ini
berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling
kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan
sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang
dapat ditampung olehnya, seperti "register 8-bit", "register
16-bit", "register 32-bit", atau "register 64-bit" dan
lain-lain.
Istilah register saat ini
dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung
untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini,
digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan
sekumpulan delapan buah register dengan ukuran 32-bit, tapi CPU yang
mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan
register 32-bit.
2.4.1 Jenis register
Register terbagi menjadi beberapa
kelas:
§
Register data, yang
digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
§
Register alamat, yang
digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
§
Register general purpose, yang dapat digunakan untuk menyimpan angka dan
alamat secara sekaligus.
§
Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan
titik mengambang (floating-point).
§
Register konstanta (constant
register), yang digunakan untuk menyimpan angka-angka tetap yang hanya
dapat dibaca (bersifat read-only), semacam phi, null, true, false dan
lainnya.
§
Register vektor, yang
digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
§
Register special purpose yang dapat digunakan untuk menyimpan data
internal prosesor, seperti halnya instruction pointer, stack pointer, dan
status register.
§
Register yang spesifik terhadap model mesin (machine-specific register), dalam
beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan
yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register
langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register
jenis ini tidak menjadi standar antara generasi prosesor.
REFRENSI :
Tidak ada komentar:
Posting Komentar