Latest Updates
Showing posts with label Perakitan Komputer. Show all posts
Showing posts with label Perakitan Komputer. Show all posts

Rancangan Set Instruksi

Rancangan Set Instruksi
Aspek paling menarik dalam arsitektur komputer adalah perancangan set instruksi, karena rancangan ini berpengaruh banyak pada aspek lainnya.

Set instruksi menentukan banyak fungsi yang harus dilakukan CPU.

Set instruksi merupakan alat bagi para pemrogram untuk mengontrol kerja CPU.

Pertimbangan : Kebutuhan pemrogram menjadi bahan pertimbangan dalam merancang set instruksi
 
Spesifikasi instruksi 0 alamat :Seluruh alamat yang digunakan implisit.
Digunakan pada organisasi memori, terutama operasi stack
 
Spesifikasi instruksi 1 alamat :Memerlukan alamat implisit untuk operasi.
Menggunakan register akumulator (AC) dan digunakan pada mesin lama.

Spesifikasi instruksi 2 alamat :Simbolik : a = a + b.
Satu alamat diisi operand terlebih dahulu kemudian digunakan untuk menyimpan hasilnya.
Tidak memerlukan instruksi yang panjang.
Jumlah instruksi per program akan lebih banyak dari pada 3 alamat.
Diperlukan penyimpanan sementara untuk menyimpan hasil.
 
Spesifikasi instruksi 3 alamat :Simbolik : a = b + c.
Format alamat : hasil, operand 1, operand 2
Digunakan dalam arsitektur MIPS.
Memerlukan word panjang dalam suatu instruksi.

Representasi, Format, dan Jenis–Jenis Instruksi

Representasi Instruksi
  • Instruksi komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field.
  • Field – field ini diisi oleh elemen – elemen instruksi yang membawa informasi bagi operasi CPU.
  • Layout instruksi dikenal dengan format instruksi

Format Instruksi

Representasi, Format, dan Jenis –Jenis Instruksi

  • Kode operasi (opcode) direpresentasi kan dengan singkatan – singkatan, yang disebut mnemonic.
  • Mnemonic mengindikasikan suatu operasi bagi CPU.
Contoh mnemonic adalah :
ADD = penambahan
SUB = substract (pengurangan)
LOAD = muatkan data ke memori

Contoh representasi operand secara simbolik :
  1. ADD X, Y artinya : tambahkan nilai yang berada pada lokasi Y ke isi register X, dan simpan hasilnya di register X.
  2. Programer dapat menuliskan program bahasa mesin dalam bentuk simbolik.
  3. Setiap opcode simbolik memiliki representasi biner yang tetap dan programer dapat menetapkan lokasi masing – masing operand

Jenis –Jenis Instruksi
Contoh suatu ekspresi bilangan :

X = X + Y ;
X dan Y berkorespondensi dengan lokasi 513 dan 514.
Pernyataan dalam bahasa tingkat tinggi tersebut mengintruksikan komputer untuk melakukan langkah berikut ini :
  • Muatkan sebuah register dengan isi lokasi memori 513.
  • Tambahkan isi lokasi memori 514 ke register.
  • Simpan isi register ke lokasi memori 513

Karakteristik dan Elemen Instruksi Mesin

Karakteristik dan Elemen Instruksi Mesin
Karakteristik Instruksi Mesin
Instruksi mesin (machine intruction) yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU. Kumpulan fungsi yang dapat dieksekusi CPU disebut set instruksi (instruction set) CPU.
Mempelajari karakteristik instruksi mesin, meliputi
  • Elemen – elemen intruksi mesin
  • Representasi instruksinya
  • Jenis – jenis instruksi
  • Penggunaan alamat
  • Rancangan set instruksi
 
Elemen Instruksi MesinUntuk dapat dieksekusi suatu instruksi harus berisi elemen informasi yang diperlukan CPU secara lengkap dan jelas , Apa saja elemennya ?
  1. Operation code (Op code): Menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk kode biner
  2. Source Operand reference: Operasi dapat berasal dari lebih satu sumber. Operand adalah input operasi
  3. Result Operand reference: Merupakan hasil atau keluaran operasi
  4. Next Instruction Reference: Elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi

ADDRESSING MODE ( Mode Pengalamatan )

