I. IAS REGISTER
Komputer IAS pada tahun 1946 didesain oleh Von
Neumann bersama koleganya dengan konsep pemrograman yang kemudian disebut
dengan IAS Computer (Computer of Institute for Advanced Studies) karena
dikembangkan di Computer of Institute for Advanced
Studies.
Secara umum, struktur dari komputer IAS adalah sebagai berikut:1. Memori utama, untuk menyimpan data dan intruksi.
2. Arithmetic Logic Unit (ALU), untuk mengolah data binner
3. Control Unit, untuk melakukan interpretasi instruksi - instruksi di dalam memori sehingga adanya eksekusi instruksi tersebut
4. I/0, untuk berinteraksi dengan lingkungan luar
Gambar 1. Struktur Umum Komputer IAS
Secara detail Komputer IAS memiliki 1000 lokasi
penyimpanan x 40 bit words, dengan rincian:
• Binary number
• 2 x 20 bit instructions
• Binary number
• 2 x 20 bit instructions
Dengan format memori sebagai berikut :
Gambar 2. Format Memori Struktur
Komputer IAS
Gambar 3. Struktur Detail Komputer
IAS
II. Fungsi dan Komponen Utama CPU
CPU, singkatan dari Central Processing Unit adalah perangkat
keras komputer yang berfungsi untuk menerima dan melaksanakan perintah dan data
dari perangkat lunak. Prosesor sering digunakan untuk menyebut CPU pada
umumnya. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu,
seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak pertengahan tahun
1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan
menjadi aspek penting dalam penerapan CPU.
Pin mikroprosesor Intel 80486DX2.
Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut:
Unit kontrol (Control Unit)
Unit kontrol ini adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen ini terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU (Aritmathic Logic Unit). Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah:
• Mengatur dan mengendalikan alat-alat input dan output.
• Mengambil instruksi-instruksi dari memori utama.
• Mengambil data dari memori utama (jika diperlukan) untuk diproses.
• Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika.
• Mengawasi kerja dari ALU.
• Menyimpan hasil proses ke memori utama.
Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
ALU
ALU merupakan bagian dari CPU yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).
* CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan /keluaran.
Fungsi CPU
CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan ketik, pemindai, tuas kontrol, maupun tetikus. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (RAM), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada RAM dengan menentukan alamat data yang dikehendaki.
Saat sebuah program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara CPU dengan RAM. Data kemudian didekode dengan menggunakan unit proses yang disebut sebagai pendekoder instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit aritmatika dan logika (ALU) yang melakukan kalkulasi dan perbandingan. Data bisa jadi disimpan sementara oleh ALU dalam sebuah lokasi memori yang disebut dengan register supaya dapat diambil kembali dengan cepat untuk diolah. ALU dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik, media penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi. Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan penghitung program akan memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat dieksekusi dengan urutan yang benar dan sesuai.
Pin mikroprosesor Intel 80486DX2.
Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut:
Unit kontrol (Control Unit)
Unit kontrol ini adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen ini terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU (Aritmathic Logic Unit). Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah:
• Mengatur dan mengendalikan alat-alat input dan output.
• Mengambil instruksi-instruksi dari memori utama.
• Mengambil data dari memori utama (jika diperlukan) untuk diproses.
• Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika.
• Mengawasi kerja dari ALU.
• Menyimpan hasil proses ke memori utama.
Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
ALU
ALU merupakan bagian dari CPU yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).
* CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan /keluaran.
Fungsi CPU
CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan ketik, pemindai, tuas kontrol, maupun tetikus. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (RAM), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada RAM dengan menentukan alamat data yang dikehendaki.
Saat sebuah program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara CPU dengan RAM. Data kemudian didekode dengan menggunakan unit proses yang disebut sebagai pendekoder instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit aritmatika dan logika (ALU) yang melakukan kalkulasi dan perbandingan. Data bisa jadi disimpan sementara oleh ALU dalam sebuah lokasi memori yang disebut dengan register supaya dapat diambil kembali dengan cepat untuk diolah. ALU dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik, media penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi. Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan penghitung program akan memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat dieksekusi dengan urutan yang benar dan sesuai.
1
. Motherboard :
Tempat
kita menancapkan atau memasangkan komponen-komponen komputer lainnya seperti
processor, video card, sound card, hard disk, dan lain sebagainya. Motherboard
berfungsi untuk menghubungkan setiap komponen-komponen komputer tersebut agar
bisa saling berkomunikasi satu sama lain. Setiap motherboard memiliki
spesifikasi-nya masing-masing, spesifikasi seperti processor apa yang
didukungnya dan berapa kapasitas maksimal RAM yang didukung oleh motherboard
tersebut.
2
. Prosesor :
Otak
sebuah komputer yang bertugas memproses perintah dan logika yang diberikan oleh
operator komputer, banyaknya jenis processor yang ada sebanding dengan software
yang berkembang dipasaran kerena dituntut untuk dapat melakukan banyak
perkerjaan salam satu waktu terkadang pemilihan processor yang kita gunakan
harus tepat, karena jika sampai salah pilih akan berimbas pada lambatnya proses
kerja sebuah komputer yang pasti berimbas langusng pada pekerjaan pengguna
komputer.
3
. RAM :
Berfungsi
menampung data yang telah terproses oleh processor sebelum di alirkan
kebagian-bagian yang membutuhkan, banayknya pengembangan yang dilakukan pada
bagian ini membuat kita lebih mudah dalam pemilihan ram yang cocok untuk
pekerjaan kita, apalagi sekarang hampir semua merk menerapkan sistem garansi
lifetime pada ram.4 .Chipsetmengatur komunikasi antara komponen. Chipset dibagi
menjadi dua bagian. Chip pertama disebut “Nort Bridge” yang dapat mengatur
komunikasi antara AGP, RAM, Processor, dan “South Bridge” pada chipset. Dan
bagian chip yang kedua adalah “South Bridge” yang dapat mengatur semua inputan
dan output pada komputer, termasuk PCI dan ISA bus. Processor, Memori (RAM),
Cache, dan Chipset bekerja bersama untuk mengaktifkan fungsi komputer.
5
. Video card VGA :
Mengolah gambar sebelum ditampilkan ke monitor, banyaknya kebutuhan
pengolahan gambar bagi gamers atau designer yang mengharuskan merogoh kantong
yang agak dalam, beruntung sekarang bagi pengguna komputer kantor video grafis
sudah terintegrasi dalam motherboard sehingga lebih menghemat pengeluaran.
6
. Sound card :
Fungsi
kartu suara sebagai prosesor audio untuk komputer Anda. Analog atau sinyal
digital yang masuk ke dalam input kartu dan digital diinterpretasikan sebagai
algoritma yang pada gilirannya ditafsirkan sebagai bentuk gelombang dan
menghasilkan sinyal sonik dalam output dari kartu suara komputer. Kartu suara
adalah perangkat yang dipasang berjalan pada sistem komputer Anda, dengan sifat
keras diprogram dan driver perangkat terpisah. Kartu suara mengontrol semua
audio pada komputer.
7
. Hardisk :
Sebagai
penyimpanan data pada komputer, kapasitas yang benar tentu saja berpengaruh
terhadap jumlah data yang dapat kita simpan, ditambah lagi buffer yang besar
akan membantu kecepatan transfer baik antar hardisk ataupun untuk proses suatu
program. Fungsi lain dari hardisk untuk penyimapanan data yang bersifat mobile
dengan sedikit penambahan casing pada hardisk laptop.
8
. Optical disk drive :
Fungsi
utama untuk pembacaan pada media CD ataupun DVD, memang secara fungsi sekarang
kurang diminati karena banyaknya media penyimpanan yang bersifat mobile dan
berkapasitas lebih besar daripada CD, DVD ataupun Blueray yang dapat diakses
langsung tanpa menggunakan CD atau pun DVD.
9
. Power suplay :
Mengubah
jenis daya listrik yang tersedia di stopkontak, 120 volt, 60 Hz, menjadi arus
komputer dapat digunakan, +5 dan +12 volt DC saat ini. Biasanya komponen
elektronik digital dan sirkuit di komputer, seperti motherboard, kartu adaptor,
dan papan disk drive logika, gunakan +5 volt power, dan kipas dan motor disk
drive menggunakan daya +12 volt. Untuk komputer untuk berjalan dengan baik,
pasokan dari kedua jenis arus harus diberikan setiap saat.
10
. Casing :
Berfungsi
sebagai tempat kita meletakkan atau menempelkan motherboard, power supply,
optical disc drive, hard disk, dan lain sebagainyaMelindungi berbagai komponen
di dalamnya dari debu, panas, air, atau kotoran lainnya pada saat bekerja
Casing juga menjadi penting karena hampir semua periferal macam motherboard,
CD-ROM drive, harddisk, dan floppy drive menggunakan casing ini sebagai tempat
dudukannya alias tempat bekerjanya sehari-hari.
[Cara Kerja CPU Pada Komputer] Bagaimana program dijalankan
CPU? Mari kita meneliti cara central processing unit, bekerjasama dengan
memori, mengeksekusi program komputer. Kita akan melihat bagaimana hanya satu
instruksi dalam program dijalankan.
Pada kenyataannya Cara Kerja CPU pada Sistem Komputer, kebanyakan komputeer saat ini hanya dapat mengeksekusi satu instruksi pada satu waktu, meskipun mereka jalankan dengan sangat cepat. Banyak komputer pribadi dapat mengeksekusi instruksi dalam waktu kurang dari satu juta detik, sedangkan kecepatan setan dikenal sebagai superkomputer dapat mengeksekusi instruksi dalam waktu kurang dari satu milyar detik.
Sebelum instruksi Cara Kerja Sistem Komputer dapat dilaksanakan, instruksi-instruksi program dan data harus ditempatkan ke dalam memori dari perangkat input atau perangkat penyimpanan sekunder (proses ini semakin rumit oleh fakta bahwa, sebagaimana kita catat sebelumnya, data yang mungkin akan membuat sementara berhenti di register).
Cara Kerja CPU Pada Komputer sebagai berikut:
1. Mengambil unit kontrol (mendapat) instruksi dari memori.
2. Decode unit kontrol instruksi (memutuskan apa artinya) dan mengarahkan bahwa data yang diperlukan akan dipindahkan dari memori ke aritmatika logic unit. Ini bersama-sama dua langkah pertama disebut waktu instruksi, atau saya-waktu.
3. Aritmetik unit logika mengeksekusi instruksi aritmetika atau logis. Artinya, ALU diberikan kontrol dan melakukan operasi yang sebenarnya pada data.
4. THC aritmatika logic unit menyimpan hasil dari operasi ini di memori atau register. Langkah 3 dan 4 bersama-sama disebut waktu eksekusi, atau E-time.
5. Unit kontrol akhirnya mengarahkan memori untuk melepaskan hasil untuk perangkat keluaran atau perangkat penyimpanan sekunder.
Pada kenyataannya Cara Kerja CPU pada Sistem Komputer, kebanyakan komputeer saat ini hanya dapat mengeksekusi satu instruksi pada satu waktu, meskipun mereka jalankan dengan sangat cepat. Banyak komputer pribadi dapat mengeksekusi instruksi dalam waktu kurang dari satu juta detik, sedangkan kecepatan setan dikenal sebagai superkomputer dapat mengeksekusi instruksi dalam waktu kurang dari satu milyar detik.
Sebelum instruksi Cara Kerja Sistem Komputer dapat dilaksanakan, instruksi-instruksi program dan data harus ditempatkan ke dalam memori dari perangkat input atau perangkat penyimpanan sekunder (proses ini semakin rumit oleh fakta bahwa, sebagaimana kita catat sebelumnya, data yang mungkin akan membuat sementara berhenti di register).
Cara Kerja CPU Pada Komputer sebagai berikut:
1. Mengambil unit kontrol (mendapat) instruksi dari memori.
2. Decode unit kontrol instruksi (memutuskan apa artinya) dan mengarahkan bahwa data yang diperlukan akan dipindahkan dari memori ke aritmatika logic unit. Ini bersama-sama dua langkah pertama disebut waktu instruksi, atau saya-waktu.
3. Aritmetik unit logika mengeksekusi instruksi aritmetika atau logis. Artinya, ALU diberikan kontrol dan melakukan operasi yang sebenarnya pada data.
4. THC aritmatika logic unit menyimpan hasil dari operasi ini di memori atau register. Langkah 3 dan 4 bersama-sama disebut waktu eksekusi, atau E-time.
5. Unit kontrol akhirnya mengarahkan memori untuk melepaskan hasil untuk perangkat keluaran atau perangkat penyimpanan sekunder.
IV. Register
Register Prosesor
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.
A.
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.
·
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.
B.
Ukuran register
|
Register
|
Prosesor
|
|
4-bit
|
|
|
8-bit
|
|
|
16-bit
|
|
|
32-bit
|
|
|
64-bit
|
C.
Organisasi
Register
Sistem
Komputer menggunakan hirarki memori.pada tingkatan yang atas,memori lebih
cepat,lebih kecil,lebih mahal(per bit).Di dalam CPU,terdapat sekumpulan
register yang tingkatan memorinya berada di atas hirarki memori utama dan
cache.
Register CPU memiliki dua fungsi:
·
User-visible
Register ini memunginkan pemogram bahasa mesin dan bahasa assembler
meminimalkan referensi main memori dengan cara mengoptimasi penggunaan
registrasi.
CPU
dengan Bus Sistemnya
·
Control
and status Register : Register-register ini digunakan oleh
unit kontrol untuk mengontrol operasi CPU dan oleh program sistem operasi untuk
mengontrol eksekusi program.
\
Sistem Komputer menggunakan
hierarki memori. Dimana semakin menuju tingkatan teratas maka memori akan ke
suatu wujud dimana lebih cepat, lebih kecil, dan pasti lebih mahal. CPU
memiliki sekumpulan register dimana tingkatan memorinya berada di atas hirarki
memori utama dan cache.
Register merupakan alat
penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan
untuk menyimpan data dan instruksi yang sedang diproses, sementara data dan
instruksi lainnya yang menunggu giliran untuk diproses masih disimpan di dalam
memori utama. Setiap register dapat menyimpan satu bilangan hingga mencapai
jumlah maksimum tertentu tergantung pada ukurannya. Register-register dapat
dibaca dan ditulis dengan kecepatan tinggi karena berada pada CPU.
Register (jamak, dalam bahasa
Indonesia menjadi register-register atau banyak register) merupakan media
penyimpanan internal CPU yang digunakan saat pengolahan data. Registers
merupakan media penyimpanan yang bersifat sementara, artinya data hanya akan
berada dalam registers saat data tersebut dibutuhkan selama komputer
masih hidup, ketika suatu data tidak diperlukan lagi maka ia tidak berhak lagi
berada di dalam
registers, dan ketika komputer dimatikan maka semua data yang berada di dalamnya akan hilang.
registers, dan ketika komputer dimatikan maka semua data yang berada di dalamnya akan hilang.
Berikut fungsi register :
User Visibel Register :
Register CPU yang dapat
digunakan oleh pemrogram, dengan menggunakan set intsruksi memungkinkan satu
buah register atau lebih untuk dispesifikasian sebagai operand atau alamat
operand.
Register CPU yang dapat
digunakan oleh pemrogram, dengan menggunakan set intsruksi memungkinkan satu
buah register atau lebih untuk dispesifikasian sebagai operand atau alamat
operand.
a. General Purpose
Register
- Digunakan untuk
mode pengalamatan dan data.
- Akumulator ( aritmatika,
Shift, Rotate)
- Base Register
(Rotate,Shift, aritmatika)
- Counter Register
( Looping)
- Data Register
(menyimpan alamat I/O device).
b.
Register
Alamat
- Digunakan untuk
mode pengalamatan
- Segment Register
(Code Segment, Data Segment, Stack Segment, Extra Segment)
- Register Index
(Stack Index, Data Index)
- Stack Pointer
c.
Register
Data
- Digunakan untuk
menampung data
d. Register Kode Status
Kondisi (Flag)
- Kode yang
menggambarkan hasil operasi sebelumnya
Control dan Status Register :
Register ini digunakan oleh unit
control untuk mengontrol operasi cpu dan oleh program system operasi untuk
mengontrol eksekusi program
a. Program Counter (PC)
- Berisi alamat
instruksi yang akan diambil
b. Instruction Register
(IR)
- Berisi alamat
instruksi terakhir
c. Memory Address
Register (MAR)
- Berisi alamat
penyimpanan dalam memori
d. Memori Buffer
Register (MBR)
- Berisi data yang
dibaca dari memori atau yang diyliskan ke memori
V. Set Intruksi
Set Instruksi didefinisikan sebagai
suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini
mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).
ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native
form) dalam sebuah desain prosesor tertentu. Kumpulanopcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA
yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC
Alpha, dan lain-lain.
ISA kadang-kadang digunakan untuk membedakan kumpulan
karakteristik yang disebut di atas dengan mikroarsitektur prosesor, yang
merupakan kumpulan teknik desain prosesor untuk mengimplementasikan set
instruksi (mencakup microcode, pipeline, sistem cache, manajemen daya, dan lainnya). Komputer-komputer dengan mikroarsitektur berbeda dapat saling berbagi set instruksi yang sama. Sebagai
contoh, prosesor Intel Pentium dan prosesor AMD
Athlon mengimplementasikan versi yang hampir identik dari set instruksi
Intel x86, tetapi jika ditinjau dari desain internalnya, perbedaannya sangat
radikal. Konsep ini dapat diperluas untuk ISA-ISA yang unik seperti TIMI yang terdapat
dalam IBM System/38 dan IBM IAS/400. TIMI merupakan sebuah ISA yang diimplementasikan sebagai
perangkat lunak level rendah yang berfungsi sebagai mesin virtual. TIMI
didesain untuk meningkatkan masa hidup sebuah platform dan aplikasi yang
ditulis untuknya, sehingga mengizinkan platform tersebut agar dapat dipindahkan
ke perangkat keras yang sama sekali berbeda tanpa harus memodifikasi perangkat
lunak (kecuali yang berkaitan dengan TIMI). Hal ini membuat IBM dapat
memindahkan platform AS/400 dari arsitektur mikroprosesor CISC ke arsitektur mikroprosesor POWER tanpa harus menulis ulang bagian-bagian dari dalam sistem
operasi atau perangkat lunak yang diasosiasikan dengannya.
Ketika mendesain mikroarsitektur, para desainer menggunakan Register
Transfer Language (RTL) untuk
mendefinisikan operasi dari setiap instruksi yang terdapat dalam ISA.
Sebuah ISA juga dapat diemulasikan dalam bentuk perangkat
lunak oleh sebuah interpreter. Karena terjadi
translasi tambahan yang dibutuhkan untuk melakukan emulasi, hal ini memang menjadikannya lebih lambat jika dibandingkan
dengan menjalankan program secara langsung di atas perangkat keras yang
mengimplementasikan ISA tersebut. Akhir-akhir ini, banyak vendor ISA atau
mikroarsitektur yang baru membuat perangkat lunak emulator yang dapat digunakan
oleh para pengembang perangkat lunak sebelum implementasi dalam bentuk perangkat
keras dirilis oleh vendor.
Daftar ISA di bawah ini tidak dapat dikatakan komprehensif,
mengingat banyaknya arsitektur lama yang tidak digunakan lagi saat ini atau
adanya ISA yang baru dibuat oleh para desainer. Satu instruksi mungkin memiliki beberapa
bidang, yang mengidentifikasi operasi logis untuk dilakukan, dan bisa juga menyertakan
alamat sumber dan tujuan dan nilai-nilai konstan. Ini adalah MIPS
"Tambahkan Segera" instruksi yang memungkinkan pemilihan register
sumber dan tujuan dan inklusi dari sebuah konstanta kecil. pada arsitektur
tradisional, instruksi mencakupopcode menentukan operasi yang akan dilakukan,
seperti "isi menambah memori untuk mendaftar", dan nol atau
lebih operanpenspesifikasi, yang dapat menentukanregister, memori lokasi,
atau data harfiah. Para penspesifikasi operan mungkin memilikimode pengamatan menentukan
makna mereka atau mungkin dalam bidang tetap. Dalam [kata sangat panjang
instruksi [
(VLIW) arsitektur, yang mencakup banyak microcode arsitektur,
opkode simultan dan operan yang ditentukan dalam sebuah instruksi.
Beberapa set instruksi eksotis tidak memiliki bidang opcode
(seperti Transportasi
Dipicu Arsitektur (TTA) atau mesin Forth maya),
hanya operan (s). Lainnya tidak biasa " 0-operan"
set instruksi kekurangan dalam suatu operan bidang specifier, seperti beberapa
[mesin [tumpukan]] termasuk NOSC / balik / NOSC /.
VI. MODE
PENGALAMATAN
Kumpulan intruksi intel menyediakan cara yang bervariasi untuk
menemukan lokasi memori. Cara cara ini disebut mode pengalamatan. Cara ini
dapat memudahkan pemrosesan list dan untuk mengacu struktur data yang komplek.
Juga, compile bahasa tingkat tinggi memerlukannya untuk membuat intruksi mesin
yang lebih sedikit ketika set intruksi CPU menggunakan cara yang baik dalam
pengacuan data.
Terdapat lima mode pengalamatan, ditunjukan dalam table mode
pengalamatan dibawah. Dalam table, displacement berupa angka atau offset
variable. Effective address operand mengacu pada offset (jarak) data dari awal
segmen. BX dan BP adalah register basis, dan SI serta DI adalah register index.
Setiap contoh berikut mengacu pada isi memori pada alamat efektif.
|
Mode
|
Contoh
|
Keterangan
|
|
Direct
|
Op l
bytelist
[200]
|
Alamat efektif
adalah displacement
|
|
Register Indirect
|
[bx]
[si]
[di]
|
EA adalah isi basis
atau index
|
|
Based or Indexed
|
List [bx]
[si+list]
[bp+4]
List [di]
[bp-2]
|
EA adalah
penjumlahan register basi atau index dengan displacement
|
|
Base - indexed
|
[bx+si]
[bx][di]
[bp-di]
|
EA adalah
penjumlahan register basis dan register index
|
|
Base –
indexed with displacement
|
[bx+si+2]
List [bx+si]
List [bx][si]
|
EA adalah
penjumlahan register basis, register index dan displacement
|
Table Mode Pengalamatan
Ø Operand register
Operand register mungkin berupa register 8 atau 16 bit. Secara
umum,mode pengalaman register adalah paling efisien karena register adalah
bagian dari CPU dan tidak memerlukan pengaksesan memori. Beberapa contoh
menggunakan instruksi MOV sebagai
berikut:
mov ax,bx
mov cl,al
mov si,ax
Ø Operand Immedite
Operand immediate adalah ekspresi konstan, seperti angka,
karakter atau ekspresi aritermetik. Assembler harus menentukan nilai operand
immediate pada waktu assembly. Nilainya disisipkan langsung kedalam intruksi
mesin. Contoh operand immediate ditunjukan sebagai berikut. Contoh terakhir,
(2+3)/5, adalah ekspresi yang dievaluasi pada saat assembly.
|
Contoh
|
Ukuran (bit)
|
|
10
‘A’
‘AB’
65535
(2+3)/5
|
8
8
16
16
8
|
Ø Operand Direct
Operand Direct mengacu pada isi memori offset variable.
Assembler menjaga nilai offset setiap label, membuatnya memungkinkan untuk
menghitung alamat efektif operand direct. Pada contoh, isi memori pada lokasi
count dipindah ke AL:
Count
db 20
…
…
Mov
al,
count ;
AL= 20
Ø Operand Offset
Ketika diperlukan pemindahan offset label kedalam register atau
variable, digunakan operator offset. Oleh karena assembler mengetahui offset
setiap label sebagai program yang sedang di-assembly maka mudah untuk
menggantikan nilai offset ke dalam intruksi. Misalkan, offset variable a word
dalam contoh berikut adalah 0200h; intruksi MOV akan memindahkan 200h ke dalam
BX langsung:
aWord
dw 1234
…
Mov
bx, offset a Word
Ø Operand tidak
langsung
Jika offset variable yang ditempatkan dalam register atau
variable, untuk variable yang mengandung element tunggal, dia akan mempunyai
nilai yang kecil; tetapi untuk daftar item, pointer mungkin akan ditambah untuk
menunjuk setiap elemen.
Ø Based dan Indexed
Operand
Operand basis dan indekx pada dasrnya sama; register ditambahkan
pada displacement untuk mendapatkan alamat efektif. Register yang dipakai harus
SI, DI, BX dan BP. Displacement adalah angka atau label yang offsetnya diketahui
pada waktu assembly. Notasi mungkin dalam bentuk yang sama:
Register ditambahkan ke offset:
Mov
dx, array[bx]
Mov
dx, [di+array]
Mov
dx, [array+si]
Register ditambahkan konstan :
Mov
ax, [bp+2]
Mov
dl, [di-2]
Mov
dx, 2[si]
Ø Base-indexed
Operand
Alamat efektif operand dibangun oleh penggabungan register basis
dengan register index. Misalkan BX=2002h dan SI=6. Intruksi berikut akan
menghitung alamat efektif 208h:
Mov
al, [bx+si]
Teknik ini sering berguna untuk array dua dimensi, dimana BX
dapat menunjuk offset baris dan SI offset kolom. Contoh berikut, alamat efektif
yang dibangun oleh [bx+si] adalah 0157:
CODE :
Array db
10, 20, 30, 40, 50
Db
60, 70, 80, 90, A0
Db
B0, C0, D0, E0, F0
….
Mov
bx, offset array ; menunjuk pada array (0150)
Add
bx,
5 ;
memilih baris kedua
Mov
si, 2 ;
memilih kolom ke tiga
Mov
al,
[bx+si] ;mengambil
nilai pada alamat efektif 0157
Ilustrasi
0150
|
10
|
20
|
30
|
40
|
50
|
60
|
70
|
80
|
90
|
…
|
…
|
…
|
[BX] [SI]
Ø Base-indexed
dengan displacement
Alamat efektif operand dibangun dengan menggabungkan register
basis, register index dan displacement. Contohnya sebagai berikut:
Mov
dx, array [bx] [si]
Mov
ax, [bx+si+array]
Add
dl, [bx+si+3}
Sub
cx, array [bp+si]
Ø Penjumlahan
serangkaian bilangan
Contoh program berikut menunjukan bagaimana bermacam macam mode
pengalamatan bisa digunakan ketika mengakses elemen sebuah array. Array berada
pada offset 150, dan hasil penjumlahan akan disimpan pada offset 153. Program
berikut mungkin di assemble dan dijalankan dalam Debug.
A
150
Db
10, 20, 30, 0
…
A
100
Mov
bx, 150
Mov
si, 2
Mov
al, [bx]
Add
al, [bx+1]
Add
al, [bx+si]
Mov
[153], al
Int
20
t
.
.
D
150, 153
Tidak ada komentar:
Posting Komentar