Pengolahan Data Elektronik ________________________________________________________________________________________ BAHASA MESIN Instruksi dalam bahasa mesin berada dalam bentuk kode biner yang disebut juga kode mesin , dan disebut instruksi mesin. Set instruksi mesin yang dapat dijalankan oleh suatu komputer disebut set instruksi.. Segala operasi yang tidak dijalankan hardware, dan oleh karenanya tidak berada dalam set instruksi itu, hanya dapat dijalankan dengan menggunakan lebih dari satu instruksi. Ukuran set instruksi akan mempengaruhi : a. biaya mesin b. kecepatan dan efisiensi c. pilihan ukuran word dan format instruksi Format instruksi : ukuran dan pengaturan komponen, dimana komponen utama adalah kode fungsi ( op code ) yang menentukan fungsi atau operasi yang dijalankan, dan alamat operand yang menentukan lokasi dari opearnd yang digunakan. Format alamat : bagian dari format instruksi yang mengurus penentuan alamat operand a. format tiga-alamat menetapkan alamat dua operand dan memberikan alamat selanjutnya untuk hasil operasi itu contoh Fungsi Alamat Alamat Alamat b. format dua-alamat : menentukan alamat dari dua operand, hasil dari suatu operasi penambahan akan mengganti salah satu adari dua operand itu. Contoh Fungsi Alamat Alamat c. format alamat satu dan setengah : satu operand disangga dalam register atau akumulator khusus yang sebelumnya telah dijemput dan ditempatkan disana. Contoh Fungsi D3-Manajemen Informatika Alamat atau Fungsi AC Alamat Page 1 Pengolahan Data Elektronik ________________________________________________________________________________________ d. antar operasi-operasi akumulator : format satu dan setengah alamat dapat digunakan untuk menjempit atau memuatkan operand ke dalam akumulator dari penyimpanan utama , namun setelah itu instruksi tersebut hanya dapat menentukan dua atau tiga akumulator yang akan digunakan untuk operand dan hasilnya. Contoh Fungsi AC AC AC = nomor akumulator JENIS INSTRUKSI Operasi (instruksi) aritmatika dan logika Instruksi yang menggunakan ALU Operasi arimatika a. penambahan, pengurangan, perkalian dan pembagian b. operasi inkremen dan dekremen ( penambahan dan pengurangan ) c. negasi dan komplemensi d. shift aritmatika Contoh shift aritmatika : a. shift ariamatika satu tempat ke kiri before after 0 0 0 1 +1 0 0 1 0 +2 1 1 1 1 -1 1 1 1 0 -2 b. shift aritmatika satu tempat ke kanan before after 0 0 1 0 +2 0 0 0 1 +1 1 1 1 0 -2 1 1 1 1 -1 Operasi logis a. operasi boolean , misal AND, OR b. negasi boolean, NOT D3-Manajemen Informatika Page 2 Pengolahan Data Elektronik ________________________________________________________________________________________ c. rotasi (shift logis), memindahkan bit ke kiri atau ke kanan, namun mengganti tiap bit yang ada di ujung sebelah satunya dari register tersebut Contoh : a. shift logis (dengan rotasi) satu tempat ke kiri before 1 0 after 1 1 0 1 1 1 0 1 1 0 1 0 b. shift logis (dengan rotasi) satu tempat ke kanan before 1 0 after 1 1 1 1 c. shift logis (tanpa rotasi) satu tempat ke kiri before 1 0 after 1 1 0 1 d. shift ( tanpa rotasi) satu tempat ke kanan before 1 0 after 1 1 0 1 Swap: mengubah setengah dari word bagian kanan dan sebelah kiri Instruksi transfer kontrol atau cabang : Instruksi yang mengubah rangkaian yang dianut oleh instruksi. Eksekusinya menyebabkan jump (lompatan) ke instruksi yang lain. Instruksi jump terdiri dari : a. transfer kontrol tak-kondisional. Jump selalu terjadi b. transfer kontrol kondisional. Jump hanya akan terjadi jika hasil dari suatu operasi mempunyai nilai tertentu. Instruksi pemuatan (penjemputan) dan penyimpanan Menyebabkan terjadinya transfer data antara akumulator dan memori Instruksi input/opuput Mengimplementasikan transfer data antara peripheral dan memori, atau antara peripheral dan akumulator. D3-Manajemen Informatika Page 3 Pengolahan Data Elektronik ________________________________________________________________________________________ Insruksi referensi memori Operasi yang memerlukan akses ke memori selama eksekusinya, karenanya mencakup instruksi load dan store ( pemuatan dan penyimpanan) Instruksi referensi prosesor Instruksi yang tidak memerlukan memori dan tidak melibatkan penginputan dan pengoutputan. BAGAIMANA INSTRUKSI DIPATUHI a. menjemput instuksi yang diperlukan i. MAR dimuatkan dengan alamat instruksi yang akan dijalankan ii. Kontrol SCR kemudian dinaikkan sebesar 1, hingga siap untuk penjemputan berikutnya iii. Penjemputan diselesaikan dengan memuatkan instruksi ke dalam CIR melalui MDR b. mengeksekusi operasi i. opcode atau bagian fungsi dari instruksi didekode oleh unit kontrol BAHASA MESIN IMAGINER Alat bantu bagi programmer a. kode simbolik dan MNEMONIC b. kode biner dapat dikonversi ke oktal atau heksadesimal c. program khusus yang disebut assembler, dimana akan mengkonversi program dalam bentuk sinbolis dan mnemonic menjadi kode mesin. Program mnemonic dan simbolis disebut program sumber dan kode mesin yang dihasilkan assembler disebut program obyek. D3-Manajemen Informatika Page 4 Pengolahan Data Elektronik ________________________________________________________________________________________ METODE PENGALAMATAN Metode pengalamatan utama a. Pengalamatan langsung ( direct addressing ) Digunakan jika bilangan yang diberikan dalam bagian operand suatu instruksi adalah alamat sebenarnya dari operand yang akan digunakan. Pengalamatan langsung bersifat sederhana, cepat dan afektif namun jumlah lokasi yang bisa dialamati terbatas. b. Pengalamatan tak langsung ( deffered addrassing ) Bila pengalamatan lagsung digunakan yang dibebrikan dalam bagian alamat suatu instruksi bukan alamat dari operand yang diperlukan. Bagaian alamat ini adalah alamat dari lokasi yang berisi alamat yang diperlukan. Suatu alamat dapat langsung atau tidak langsung. c. Pengalamatan terindeks Alamat yang diperlukan diperoleh dengan menambahkan isi bagian alamat instruksi ke bilangan yang disimpan dalam register khusus yang disebut register indeks atau register modifier d. Pengalamatan termodifikasi Jika suatu instruksi dimodifikasi hingga satu fungsi yang sama dijalankan berulangulang pada suatu operand dalam alamat yang berbeda , maka disebut menggunakan alamat termodifikasi. Metode yang digunakan : 1. menggunakan pengalamatan terindeks dan mengubah isi register indeks sebelum instruksi diulang 2. mengubah bagian alamat instruksi e. Pengalamatan relatif Bagian alamat dari instruksi digunakan untuk memberikan displacement dari beberapa alamat yang dinyatakan. Di satu sisi alamat indeks akan menjadi alamat relatif sebab bagian alamat instruksi memberikan lokasi operand agar banyak tempat melewati lokasi yang dinyatakan dalam register indeks. Alamat base : alamat yang menjadi referensi alamat relatif. D3-Manajemen Informatika Page 5 Pengolahan Data Elektronik ________________________________________________________________________________________ f. Pengalamatan page Digunakan bila panjang word membatasi ukuran field alamat. Bentuk khusus dari pengalamatan relatif. Area penyimpanan utama dibagi menjadi unit-unit ( page) berukuran sama dan dinomori 0,1,2,3…. g. Pengalamatan immediate Jika kita tidak memberikan lokasi data dalam bagian alamat dari instruksi, maka dikatakan meggunakan pengalamatan immediate, yakni bagian alamat digunakan sebagai operand. h. Pengalamatan sinbolis Pengalamatan simbolis tidak mungkin dalam kode mesin, namun digunakan progremmer ketika menggunakan simbol alfa-numerik untuk menetapkan suatu alamat. Fasilitas lain dari mesin imajiner Register status Mempunyai isi sendiri yang diset oleh perangkat hardware seperti ALU dan digunakan oleh unit kontrol. Pointer stack Menyangga alamat dari suatu lokasi dalam memori dimana data dapat ditempatkan secera sementara. Data ini diorganisasi dan diakses dalam struktur data yang disebut stack. Dalam hal ini dikenal istilah push ( item dimasukkan ke stack ) dan pop ( item dikeluarkan dari stack ) Tiga penggunaan pokok stack pada tingkat mesin : 1. digunakan dalam komputasi sederhana untuk menyangga hasil-hasil intermediate 2. menangani call subprogram 3. menangani interrupt Memuat dan menyimpan program dalam kode mesin Loader akan mengambil program yang ditulis dalam kode mesin dan dalam bentuk input yang sesuai. Loader biasanya secara permanen ada dalam memori utama. Informasi mengenai prosesor dapat ditampilakn pada panel khusus yang disebut console. D3-Manajemen Informatika Page 6 Pengolahan Data Elektronik ________________________________________________________________________________________ Loader bootstrap atau bootstrap adalah loader yang sangat sederhana yang mungkin ditempatkan dalam memori secara manual dengan menggunakan console atau ditempatkan dalam memori dengan bagian hardware khusus. Alamat absolut : alamat yang ditemntukan oleh hardware Program absolut : program yang selalu dimuatkan ke lokasi fixed yang sama dalam lokaslokasi yang berbeda dalam penyimpanan utama yang mejadi pedoman diketahuinnya alamat absolut. Program relocatable : program yang bisa dimuatkan ke dalam lokasi-lokasi yang berbeda dalam penyimpanan utama tiap kali dijalankan. D3-Manajemen Informatika Page 7 Pengolahan Data Elektronik ________________________________________________________________________________________ BAHASA TINGKAT RENDAH Pemrograman bahasa mesin Instruksi mesin akan ditunjukkan dalam oktal dan juga biner untuk menunjukkan bagaimana pengkodean oktal membantu programmer. Dalam pemulisan MNEMONICS notasi alamat akan ditunjukkan sebagai berikut : 1. STA 7 : simpan isi akumulator dalam lokasi 7 2. STA @ 7 : simpan isi akumulator dalam lokasi 7 (@ menunjukkan alamat tak langsung) 3. STA 5, X : tanda X menunjukkan register index akan digunakan , simpan akumulator dalam lokasi yang diberikan oleh +5 Catatan : 1. LDN 6 : menghasilkan bilangan 6 yang sedang dumuatkan dengan akumulatoor 2. ADD @ 5 menghasilka alamat dari data yang sedang dicari dalam lokasi 5. Bahasa tingkat rendah Adalah bahasa yang berorientasi mesin, dimana tiap instruksi sama atau menyerupai instruksi mesin. Fasilitas umum bahasa tingkat rendah : 1. kode MNEMONICS digunakan sebagai pengganti kode mesin 2. alamat simbolis seringkali digunakan sebagai pengganti alamat mesin sebenarnya. Bahasa tingkat rendah harus diterjemahkan ke dalam bahasa mesin cebelum digunakan, sebab walau programmer lebih mudah bekerja dengannya namun ia tidak dapat digunakan oleh mesin dalam bentuk simbolis/ mnemonics. Bahasa assembly a. tiap pabrikan komputer biasanya membuat bahasa tingkat rendah yang mendekati kesesuaiannya dengan bahasa mesin tertentu yang digunakan pabrikan tersebut, bahasa ini disebut bahasa assembly. Pabrikan tersebut memberikan suatu program yang disebut assembler atau assembeler program yang menterjemahkan assembly language ke dalam machine code. b. Program yang ditulis dalam assembly language disebut source program, program yang telah diterjemahkan dalam machine code disebbut object program D3-Manajemen Informatika Page 8 Pengolahan Data Elektronik ________________________________________________________________________________________ Bahasa psoudo-assembly Bahasa assembly yang tergantung mesin yang dibuat untuk tujuan pendidikan. Masalah ilustratif dalam bahasa assembly Format instruksi : Label : Misal A : function code operand or operand address LDA 5 Label berifat opsional dan dapat digunakan untuk memberi instruksi alamat simbolis atau memberi nilai nimerik suatu alamat simbolis Alamat operand bisa mengambil bentuk : 1. alamat langsung operand, misal 5 2. alamat indeks langsung, misal 5, X 3. alamat tak langsung , misal @ 5, X contoh : LDA 5 LDA 5, X : memuati akumulator dengan isi : memuati isi lokasi 5 + (X) dimana (X) berarti isis dari register indeks Subbroutine Adalah set instruksi program yang membentuk bagian suatu program dan digunakan untuk menjalankan tugas tertentu. Ada dua cara umum untuk kembali dari subroutine ketika tidak ada fasilitas hardware eksplisit, yaitu dengan cara menggunakan pengalamatan tak langsung atau dengan pemodifikasiana alamat. Subroutine open dan close Subroutine open adalah bagian dari program utama dan disisipkan atau dimasukkan ke dalam program bila diperlukan. Subroutine close bukan bagian dari program utama. Ia dihubungkan ke program utama dengan prosedur entri dan return. D3-Manajemen Informatika Page 9 Pengolahan Data Elektronik ________________________________________________________________________________________ Instruksi makro Adalah intruksi tunggal yang dituliskan sebagi bagian dari bahasa program sumber, yang bila digabungkan akan menggenerasi banyak instruksi kode mesin. Contoh : Makro yang menambah 1 ke isi lokasi N MACRO INSTRUCTION ditulis sebagai ADD 1 (N) ADD 1 (N) generasi S : 0 menyimpan isi akumulator pada saat itu STA S LDN 1 ADD N mengADD N STA N menambah 1 ke lokasi N LDA S mengganti isi akumulato asli D3-Manajemen Informatika Page 10 Pengolahan Data Elektronik ________________________________________________________________________________________ SUBSISTEM INPUT OUTPUT Buffer (penyangga) adalah area penyimpanan temporer yang menyangga data selama berbagai tahapan penginputan dan pengoutputan. Buffer terdir dari 2 jenis : a. area buffer internal area pemyimpanan utama yang dirancang sebagian untuk menyangga data yang sedang menunggu pengoutputan atau data yang saat itu diinput namun belum diproses. b. register buffer register ini dilokasikan pada berbagai posisi sepanjang lintasan data antara perangkat I/O dan prosesor. Channel : lintasan sepanjang yang dilalui arus sinyal data I/O Bus ( highway) : item data hardware yang ada dalam prosesor sebagai tempat berlalunya sinyal data dari salah satu sumber ke salah satu satu tujuan. Interface : item hardware yang dilokasikan pada tiap channel yang bersebelahan dengan prosesor. Ia mengubah sinyal kontrol dan sinyal data dari prosesor yang ada dalam bentuk standard menjadi bentuk yang dapat digunakan oleh peraangkat yang dikoneksikan ke interface itu. Ia juga mengubah semua input peripheral ke satu bentuk standard untuk prosesor. Bagian interface yang dikoneksikan ke perangkat, ada device-control circuitry, sebagian merupakan bagian terpadu dari interface. Control circuitry mampu malakukan autonomous operation dalam jumlah besar, namun bekerja dengan melakukan respon terhadap kondisi yang ditetapkan atau dibangun oleh I/O control circuitry. ( gambar 33.1 ) Metode I / O sederhana Tiga register khusus yang ada dalam card interface : a. data buffer atau daata buffer register menyangga satu karakter yang telah diterima dari perangkat atau yang akan dikirim ke perangkat D3-Manajemen Informatika Page 11 Pengolahan Data Elektronik ________________________________________________________________________________________ b. busy register atau control bit register register bit tunggal yang ada dibaawah kendali kontrol I/O, tidak dipengaruhi oleh perangkat tersebut. Diset 1 saat channel terbuka sampai dapat memulai pentrasferan, diset 0 jika channel tidak akan digunakan c. done register atau device status register register bit tunggal yang biasanya diset 0 selagi bit busy diset ke 1. Register ini diset 1 jika sinyal diterima dari perangkat, kareana ia menyelesaikan transfer antara dirinya sendiri dan register buffer data. Register bit tunggal jenis ini sering disebut flag. Gambar typical input output Console panel lights + Switch Main Store Buffer + Circuit Main Store Access Controller ALU Channels (data channel) Accumulators Multiplexor I/O Control I/O Bus and I/O Channel Control Channel 1 Channel 2 Channels (data channel) Channel I/O Control Channel 3 Interface Interface Interface Interface Interface Interface Device control Device control Device control Device control Device control Device control Device 1 Device 2 Device 3 Device 4 Device 5 Device 6 Keterangan : Device 1- 5 digunakan misalnya untuk card readers, Line printers, VDU, dan Typewriter terminal Device 6 digunakan untuk fast devices seperti disk unit, tape unit, drum unit Merupakan data paths D3-Manajemen Informatika Page 12 Pengolahan Data Elektronik ________________________________________________________________________________________ I/O sederhana dengan perangkat lain a. document reader instruksi ekstra dibutuhkan untuk tindakan non-read seperti pengeluaran dokumen dari hopper. Register status-perangkat bukan hanya register flag tunggal namun mrnyangga kode-kode yang memberi informasi mengenai kapan dokumen ada di bawah stasiun read, kapan tidak ada dokumen yang ditinggalkan atau kapan dokumen dilompatkan. b. line printer register penyangga data akan menyangga sejumlah karakter yang bersesuaian dengan bagian dari suatu jalur atau keseluruhan jalur. c. graph plotter meliputi tindakan menaikkan dan menurunkan pena, menggerakkan pen satu unit menurut arah Y, menggerakkan pena satu unit menurut arah X. Penyanggaan ( buffering ) Adalah pentransferan data ke dalam penyimpanan temporer sebelum diproses atau di output, hingga memungkinkan pengoperasian perangkat-perangkat secara serentak. READ Document 1 PROCESS PRINT Document 2 Document 3 Document 1 Document 2 Document 1 Document 3 Document 2 Document 3 waktu waktu yang dibutuhkan setelah pembacaan dokumen pertama, semua pembacaan, pemrosesan dan pencetakan berikutnya dapat ditumpangtindih, dengan demikian waktu total yang diperlukan sedikit melebihi kecepatan perangkat yang terlamban. D3-Manajemen Informatika Page 13 Pengolahan Data Elektronik ________________________________________________________________________________________ Multipleksing Melibatkan pentransmisian kode karakter dari jumlah perangkat sepanjang satu channel. Perangkat hardware yang menjalankan tugas ini disebut multiplexor. Multiplexor Devices I/O Channel Multiplexor mempunyai register penyangga sendiri yang digunakan untuk menerima karakter dari perangkat yang dikoneksikan ke multiplexor. Multiplexor dapat bertindak secara sinkron ( transfer data pada frekwensi waktu yang teratur ) atau secara sinkron ( mentransfer data bila telah siap ). Multiplexor komunikasi Mentransmisikan data dari sejumlah terminal yang dikoneksikan kepadanya. Channel data Channel data mencuri siklus memori dari instruksi yanag saat ini sedang dijalankan agar daapat melakukan transfer. Karena hanya 1 akses memori yang dapat ditangani tiap kali, maka akses oleh channel data memperlambat kecepatan akses memori program. Menggunakan channel data denagn unit disk magnetis 1. menset register pencacah alamat memori untuk menetapkan lokasi pertama area penyangga internal. 2. Hardware mencuri siklus memori selagi mentransfer blok data 3. Memilih head baca/tulis permukaan 4. Menggerakkan head di atas track yang sesuai. Kontrol sistem a. sistem pengoperasian adalah tempat program yang melakukan pengontrolan atas operasi komputer D3-Manajemen Informatika Page 14 Pengolahan Data Elektronik ________________________________________________________________________________________ b. sistem pengoperasian minimum dan pusat suatu sistem yang besar merupan program executive atau supervisor yang mengontrol dan menjadwal penggunaan hardware c. program yang memrlukan penginputan dan pengoutputan data melakukan pekerjaan melalui sistem pebgoperasian. Interrupt Adalah pemutusan terhadap kontrol berangkai otomatis normal hingga dari pada mejemput instruksi berikutnya sebagai bagian dari pelaksanaan silkus penjemputan-eksekusi, unit kontrol menjemput instruksi pertama program lain atau menjemput instruksi dari bagian lain dari program yang sama. Penggunaan interrupt dalam I/O a. melakukan request intrrupt dengan menset flag done ke 1. b. Sebelum menjemput instruksi berikutnya selama perangkat instruksi normal, hardware proseesor secara otomatis mengecek untuk melihat pakaha terdapat interrupt request. c. Pengecekan intrrupt hanya akan dilakukan jika sistem interrupt diaktifkan d. Karena ada lebih dari satu perangkat yang dapar melakukan request pada waktu tertentu, maka tiap perangkat diberi posisi prioritas. e. Program yang ingin mengoutput data dapat merequest interrupt dengan menggunakan suatu instruksi yang mensetnbit intrrupt khusus ke 1. Paeranan supervisor a. Satu lokasi tertentu digunakan untuk menyangga alamat instruksi pertama daaalam program supervisor. b. Request interrupt menyebabkan hardware prosesor malakukan jump tak kondisional ke instruksi yang alamatnya ditetapkan dalam lokasi nol. c. Ketika dimasukkan supervisor melakukan : 1. menyimpan link untuk kembali ke program utama 2. menyimpan isi semua akumulator hingga diganti sebelum kembali ke program utama D3-Manajemen Informatika Page 15 Pengolahan Data Elektronik ________________________________________________________________________________________ 3. jika interrupt terjadi selama pengeksekusian suatu routine, yang ia sendir I menangani I/O dari perangkat, akan meyebabkan hilangnya data 4. jika sistem intrrupt dibiarkan selagi menangani satu interrupt, dimungkinkan bahwa interrupt lain akan terjadi. Kecepatan perangkat Perangkat berprioritas rendah cenderung menunggu lama untuk mendapatkan layanan. Perangkat lamban jika diberi priorotas rendah akan menghalangi aktivitas pemrosesan karena tidak dapat menginput data yang cukup. Karena itu umumnya perangkat berkecepatan rendah diberi priorotas yang lebih tinggi. D3-Manajemen Informatika Page 16