ADDRESSING MODE ( Mode Pengalamatan )
Mengatasi keterbatasan format instruksi :
– Dapat mereferensi lokasi memori yang besar
– Mode pengalamatan yang mampu menangani keterbatasan tersebut :
   1. Masing – masing prosesor menggunakan mode pengalamatan yang berbeda – beda.
   2. Memiliki pertimbangan dalam penggunaannya.

ADDRESSING MODE
Mode pengalamatan adalah bagaimana cara menunjuk dan  mengalamati suatu lokasi memori pada  sebuah alamat di mana operand akan diambil. Mode pengalamatan diterapkan pada set instruksi, dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat. Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi direct addressing, indirect addressing, dan immediate addressing.

1. Direct AddresingDalam 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.

Kelebihan dan kekurangan dari Direct Addresing antara lain :
Kelebihan
• Field alamat berisi efektif address sebuah operand
Kelemahan
• Keterbatasan field alamat karena panjang field alamat biasanya lebih    kecil   dibandingkan panjang word

2. Indirect AddresingMode 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. Mode pengalamatan indirect addressing selalu merujuk pada RAM internal dan tidak pernah merujuk pada SFR. Karena itu, menggunakan mode ini untuk mengalamati alamat lebih dari 7Fh hanya digunakan untuk keluarga 8052 yang memiliki 256 byte spasi RAM internal.
 
Kelebihan dan kekurangan dari Indirect Addresing antara lain :
Kelebihan
• Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
Kekurangan
• Diperlukan referensi memori ganda dalam satu fetch sehinggamemperlambat preoses operasi

3. Immediate AddresingMode pengalamatan 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.
Kelebihan dan kekurangan dari Immedieate Addresing antara lain :
Keuntungan
• Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk  memperoleh operand
• Menghemat siklus instruksi sehingga proses keseluruhan akan cepat
Kekurangan
• Ukuran bilangan dibatasi oleh ukuran field alamat

Format dan Kode Instruksi

Format dan Kode Instruksi
Format-Format Instruksi
  1. Format instruksi menentukan layout bit suatu instruksi.
  2. Format instruksi harus mencakup opcode dan secara implisit atau eksplisit, nol operand atau lebih
  3. Seluruh operand eksplisit direferensikan dengan menggunakan salah satu mode pengalamatan yang ada
  4. Secara implisit atau eksplisit format harus dapat mengindikasikan mode pengalamatan seluruh operandnya.
  5. Pada sebagian besar set instruksi digunakan lebih dari satu format instruksi.

Kode Instruksi (KI)
  1. Selain dari representasi data, kode biner juga digunakan untuk membuat instruksij kontrol dalam komputer, yang disebut kode instruksi.
  2. Kode instruksi merupakan kelompok bit yang memberitahukan kepada komputer untuk menunjukan suatu operasi tertentu.
  3. Kode Instruksi dibagi dalam bagian-bagian, yang masing-masing bagian mempunyai interpretasi sendiri
  4. Bagian yang paling pokok adalah kode operasi (Operation Code / Opcode)operasi (Operation Code / Opcode)
  5. Opcode adalah sekelompok bit yang menunjukan operasi seperti ADD, SUBTRACT, SHIFT, dan COMPLEMENT
  6. Bagian lain dari instruksi mencakup satu operasi (operand) atau lebih
  7. Operand adalah suatu nama yang digunakan untuk obyek instruksi dan mungkin data atau alamat yang mengatakan dimana data tersebut
  8. Untuk membuat kode instruksi dalam komputer harus kode biner. (seperti operasi LOAD dan Store)
  9. Load adalah meng-copy bilangan dari lokasi memori kedalam register
  10. Strore adalah meng-copy bilangan dari register kedalam lokasi memori

MODE dan FORMAT PENGALAMATAN

MODE dan FORMAT PENGALAMATAN
1. INHERENT
Dalam mode pengalamatan inherent, semua informasi yang dibutuhkan untuk operasi telah diketahui otomatis oleh CPU, dan tidak dibutuhkan operan eksternal dari memori atau dari program. Operan yang digunakan hanyalah register internal dari CPU atau data dalam stack. Karena itu operasi ini hanyalah terdiri dari satu byte instruksi.

