Rabu, 21 Desember 2016

Arsitektur Famili Komputer IBM PC

                     

                      IBM ( International Business Machines) merupakan sebuah perusahaan hardware yang mengembangkan software - software yang sudah ada seperti UNIX dan WINDOWS. Oleh karena itu IBM sendiri merupakan sebuah perusahaan bukan system operasi, hanya saja IBM mencoba mengembangkan OS yang telah ada seperti OS dari UNIX dan LINUX. IBM PC adalah sebutan untuk keluarga  komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan (dipensiunkan) pada tanggal 2 April 1987.
Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga antara lain:
IBM 4860 PCjr
IBM 5140 Convertible Personal Computer (laptop)
IBM 5150 Personal Computer (PC yang asli)
IBM 5155 Portable PC (sebenarnya merupakan PC XT yang portabel)
IBM 5160 Personal Computer/eXtended Technology
IBM 5162 Personal Computer/eXtended Technology Model 286 (sebenarnya merupakan PC AT)
IBM 5170 Personal Computer/Advanced Technology

A. Famili IBM PC Dan Turunannya
                   Komputer personal pertama kali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal   yang terdiri dari set register, ALU dan unit control komputer. IBM PC merupakan arsitektur bus tunggal yang disebut PC I/O Channel BUS atau PC BUS. PC BUS melengkapi PC dengan 8 jalur data, 20 jalur alamat, sejumlah jalur kontrol dan ruang alamat fisik PC adalah 1 MB.

B. Konfigurasi Mikro Komputer Dasar

                  Berdasarkan UkurannyaBerdasarkan ukurannya, komputer digolongkan ke dalam microcomputer (komputer mikro), mini computer (komputer mini), small computer (komputer kecil), medium computer (komputer menengah), large computer (komputer besar) dan super computer (komputer super). Micro ComputerMicro Computer (Mikro Komputer) disebut juga dengan nama personal computer (komputer personal) . ukuran main memory komputer mikro sekarang berkisar dari 16 MB sampai lebih dari 128 MB, dengan konfigurasi operand register 8 bit, 16 bit, atau 32 bit. Kecepatan komputer mikro sekarang berkisar 200 Mhz sampai dengan 500 Mhz. Komputer mikro umumnya adalah single-user (pemakainya tunggal), yaitu satu komputer hanya dapat digunakan untuk satu pemakai saja untuk tiap saat.
1. Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu seperti pengontrol interupt, pengontrol bus dan timer.
2. Chip khusus yang di sebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya.

C. Komponen  IBM PC
·         Sistem Kontrol BUS: Pengontrol BUS, Buffer Data, dan Latches Alamat
·         Sistem Kontrol Interrupt: Pengontrol Interrupt
·         Sistem Kontrol RAM dan ROM: Chip RAM dan ROM, Decoder Alamat, dan Buffer
·         Sistem Kontrol DMA: Pengontrol DMA
·         Timer: Timer Interval Programmable
·         Sistem Kontrol I/O: Interface Paralel Programmable


Sumber :
http://www.academia.edu/28409476/arsitektur_famili_komputer
http://icikomputer.blogspot.co.id/2015/09/arsitektur-famili-komputer-ibm.html
http://www.docfoc.com/arsitektur-family-ibm-pc-dan-turunannya

Minggu, 18 Desember 2016

Unit Input / Output


                  Dalam dunia teknologi komputer ada istilah input dan output yang sering terdengar ditelinga kita. Input dan output atau dikenal dengan lambang I/O ini termasuk bagian sistem mikroprosesor yang digunakan untuk menghubungkan komputer dengan perangkat luar, misalnya keyboard, mouse, printer, monitor, dll.

Pengertian input
Input adalah (masukkan) unit/perangkat luar yang dipasang sesuai dengan slot atau portnya masing-masing untuk memasukkan atau mentransfer data dari luar ke dalam mikroprosesor untuk di proses dan diterjemahkan secara digital.
Fungsi input device
Fungsi Input device
pada komputer adalah untuk menerima masukkan data dari perangkat luar yang disambungkan menuju mikroprosesor dan diterjemahkan menjadi sebuah informasi. Data input device yang masuk ke mikroprosesor bisa berupa data signal input atau data maintance input. Signal input berupa data yang masuk ke mikroprosesor dan maintance input berupa program yang dipakai untuk menerjemahkan data signal input. Contoh perangkat input device atau unit input device adalah keyboard, mouse, scanner, webcam, microphone, CD, hardisk dan lain-lain

