Perlu diketahui bahwa siklus eksekusi untuk suatu
instruksi dapat melibatkan lebih dari sebuah referensi ke memori.
Disamping itu juga, suatu instruksi dapat menentukan suatu operasi I/O.
Perhatikan gambar diagram siklus instruksi di atas .
- Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit,maka tambahkan 2 ke alamat sebelumnya.
- 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.
- Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
- Operand Store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.
- Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
- Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
Berikut merupakan penjelasan dari :
a. 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.
b.
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.
c. Instruction
Buffer Register (IBR),
Digunakan untuk penyimpanan sementara instruksi sebelah kanan word di dalam memori.
d. 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.
e. 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).
f. 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.
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.
g. 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.
·https://viahasnani.blogspot.com/p/blog-page_38.html
- 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 REFERENSI
·ridhoaranca.wordpress.com/2019/05/04/penjelasan-gambar-dan-definisi-materi struktur-cpu·https://viahasnani.blogspot.com/p/blog-page_38.html
Tidak ada komentar:
Posting Komentar