Sabtu, 21 Desember 2013

DATAPATH PADA INSTRUKSI SEDERHANA

ARSITEKTUR KOMPUTER

DATAPATH PADA INSTRUKSI SEDERHANA

ROHMANOTO
11251102143
KELAS B SEMESTER III
TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI, UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU

ABSTRAK
Datapath atau alur data merupakan sekumpulan register, yaitu register tambahan dan register penghubung. Kumpulan register ini berfungsi sebagai jalan dalam proses eksekusi suatu instruksi. Datapath terdiri dari beberapa blok fungsional yaitu ; Register instruksi, Program Counter ( PC ) menyimpan alamat instruksi berikutnya yang akan diambil, Memori Address Register ( MAR ) adalah register yang menyimpan alamat memori dari mana data akan diambil ke CPU atau alamat untuk data yang akan dikirim dan disimpan, Memori Data Register ( MDR ) adalah daftar dari unit kontrol komputer yang berisi data yang akan disimpan dalam penyimpanan komputer ( misalnya RAM ), atau data setelah mengambil dari penyimpanan komputer . Datapath untuk pengambilan (fetch) instruksi adalah sama untuk semua instruksi. Beberapa contoh yaitu Datapath untuk instruksi HALT, instruksi NOOP, instruksi Jump, instruksi Load dan Store.
ABSTRACT
Datapath is a set of registers, ie registers additional and registers connecting. This set of registers serves as a way for the execution of an instruction. Datapath consists of several functional blocks namely; Register instruction, the Program Counter (PC) holds the address of next instruction to be taken, Memory Address Register (MAR) is a register that stores the memory address of where the data will be taken to the CPU or the address for the data to be sent and stored, Memory Data Register (MDR) is a list of computer control unit that contains the data to be stored in a computer storage (eg RAM), or after taking the data from computer storage. Datapath for fetch instructions are the same for all instructions. Some examples are the datapath for instruction HALT, Noop , Jump, Load and Store.


BAB I : PENDAHULUAN



LATAR BELAKANG
Datapath atau alur data merupakan sekumpulan register, yaitu register tambahan dan register penghubung. Kumpulan register ini berfungsi untuk melalukan atau sebagai jalan untuk proses eksekusi suatu instruksi. Secara  keseluruhan, termasuk kedalam instruction set. Datapath berbeda untuk setiap instruksi. Maka penulis ingin membahas dan mengupas tentang datapath tersebut.
TUJUAN
Untuk menegetahui pengertian datapath, cara pengambilan instruksi dan cara kerja datapath untuk berbagai macam instruksi sederhana.
BAB II : LANDASAN TEORI

Sebuah datapath adalah kumpulan unit fungsional, seperti aritmatika logic unit atau pengganda yang melakukan operasi pengolahan data. Ini adalah bagian utama dari banyak  CPU bersama dengan unit control, yang sebagian besar mengatur interaksi antara datapath dan data itu sendiri. Biasanya disimpan dalam register atau memori utama. Baru-baru ini, telah berkembang penelitian di bidang reconfigurable datapath yang dapat kembali bertujuan pada saat run -time dengan menggunakan programmable fabric - agar desain tersebut dapat memungkinkan proses yang lebih efisien serta penghematan energi yang besar.

BAB III : PEMBAHASAN
Blok fungsional dari suatu datapath             
Dalam prosesor computer, datapath sering terdiri dari blok fungsional berikut, atau beberapa variasi lainnya :

·         Register instruksi menyimpan instruksi saat akan dieksekusi
·         Program Counter ( PC ) menyimpan alamat instruksi berikutnya yang akan diambil
·         Memori Address Register ( MAR ) adalah register yang menyimpan alamat memori dari mana data akan diambil ke CPU atau alamat untuk data yang akan dikirim dan disimpan.
·         Memori Data Register ( MDR ) adalah daftar dari unit kontrol komputer yang berisi data yang akan disimpan dalam penyimpanan komputer ( misalnya RAM ), atau data setelah mengambil dari penyimpanan computer.
·         Serta berbagai register yang dapat dibaca dan ditulis oleh software. Jumlah register tujuan umum pada prosesor yang diberikan dapat bervariasi, namun secara umum ukuran file register secara substansial lebih kecil dari cache. Selain itu, banyak prosesor memiliki berbagai register tujuan khusus yang sering transparan untuk perangkat lunak. Ini dapat digunakan sebagai media penyimpanan sementara untuk prosesor, atau sebagai register spesifik - model untuk konfigurasi prosesor .
Ada juga 2 register yang melekat dalam prosesor yang memfasilitasi komunikasi prosesor dengan memori, atau pada dasarnya membantu dalam operasi memori register.
Prosesor mengeksekusi setiap instruksi dalam sederetan langkah-langkah kecil. Langkah-langkah kecil itu adalah sebagai berikut:
o   Mengambil instruksi yang akan dijalankan dari memori dan memasukkannya ke dalam register instruksi
o   Mengubah isi Program Counter menjadi alamat instruksi berikutnya
o   Menentukan jenis instruksi yang baru saja diambil
o   Jika instruksi menggunakan word di memory, maka alamat memori tersebut dipastikan keberadaannya
o   Mengambil word jika diperlukan, ke dalam register CPU
o   Mengeksekusi instruksi
o   Kembali ke langkah 1 untuk memulai instruksi berikutnya. 
Langkah berurutan tersebut sering disebut sebagai siklus fetch-decode-execute yang merupakan langkah operasi utama semua komputer.