Pengertian output
Output adalah (keluaran) unit/perangkat luar yang digunakan untuk menampilkan atau menerjemahkan data yang keluar dari mikroprosesor komputer. Perangkat luar yang menangkap output dari sistem mikroprosesor ini misalnya data digital yang ditampilkan pada layar monitor, atau data script yang dicetak pada printer dan sebagainya.
Fungsi output deviceFungsi input device  pada komputer adalah untuk menerima keluaran data dari mikroprosesor CPU komputer yang telah diterjemahkan sehingga dapat berupa gambar, tulisan, suara dan sebagainya. Contoh perangkat output device yang biasanya digunakan untuk menerima hasil olahan komputer seperti printer, monitor, speaker, dan sebagainya.
                                  

A. Sistem Bus

        BUS merupakan lintasan komunikasi yang menghubungkan dua atau lebih komponen komponen komputer. Sebuah BUS yang menghubungkan komponen-komponen utama komputer disebut sebagai Bus System. Biasanya sebuah Bus System terdiri dari 50 hingga 100 saluran yang terpisah.
Bus System itu sendri dapat dibedakan menjadi 3 yaitu:
1. Data Bus ( Saluran Data )
2. Address Bus ( Saluran Alamat )
3. Control Bus ( Saluran Kendali )
1.       Data Bus
Lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran.
Tujuan : agar mentransfer word dalam sekali waktu.
Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit

2.       Address Bus
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data, mengirim alamat word pada memori yang akan diakses CPU, dan digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya

3.       Control Bus
Digunakan untuk mengontrol bus data, bus alamat dan seluruh modul yang ada. Karena bus data dan bus alamat digunakan oleh semua komponen maka diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini.
Sinyal – sinyal kontrol terdiri atas :
·         Sinyal pewaktuan yaitu Sinyal pewaktuan menandakan validitas data dan alamat
·         Sinyal–sinyal perintah yaitu Sinyal perintah berfungsi membentuk suatu operasi
Arsitektur Bus Sistem



B. Standar I/O Interface
           Interface atau antarmuka adalah Penghubung antara dua sistem atau alat media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber daya mengalir dari satu subsistem ke subsistem yang lainnya. Keluaran (output) dari suatu subsistem akan menjadi masukan (input) untuk subsistem lainnya dengan melalui penghubung.