2.  IMMEDIATE
Dalam mode pengalamatan immediate, operan terkandung di dalam byte yang langsung mengikuti kode operasi. Mode ini digunakan saat suatu harga atau konstanta diketahui saat program dibuat dan tidak akan dirubah selama eksekusi program. Operasi dengan mode ini membutuhkan dua byte instruksi, satu untuk kode operasi dan satu lagi untuk data byte.

3. DIRECTION

Mode pengalamatan direct mirip dengan mode pengalamatan extended kecuali bahwa upper byte dari alamat operan selalu dianggap $00. Karena itu, hanya lower-byte dari operan yang diperlukan untuk dimasukkan dalam instruksi. Pengalamatan direct menyebabkan efisiensi alamat dalam 256 byte pertama dalam memori. Area ini dinamakan dengan direct page dan mengandung on-chip RAM dan register I/O. Pengalamatan direct ini efisien bagi memori program dan waktu eksekusi. Dalam mode ini instruksi terdiri dari dua byte, satu untuk kode operasi dan satu lagi untuk alamat operan.

4.  EXTENDED
Dalam mode pengalamatan extended, alamat dari operan terkandung dalam dua byte yang mengikuti kode operasi. Pengalamatan extended ini dapat digunakan untuk mengakses semua lokasi dalam memori mikrokontroler termasuk I/O, RAM, ROM, dan EPROM. Karena itu operasi ini membutuhkan tiga byte, satu untuk kode operasi, dan dua untuk alamat dari operan.

5.  INDEXED
Dalam mode pengalamatan indexed, alamat efektif adalah variabel dan tergantung pada dua faktor: 1) isi index register saat itu dan 2) nilai offset yang terkandung dari byte yang mengikuti kode operasi. Terdapat tiga jenis pengalamatan indexed yang didukung oleh CPU keluarga M68HC05, yaitu: no-offset, 8-bit offset, dan 16-bit offset. Dalam mode pengalamatan indexed-no offset, alamat efektif dari operan terkandung dalam index register 8-bit. Karena itu, mode pengalamatan ini dapat mengakses 256 lokasi memori (dari $0000 sampai $00FF). Instruksi mode ini membutuhkan satu byte instruksi.

6.  RELATIVE
Mode pengalamatan relative ini digunakanhanya dalam instruksi percabangan. Instruksi percabangan, selain percabangan instruksi manipulasi bit, membangkitkan dua byte kode mesin: satu untuk kode operasi dan satu untuk offset relatifnya. Karena kemampuannya untuk bercabang ke dua arah, byte offset adalah bilangan bertanda dengan jangkauan –128 sampai +127. Jika kondisi percabangan TRUE, isi dari byte bertanda 8-bit yang mengikuti kode operasi akan ditambahkan dengan isi dari PC untuk membentuk alamat efektif percabangan; jika FALSE maka kontrol program akan terus ke instruksi di bawah instruksi percabangan. Programmer akan menspesifikasikan tujuan dari percabangan sebagai alamat absolute (dengan label atau alamat langsung). Kemudian assembler akan mengkalkulasi offset relatif 8-bit yang akan diletakkan di belakang kode memori dalam memori.

7. Machine Code, Opcode , Mnemonic, Operation, Addressing Mode.
 
A. Elemen Instruksi Mesin
  1. Operation code (Op code): Menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk kode biner
  2. Source Operand reference: Operasi dapat berasal dari lebih satu sumber. Operand adalah input operasi
  3. Result Operand reference: Merupakan hasil atau keluaran operasi
  4. Next Instruction Reference: Elemen ini menginformasikan CPU posisi instruksi berikutnya yang  harus diambil dan dieksekusi

B. Mnemonic
Kode operasi (opcode) direpresentasi kan dengan singkatan – singkatan, yang disebut mnemonic. Mnemonic mengindikasikan suatu operasi bagi CPU.
Contoh mnemonic adalah :
– ADD = penambahan
– SUB = substract (pengurangan)
– LOAD = muatkan data ke memori
 
• Setiap opcode simbolik memiliki representasi biner yang tetap dan programer  dapat menetapkan lokasi masing – masing operand
 