Datapath untuk pengambilan (fetch) instruksi adalah sama untuk semua instruksi. Berikut ini adalah gambar urutan pengambilan (fetch) instruksi.
Gambar 1 urutan pengambilan (fetch) instruksi
Berikut adalah gambar hubungan datapath yang terdiri atas PC, MAR, MDR, dan IR, dan juga ditunjukkan titik-titik control dan urutan sinyal yang diperlukan. Pada akhir fase pengambilan, isi PC dinaikkan (increment) oleh panjang bite instruksi yang sedang diambil. Hal ini merupakan persiapan lebih awal untuk pengambilan berikutnya.

BERIKUT INI CONTOH DATAPATH UNTUK BEBERAPA INSTRUKSI :

1.      DATAPATH UNTUK INSTRUKSI HALT
Aksi yang dlakukan oleh instruksi halt adalah mengentikan siklus instrksi. Hal ini digambarkan dengan RUN/HALT:=0. Hubungannya dengan datapath, melibakan resetting flip-flop RUN/HALT. Gambar 3 akan menunjukkan datapath tersebut.sinyal control CLEAR RH mengaktifkan titik control yang masuk ke clock flip-flop D. Masukan flip-flop D secara permanen ditarik turun (0). Karena itu tebing positif sinyal CLEAR RH, me-reset flip-flop.keluaran Q dari flip-flop dirasakan oleh unit control sebelum pengambilan (fetch) instruksi dimulai. Jika 0, pengambilan instruksi tidak dilakukan. Unit control secara sederhana tetap menjaga flip-flop RUN/HLT menjadi set kembali. Hal ini dilakukan dengan dua aksi berikut :
Sinyal RESET menjadi aktif (HIGH)
Sinyal CONTINUE menjadi aktif (HIGH)


Sinyal gerbang NOR membangkitkan sebuah sinal LOW ke masukannpreset flip-flop. Sinyal RESET dibangkitkan tepat ketika power-on dan pada saat me-reset secara manual karena operator menekan tombol/saklar RESET pada panel depan. Sinyal CONTINUE adalah sinyal khusus yang tidak terdapat pada sebuah computer sederhana. Hanya terdapat pada system khusus seperti system multi-prosesor.

2.      DATAPATH UNTUK INSTRUKSI NOOP
Tidak ada aksi apapun yang dilakukan oleh instruksi NOOP. Karena itu tidak ada datapath untuk instruksi ini. Segera setelah instruksi ini dieksekusi, fase eksekusi telah selesai.

3.      DATAPATH UNTUK INSTRUKSI JUMP
Instruksi JUMP bercabang kealamat instruksi seperti yang telah ditentukan oleh instruksi JUMP. Hal ini digambarkan dengan PC:=BA dimana BA adalah alamat cabang yang diberikan oleh instruksi. Alamat ini umumnya dikalkulasi sesuai dengan mode pengalamatan dalam instruksi. Anggap bahwa kalkulasi alamat  telah lengkap dan BA tersedia dalam register ALU R5, mikro-operasi yang dikehendaki adalah PC:=R5. Gambar 4 menunjukkan datapath untuk instruksi JUMP.
Gambar 4 Datapath untuk instruksi JUMP

4.      DATAPATH UNTUK INSTRUKSI  LOAD
Operasi yang dilakukan oleh instruksi LOAD yaitu menyalin isi suatu lokasi memori kedalam suatu register, seperti yang ditetapkan dalam instruksi. Hal ini digambarkan dalam <RA>:=<MA> dimana MA adalah alamat memori dan RA adalah alamat register. Urutan operasi yang diperlukan untuk mencapai ini adalah :
·         Melaksanakan pembacaan memori dari alamat MA
·         Menyimpan data dalam register RA
Pada akhir pengambilan instruksi, instruksi tersedia dalam IR. Anggap bahwa bit 0-7 menyediakan opcode, bit 8-11 menyediakan RA dan bit 12-23 menyediakan MA.