B.1 Interface Aplikasi I/O
                Ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk, sebenarnya aplikasi tersebut harus dapat membedakan jenis disk apa yang akan diaksesnya. Untuk mempermudah pengaksesan, sistem operasi melakukan standarisasi cara pengaksesan pada peralatan Input/Output. Pendekatan inilah yang dinamakan interface aplikasi Input/Output.
                 Interface aplikasi Input/Output melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan Input/Output ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas yang umum ini, maka akan lebih mudah untuk membuat fungsi-fungsi standar(interface) untuk mengaksesnya. Lalu kemudian adanya device driver pada masing-masing peralatan Input/Output, berfungsi untuk enkapsulasi perbedaan-perbedaan yang ada dari masing-masing anggota kelas-kelas yang umum tadi. Device driver mengenkapsulasi tiap -tiap peralatan Input/Output ke dalam masing-masing 1 kelas yang umum tadi(interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller dari subsistem Input/Output pada kernel. Karena hal ini, subsistem Input/Output dapat bersifat independen dari Hardware.
                Karena subsistem Input/Output independen dari hardware maka hal ini akan sangat menguntungkan dari segi pengembangan hardware. Tidak perlu menunggu vendor sistem operasi untuk mengeluarkan support code untuk hardware-hardware baru yang akan dikeluarkan oleh vendor hardware.
Contoh IO Interface


C. Pengaksesan Peralatan I/O
C.1.  Metode Pengaksesan I/O
Pengaksesan I/O terdiri dari dua cara yaitu :
1. Memory mapped I/O
Dimana pirabti I/O dihubungkan sebagai lokasi memory virtual dimana port I/O tergantung pada memori utama.
Karakteristik memory mapped I/O antara lain :
• Port I/O dihubungkan ke bus alamat
• Piranti input sebagai bagian memory yang memberikan data ke bus data. Piranti output ssebagai bagian memori yang memiliki data tersimpan di dalamnya.
2. I/O mapped I/O
Piranti I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori, dimana port I/O tidak tergantung pada memori utama.
karakteristik I/O mapped I/O :
• Port I/O tidak tergantung memori utama
• Transfer informasi dilakukan di bawah kendali sinyal control yang menggunakan instruksi INPUT dan OUTPUT
• Operasi I/O tergantung sinyal kendali dari CPU
• Intruksi I/O mengaktifkan baris kendali read/write pada port I/O, sedangkan instruksi memori akan mengaktifkan baris kendali read/write pada memori
• Ruang memory dan ruang alamat I/O menyatu, sehingga dapat memiliki alamat yang sama.
C.2. Metode Operasi Sistem I/O
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 maupun tulis, dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya.
2. I/O Instruksi (Demand Driven)
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.
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. 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.
C.3. Metode Transfer Data Perangkat I/O
Metode transfer data perangkat input/output terdapat dua macam yaitu, metode software dan metode hardware. Pada metode software, tugas-tugas mengenai operasi input/output dibuat ke dalam suatu program yang dijalankan oleh CPU. Sehingga CPU tidak terbebani secara total dalam operasi I/O. Pada metode hardware, program memberikan tanggungjawab pelaksanaan operasi I/O ke unit hardware lain yang disebut DMA Controller.

Sumber :
http://panduankomputer-laptop.blogspot.com/2016/10/pengertian-input-dan-output.html
http://www.pojokku.com/2014/09/sistem-bus-pada-komputer-dan-jenisnya.html
http://kurniadwisandra.blogspot.co.id/2014/06/system-bus-address-data-control-bus.html
http://irpanpebriyansyah.blogspot.co.id/2012/11/1-unit-inputoutput-io-2-arsitektur_8862.html
http://hausenka.blogspot.co.id/2015/09/metode-pengaksesan-io.html
http://hausenka.blogspot.co.id/2015/09/metode-pengaksesan-io.html



Sabtu, 05 November 2016

CPU

A. Pegertian CPU
             
            CPU (Central Processing Unit) adalah otak atau sumber dari komputer yang mengatur dan memproses seluruh kerja komputer. CPU ini berbentuk IC yang diberi nama sesuai dengan tipenya, misalnya 8088 untuk PC XT dan 80286 untuk PC AT,Pentium IV dan sebagainya. Karena CPU ini berada pada suatu board (papan) yang disebut motherboard dan terletk dalam kotak (casing), sekarang ini orang jadi cenderung menyebut kotak berisi catu daya, disk drive dan motherboard sebagai CPU/ kotak CPU. Di dalam kotak CPU biasanya terdapat 2 buah disket drive yang diberi nama disket drive A dan disket drive B. selain disket drive ada juga yang mempunyai hard disk dan CD ROM.
B. Fungsi  CPU
              
           Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama. Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utama dan mengeksekusinya satu persatu sesuai dengan alur perintah. Pekerjaan ini dilakukan dalam dua tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute). Proses membaca dan melaksankan ini dilakukan berulang-ulang sampai semua instruksi yang terdapat di memori utama dijalankan atau komputer dimatikan. Proses ini dikenal juga sebagai siklus fetch-eksekusi.
1. Sistem BUS

        Sistem Bus yaitu Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Karakteristik penting sebuah bus ialah bahwa bus merupakan media transmisi yang dapat dipakai secara bersamaan. Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sistem komputer.
         Suatu Komputer terdiri dengan beberapa unsur penting seperti CPU, memori, perangkat Input/Output. setiap computer saling terhubung dan membentuk saling terkait fungsinya. Sistem bus adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antara komputer sangatlah terkait dengan mendominasikan  kerja suatu computer. Data atau program yang tersimpan di sebuah memori dapat diakses dan dieksekusi CPU melalui bantuan sistem bus, dengan demikian kita dapat melihat hasil eksekusi melalui monitor juga menggunakan sistem bus.