• Operand dari Operation
1. Memori ke memori.
Dalam hal ini data berasal dan kembali ke memori, dan tahap operasi secara umum adalah :
a. Ambil nilai operand dari memori
b. Eksekusi operasi yang diperlukan
c. Kembalikan hasilnya ke memori
2. Memori ke register.
Yaitu memindah nilai dari data kememori ke register. Satu nilai data berasal dari memori dan satu lagi dari register. Hasil eksekusi dikembalikan ke memori atau ke register dimana operand berasal.
3. Register ke register.
Dalam hal ini digunakan sejumlah register untuk menyimpan seluruh nilai data yang akan digunakan dalam komputasi. Data harus diambil dari memori oleh sederet instruksi sebelum komputasi dimulai. Setelah komputasi dilakukan maka hasilnya dikembalikan lagi dengan register.

• Representasi Instruksi
  1. Instruksi komputer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field.
  2. Field-field ini diisi oleh elemen-elemen instruksi yang membawa informasi bagi operasi CPU.
  3. Layout instruksi dikenal dengan format instruksi.
• Korelasi
  1. Terlihat hubungan antara ekspresi bahasa tingkat tinggi dengan bahasa mesin.
  2. Dalam bahasa tingkat tinggi, operasi dinyatakan dalam bentuk aljabar singkat menggunakan variabel.
  3. Dalam bahasa mesin hal tersebut diekspresikan dalam operasi perpindahan antar register.
• Jenis-Jenis Instruksi
1. Pengolahan data (data processing),
meliputi operasi-operasi aritmetika dan logika. Operasi aritmetika memiliki kemampuan komputasi untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit-bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
2. Perpindahan data(data movement),
berisi instruksi perpindahan data antar register maupun modul I/O. Untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan.
3. Penyimpanan data (data storage),
berisi instruksi-instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
4. Kontrol aliran program (program flow control),
berisi instruksi pengontrolan operasi dan pencabangan. Instruksi ini berguna untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain

C. Addressing Mode ( Mode Pengalamatan )
Mengatasi keterbatasan format instruksi :
–  Dapat mereferensi lokasi memori yang besar
–  Mode pengalamatan yang mampu menangani keterbatasan tersebut :
    1. Masing – masing prosesor menggunakan mode pengalamatan yang berbeda – beda.
    2. Memiliki pertimbangan dalam penggunaannya.

 
Ada beberapa teknik pengalamatan :

a. Immediate Addressing Bentuk pengalamatan ini yang paling sederhana :
  • Operand benar – benar ada dalam instruksi atau bagian dari instruksi = Operand sama dengan field alamat.
  • Umumnya bilangan akan disimpan dalam bentuk komplemen dua.
  • Bit paling kiri sebagai bit tanda.
  • Ketika operand dimuatkan ke dalam register data, bit tanda akan digeser ke kiri hingga maksimum word data
Keuntungan
  • Mode ini adalah tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh 
  • Menghemat siklus instruksi sehingga proses keseluruhan akan cepat.
Kerugiannya
  • Ukuran bilangan dibatasi oleh ukuran field alamat

b. Direct AddressingPengalamatan langsung
Kelebihan :
  • Field alamat berisi efektif address sebuah operand.
  • Teknik ini banyak digunakan pada komputer lama dan komputer kecil.
  • Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus.
Kelemahan :
  • Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang wor, contoh : ADD A ; tambahkan isi pada lokasi alamat A  ke akumulator

c. Indirect AddressingMode pengalamatan tak langsung
Field alamat mengacu pada alamat word di dalam memori, yang pada gilirannya akan berisi alamat operand yang panjang
Contoh :  ADD (A) ; tsmbahkan isi yang ditunjuk oleh isi alamat A ke akumulator
Keuntungan : Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.
Kerugian : Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi

d.    Register Addressing
  • Metode pengalamatan register mirip dengan mode pengalamatan langsung.
  • Perbedaannya terletak pada field alamat yang mengacu  pada register, bukan pada memori utama.
  • Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register  general purpose.
Keuntungan pengalamatan register
  • Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori.
  • Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat.
Kerugian
  • Ruang alamat menjadi terbatas

e. Register Indirect Addressing
  • Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung.
  • Perbedaannya adalah field alamat mengacu pada alamat register.
  • Letak operand berada pada memori yang ditunjuk oleh isi register.
  • Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung.
–     Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak.
–     Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung

f. Displacement Addressing
  • Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung.
  • Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit.
  • Field eksplisit bernilai A dan field implisit mengarah pada register
  • Operand berada pada alamat A ditambah isi register.
Tiga model displacement
  1. Relative addressing, register yang direferensi secara implisit adalah program counter (PC).
  2. Base register addressing, register yang direferensikan berisi sebuah alamat memori, dan field alamat berisi perpindahan dari alamat itu.
  3. Indexing adalah field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut.

g. Stack Addressing
  • Stack adalah array lokasi yang linier = pushdown list = last-in-firstout-queue.
  • Stack merupakan blok lokasi yang terbalik. Butir ditambahkan ke puncak stack sehingga setiap saat blok akan terisi secara parsial.
  • Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack.
  • Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack ponter mereferensi ke elemen ketiga stack.
  • Stack pointer tetap berada di dalam register.
  • Dengan demikian, referensi – referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung  Perbandingan Mode pengalamatan
Format-Format Instruksi
  • Format instruksi menentukan layout bit suatu instruksi.
  • Format instruksi harus mencakup opcode dan secara implisit atau eksplisit, nol operand atau lebih
  • Seluruh operand eksplisit direferensikan dengan menggunakan salah satu mode pengalamatan yang ada
  • Secara implisit atau eksplisit format harus dapat mengindikasikan mode pengalamatan seluruh operandnya.
  • Pada sebagian besar set instruksi digunakan lebih dari satu format instruksi.
Kode Instruksi (KI)
  • Selain dari representasi data, kode biner juga digunakan untuk membuat instruksij kontrol dalam komputer, yang disebut kode instruksi.
  • Kode instruksi merupakan kelompok bit yang memberitahukan kepada komputer untuk menunjukan suatu operasi tertentu.
  • Kode Instruksi dibagi dalam bagian-bagian, yang masing-masing bagian mempunyai interpretasi sendiri
  • Bagian yang paling pokok adalah kode operasi (Operation Code / Opcode)operasi (Operation Code / Opcode)
  • Opcode adalah sekelompok bit yang menunjukan operasi seperti ADD, SUBTRACT, SHIFT, dan COMPLEMENT
  • Bagian lain dari instruksi mencakup satu operasi (operand) atau lebih
  • Operand adalah suatu nama yang digunakan untuk obyek instruksi dan mungkin data atau alamat yang mengatakan dimana data tersebut
  • Untuk membuat kode instruksi dalam komputer harus kode biner. (seperti operasi LOAD dan Store)
  • Load adalah meng-copy bilangan dari lokasi memori kedalam register
  • Strore adalah meng-copy bilangan dari register kedalam lokasi memori

TEKNIK INPUT OUTPUT

Terdapat tiga buah teknik operasi I/O, yaitu : I/O terprogram, interrupt-driven I/O, dan DMA (Dirrect Memory Access). Ketiganya memiliki keunggulan dan kelemahan, yang penggunanya disesuaikan sesuai unjuk kerja masing-masing teknik.

1.    I/O Terprogram

Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung seperti pemindahan data, pengiriman perintah baca atau tulis dan monitoring perangkat. 

I/O terprogram mempunyai kelemahan sebagai berikut :
  • CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, CPU lebih cepat proses operasinya.
  • Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya.\
  • Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan

Untuk melaksanakan perintah-perintah I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat periperhalnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan.
Terdapat empat klasifikasi perintah input/output, yaitu:
1. Perintah Control
Perintah ini digunakan untuk mengaktivasi perangkat periperhal dan memberitahukan tugas yang diperintahkan kepadanya.
 
2. Perintah Test
Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan periperhalnya. CPU perlu mngetahui perangkat periperhalnya dalam keadaan aktif dan siap digunakan, juga untuk megetahui operasi-operasi I/O yang dijalankan serta mendeteksi kesalahannya.
 
3. Perintah Read
Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruhnya di dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.
 
4. Perintah Write
Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada perangkat periperhal tujuan data tersebut.

Dalam teknik I/O terprogram, terdapat dua macam implementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu memory mapped I/O dan isolated I/O.

Dalam memory mapped I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan register status dan register data pada modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konsekuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory mapped ini adalah efisien dalam pemrograman namun memakan banyak ruang memory alamat.
Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan pembacaan dan penulisan memori ditambah dengan saluran perintah output. Kesuntungan isolated I/O adalah sedikitnya instruksi I/O.

