Tugas 3 Individu
Soal 1
- Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi.
- Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
- Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
- Operand Address Calculation (OAC),yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
- Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
- Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
- Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.
Soal 2
1. Accumulator
Pada mulanya komputer adalah berbasis akumulator.
Hal ini merupakan CPU yang sederhana, dimana akumulator berisi satu operand
pada instruksi, demikian juga hasilnya tersimpan pada akumulator. Isi
akumulator disertakan di dalam opersi-operasi aritmatika seperti penjumlahan,
pengurangan dan sebaginya. Hal ini dikenal dengan mesin sartu alamat.
Contoh CPU berbasis akumulator : PDP-8; Mark I
Keuntungan CPU berbasis akumulator:
- Isi akumulator diperuntukkan bagi satu operand, karena itu tidak memerlukan field alamat operand (untuk satu operand) dalam instruksi.
- Siklus instruksi menggunakan waktu yang singkat sebab menghemat waktu dalam pengambilan instruksi karena tidak ada siklus pengambilan operand.
Kekurangan CPU berbasis akumulator:
- Ukuran program menjadi panjang karena banyak menggunakan instruksi dalam ekspresi-ekspresi kompleks.
- Waktu eksekusi program bertambah karena bertambahnya jumlah instruksi dalam program.
2. Accumulator (AC) dan Temporary Register (MQ),
Digunakan untuk penyimpanan sementara
operand dan hasil ALU. Misalnya, hasil perkalian 2 buah bilangan 40 bit adalah
sebuah bilangan 80 bit; 40 bit yang paling berarti (most significant bit)
disimpan dalam AC dan 40 bit lainnya (least significant bit) disimpan dalam MQ.
IAS beroperasi secara berulang membentuk siklus instruksi. Komputer IAS
memiliki 21 instruksi, yang dapat dikelompokkan seperti berikut ini :
- Data tranfer, memindahkan data di antara memori dengan register – register ALU atau antara dua register ALU sendiri.
- Unconditional branch, perintah – perintah eksekusi percabangan tanpa syarat tertentu.
- Conditional branch, perintah – perintah eksekusi percabangan yang memerlukan syarat tertentu agar dihasilkan suatu nilai dari percabangan tersebut.
- Arithmetic, kumpulan operasi – operasi yang dibentuk oleh ALU.
- Address Modify, instruksi – instruksi yang memungkinkan pengubahan alamat saat di komputasi sehingga memungkinkan fleksibilitas alamat yang tinggi pada program.
3. Instruction Buffer Register (IBR),
digunakan untuk penyimpanan sementara instruksi sebelah kanan word di dalam
memori.
4. Instruction Register (IR)
Berisi instruksi 8 bit kode operasi yang akan
dieksekusi. Dalam komputer, register instruksi (IR) atau register instruksi
saat ini (CIR) adalah bagian dari unit kontrol CPU yang memegang instruksi yang
saat ini sedang dieksekusi atau diterjemahkan. Dalam prosesor sederhana setiap
instruksi yang akan dieksekusi dimasukkan ke dalam register instruksi yang
menyimpannya ketika sedang diterjemahkan, disiapkan dan pada akhirnya
dieksekusi, yang dapat mengambil beberapa langkah.
Beberapa prosesor rumit menggunakan pipa register instruksi di mana setiap
tahap pipa melakukan bagian dari decoding, persiapan atau eksekusi dan kemudian
meneruskannya ke tahap berikutnya untuk langkahnya. Prosesor modern bahkan
dapat melakukan beberapa langkah yang tidak sesuai karena decoding pada
beberapa instruksi dilakukan secara paralel.
Decoding kode-op dalam register instruksi termasuk menentukan instruksi,
menentukan di mana operandnya berada dalam memori, mengambil operan dari
memori, mengalokasikan sumber daya prosesor untuk menjalankan perintah (dalam
prosesor skalar super), dll.
Output dari IR tersedia untuk mengontrol sirkuit yang menghasilkan sinyal
timing yang mengontrol berbagai elemen pemrosesan yang terlibat dalam
mengeksekusi instruksi.
Dalam siklus instruksi, instruksi dimuat ke dalam register instruksi setelah
prosesor mengambilnya dari lokasi memori yang ditunjuk oleh penghitung program.
5. Program Counter (Pc)
Program, atau PC
(disebut juga pointer instruksi [1], atau instruksi mendaftarkan alamat
[2], atau hanya bagian dari instruksi sequencer [3] di beberapa
komputer) adalah daftar prosesor yang menunjukkan tempat komputer ini
dalam urutan instruksiTergantung pada rincian tertentu komputer, PC
memegang baik alamat instruksi yang sedang dijalankan, atau alamat
instruksi berikutnya yang akan dijalankan.
Dalam kebanyakan
prosesor, yang merupakan instruksi pointer incremented secara otomatis
setelah mengambil sebuah program pengajaran, sehingga petunjuk biasanya
diambil dari memori secara berurutan, dengan instruksi tertentu, seperti
kantor cabang, melompat dan subroutine panggilan dan kembali,
interrupting urutan dengan menempatkan nilai baru dalam program counter.
Melompat seperti
petunjuk membolehkan alamat baru yang akan dipilih sebagai awal dari
sebelah bagian dari aliran instruksi dari memori. Mereka membolehkan
nilai baru yang akan diambil (tertulis) ke dalam program counter
mendaftar. J subroutine panggilan yang dicapai cukup lama dengan membaca
isi dari program counter, sebelum mereka ditimpa oleh nilai baru, dan
disimpan di suatu tempat lain dalam memori atau mendaftar. J subroutine
kembali kemudian menulis dicapai oleh nilai yang disimpan kembali ke
dalam program counter lagi.
Bekerja dari sebuah program sederhana counter
Di pusat pengolahan
unit (CPU) dari komputer yang sederhana berisi hardware (unit kontrol
dan upacara ucapan alu) yang melaksanakan petunjuk tersebut, seperti
yang diambil dari memori unit. Sebagian besar instruksi siklus [4]
terdiri dari CPU mengirim alamat pada bus alamat, ke memori unit, yang
kemudian merespon dengan mengirimkan isi dari lokasi memori yang
meliputi data, pada data bus. (Hal ini sangat sibuk dengan ide yang
disimpan-program komputer yang dieksekusi dalam petunjuk disimpan di
samping biasa data dalam memori unit, dan oleh itu sama dengan [5]).
PC hanyalah satu
dari sekian banyak mendaftar di hardware dari CPU. Itu, seperti
masing-masing register lainnya, terdiri dari bank dari biner latches (a
binary memalangi juga dikenal sebagai tiba-tiba), dengan satu flip-flop
bit per dalam integer yang akan disimpan [6] (32 untuk 32-bit CPU,
misalnya). Dalam hal PC, yang merupakan integer alamat dalam memori unit
yang akan diambil berikutnya.
Setelah data
(dengan instruksi) telah diterima pada data bus, PC adalah incremented.
Dalam beberapa CPU ini dicapai dengan menambahkan 000 .. 001 ke isinya,
dan hasilnya menjadi latching register harus isi yang baru, pada
kebanyakan CPU, though, PC diimplementasikan sebagai register yang
internal kabel sehingga dianggap sampai ke nilai berikutnya ketika
sinyal tertentu akan diterapkan ke luar [7]. Seperti mendaftar, dalam
elektronik, yang disebut sebagai binary counter, dan dengan itu asal
istilah program counter.
Semua sifat yg dpt meliputi program counter
Keberadaan program
counter dalam CPU telah mencapai jauh konsekuensi pada cara kita
berpikir ketika kita program komputer, dan memang program counter (atau
setara blok perangkat keras yang melayani tujuan yang sama [8]) sangat
pusat ke arsitektur von Neumann.
It membebankan
ketat sequencial memesan pada mengambil dari instruksi dari memori unit
(yang aliran kontrol), bahkan di mana tidak ada sequenciality ini
diterapkan oleh algoritma itu sendiri (yang von Neumann kemacetan). Hal
ini mungkin mengapa penelitian menjadi model untuk komputasi paralel
dianggap [9], pada satu titik, tidak lain von Neumann atau dataflow
model yang tidak menggunakan program counter. Misalnya, pemrograman
fungsional bahasa yang berharap banyak pada tingkat tinggi, dengan
combinatory logika di tingkat assembler. Bahkan kemudian, sebagian besar
peneliti ini emulated di microcode konvensional komputer (karenanya
masih melibatkan sebuah program counter dalam hardware), tetapi,
sebenarnya, combinators sangat sederhana, mereka bisa, pada prinsipnya
dilaksanakan secara langsung pada perangkat keras tanpa kembali ke
microcode counter atau program sama sekali.
In the end, though,
hasil penelitian yang makan kembali, sebaliknya, menjadi cara untuk
meningkatkan pelaksanaan kecepatan prosesor konvensional. Cara yang
ditemukan untuk mengorganisir di luar aturan pelaksanaan, sehingga untuk
mendapatkan informasi yang sequencing yang tersirat dalam data. Selain
itu, pipa dan sangat panjang instruksi kata organisasi diizinkan
compiler untuk mengatur beberapa perhitungan yang akan berangkat
bersama. Pada awal setiap instruksi pelaksanaan, tetapi, instruksi yang
harus diambil dari memori, dan ini dimulai oleh sebuah instruksi fetch
siklus yang picks alamat, satu per satu, dari program counter.
Bahkan bahasa
pemrograman tingkat tinggi yang memiliki program-counter konsep berurat
berakar mendalam dalam perilaku mereka. Anda hanya perlu untuk melihat
bagaimana programmer debugs atau mengembangkan program komputer untuk
melihat bukti ini, dengan pemrogram menggunakan jari untuk menunjuk ke
baris berturut-turut dalam program untuk model langkah-langkah
pelaksanaannya. Memang, sebuah bahasa pemrograman tingkat tinggi yang
tidak kurang daripada assembler bahasa tinggi mesin virtual [10] –
sebuah komputer yang akan terlalu rumit untuk biaya-efektif untuk
membangun secara langsung dalam perangkat keras, sehingga adalah
melaksanakan, bukan menggunakan beberapa kerang dari pertandingan
(dengan compiler atau interpreter menyediakan lebih tinggi, dan
microcode menyediakan tingkat bawah).
6. Memory Buffer Register (MBR)
Memory Buffer Register (MBR),
berisi sebuah word yang akan disimpan di dalam memori atau digunakan untuk menerima word dari memori.
Memory Address Register (MAR),
untuk menentukan alamat word di memori untuk dituliskan dari MBR atau dibaca oleh MBR.
Instruction Register (IR)
, berisi instruksi 8 bit kode operasi yang akan dieksekusi.
Instruction Buffer Register (IBR),
digunakan untuk penyimpanan sementara instruksi sebelah kanan word di dalam memori.
Program Counter (PC)
, berisi alamat pasangan instruksi berikutnya yang akan diambil dari memori.
Accumulator (AC)
dan
Multiplier Quotient (MQ),
digunakan untuk penyimpanan sementara operand dan hasil ALU. Misalnya, hasil perkalian 2 buah bilangan 40 bit adalah sebuah bilangan 80 bit; 40 bit yang paling berarti (
most significant bit
) disimpan dalam AC dan 40 bit lainnya (
least significant bit
) disimpan dalam MQ.
IAS beroperasi secara berulang membentuk
siklus instruksi
. Komputer IAS memiliki 21 instruksi, yang dapat dikelompokkan seperti berikut ini :
Data tranfer
, memindahkan data di antara memori dengan register
–
register ALU atau antara dua register ALU sendiri.
Unconditional branch
, perintah
–
perintah eksekusi percabangan tanpa syarat tertentu.
Conditional branch
, perintah
–
perintah eksekusi percabangan yang memerlukan syarat tertentu agar dihasilkan suatu nilai dari percabangan tersebut.
Arithmetic,
kumpulan operasi
–
operasi yang dibentuk oleh ALU.
Address Modify,
instruksi
–
instruksi yang memungkinkan pengubahan alamat saat di komputasi sehingga memungkinkan fleksibilitas alamat yang tinggi pada program.
7. Memory Address Register (MAR)
MAR (Memory Address Register) atau
register penunjuk alamat memori merupakan register yang menampung alamat
data atau instruksi pada main memory yang akan diakses, baik itu yang
akan diambil (dibaca) maupun yang akan diletakkan (disimpan/ditulis).
Register ini berisi alamat dari data dan dihubungkan pada bus alamat,
sehingga dapat menspesifikasikan alamat di dalam memori untuk operasi
baca atau simpan/tulis. Alamat dari main memory (tempat data berada),
diletakan di MAR dan dikirimkan ke main memory melalui address bus.
Selama komputer bekerja, alamat dalam pencacah program ditahan (latched)
pada MAR. Setelah itu MAR akan mengirimkan alamat ke dalam RAM dan
operasi membaca dilaksanakan. Fungsi MAR MAR berfungsi sebagai
komponen yang diperintahkan oleh IR dan Control Unit untuk mencari dan
menampung alamat data serta instruksi dalam sebuah Main Memory.
Proses kerja MAR (antara CPU dan
memory) MAR merupakan salah satu register yang digunakan sebagai
interface antara CPU dan main memory. MAR menampung alamat data atau
instruksi yang dikirim dari main Memory ke CPU atau yang akan direkamkan
ke Main Memory.
Berikut penjelasan tentang proses pengaksesan data di/ke main memory.
- Bila data atau instruksi akan diambil dari Main Memory ke CPU, maka Main Memory harus diberitahu terlebih dahulu alamat (address) data atau instruksi tersebut di Main Memory. Oleh Control Unit alamat tersebut diletakan di MAR untuk dikirim ke Main Memory melalui Address Bus.
- Demikian juga jika hasil proses dari CPU akan direkamkan ke main memory, maka Main Memory harus diberitahu terlebih dahulu alamat perekaman hasil proses tersebut di Main Memory. Oleh Control Unit alamat tersebut diletakan di MAR untuk dikirim ke Main Memory lewat Address Bus.
SUMBER:
https://asyiknyabelajarilkom.blogspot.com/2019/03/diagram-siklus-instruksi.html
https://ardiyanto.ilearning.me/2014/06/01/tugas-mandiri-8-sistem-operasi/
Komentar
Posting Komentar