- Cara Kerja Sistem BUS
  1. Pada sistem komputer akan lebih maju, jika arsitektur komputernya  diciptakan dengan lebih kompleks, sehingga tingkatannya lebih  performa, dan di pakai beberapa buah bus. Bus tersebut merupakan jalur akses data antara beberapa device yang berbeda.
  2. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dikaitkan oleh Otak bus dengan tegangan yang atau biasa disebut dengan sebutan FSB (Front Side Bus) .
  3. Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang tegangannya lebih rendah yang terkait dengan bus lain yang lebih cepat sampai ke Otak bus. Untuk komunikasi antar bus ini dapat digunakan sebuah bridge.
- Jenis BUS

Sedangkan jenis-jenis bus itu sendiri juga dikelompokkan berdasarkan masingmasing kriteria, tapi disini akan di jelaskan Jenis Bus menurut fungsinya masing - masing . Langsung saja berikut Jenis-jenis Bus Berdasarkan Fungsi :
§  Data Bus :
- Berfungsi untuk mengirim data, membawa data dari dan ke perangkat atau periferal
- Terdiri atas bagian tertentu atau jalur penghantar, 8, 16, 32 dan 64 bahkan lebih jalur paralel
- Data ditransmisikan dalam dua jalur, yaitu dari CPU atau mesin proseses ke unit memori atau modul I/O dan sebaliknya.
- Semakin lebar bus maka semakin besar data yang dapat dikirim sewaktu - waktu.
§  Control Bus:
- Berfungsi untuk mensinkronkan proses penerimaan dan pengiriman data.
- Untuk menentukan memori atau port agar siap ditulis atau dibaca.
- Sinyal Kontrol: RD, WR, IO/M
- Sinyal Read dan write : untuk mencari data dari perangkat
§  Address Bus:
- Membawa informasi agar dapat mengetahui tempat suatu perangkat atau periferal
- Untuk memilih tempat memori atau port yang akan ditulis atau dibaca
- Untuk mengatur rute data, muncul dari mana, tujuannya ke mana.
- Bersifat searah, cpu memberikan alamat yang bertujuan untuk mengatur periferal mana yang dituju. Contoh memori mana yang dicari atau I/O mana yang dituju.
- Semakin besar bus alamat, akan semakin banyak range lokasi tempat yang dapat di temukan.
- Jumlah alamat yang dapat dicari pada Bus alamat yaitu sebanyak jumlah yang di tentukan.

2. ALU

 - Pengertian ALU
Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja besama-sama memori, di mana hasil dari perhitungan di dalam ALU di simpan ke dalam memori.
Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner (two’s complement). ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU.

         - Operasi Pada ALU
Operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU melakukan operasi aritmatika yang lainnya seperti pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. ALU melakukan operasi aritmatika dengan dasar pertambahan, sedang operasi aritmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder.

       - Tugas Dan Fungsi ALU
Tugas dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :
a.           sama dengan (=)tidak sama dengan (<>)kurang dari (<)kurang atau sama dengan dari (<=)lebih besar dari (>)lebih besar atau sama dengan dari (>=)

        Arithmatic Logical Unit (ALU) Juga Bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi dan tugas tersendiri. Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain. Arithmetic Logical Unit (ALU) merupakan unit penalaran secara logic.
ALU ini merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut.
ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan.
Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenis prosesor,kecuali untuk prosesor yang compatible dengannya.
Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.
- Struktur dan cara kerja ALU