2.    Interrupt - Driven I/O


           Teknik interrupt – driven I/O memungkinkan proses tidak membuang – buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah-perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai. 

    Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU.

    Cara kerja teknik interupsi di sisi modul I/O adalah modul I/O menerima perintah, missal read. Kemudian modul I/O melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol. Kemudian modul menunggu datanya diminta CPU. Saat permintaan terjadi, modul meletakkan data pada bus data dan modul siap menerima perintah selanjutnya.

Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O adalah sebagai berikut :
  1. Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
  2. CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon interupsi.
  3. CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
  4. CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan operasi yang tadi dijalankan sebelum adanya interupsi.
  5. Kemudian CPU akan menyimpan PC (program counter) eksekusi sebelum interupsi ke stack pengontrol bersama informasi PSW. Selanjutnya mempersiapkan PC untuk penanganan interupsi.
  6. Selanjutnya CPU memproses interupsi sempai selesai.
  7. Apabila pengolahan interupsi selesai, CPU akan memanggil kembali informasi yang telah disimpan pada stack pengontrol untuk meneruskan operasi sebelum interupsi.
   
Terdapat bermacam teknik yang digunakan CPU dalam menangani program interupsi ini, diantaranya :
•    Multiple Interrupt Lines.
•    Software poll.
•    Daisy Chain.
•    Arbitrasi bus.
 
Teknik yang paling sederhana adalah menggunakan saluran interupsi berjumlah banyak (Multiple Interrupt Lines) antara CPU dan modul-modul I/O. Namun tidak praktis untuk menggunakan sejumlah saluran bus atau pin CPU ke seluruh saluran interupsi modul-modul I/O.

Alternatif lainnya adalah menggunakan software poll. Prosesnya, apabila CPU mengetahui adanya sebuah interupsi, maka CPU akan menuju ke routine layanan interupsi yang tugasnya melakukan poll seluruh modul I/O untuk menentukan modul yang melakukan interupsi. Kerugian software poll adalah memerlukan waktu yang lama karena harus mengidentifikasi seluruh modul untuk mengetahui modul I/O yang melakukan interupsi.

Teknik yang lebih efisien adalah daisy chain, yang menggunakan hardware poll. Seluruh modul I/O tersambung dalam saluran interupsi CPU secara melingkar (chain). Apabila ada permintaan interupsi, maka CPU akan menjalankan sinyal acknowledge yang berjalan pada saluran interupsi sampai menjumpai modul I/O yang mengirimkan interupsi.
 
Teknik berikutnya adalah arbitrasi bus. Dalam metode ini, pertama – tama modul I/O memperoleh kontrol bus sebelum modul ini menggunakan saluran permintaan interupsi. Dengan demikian hanya akan terdapat sebuah modul I/O yang dapat melakukan interupsi.
 

3.    Direct Memory Access (DMA)Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung.

Hal ini berimplikasi pada :
•    Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
•    Kerja CPU terganggu karena adanya interupsi secara langsung.

Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA).

Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi. Blok diagram modul DMA terlihat pada gambar 6.7 berikut :
TEKNIK INPUT OUTPUT - DMA

SISTEM MASUKAN DAN KELUARAN KOMPUTER - Modul I/O

Bagaimana modul I/O dapat menjalankan tugasnya, yaitu menjembatani CPU dan memori dengan dunia luar merupakan hal terpenting untuk kita ketahui. Inti mempelajari sistem I/O komputer adalah mengetahui fungsi dan struktur kerja modul I/O.

Untuk lebih jelasnya dapat dilihat gambar dibawah ini :

SISTEM MASUKAN DAN KELUARAN KOMPUTER - Modul I/O
Gambar 1. model generik dari suatu modul I/O

Perangkat external dihubungkan dengan computer oleh suatu link dengan Modul I/O. Link digunakan untuk pertukaran kontrol, status dan data antara Modul I/O dengan perangkat external.