Berikut diberikan register transfer statement disertai dengan penjelasannya :
MAR:=IR(12-13) Memasukkan MA kedalam register alamat memori MAR
MR/W:=0 Me-reset read/write flag memori, menandakan pembacaan
SMMA:=1 Men-set awal main memori access flag
R5:=MDR Mentransfer isi MDR kedalam R5
LSDR:=R5 Mentransfer isi R5 kedalam local storage data register
LSAR:=IR(8-11) Mentransfer RA kedalam local storage address register
LSR/W:=1 Men-set local storage write/write flag, menandakan penulisan
SLSA:=1 Men-set awal local storage access flag
Unit control akan menjamin bahwa waktu tunda antara operasi 3 dan 4 lebih besar dari waktu akses memori utama. Dengan cara yang sama, waktu tunda antara operasi 8 dan operasi penyimpanan local (register file) berikutnya lebih besar dari waktu akses penyimpanan local. Delapan register transfer statement tersebut dapat langsung digunakan sebagai micro-operasi.

5.      DATAPATH UNTUK INSTRUKSI STORE
Operasi yang dilakukan oleh instruksi STORE adalah keblikan dari LOAD. Isi dari suatu register disalin kedalam suatu lokasi memori utama. Hal ini digambarkan dengan <MA>:=<RA>, urutan operasi yang diperlukan adalah :
·         Membaca dari penyimpanan local isi register yang diberikan oleh RA
·         Menulis pada lokasi memori utama MA
Pada akhir pengambilan instruksi, instruksi tersedia pada IR. Anggap bahwa bit 0-7 menyediakan opcode, 8-11 menyediakan RA dan 12-23 menyediakan MA.

Register transfer statement beserta penjelasan :
LSAR:=IR(8-11) Mentransfer RA kedalam local storage address register
LSR/W:=0 Me-reset local storage read/write flag, menandakan pembacaan
SLSA:=1 Menset awal local storage access flag
R5:=LSDR Mentransfer isi LSDR kedalam R5
MDR:=R5 mentransfer isi R5 kedalam main memori data register
MAR:=IR(12-23) Memasukkan MA kedalam main memory data register
MR/W:=1 Men-set main memori read/write flag, menandakan penulisan
SMMA:=1 Menset awal main memori access flag
Unit control akan menjamin bahwa waktu delay antara operasi 3 dan 4 lebih besar dari waktu akses penyimpanan local (register file). Dengan cara yang sama, waktu tunda antara operasi 8 dan operasi penyimpanan local berikutnya lebih besar dari waktu akses memori utama. Delapan register transfer statement dapat langsung digunakan sebagai mikro-operasi.

BAB IV : PENUTUP
KESIMPULAN
Datapath terdiri dari blok fungsional berikut :
Register instruksi menyimpan instruksi saat akan dieksekusi,
Program Counter ( PC ) menyimpan alamat instruksi berikutnya yang akan diambil,
Memori Address Register ( MAR ) adalah register yang baik menyimpan alamat memori dari mana data akan diambil ke CPU atau alamat untuk data yang akan dikirim dan disimpan .
Memori Data Register ( MDR ) adalah daftar dari unit kontrol komputer yang berisi data yang akan disimpan dalam penyimpanan komputer ( misalnya RAM ) , atau data setelah mengambil dari penyimpanan komputer .
Serta berbagai register yang dapat dibaca dan ditulis oleh software . Jumlah register tujuan umum pada prosesor yang diberikan dapat bervariasi , namun secara umum ukuran file register secara substansial lebih kecil dari cache . Selain itu, banyak prosesor memiliki berbagai register tujuan khusus yang sering transparan untuk perangkat lunak . Ini dapat digunakan sebagai media penyimpanan sementara untuk prosesor , atau sebagai register spesifik - model untuk konfigurasi prosesor .
Ada juga 2 register yang melekat dalam prosesor yang memfasilitasi komunikasi prosesor dengan memori , atau pada dasarnya membantu dalam operasi memori register .
Aksi yang dlakukan oleh instruksi halt adalah menghentikan siklus instrksi.
Instruksi jump adalah Alamat bercabang
Yang dilakukan instruksi load adalah menyalin suatu dataatau isi dari memori utama kedalam register.
Sedangkan instruksi store yaitu menyalin data dari register ke memori utama.


DAFTAR PUSTAKA
Arsitektur computer, syahrul, 2010, andi publisher.
Wikipedia
Bacaan :

Hamacher. Computer Organization, ed-5.

Tidak ada komentar:

Posting Komentar