ALU akan bekerja setelah mendapat perintah dari Control Unit yang terletak pada processor. Control Unit akan memberi perintah sesuai dengan komando yang tertulis(terdapat) pada register. Jika isi register memberi perintah untuk melakukan proses penjumlahan, maka PC akan menyuruh ALU untuk melakukan proses penjumlahan. Selain perintah, register pun berisikan operand-operand. Setelah proses ALU selesai, hasil yang terbentuk adalah sebuah register yang berisi hasil atau suatu perintah lainnya. Selain register, ALU pun mengeluarkan suatu flag yang berfungsi untuk memberi tahu kepada kita tentang kondisi suatu processor seperti apakah processor mengalami overflow atau tidak.
ALU (Arithmethic and Logic Unit) adalah bagian dari CPU yang bertanggung jawab dalam proses komputasi dan proses logika. Semua komponen pada CPU bekerja untuk memberikan asupan kepada ALU sehingga bisa dikatakan bahwa ALU adalah inti dari sebuah CPU. Perhitungan pada ALU adalah bentuk bilangan integer yang direpresentasikan dengan bilangan biner. Namun, untuk saat ini, ALU dapat mengerjakan bilangan floating point atau bilangan berkoma, tentu saja dipresentasikan dengan bentuk bilangan biner. ALU mendapatkan data (operand, operator, dan instruksi) yang akan disimpan dalam register. Kemudian data tersebut diolah dengan aturan dan sistem tertentu berdasarkan perintah control unit. Setelah proses ALU dikerjakan, output akan disimpan dalam register yang dapat berupa sebuah data atau sebuah instruksi.
Selain itu, bentuk output yang dihasilkan oleh ALU berupa flag signal. Flag signal ini adalah penanda status dari sebuah CPU. Bilangan integer (bulat) tidak dikenal oleh komputer dengan basis 10. Agar komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b; -0=(10000000)b].
Seperti kita ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan metode 2′s complement. Metode 2′s complement adalah metode yang digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara berikut:
1.             ubah angka 18 menjadi biner (00010010)b
2.             karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
3.             kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
4.             kemudian, dengan sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi irelevansi.
3. Control Unit (CU)
      
Control Unit Adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan /kendali / kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalamCPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPUtersebut. Pada awal  – awal desain komputer, CU diimplementasikan sebagai ad-hoc logic  yang susahuntuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan didalam tempat penyimpanan kontrol (control store). Pada hardwire implementation control unitsebagai combinational circuit yang dibuat berdasarkan control signal yang akan dikeluarkan. Jadiuntuk setiap control signal memiliki rangkaian logika tertentu pada control unit yang dapatmenghasilkan control signal yang dimaksud. Secara umum untuk metode ini digunakan PLA(programmable logic array) untuk merepresentasikan control signal.Control unit dari sebuah prosesor memiliki 2 peran penting. Pertama, control unit mengatur  processor agar melakukan semua micro-operation dalam urutan yang benar. Kedua, control unitmenghasilkan control signal yang memastikan supaya semua micro-operation dieksekusi.Control signal tersebut secara umum menyebabkan salah satu dari hal berikut: pembukaanatau penutupan dari gerbang-gerbang logika, transfer data antara register-register, dan pengoperasianALU.
4. Register
            Register tidak dapat dilepaskan dari mikroprosessor, sebab pada mikroprosessor terdapat register yang berfungsi untuk menyimpan sementara hasil dari tahapan operasi arithmetika dan logika pada mikroprosessor. Register dalam bahasa rakitan menggunakan real mode memory yang sesuai dengan mikroprosessor Intel generasi 8088 s/d Pentium.
Register yang terdapat pada mikroprosessor Intel terdiri dari :
·         General purpose register (register serbaguna)
·         Pointer register (register pointer)
·         Index register (register indeks)
·         Segment register (register segment)
·         Flag register (register status).
Semua register di atas lebarnya 32 bit, kecuali register segment (CS, DS, ES, SS, FS dan GS) hanya 16 bit. Register 32 bit dapat digunakan sebagai register 16 bit, kecuali register General purpose register dapat dibagi menjadi 8 bit (AL,AH, BL, BH, CL, CH, DL dan DH) yang berasal dari 16 bit (AX, BX, CX, DX). Register 32 bit diberi kode di depan register dengan E misalnya: EAX, EBX, ECX dan EDX.
Macam-macam Jenis dan Fungsi Register. Berikut ini jenis dan fungsi dari masing-masing Register yaitu :
1.     General Purpose Register (Register Serbaguna)

a.   Register AX (Accumulator register) berfungsi sebagai tempat Sementara hasil suatu operasi arithmetika atau logika (AL, AH, AX dan EAX)
 Memasukkan nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi (register AH).