1. Fungsi Modul Input/Output
Modul I/O adalah sebuah komponen dalam sistem komputer yang bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan bertanggung jawab juga terhadap pertukaran data antara perangkat luar tersebut dengan memori utama ataupun register-register dalam CPU. Dalam mewujudkan fungsi tersebut, diperlukan antarmuka internal dengan komputer (CPU dan memori utama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi-fungsi pengontrolan.

Dua fungsi utama Modul I/O ialah :
•      Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
•      Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link data tertentu

Fungsi dalam menjalankan tugas, modul I/O dapat dibagi menjadi beberapa kategori, yaitu:
1.    Kontrol dan pewaktuan
2.    Komunikasi CPU
3.    Komunikasi dengan perangkat eksternal
4.    Pem-buffer-an data
5.    Deteksi kesalahan

1. Fungsi kontrol dan pewaktuan (control & timming) merupakan hal yang penting untuk mensinkronkan kerja masing-masing komponen penyusun komputer. Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih perangkat dengan pola tidak menentu dan kecepatan transfer data yang beragam, baik dengan perangkat internal seperti register-register, memori utama, memori sekunder, perangkat periperhal.  Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan. 

Contoh kontrol pemindahan data dari periperhal ke CPU melalui sebuah modul I/O meliputi langkah-langkah sebagai berikut:
  • Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
  • Modul I/O memberikan jawaban atas permintaan CPU tersebut.
  • Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke modul I/O
  • Modul I/O akan menenrima paket data dengan panjang tertentu dari periperhal.
  • Selanjutnya data dikirim ke CPU setelah diadakan seinkronisasi panjang data dan kecepatan transfer oleh modul I/O sehingga paket-paket data dapat diterima CPU dengan baik.
      
Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan modul I/O akan melibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih.


2. Ada fungsi komunikasi antara CPU dan modul I/O meliputi proses-proses berikut ini :
KOMUNIKASI CPU MELIPUTI :
  • Command Decoding, yaitu modul I/O menerima perintah-perintah dari CPU yang dikirimkan sebagai sinyal bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah : Read sector, Scan Record ID, Format disk.
  • Data, pertukaran data antara CPU dan modul I/O melalui bus data.
  • Status Reporting, yaitu pelaporan kodisi status modul I/O maupun perangkat periperhal, umumnya berupa status kondisi busy atau ready. Juga status bermacam-macam kodisi kesalahan (error).
  • Address recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat periperhal, sehingga setiap modul I/O harus mengetahui alamat periperhal yang dikontrolnya
      Pada sisi modul I/O ke perangkat periperhal juga terdapat komunikasi yang meliputi komunikasi data, kontrol maupun status.

SISTEM MASUKAN DAN KELUARAN KOMPUTER - Modul I/O
Gambar 2. Skema suatu perangkat periperhal

  • Control logic berkaitan dengan perangkat yang mengontrol operasi perangkat dalam memberikan respons yang berasal dari modul I/O.
  • Transduser mengubah data dari energi listrik menjadi energi lain selama berlangsungnya output dan dari bentuk energi tertentu menjadi energi listrik selama berlangsungnya input. Umumnya, suatu buffer dikaitkan dengan transduser untuk menampung sementara data yang ditansfer diantara modul I/O dan dunia luar. Ukuran buffer yang umum adalah 8 hingga 16 bit. 

3. Fungsi selanjutnya adalah buffering.
Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat periperhal dengan kecepatan pengolahan pada CPU . Umumnya laju transfer data pada dari perangkat periperhal lebih lambat dari kecepatan CPU maupun media penyimpanan.

4. Fungsi terakhir adalah deteksi kesalahan.
Apabila pada perangkat periperhal terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut. Misalnya informasi pada periperhal printer seperti: kertas tergulung, kertas habis, tinta habis, dan lain-lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.


2. Struktur Modul Input/Output
Terdapat berbagai macam modul I/O seiring perkembangan komputer itu sendiri, contoh yang sederhana dan fleksibel adalah intel  8255A yang sering disebut PPI (Programmable Periperhal Interface). Bagaimanapun komplesitas suatu modul I/O terdapat kemiripan struktur,. seperti terlihat pada gambar 3.  

SISTEM MASUKAN DAN KELUARAN KOMPUTER - Modul I/O 
Gambar 3. Diagram Blok Struktur Modul I/O

Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga saluran, yaitu saluran data, saluran alamat dan saluran kontrol. Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan antarmuka periperhal, terdapat fungsi pengaturan dan switching pada blok ini.

Cari Blog Ini