Jumat, 04 November 2016

Arsitektur Set Intruksi


Set instruksi sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU Instruksinya berbentuk machine code (bahasa mesin), aslinya seluruhnya dalam bilangan biner Untuk programmer, biasanya digunakan representasi yang lebih mudah dimengerti  bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. dengan sebuah perintah apa saja yang dapat dilakukan (didukung) oleh sebuah prosesor, dan biasanya terikat dengan sebuah keluarga arsitektur prosesor tertentu (misal x86, x64).





KARAKTERISTIK DAN FUNGSI SET INSTRUKSI
- Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions).
- Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set).

ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI)
1. Ortogonalitas (sifat independensi instruksi)
2. Kompatibilitas :      
-  Source code compatibility Operation Code (opcode) : menentukan operasi yang akan dilaksanakan

- Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan

- Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan

- Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.
Source dan result operands dapat berupa salah satu diantara tiga jenis berikut ini:
nMain or Virtual Memory
nCPU Register
nI/O Device
  A. Jenis Intruksi  

  1. Data Processing (Pengolahan Data) adalah : instruksi-instruksi aritmetika dan logika. Instruksi aritmetika memiliki kemampuan untuk mengolah data numeric, sedangkan instruksi logika beroperasi pada bit-bit word sebagai bit bukan sebagai bilangan. Operasi-operasi tersebut dilakukan terutama untuk data di register CPU.
  1. Data Storage (Penyimpanan Data) adalah : instruksi-instruksi memori. Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
  1. Data Movement (Perpindahan Data) adalah : instruksi I/O. Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data ke dalam memori dan mengembalikan hasil komputansi kepada pengguna.
  • Control (Kontrol) adalah : instruksi pemeriksaan dan percabangan. Instruksi-instruksi control digunakan untuk memeriksa nilai data, status komputansi dan mencabangkan ke set instruksi lain.

    Contoh jenis-jenis intruksi













    B. Teknik Pengelamatan
     

    Untuk menyimpan data ke dalam memori komputer, tentu memori tersebut diberi identitas (yang disebut dengan alamat/ address) agar ketika data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai dengan data yang pernah diletakkan di sana.
    Untuk media penyimpanan yang bersifat sequential access storage device (SASD) seperti kaset (magnetic tape), alamat tersebut tidak terlalu dipusingkan karena pasti data disimpan secara berurutan (sequential/ consecutive) mulai dari depan hingga ke akhir bagian dari pita kaset. Begitu juga dengan data yang diorganisasi secara sequential, di alamat manapun data disimpan, data akan tetap diakses secara berurutan pula, mulai dari record pertama hingga ke record terakhir.
    Lain halnya dengan data yang diorganisasi secara relative yang disimpan di media penyimpanan yang bersifat direct access storage device (DASD), karena data yang akan diraih kembali, dituju langsung ke alamatnya tanpa melalui records lainnya (belum tentu dimulai dari data yang paling awal disimpan), maka alamat memori memegang peranan penting. Untuk itu, di catatan ini akan diterangkan beberapa cara melakukan penempatan data di memori agar kelak dapat diraih kembali dengan tepat, yang diberi judul “Teknik Pengalamatan.”
    Teknik pengalamatan ini hampir sudah tidak diperlukan lagi oleh pemakai komputer saat ini karena hampir seluruh software yang beredar di pasaran tidak mengharuskan si pemakai menentukan di alamat mana datanya akan disimpan (semua sudah otomatis dilakukan oleh si software). Jadi, yang kita pelajari adalah bagaimana kira-kira si software tersebut melakukan teknik pengalamatannya, sehingga data yang sudah kita berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali dengan tepat.
    Ada 3 teknik dasar untuk pengalamatan, yakni 1. Pemetaan langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing), 2. Pencarian Tabel (directory look-up), dan 3. Kalkulasi (calculating). Teknik pengelamatan terbgi 2 
    1. PENGALAMATAN MUTLAK
    Pandang, kita memiliki data teman-teman sekelas kita yang akan kita masukkan ke dalam memori (misal hard disk), data tersebut berjumlah 50 orang yang masing-masing terdiri atas atribut-atribut : NIM, NAMA, dan ALAMAT_RUMAH.
    Jika data tersebut kita masukkan dengan organisasi file sequential, maka jika kita mencari data NIM = ‘10105787’ yang namanya ‘ALI’ dan beralamat di ‘Jl. Margonda No. 100, Depok’, maka pencarian akan dilakukan mulai dari record pertama (data pertama yang dimasukkan), dan seterusnya menuju ke record terakhir sampai ketemu data yang dicari tersebut.
    Lain halnya jika data tersebut dimasukkan dengan organisasi file relative, maka data tersebut akan didapat secara langsung dari record yang dituju. Tentu, untuk langsung mendapatkan record yang dituju ada ‘sesuatu’ yang disebut dengan kunci atribut (key field). Kunci atribut itulah yang dikelola sedemikian rupa sehingga ‘kita’ bisa tahu dimana record tersebut disimpan.
    Untuk teknik pengalamatan ‘alamat mutlak’ ini, kita tidak terlalu mempermasalahkan kunci atribut karena kita diminta langsung menuliskan di mana alamat record yang akan kita masukkan. Jika kita menggunakan hard disk atau magnetic drum, ada dua cara dalam menentukan alamat memorinya, yaitu (1) cylinder addressing dan (2) sector addressing. Jika kita menggunakan cylinder addressing, maka kita harus menetapkan nomor-nomor dari silinder (cylinder), permukaan (surface), dan record, sedangkan bila kita menggunakan sector addressing, maka kita harus menetapkan nomor-nomor dari sektor (sector), lintasan (track), dan permukaan (surface). Teknik ini mudah dalam pemetaan (pemberian) alamat memorinya. Sulitnya pada pengambilan (retrieve) data kembali, jika data yang kita masukkan banyak, kita bisa lupa di mana alamat record tertentu, misalkan apakah kita ingat nomor record dari data NIM = ‘10105787’ yang namanya ‘ALI’ dan beralamat di ‘Jl. Margonda No. 100, Depok’ ?, apakah kita harus menghafal selamanya alamat-alamat tersebut ?. Pelajari keuntungan dan kerugian lainnya.
    Teknik ini dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat rekam yang berbeda spesifikasinya.
    Teknik ini juga dapat dijuluki dengan address space dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak tersedia lagi.

    2. PENGALAMATAN RELATIF
    Teknik ini menjadikan atribut kunci sebagai alamat memorinya, jadi, data dari NIM dijadikan bertipe numeric(integer) dan dijadikan alamat dari record yang bersangkutan. Cara ini memang sangat efektif untuk menemukan kembali record yang sudah disimpan, tetapi sangat boros penggunaan memorinya. Tentu alamat memori mulai dari 1 hingga alamat ke sekian juta tidak digunakan karena nilai dari NIM tidak ada yang kecil. Pelajari keuntungan dan kerugian lainnya.Teknik ini termasuk dalam katagori address space dependent.


    C. Disgn Set Intruksi
    Desain set instruksi merupakan masalah yang sangatkomplek yang melibatkan banyak aspek, diantaranya adalah:
    1. Kelengkapan set instruksi
    2. Ortogonalitas (sifat independensi instruksi)
    3. Kompatibilitas :

    - source code compatibility 
    -Object code Compatibility 

    Selain ketiga aspek tersebut juga melibatkan hal-hal sebagaiberikut :
    a. Operation Repertoire : Berapa banyak dan operasiapa saja yang disediakan, dan berapa sulitoperasinya
    b. Data Types : tipe/jenis data yang dapat olah
    c. Instruction Format : panjangnya, banyaknya alamat,dsb.
    d. Register : Banyaknya register yang dapat digunakan
    e. Addressing: Mode pengalamatan untuk operand


     Sumber :
    http://lecturer.ukdw.ac.id/mahas/dossier/arkom_08.pdf
    dewiluqi.staff.gunadarma.ac.id/Downloads/files/49318/BAB+9+set+instruksi.doc
    https://irwanzulkifli.wordpress.com/2015/12/17/set-instruksi-program-dan-jenis-jenis-instruksi/
    http://azarkowi.blogspot.co.id/2015/10/desain-set-instruksi-dan-contoh-jenis.html
    aqwam.staff.jak-stik.ac.id/files/5.-berkas-dan-akses[4].doc 
     

     

    Senin, 10 Oktober 2016

    Organisasi Komputer Dasar


    Organisasi Komputer adalah bagian yang terkait erat dengan unit–unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya. Contoh aspek organisasional adalah teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal–sinyal kontrol. 

    Organisasi Komputer :

     Bagian yang terkait erat dengan unit–unit operasional, Contoh: teknologi hardware, perangkat antarmuka, teknologi memori, sistem  memori, dan sinyal sinyal kontrol.


    ORGANISASI KOMPUTER DASAR

    Organisasi Komputer mempelajari bagian yang terkait dengan unit‑unit operasional komputer dan hubungan antara komponen sistem komputer.

    contoh: sinyal kontrol, interface, teknologi memori

    ü  Struktur komputer adalah cara komponen - komponen komputer saling terkait dan berhubungan.

    ü  Fungsi komputer adalah operasi masing ‑ masing komponen sebagai bagian dari struktur

    Dari asal katanya “to compute” komputer berarti alat penghitung. Ternyata sekarang komputer tak hanya berguna sebagai alat hitung saja tetapi sudah meluas fungsinya. Cara kerja sebuah komputer dapat dideskripsikan secara sederhana dengan diagram blok sebagai berikut :

    Secara umum masing-masing bagian dapat kita rinci sebagai berikut :
    1.  Input Device
    Input device adalah peralatan yang  kita gunakan untuk memasukkan data atau perintah ke dalam komputer. Contoh : keyboard, mouse, dan scanner
    2.  Output Device
    Output device adalah peralatan yang kita gunakan untuk  melihat hasil pengolahan data atau perintah yang dilakukan oleh komputer. Contoh :  monitor
    3.  I/O Ports
    I/O adalah Input/Output. Bagian ini digunakan  untuk menerima ataupun mengirim data keluar sistem. Peralatan-peralatan input dan output seperti yang tercantum di atas terhubung melalui port ini.
    4.  Central Processing Unit
    Central Processing Unit (CPU) merupakan otak sistem komputer. CPU memilikidua bagian fungsi operasional yaitu Arithmetical Logical Unit (ALU) sebagai pusat pengolah data serta bagian Control Unit (CU) digunakan untuk mengontrol kerja komputer. Biasa disebut dengan nama processor saja.
    5.  Memory
    Bagian ini terdiri dari internal memory yaitu berupa RAM (Random Access Memory) dan ROM (Read Only Memory) serta eksternal memory yaitu berbagai macam disk seperti hard disk, floppy disk dan optical disc.
    6.  Data Bus
    Data bus adalah jalur-jalur perpindahan data antarmodul dalam sistem komputer. Biasanya terdiri dari 8, 16 , 32 atau 64 jalur data yang paralel. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja  sistem secara keseluruhan. Sifatnya bidirectional, misalnya  CPU dapat membaca dari memory atau port dan dapat juga mengirim ke memory atau port.
    7.  Address Bus
    Address Bus digunakan  untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini CPU akan mengirimkan alamat memory yang akan ditulis atau dibaca. Address Bus biasanya terdiri atas 16,  20, 24  atau 32 jalur paralel. Lebar Address Bus menentukan kapasitas memory maksimum sistem.  Sebagai contoh bila CPU mempunyai Address Bus 20 bit maka CPU dapat mengalamatkan 220 atau 1048576 alamat (1 MB).
    8.  Control Bus
    Control Bus digunakan  untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus.  Control Bus terdiri dari 4 sampai 10 jalur paralel. CPU akan mengirimkan sinyal pada control bus ini  bila akan meng-enable sebuah alamat yang ditunjuk, baik itu memory atau I/O port.
    Struktur Dasar Komputer
    Komputer adalah sebuah sistem yang berinteraksi dengan cara tertentu dengan dunia luar. Interaksi dengan dunia luar dilakukan melalui perangkat peripheral dan saluran komunikasi. Dalam buku ini akan banyak dikaji seputar struktur internal komputer. Perhatikan gambar  terdapat empat struktur utama:  Central Processing Unit (CPU), berfungsi sebagai pengontrol operasi komputer dan pusat pengolahan fungsi – fungsi komputer. Kesepakatan, CPU cukup disebut sebagai processor (prosesor) saja.  Memori Utama, berfungsi sebagai penyimpan data.  I/O, berfungsi memindahkan data ke lingkungan luar atau perangkat lainnya. System Interconnection, merupakan sistem yang menghubungkan CPU, memori utama dan I/O.
    Komponen yang paling menarik namun paling kompleks adalah CPU. Struktur CPU terlihat pada gambar dengan struktur utamanya adalah : 
    Control Unit, berfungsi untuk mengontrol operasi CPU dan mengontrol komputer secara keseluruhan. Arithmetic And Logic Unit (ALU), berfungsi untuk membentuk fungsi – fungsi  pengolahan data komputer.  Register, berfungsi sebagai penyimpan internal bagi CPU. CPU Interconnection, berfungsi menghubungkan seluruh bagian dari CPU. 

    1. Fungsi Komputer
    Fungsi dasar sistem komputer adalah sederhana seperti terlihat pada gambar 1.3. Pada prinsipnya terdapat empat buah fungsi operasi, yaitu : 
     Fungsi Operasi Pengolahan Data 
     Fungsi Operasi Penyimpanan Data 
     Fungsi Operasi Pemindahan Data 
     Fungsi Operasi Kontrol 

    Komputer harus dapat memproses data. Representasi data disini bermacam–macam, akan tetapi nantinya data harus disesuaikan dengan mesin pemrosesnya. Dalam pengolahan data, komputer memerlukan unit penyimpanan sehingga diperlukan suatu mekanisme penyimpanan data. Walaupun hasil komputer digunakan saat itu, setidaknya komputer memerlukan media   penyimpanan untuk data prosesnya. Dalam interaksi dengan dunia luar sebagai fungsi pemindahan data diperlukan antarmuka (interface), proses ini dilakukan oleh unit Input/Output (I/O) dan perangkatnya disebut peripheral. Saat interaksi dengan perpindahan data yang jauh atau dari remote device, komputer melakukan proses komunikasi data.

    Gambar Operasi-operasi Komputer
    Gambar diatas mengilustrasikan operasi–operasi komputer. Gambar a adalah operasi pemindahan data, gambar b adalah operasi penyimpanan data, gambar c dan gambar d adalah operasi pengolahan data. 
    Komponen Utama CPU
    v  Arithmetic and Logic Unit (ALU), bertugas membentuk fungsi ‑ fungsi pengolahan data komputer
    v  Control Unit, bertugas mengontrol operasi CPU dan secara keseluruhan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi ‑ fungsi operasinya
    v  Registers, adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data
    v  CPU Interconnections, adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register ‑ register dan juga dengan bus ‑ bus eksternal CPU yang menghubungkan dengan sistem lainnya
    Fungsi CPU
    v  Fungsi CPU adalah penjalankan program ‑ program yang disimpan dalam memori utama dengan cara mengambil instruksi ‑ instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah
    v  Proses Eksekusi Program adalah dengan mengambil pengolahan instruksi yang terdiri dari dua langkah, yaitu : operasi pembacaan instruksi (fetch) dan operasi pelaksanaan instruksi (execute)
    Siklus Fetch-Eksekusi
    v  CPU awalnya akan membaca instruksi dari memori
    v  Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC)
    v  PC akan menambah satu hitungannya setiap kali CPU membaca instruksi
    v  Instruksi ‑ instruksi yang dibaca akan dibuat dalam register instruksi (IR)

    Aksi-Aksi CPU
    v  CPU ‑ Memori, perpindahan data dari CPU ke memori dan sebaliknya
    v  CPU - I/0, perpindahan data dari CPU ke modul I/0 dan sebaliknya
    v  Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data
    v  Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi
    Siklus Instruksi
    v  Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya
    v  Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU
    v  Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan
    v  Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori
    v  Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul 1/0
    v  Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi
    v  Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori

    Fungsi Interrupt
    v  Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi. Hampir semua modul (memori dan I/0) memiliki mekanisme yang dapat menginterupsi kerja CPU
    v  Tujuan interupsi secara umum untuk menejemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul ‑ modul I/0 maupun memori
    v  Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan eksekusi masing ‑ masing modul berbeda sehingga dengan adanya fungsi interupsi ini dapat sebagai sinkronisasi kerja antar modul

    Sinyal Interupsi
    v  Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya: arimatika overflow, pembagian nol, oparasi ilegal
    v  Timer, adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler
    v  //0, sinyal interupsi yang dibangkitkan oleh modul I/0 sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi
    v  Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori

    Mekanisme Interupsi
    v  Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya maka modul ini akan mengirimkan permintaan interupsi ke prosesor
    v  Prosesor akan menghentikan eksekusi yang dijalankannya untuk menghandel routine interupsi
    v  Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi programnya kembali
    v  Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak

    Iterupsi Ditangguhkan
    v  Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data lain yang relevan
    v  Prosesor menyetel program counter (PC) ke alamat awal routine interrupt handler

    Iterupsi  Ganda
    v  Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor. Kemudian setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru di tangani. Pendekatan ini disebut pengolahan interupsi berurutan / sekuensial
    v  Prioritas bagi interupsi dan interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu. Pedekatan ini disebut pengolahan interupsi bersarang
    Interupsi Bersarang
    v  Sistem memiliki tiga perangkat 1/0: printer, disk, dan saluran komunikasi
    v  Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi
    v  Proses selanjutnya adalah pengalihan eksekusi interupsi mudul komunikasi, sedangkan interupsi printer ditangguhkan
    v  Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk ditangguhkan
    v  Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk
    v  Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer
    v  Selanjutnya dilanjutkan eksekusi program utama 

    Sumber :
    http://adiputra17.it.student.pens.ac.id/kelas1smt1/organ_dan_arsitektur_komputer/Buku.pdf
    dina_agustin.staff.gunadarma.ac.id/.../ORGANISASI+KOMPUTER+DASAR