- Menyimpan bilangan yang dikalikan (reg AL, AX, EAX) dan setengan bagian terkecil (LSB) dari hasil perkalian (register DX-AX dan EDX-EAX).
-Menyimpan setengah bagian terkecil(LSB) sebuah bilangan dibagi (DX-AX dan EDX-EAX) dan hasil bagi (AL, AX, EAX)
b.    Register BX (Base Register)  adalah register untuk menyimpan alamat offset data yang terletak di memori (BL, BH, BX dan EBX)
c.     Register CX (Counter Register) adalah register serbaguna yang berfungsi sebagai:
- Pencacah untuk operasi loop (CX dan ECX)
- Pencacah untuk operasi shift dan rotate (CL)
-Pencacah (counter) untuk operasi string (CX)
d.   Register DX (Data register) adalah register serbaguna yang berfungsi sebagai :
- Penyimpan hasil perkalian 16 bit (DX-AX) dan 32 bit (EDX-EAX).
- Penyimpan hasil pembagian (DX-AX dan EDX-EAX)
- Penyimpan data hexadesimal (kode ASCII) di reg DL untuk dicetak di layar monitor.
2. Pointer Register
Register ini untuk menunjukkan alamat sebuah data di lokasi memori, dipakai saat operasi perpindahan data (dari/ke memori), operasi stack (PUSH/POP) dan penunjukkan alamat suatu instruksi. Berikut adalah macam-macam pointer register: SP (Stack Pointer) dan ESP, BP (Base Pointer) dan IP (Instruction Pointer)
3. Index Register
Sama dengan pointer register, sering digunakan untuk menunjukkan alamat sebuah data di lokasi memori pada operasi string. Macam-macam register Index adalah : SI (Source Index), DI (Destination Index).

4.    Segment Register
Segment register membentuk alamat memori untuk data. Pada operasi real mode suatu segment register akan berbeda dengan segment register pada operasi protected mode. Yang termasuk ke dalam segment register antara lain :
Code segment -> untuk menunjukkan alamt instruksi berikutnya.
a.         Data segment -> untuk menunjukkan alamat data pada transfer register
b.         Extra segment -> register tambahan untuk operasi string
c.         Stack segment -> dengan SP u/ menunjukkan stack dan memanggil suatu prosedur (CALL) dan mengarah ke program utama (RET).
d.         FS dan GS register -> register tambahan u/ segmen memori yang besar.

5.     Flag Register
Berfungsi untuk menunjukkan status (keadaan) sesaat dari mikroprosessor. Bit-bit pada flag akan mengalami perubahan, tergantung proses yang baru saja berlangsung. Adapun kode bit yaitu sebagai berikut :
·          C (carry) -> 1=ada carry out 0= tdk ada carry out
·          P (Parity) -> 1=paritas genap 0= paritas ganjil
·          A (auxxiliary carry) -> 1=ada carry 0=tdk ada carry
·          Z (zero) -> 1=hasilnya nol 0=hasilnya bukan nol
·          S (sign) -> 1=hasilnya negatif 0=hasilnya positif
·          T (trap) -> bila diset 1 dimungkinkan melakukan debugging.
·          I (interrupt) -> 1= pin INTR enable 0=pin INTR disable
·          D (direction) -> 1=cacahan turun 0=cacahan naik
·          (Overflow) -> menunjukkan adanya kelebihan kapasitas atau tidak
·          IOPL (input-output privalege level) -> untuk protected mode
·          NT (nested task) -> indikasi dari penggabungan dengan operasi lain.
·          RF (resume) -> untuk debugging.
·          VF (Virtual mode) -> untuk operasi virtual pada protected mode.
·          AC (alignment check) -> untuk data word dialamati ke memori.
·          Register merupakan tempat menyimpan data sementara yang berada dalam CPU.
·          Register terdiri atas 5 bagian yaitu : General Purpose Register, Pointer Register, Index Register, Segment Register, Flag Register.
·          Fungsi setiap register bermacam-macam sesuai peruntukannya yang telah diatur oleh pembuat mikroprosesor.

Sumber: hasanudin.staff.gunadarma.ac.id/Downloads/files/32415/Central+Processing+Unit.doc
http://www.blognovi.com/2016/04/apa-itu-sistem-bus-dalam-komputer.html
http://www.kampusbaru.net/2016/03/pengertian-register-memory-alu-variabel.html
https://id.scribd.com/doc/151024992/Pengertian-Control-Unit

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