Selasa, 03 Januari 2017

Pengantar Organisasi Arsitektur Komputer



BAB 1
ORGANISASI DAN ARSITEKTUR KOMPUTER DAN EVOLUSI SERTA KINERJA KOMPUTER.

              

1.      HUBUNGAN ORGANISASI KOMPUTER DENGAN ARSITEKTUR KOMPUTER

Organisasi Komputer mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen sistem komputer.
contoh: ser intruksi, jumlah bit, sinyal kontrol, interface, teknologi memori.

Sedangkan Arsitektur Komputer mempelajari atribut atribut sistem komputer yang terkait
dengan seorang programmer atau bisa dikatakan arsitektur computer berkenaan dengan atribut-atribut yang memiliki dampak langsung pada eksekusi logis sebuah program.
contoh: aritmetilka yang digunakan, teknik pengalamatan, mekanisme I/0.

Secara historis(sejarah), dan masih tetap berlangsung pada saat ini, perbedaaan arsitektur dan organisasi merupakan hal yang penting. Banyak pabrik Komputer yang sama memilki arsitektur yang menawarkan sekelompok model computer,yang semuanya memiliki arsitektur yang sama tapi berbeda dari segi organisasinya dan sebagai akibatnya model-model yang berbeda akan mempunyai harga dan karakteristik unjuk kerja yang berbeda pula.suatu arsitektur akan bertahan selama bertahun-tahun namun organisasinya dapat berubah sesuai dengan perkembangan teknologi.


2.      STRUKTUR DAN FUNGSI

CPU atau sering disebut sebagai central prosesor unit yang menjadi otak segala kegiatanyang ada di dalam computer. Komputer berasal dari bahasa latin computare yang mengandung arti menghitung. Karena luasnya bidang garapan ilmu komputer, para pakar dan peneliti sedikit berbeda dalam mendefinisikan termininologi komputer.

Fungsi komputer :
Fungsi computer sebenarnya untuk memeudahkan sistem kerja manusia yangmengordinir serta melalui melalui tahapan algoritma.        
Fungsi merupakan operasi dari masing  masing komponen sebagai bagian daristruktur
Semua computer memiliki 4 fungsi:                   
o   Pengolahan Data ( Data processing )
o   Penyimpanan Data (Data Storage )
o   Pemindahan Data ( Data movement )
o   Kendali ( Control )

Struktur Komputer :
Struktur adalah bagaimana masing - masing komponen saling berhubungan satu sama lain.
Sistem komputer merupakan sistem mandiri yang dilengkapi dengan piranti peripheraluntuk melangsungkan proses pengambilan masukan, penampilan keluaran, penyimpanan,maupun pemrosesan.

Sistem komputer yang kita kenal terdiri dari tiga elemen dasar yakni :
softwarehardware dan yang tidak kalah pentingnya brainware. Elemen komputer ertama yakni software. Software merupakan perangkat lunak yang berisikan instruksi program untuk mendayagunakan komputer, mengolah data dst.

Ada beberapa jenis software yang kita kenal dengan istilah Sistem Operasi, sebagai program antarmuka antara komputer dan pengguna, juga pengendali perangkat-perangkatkomputer baik piranti input, output. Software sistem operasi versi berbayar diantaraproduk Microsoft yakni Windows XP, 98, Millenium, Vista, 2000, NT, 95, MS DOS.

Sedangkan software sistem operasi versi gratis misalnya Linux Fedora, Redhat, Suse,Mandrake, Ubuntu, Debian dst. Adapun software program aplikasi/utilitas berfungsikhusus, misal membantu operator menyelesaikan tugasnya yakni program MS Office untuk aplikasi perkantoran, Norton Utilities untuk perawatan/perbaikan komputer, Internet Explorer untuk menjelajahi internet, aplikasi pemrograman untuk pengembangan program sesuai keinginan dst.

Hardware merupakan perangkat keras dari komputer yang dapat kita sentuh, misalnyacasing computer dan apa-apa yang ada di dalamnya, piranti input berupa mousekeyboard,microphone, piranti output seperti monitorprinter, plotter, projector, speaker, piranti penyimpanan seperti disket, harddisk, USB flash disk, CD- OM, optical disk, magnetic tape, DVD-ROM, dst. Elemen terakhir yakni brainware adalah operator komputer, yang mengendalikan dan mengoperasikan komputer, baik setingkat operatoruserprogrammermaupun system analis. Biasanya staff yang bekerja di bidang ICT (information communication technology) ini bernaung di bawah departemen EDP (Electronic Data Processing) atau Pusat Komputer (Puskom). Adapun komponen utama komputer yang dapat mudah dikenali ada tiga, yakni Central Processing Unit (CPU) merupakan unit pemrosesan komputer, input device (media masukan untuk komputer), output device(piranti keluaran) misalnya monitor yang merupakan layar tampilan komputer, speakerdengan mengeluarkan suara tertentu dst

3.      EVOLUSI DAN KINERJA KOMPUTER

  
I.                   Komputer Generasi Pertama 

          Komputer generasi pertama ini disebut juga sebagai komputer dinosaurus karena ukurannya yang relatif besar. Hanya orang yang ahli sajalah yang dapat menggunakan komputer ini karena sangat sulit dan daya komputesinya sangatlah lambat.
Ciri ciri komputer pada generasi pertama adalah sebagai berikut :
  • Komponen elektronikanya dari Tabung Hampa (Vacuum Tube)
  • Program dibuat dalam bahasa mesin (Machine Language), yang programnya tersimpan dalam memori komputer. Programnya masih menggunakan bahasa mesin dengan menggunakan kode 0 dan 1 dalam urutan tertentu.
  • Sifat-sifatnya:
    • Ukurannya besar dan memerlukan tempat yang sangat luas
    • Memerlukan banyak Pendingin (AC) karena banyak mengeluarkan panas
    • Prosesnya relatif lambat
    • Kapasitas untuk menyimpan data kecil.
  • Pabrik yang memproduksi; UNIVAC, IBM, BURROGHS, HONEYWELL
  • Contoh mesin; ENIAC, MARK II, EDSAC, MARK III, UNIVAC I & II, IBM 650, ADVAC
           Komputer generasi pertama berawal dari tahun 1942 hingga tahun 1959. Komputer semacam ENIAC menggunakan 18.000 tabung hampa untuk  mengolah data. Pada tahun 1950-an, beberapa komputer yang mempekerjakan ribuan tabung hampa masih diproduksi. Komputer IBM 701 yang dibuat tahun 1953 misalnya, mengandung 4.000 tabung di dalamnya.

II.                Komputer Generasi Kedua



         Komputer generasi kedua ini muncul pada era 1960-an dan dulu komputer ini banyak di gunakan di berbagai perusahaan perusahaan khususnya dalam bidang bisnis. Ukurannya lebih kecil ketimbang komputer generasi pertama yaitu kira kira seukuran lemari saja. Pada era ini juga manusia telah mengenal printer, memori, disket ataupun sistem operasi.
Ciri ciri komputer generasi kedua adalah sebagai berikut :
  • Komponen elektronikanya dari Transistor
  • Program dibuat dengan Assembly Language, Common Business-Oriented Language (COBOL) dan Formula Translator (FORTRAN) dan ALGOL
  • Menjadi titik awal penemuan Mini computer.
  • Sifat-sifatnya:
    • Ukurannya relatif kecil
    • Tidak banyak mengeluarkan panas
    • Telah mengenal Magnetic Tape dan Magnetic Disk untuk menyimpan data
    • Mulai mengenal Tele Processing (time sharing yang memungkinkan beberapa user dapat memakai kokmputer secara bersama-sama)
    • Proses relatif lebih cepat
    • Kapasitas untuk menyimpan data semakin besar.
    • Tidak membutuhkan tegangan listrik sebesar generasi sebelumnya
    • Memory masih cukup kecil tapi masih lebih besar dibandingkan dengan komputer sebelumnya.
  • Pabrik yang memproduksi; UNIVAC, IBM, BURROGHS, HONEYWELL, CDC (Control Data Corporation), NCR
  • Contoh mesin; IBM (IBM 1620, IBM 1401, IBM 7070, IBM 7080, IBM 7094), UNIVAC III, CDC 6600 Super dan CDC 7600, BURROGHS 5500, HONEYWELL 400, PDP 1 & 5
           Komputer generasi kedua muncul antara tahun 1958 sampai dengan tahun 1963. Munculnya komputer generasi pertama ini  ditandai dengan ditemukannya transistor, komponen elektronik berukuran kecil yang  cara bekerjanya memanfaatkan aliran muatan (elektron) di dalam zat padat kristalin. Transistor mempunyai sifat lebih ringan, lebih kuat dan tahan lama dibandingkan teknologi tabung.

           Walaupun komputer ini telah menggunakan transistor yang mana menggantikan fungsi tabung hampa tetapi tetap saja mengeluarkan panas walaupun tidak sebanyak yang di keluarkan oleh komputer generasi pertama dan itu dapat berpotensi untuk merusak komponen komponen yang ada pada komputer. Pada generasi ini juga bermunculan banyak programmer, analyst dan ahli di bidang komputer serta juga bermunculan dan mulai berkembang industr piranti lunak atau softwere. 

III.             Komputer Generasi Ketiga



          Komputer generasi ketiga merupakan perkembangan yang paling pesat dari perkembangan komputer yang ada. Komputer generasi ketiga muncul sejak era 1965-1971-an. Transistor yang dianggap tidak effisien lagi membuat manusia mencari solusi lain dan solusi itu di temukan pada batu kuarsa ( Quartz rock ). Jack Kilby, seorang insinyur di Texas Instrument, mengembangkan sirkuit terintegrasi (IC : integrated circuit) di tahun 1958. Hal ini merupakan sebuah inovasi yang dapat mendongkrak munculnya komputer generasi ketiga.
Ciri ciri komputer generasi ketiga adalah sebagai berikut :
  • Komponen elektronikanya dari Integrated Circuit (IC) yang berbentuk lempengan atau chip
  • Program dibuat dengan bahasa tingkat tinggi (High Level Language), yaitu: BASIC, FORTRAN, COBOL
  • Sudah menerapkan konsep multi processing dan dapat menjalankan program lebih dari satu multi programming dalam waktu yang bersamaan
  • Dapat berkomunikasi dengan peralatan lain untuk melakukan komunikasi data seperti telepon dengan komputer.
  • Sebagai titik awal fenomena mikrokomputer
  • Komputer menjadi lebih kecil dan lebih murah
  • Konsep ‘time sharing’ diperkenalkan
  • Sifat-sifatnya:
    • Ukurannya lebih kecil dari komputer generasi kedua
    • Mulai mengenal Multi Programming dan Multi Processing
    • Adanya integrasi antara Software dan Hardware dalam Sistem Operasi
    • Prosesnya sangat cepat
    • Kapasitas untuk menyimpan data lebih besar.
    • Menggunakan teknologi small-and medium-scale integration
  • Pabrik yang memproduksi; IBM, BURROGHS, HONEYWELL, NCR
  • Contoh mesin; IBM S/360, UNIVAC 1108, PDP 8 & 11, HONEYWELL 200, RCA, SPECTRA 70.
            Inilah komputer generasi ketiga yang diperkenalkan antara tahun 1963 sampai dengan tahun 1971. Pada era ini juga mulai digunakannya sistem operasi (operation sistem) yang memungkinkan mesin menjalankan berbagai program yang berbeda secara serentak dengan sebuah program utama yang memonitor dan mengkoordinasi memori komputer. Sistem operasi komputer pada generasi ketiga adalah UNIX dan Windows. Walapupun grafiknya masihlah sangat minim. 

IV.             Komputer Generasi Keempat



          Komputer generasi keempat adalah komputer yang kita temui pada saat ini. Komputer yang dalam komponen elektriknya masih menggunakan mikrochip walaupun ukurannya dan bahan yang digunakan berbeda. Ukurannya lebih kecil membuat ukuran komputerpun lebuh sederhana.

          Dampak dari ide cemerlang Kilby yang telah mengembangkan teknologi IC dapat dirasakan dengan hadirnya komputer-komputer dalam bentuk yang lebih cerdas, bekerja lebih cepat dan handal, mempunyai kapasitas memori yang sangat besar serta keunggulan-keunggulan lainnya, meski bentuk maupun volumenya justru semakin kecil.
Ciri ciri komputer generasi keempat adalah sebagai berikut :
  • Komponen elektronikanya dari miniaturisasi yang disebut LSI dan mulai memperkenalkan VLSI (Very Large Scale Integration) yang merupakan paduan dari IC dengan kapasitas rangkaian dapat mencapai 100.000 komponen tiap chip
  • Mulai dikembangkan suatu jaringan komputer lokal yang menggunakan ARCNET (Attach Research Computing Network)
  • Program dibuat dengan bahasa: BASIC, FORTRAN, COBOL, PASCAL
  • Telah menggunakan Metal Oxide Semiconductor (MOS)
  • Sifat-sifatnya:
    • Ukurannya relatif lebih kecil
    • Sudah menerapkan Multi Programming dan Multi Processing
    • Mengenal DataBase Management System (DBMS).
  • Pabrik yang memproduksi; IBM, BURROGHS, HONEYWELL, INTEL
  • Contoh mesin; IBM (IBM S/34, IBM S/36, IBM PC/AT & XT, IBM PS/2), HONEYWELL 700, BURROGHS 600, CRAY I, CYBER, PC Aplle II, COMMODORE PC ,INTEL i386 sampai dengan intel Pentium I, II, III, IV, Dual Core, Core 2 Duo, dan Quad Core.
        Komputer genarasi ini telah berkembang sangat pesat karena penggunannya yang sangat mudah (friendly user) dan serba guna apalagi di bidang industri dan teknologi informasi, peranan komputer sangatlah membantu. 

V.                Komputer Generasi Kelima



         Berkat kepopulerannya di kalangan rumah tangga maupun dunia bisnis, pada sekitar tahun 1982 Komputer Pribadi (Personal Computer) yang oleh Majalah “Time” diberi gelar “Man of The Year”. Selanjutnya menjelang tahun 1990-an, kemampuan Komputer pribadi meningkat secara drastis hampir menyamai kemampuan komputer multiuser. Kini komputer tingkat tinggi (higher-end computer) lebih sering membedakannya dari komputer pribadi dari segi kestabilan serta kemampuan multitasking yang lebih baik, daripada hanya bergantung semata-mata pada kemampuan CPU.

         Rencana masa depan komputer generasi ke lima adalah komputer yang telah memiliki Artificial Intelligence (AI). Sehingga komputer di masa depan dapat memberikan respon atas keinginan manusia.
Ciri ciri komputer generasi kelima adalh sebagai berikut :
  • Komputer generasi ini masih dalam tahap pengembangan dan pemakainya belum banyak. Pengembangan komputer genarasi ini dipelopori oleh negara Jepang
  • Komponen elektronikanya menggunakan bentuk paling baru dari chip VLSI
  • Program dibuat dalam bahasa PROLOG (Programming Logic) dan LISP (List Processor)
  • Komputer generasi kelima difokuskan kepada AI (Artificial Inteligence / Kecerdasan Buatan), yaitu sesuatu yang berhubungan dengan penggunaan komputer untuk melaksanakan tugas-tugas yang merupakan analog tingkah laku manusia.
  • Sifat-sifatnya:
    • Dapat membantu menyusun program untuk dirinya sendiri
    • Dapat menerjemahkan dari suatu bahasa ke bahasa lain
    • Dapat membuat pertimbangan-pertimbangan logis
    • Dapat mendengar kalimat perintah yang diucapkan serta melaksanakannya
    • Dapat memilih setumpuk fakta serta menggunakan fakta yang diperlukan
    • Dapat mengolah gambar-gambar dan grafik dengan cara yang sama dengan mengolah kata, misalnya dapat melihat serta mengerti sebuah foto.
            Dua tanda tanda akan munculnya inovasi komputer generasi kelima adalah  komputer paralel yang berarti memungkinkan banyak CPU bekerja sama membentuk suatu jaringan yang efisien. Selin itu ditemukannya superkonduktor yang memungkinkan aliran listrik mengalir tanpa hambatan sedikitpun sehingga dapat meningkatkan kecepatan informasi yang di dapat. Lembaga ICOT (Institute for new Computer Technology) juga dibentuk untuk merealisasikan keberadaan komputer generasi kelima ini.


4.      KOMPONEN-KOMPONEN SISTEM KOMPUTER

Sistem komputer terdiri dari empat komponen, yaitu perangkat keras (hardware), perangkat lunak (software), data dan komponen komunikasi.

·         Komponen Perangkat Keras (Hardware Component)
Seperti namanya, perangkat keras adalah sesuatu yang dapat disentuh. Perangkat keras komputer terdiri dari CPU, memori dan peralatan I/O. CPU sendiri terdiri dari komponen utama :
a)      Arithmatic Logic Unit (ALU) : untuk melakukan perhitungan.
b)      Control Unit (CU) : Mengontrol pemrosesan intruksi dan perpindahan data dari satu bagian CPU ke bagian lainnya
c)      Interface Unit (Bus) : memindahkan instruksi dan data antara CPU dan perangkat keras lainnya.

·         Komponen Perangkat Lunak (Software Component)
Perangkat lunak tersusun atas program yang menentukan apa yang harus dilakukan oleh komputer. Komputer harus melaksanakan instruksi yang terdapat dalam program untuk mendapatkan hasil yang berguna.
Ada 2 macam perangkat lunak, yaitu sistem software dan software aplikasi. Sistem software berguna untuk mengatur file, me-load dan mengeksekusi program serta menerima perintah dari mouse atau keyboard. Sistem software biasa disebut sistem operasi (operating system), sedangkan software aplikasi adalah software yang digunakan untuk menyelesaikan suatu pekerjaan. Contoh software aplikasi adalah Open Office Word Processor, Open Office Spreadsheet, dll.

·         Komponen  Data (Data Component)
Data adalah fakta dasar yang mewakili suatu kejadian. Data diproses oleh sistem komputer untuk menghasilkan informasi. Inilah alasan utama keberadaan komputer. Data dapat berupa angka dalam berbagai bentuk.

·         Komponen Komunikasi (Communication Component)
Komponen komunikasi terdiri dari hardware dan software. Hardware dalam komponen komunikasi terdiri dari modem atau network interface card (NIC) dan saluran komunikasi (Comunication Channel). Saluran komunikasi menyediakan hubungan antar komputer. Saluran ini bisa berupa wire cable, fiber optic cable, saluran telepon atau wirreless tecnology, seperti sinar infra merah, telepon selular atau radio, sedangkan modem atau NIC dalam komputer bertindak sebagai interface antar komputer dan saluran komunikasi.


5.      BUS SYSTEM
Pengertian dari Bus sendiri adalah sebuah saluran penghubung atau media transfer data atau listrik antara  dua atau lebih komponen-komponen komputer. Sebuah Bus juga memiliki perbedaan dalam menghubungkan komponen komputer salah satunya Bus yang menghubungkan komponen utama komputer disebut Bus System.

KOMPONEN KOMPUTER YANG DIHUBUNGKAN OLEH BUS SYSTEM ANTARA LAIN :
  • CPU
  • Memori
  • Perangkat I/O


FUNGSI BUS DALAM TRANSFER DATA ANTAR KOMPONEN KOMPUTER :
  • Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus.
  • Melihat hasil eksekusi melalui monitor juga menggunakan sistem bus.
  • Kecepatan komponen penyusun komputer harus diimbangi kecepatan dan manajemen bus yang baik.

STRUKTUR BUS SYSTEM :
o   Data Bus (Saluran Data )
Sesuai namanya Data Bus atau Saluran data maka memiliki fungsi untuk mentransfer data antar mikroprocessor dan Memori atau device lainnya. Sistem Bus Data terdiri dari beberapa saluran data yang jumlahnya berkaitan dengan lebar jalur data yang akan ditransfer. Misalnya sistem bus data dengan 8 saluran dapat menstrafer 8 bit data dalam 1 kali proses begitu juga dengan saluran data bus 16, 32 dan 64 bit.  Data bus memiliki pengaruh dalam kecepatan kinerja  sistem.
o   Address Bus (Saluran Alamat)
Address Bus atau saluran alamat adalah sebuah saluran yang berfungsi untuk menunjukan dan menyesuaikan alamat memori atau port yang berasal dari sumber dan alamat tujuan dengan benar untuk proses menulis dan membaca data. Proses Pengiriman dan Penerimaan address untuk proses pengiriman dan menerima data  dalam Address Bus hanya satu arah yaitu dari mikroprosessor ke memory atau port.

Fungsi Address Bus :
  • Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
  • Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
  • 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.
o   Control Bus (Saluran Pengendali)
Fungsi dari Control Bus adalah memeriksa kesiapan dari Mikroprocessor dalam mengirim data ke memori atau port dan memeriksa kseiapan memori atau port dalam menerima data dari microprocessor. Fungsi lain Control Bus adalah untuk mengontrol Data Bus, Address Bus dan seluruh modul yang ada. Dalam proses pengkontrolan mikroprosessori memberikan sinyal-sinyal pewaktuan untuk memvalidasi data dan informasi alamat seperti:
  • Write
Write dapat mengindikasikan bahwa terjadi prosess menulis pada device yang dilakukan oleh CPU (mikroprosessor).
  • Read
Read dapat mengindikasikan bahwa terjadi prosess membaca pada device tertentu yang dilakukan oleh CPU (mikroprosessor).
  • Byte enable
Byte enable berfungsi untuk mengindikasikan besar/pangjangnya data word yang akan
ditulis/dibaca contoh (8,16,32,64).
  • Transfer ACK (acknowledgement)
Transfer ACK  bertugas mengirimkan sinyal informasi yang berupa pemberitahuan bahwa data telah diterima (ditulis) oleh device.
  • Bus Request
Bus Request bertugas mengindikasikan bahwa device membutuhkan bus (data).
  • Bus Grant
Bus Grant bertugas mengindikasikan CPU/mikroprosessor memberikan akses pada bus (request).
  • Interrupt Reqest
Interrupt Reqest memberitahu bahwa device dengan priority rendah melakukan permintaan akses ke microprosessor/CPU.
  • Clock Signals
Clock Signals bertugas untuk mengsingkronisasi atau menyamakan data diantara mikroprosessor dengan sebuah device.
  • Reset
Ketika riset aktif maka mikriprosessor atau cpu akan melakukan me-restart ulang system secara paksa.
STRUKTUR INTERKONEKSI


Struktur Interkoneksi adalah Kompulan lintasan atau saluran berbagai modul (CPU,Memori,I/O).

Struktur interkoneksi bergantung pada  2 hal yaitu :

JENIS DATA
  • Mikroprocessor  (CPU)
CPU berfungsi sebagai pusat pengolahan dan eksekusi data berdasarkan routine–routine program yang diberikan padanya. CPU mengendalikan seluruh sistem komputer sehingga sebagai konsekuensinya memiliki koneksi ke seluruh modul yang menjadi bagian sistem komputer.
  • Memori
Memori umumnya terdiri atas N word memori dengan panjang yang sama. Masing–masing word diberi alamat numerik yang unik (0, 1, 2, …N-1). Word dapat dibaca maupun ditulis pada memori dengan kontrol Read dan Write. Lokasi bagi operasi dispesifikasikan oleh sebuah alamat.

  • Modul I/O
Operasi modul I/O adalah pertukaran data dari dan ke dalam komputer. Berdasakan pandangan internal, modul I/O dipandang sebagai sebuah memori dengan operasi pembacaan dan penulisan. Seperti telah dijelaskan pada bab 6 bahwa modul I/O dapat mengontrol lebih dari sebuah perangkat peripheral. Modul I/O juga dapat mengirimkan sinyal interrupt.
Sistem Interkoneksi direalisasikan dengan BUS dengan karakteristik sebagai berikut :
  • Merupakan saluran bersama (share) yang menghubungkan 2 atau lebih modul penyusun sistem komputer. 
  • Bersifat broadcast , 1 modul yang sedang menjadi sumber data dapat memberikan datatersebut ke seluruh modul lainnya.
  • Dipastikan pada 1 saat hanya ada 1 modul yang menjadisumber data, meletakkan data pada share BUS tersebut.
  •  Umumnya terdiri dari 50 sampai 100 jalur, yaitu :
    • Address information (address bus) menentukan asal/tujuan transfer data» ukurannya menentukan kapasitas data pada sistem.
    • Data information (data bus)  ukurannya menentukan unjuk kerja secara umumControl information.
    • Kendali untuk address dan data bus Lain-lain seperti : power ground ,clock .

KARAKTERISTIK PERTUKARAN DATA
  • Memori ke CPU : CPU melakukan pembacaan data maupun instruksi dari memori.
  • CPU ke Memori : CPU melakukan penyimpanan atau penulisan data ke memori.
  • I/O ke CPU : CPU membaca data dari peripheral melalui modul I/O.
  • CPU ke I/O : CPU mengirimkan data ke perangkat peripheral melalui modul I/O.
  • I/O ke Memori atau dari Memori : digunakan pada sistem DMA
  • Elemen-Elemen Rancangan Bus

Rancangan suatu bus dapat dibedakan atau diklasifikasikan oleh elemen-elemen sebagai berikut :

  • Jenis bus
Jenis bus dapat dibedakan atas :
    • Dedicated : Merupakan metode di mana setiap bus ( saluran ) secara permanen diberi fungsi atau subset fisik komponen komputer.
    • Time Multiplexed : Merupakan metode penggunaan bus yang sama untuk berbagai keperluan, sehingga menghemat ruang dan biaya.
  • Metode Arbitrasi
Metode arbitrasi adalah metode pengaturan dari penggunaan bus, dan dapat dibedakan atas :
    • Tersentralisasi : menggunakan arbiter sebagai pengatur sentral
    • Terdistribusi : setiap bus memiliki access control logic.
  • Timing
Timing berkaitan dengan cara terjadinya event yang diatur pada bus system, dan dapat dibedakan atas :
    • Synchronous : Terjadinya event pada bus ditentukan oleh clock ( pewaktu )
    • Asynchronous :Terjadinya sebuah event pada bus mengikuti dan tergantung pada event sebelumnya.
  • Lebar Bus
Semakin lebar bus data, semakin besar bit yang dapat ditransfer pada suatu saat.
  •  Jenis Transfer Data
Transfer data yang menggunakan bus di antaranya adalah :
  1. Operasi Read
  2. Operasi Write
  3. Operasi Read Modify Write
  4. Operasi Read After Write
  5. Operasi Block 

bayserf.blogspot.com/2014/03/hubungan-organisasi-komputer-dengan.html
sc-hunter.blogspot.com/2013/11/hubungan-organisasi-komputer-dan.html
http://mbahasilmu.blogspot.co.id/2016/07/struktur-bus-dan-pengertian-bus-system.html



Media penyimpanan dibagi menjadi 3 yaitu :

1.     Magnetic Disk

Magnetic disk adalah DASD pertama yang dibuat oleh industri komputer. Penyimpanan magnetik (bahasa Inggris: Magnetic disk) merupakan piranti penyimpanan sekunder yang paling banyak dijumpai pada sistem komputer modern. Pada saat disk digunakan, motor drive berputar dengan kecepatan yang sangat tinggi. Ada sebuah read−write head yang ditempatkan di atas permukaan piringan tersebut. Permukaan disk terbagi atas beberapa track yang masih terbagi lagi menjadi beberapa sektor. Cakram fixed−head memiliki satu head untuk tiap−tiap track, sedangkan cakram moving−head (atau sering dikenal dengan nama cakram keras ) hanya memiliki satu head yang harus dipindah−pindahkan untuk mengakses dari satu track ke track yang lainnya.Magnetik Disk (Piringan Magnetik) terbuat dari satu atau lebih piringan hitam metal atau plastik dan permukaannya dilapisi lapisan iron-oxide. Perekaman datanya disimpan pada permukaan tersebut dalam bentuk kode binary.

 

 

 

 

 

 

 


Piringan magnetik yang terbuat dari plastik dan sebuah piringan disebut dengan floppy disk (micro disk dan mini disk), yang terbuat dari metal dan banyak piringan disebut hard disk.







Lapiran dasar biasanya berbahan Alumunium-Alumunium Alloy Kaca
Bahan kaca memberikan manfaat antara lain
·         Meningkatkan reliabilitas disk
·         Mengurangi R/W error
·         Kemampuan untuk mendukung kerapatan tinggi
·         Kekakuan yang lebih baik untuk mengurangi dinamisasi disk
·         Kemampuan menahan goncangan dan kerusakan
Beberapa memory yang tergolong pada magnetic disk ini sendiri adalah Flopy Disk, IDE Disk, dan SCSI Disk. Magnetik disk sendiri terbuat dari piringan bundar yang terbuat dari logam atau plastik dimana permukaan dari bahan tersebut mempunyai sifat magnetic sehingga nanti bisa menghasilkan semacam medan magnet yang sangat diperlukan untuk proses baca tulis dari memory tersebut karena saat proses baca/tulis menggunakan kepala baca yang disebut dengan head.
Dalam magnetic disk terdapat dua metode layout data pada disk yaitu Constant Angular Velocity dan Multiple Soned Recording. Disk diorganisasi (permukaan dari piringan dibagi) dalam bentuk cincin – cincin konsentris yang disebut track atau garis yang memisahkan atar track seperti gambar dibawah. tiap track dipisahkan oleh gap, fungsi gap adalah untuk mencegah atau mengurangi kesalahan pembacaan atau penulisan yang disebabkan melesetnya head atau karena interferensi medan magnet.
Blok-blok data disimpan dalam disk berukuran blok yang disebut dengan sector. Track biasanya terisi beberapa sector, umumnya 10 hingga 100 sector tiap tracknya, untuk lebih jelas lagi lihat gambar berikut ini :

 

Metode Pengalamatan Magnetic Disk
Didalam metode pengalamatan Magnetic Disk terbagi menjadi dua pengalamatan , yaitu :
1.      Metode Silinder
Metode silinder merupakan Pengalamatan berdasarkan nomor silinder, nomor permukaan dan nomor record. Semua track dari disk pack membentuk suatu silinder. Jadi bila suatu disk pack dengan 200 track per permukaan, maka mempunyai 200 silinder. Bagian nomor permukaan dari pengalamatan record menunjukkan permukaan silinder record yang disimpan. Jika ada 11 piringan maka nomor permukaannya dari 0 – 19 atau dari 1 – 20. Pengalamatan dari nomor record menunjukkan dimana record terletak pada track yang ditunjukkan dengan nomor silinder dan nomor permukaan.
2.      Metode Sektor
Metode sektor, Setiap track dari pack dibagi kedalam sektor-sektor. Setiap sektor adalah storage area untuk banyaknya karakter yang tetap. Pengalamatan recordnya berdasarkan nomor sektor, nomor track, nomor permukaan. Nomor sektor yang diberikan oleh disk controller menunjukkan track mana yang akan diakses dan pengalamatan record terletak pada track yang mana.
Setiap track pada setiap piringan mempunyai kapasitas penyimpanan yang sama meskipun diameter tracknya berlainan. Keseragaman kapasitas dicapai dengan penyesuaian density yang tepat dari representasi data untuk setiap ukuran track. Keuntungan lain dari pendekatan keseragaman kapasitas adalah file dapat ditempatkan pada disk tanpa merubah lokasi nomorsector (track atau cylinder) pada file.
        

Perkembangan Media Magnetik
Perkembangan media penyimpanan data (data storage) sejak komputer tercipta & berubah sangat signifikan. Dijaman dahulu surat ataupun berkas berkas disimpan secara analog.Dewasa ini kita lebih sering mengenal Flash Disk, DVD disk, dan lain sebagainya. Perkembangan media penyimpanan magnetik dimulai dari terciptanya Punch Card.
1. Punch Card
Sejak tahun 1725 telah dirancang sebuah media untuk menyimpan data yang diperkenalkan oleh seorang tokoh bernama Basile Bouchon menggunakan sebuah kertas berforasi untuk menyimpan pola yang digunakan pada kain. Namun pertama kali dipatenkan untuk penyimpanan data sekitar 23 September 1884 oleh Herman Hollerith – sebuah penemuan yang digunakan lebih dari 100 tahun hingga pertengahan 1970. Jumlah data yang tersimpan dalam media tersebut sangat kecil, dan fungsi utamanya bukanlah menyimpan data namun menyimpan pengaturan (setting) untuk mesin yang berbeda.
2. Punch Tape
Seorang tokoh bernama Alexander Bain merupakan orang yang pertama kali mengetahui penggunaan paper tape yang biasanya digunakan untuk mesin faksimili dan mesin telegram (tahun 1846). Setiap baris tape menampilkan satu karakter, namun karena Anda dapat membuat fanfold dengan mudah maka dapat menyimpan beberapa data secara signifikan menggunakan punch tape dibandingkan dengan punch card.
3. Selectron Tube
Pada tahun 1946 RCA mulai mengembagkan Selectron Tube yang merupakan awal format memori komputer dan Selectron Tube terbesar berukuran 10 inci yang dapat menyimpan 4096 bits Harga satu buah tabung sangat mahal dan umurnya sangat pendek di pasaran.
4. Magnetic Tape
Pada tahun 1950-an magnetic tape telah digunakan pertama kali oleh IBM untuk menyimpan data. Saat sebuah rol magetic tape dapat menyimpan data setara dengan 10.000 punch card, membuat magnetic tape sangat populer sebagai cara menyimpan data komputer hingga pertengahan tahun 1980-an.
5. Compact Cassette
Compact Cassette merupakan salah satu bagian dari Magnetic Tape, dikarenakan sudah banyak dari kita yang telah memilikinya, hal itu menjadi bagian yang khusus. Compact Cassette diperkenalkan oleh Philips pada tahun 1963, namun tidak sampai tahun 1970 menjadi populer. Komputer, seperti ZX Spectrum, Commodore 64 dan Amstrad CPC menggunakan kaset untuk menyimpan data. Standar 90 menit Compact Cassette dapat menyimpan sekitar 700kB hingga 1MB dari data tiap sisinya. Jika disetarakan dengan DVD, maka data dalam Compact Cassette dapat dijalankan selama 281 hari.
6. Magnetic Drum
Magnetic Drum memiliki panjang 16 inci yang bekerja 12.500 putaran tiap menit. Media ini digunakan untuk menunjang komputer IBM 650 sekitar 10.000 karakter dari Memori Utama.
7. Floppy Disk
Pada tahun 1969, floppy disk pertama kali diperkenalkan. Saat itu hanya bisa membaca (read-only), jadi ketika data tersimpan tidak dapat dimodifikasi maupun dihapus. Ukurannya 8 inch dan dapat menyimpan data sekitar 80kB. Empat tahun kemudian, floppy disk yang sama muncul dan dapat menyimpan data sebanyak 256kB. Selain itu, memiliki kemampuan dapat ditulis kembali (writeable). Perkembangan selanjutnya, pada tahun 1990 lahir disk dengan ukuran 3 inci yang dapat menyimpan data sekitar 250 MB, atau biasa disebut juga Zip disk.
8. World’s first hard drive
Tanggal 13 September 1956, komputer IBM 305 RAMA dalam kondisi tidak terselubungi. Komputer tidak mengalami perubahan sejak dapat menyimpan data sekitar 4.4 MB (setara dengan 5 milyar karakter) – saat itu sudah menjadi hal yang menakjubkan. Data tersimpan dalam 50 buah Magnetic Diks yang berukuran 24 inci. Lebih dari 1000 sistim dibangun dan diproduksi pada akhir tahun 1961. IBM mengeluarkan seharga $3,200 per bulan untuk memproduksi komputer.
9. Hard drive
Hard drive masih diproduksi di bawah pengembangan yang tetap (konstan). Hitachi Deskstar 7K adalah hard drive pertama kali yang dapat menyimpan data 500GB setara dengan 120.000 World’s first hard drive IBM 305 RAMAC. Hal ini cenderung tiap tahun kita dapat memperoleh drive yang dapat menyimpan data secara cepat dengan harga murah.

 


Jenis – Jenis Media Magnetik.
Jenis media magnetik yang umum digunakan dalam penyimpanan data adalah disket floppy dan hard disk. Kedua jenis media magnetik ini telah mengalami berbagai perkembangan terutama dalam ukuran dan kapasitas simpannya. Berikut akan diuraikan secara ringkas informasi tentang kedua jenis media magnetik tersebut.

1.      Floppy disk
Disket floppy merupakan media penyimpan data yang paling banyak dipakai pada mikrokomputer. Menurut ukurannya, disket floppy terdiri atas disket yang berukuran 5,25 dan 3,5 inci. Akan tetapi yang umum dipakai dewasa ini ialah disket floppy yang berukuran 3,5 inci. Disket floppy berukuran 3,5 inci ada yang berkapasitas 720 KB (low density), ada yang berkapasitas 1, 44 MB (high density). Sekarang sudah dikeluarkan pula disket berukuran 3,5 yang mempunyai kapasitas 2,0 MB. Disket floppy mempunyai notch (tekukan atau lubang) yang berfungsi untuk mencegah penulisan ke disket, atau untuk melindungi data.
Perlindungan data dalam disket floppy dinamai write protection. Disket yang dilindungi dengan write protection ini tidak dapat ditulis oleh komputer, sehingga data yang ada di dalam terhindar dari perubahan, terutama perubahan akan kesalahan atau ketidak sengajaan. Write protection ini sangat diperlukan untuk pengamanan data di dalam disket pada saat mau menjalankan disket floppy tersebut.
Untuk menjalankan disket floppy ini, komputer harus dilengkapi dengan disk-drive (penggerak disket). Penggerak disket biasanya dipasang di bagian depan kotak komputer. Ukuran penggerak disket ini disesuaikan dengan ukuran disket. Dengan demikian, disket floppy ini tidak bersifat tetap di dalam komputer, artinya disket tersebut harus dikeluar-masukkan pada saat mengoperasikannya.
2.      Hard Disk
Hard disk adalah jenis disk yang bersifat tetap, tidak perlu dikeluar-masukkan sebagaimana disket floppy. Umumnya terbuat dari bahan logam padu yang berbentuk piringan atau pelat. Sebuah hard disk biasanya terdiri dari lebih satu piringan atau lempengan yang dilapisi dengan oksida besi. Cara penyimpanan datanya hampir sama dengan disket floppy. Bahan hard disk yang keras dan kapasitas simpannya yang lebih besar, juga membedakannya dari disket floppy yang bahannya relatif elastis

Selain diatas ada juga penyimpanan magnetic berupa;
  • Zip Drive merupakan media penyimpanan magnetic dengan head yang sangat kecil dan dapat menampung data hingga 750 MB.·
  • Memory Card (Flash Memory Card) merupakan media penyimpanan yang banyak dipakai pada peralatan computer dan elektronik, seperti kamera digital, laptop, handphone, ipod serta video gam console.·
·        Jaz Disc, sebuah medium penyimpanan data removable yang menggunakan teknologi yang sama seperti hard disk drive, dengan kapasitas yang besar pula, yakni hingga kapasitas 2 GB. Jaz Disk dibuat oleh Iomega pada tahun 1995.
  • USB Flash disk (Flash drive atau USB Keys) memiliki kapasitas data yang besar, tidak gampang rusak, serta berukuran kecil hingga mudah dibawah.·

 
Karakteristik Magnetic Disk
Disk Pack adalah jenis alat penyimpanan pada magnetic disk, yang terdiri dari beberapa tumpukan piringan aluminium. Dalam sebuah pack / tumpukan umumnya terdiri dari 11 piringan. Setiap piringan diameternya 14 inch (8 inch pada mini disk) dan menyerupai piringan hitam. Permukaannya dilapisi dengan metal-oxide film yang mengandung magnetisasi seperti pada magnetic tape. Banyak track pada piringan menunjukkan karakteristik penyimpanan pada lapisan permukaan, kapasitas disk drive dan mekanisme akses.
Disk mempunyai 200 – 800 track per permukaan (banyaknya track pada piringan adalah tetap). Pada disk pack yang terdiri dari 11 piringan mempunyai 20 permukaan untuk mrnyimpan data. Kedua sisi dari setiap piringan digunakan untuk menyimpan data, kecuali pada permukaan yang paling atas dan paling bawah tidak digunakan untuk menyimpan data, karena pada bagian tersebut lebih mudah terkena kotoran / debu dari pada permukaan yang di dalam. Juga arm pada permukaan luar hanya dapat mengakses separuh data.

           
Kelebihan dan Kekurangan Magnetic Disk
Media magnetik seperti disket floppy dan hard disk mempunya sejumlah keunggulan dibanding dengan media lainnya. Penyimpanan data pada media ini bersifat nonvolatile, artinya data yang telah disimpan tidak akan hilang ketika komputer dimatikan. Data pada media ini dapat dibaca, dihapus dan ditulis ulang. Keunggulan lainnya ialah, media ini mudah digunakan. Selain memiliki keunggulan, media ini juga mempunyai kelemahan.
Musuh utama dari media magnetik seperti disket floppy dan hard disk ialah jamur dan karat. Karena jamur dan karat ini, maka daya tahan atau umur media ini menjadi pendek. Jika dipakai secara kontinu atau terus menerus sekitar 8 jam per hari, maka umur suatu disket floppy paling lama 1 (satu) tahun, dan umur hard disk paling lama 3 (tiga) tahun. Kelemahan lain dari media magnetik ini ialah bentuknya yang bergaris-garis (track, sector), sehingga kecepatan dan kapasitas simpannya termasuk rendah jika dibanding dengan media optik.

Media Penyimpanan Optical Disk

Optical Disk merupakan sebuah tempat penyimpanan data elektronik yang bisa diubah/ditulis dan bisa dibaca.Cara kerjannya yaitu dengan menggunakan prinsip sinar laser yang disuntikan ke dalam bidang cakram yang mampu menyimpan data.Sejarah optical disk yaitu pada awal mulanya ditemukan pertama kali pada tahun 1958  dan terus mengalami perkembangan hingga sekarang.Perkembangan teknologi,meliputi:CD,CD-RW,DVD,DVD-RW,HVD,dan BlueRay.

Teknologi Media Penyimpanan optic

Media penyimpanan optic terbagi menjadi dua :

 

1.      Phase-change disk
            Disk ini dilapisi oleh bahan yang dapat mengkristal(beku) menjadi crystalline(serpihan-serpihan kristal) atau menjadi amorphous state(bagian yang tak berbentuk). Bagian crytalline ini lebih transparan, karenanya tembakan laser yang mengenainya akan lebih terang melintasi bahan dan memantul dari lapisan pemantul. Drive Phase-change disk ini menggunakan sinar laser dengan kekuatan yang berbeda. Sinar laser dengan kekuatan tinggi digunakan melelehkan disknya kedalam amorphous state, sehingga dapat digunakan untuk menulis data lagi. sinar laser dengan kekuatan sedang dipakai untuk menghapus data denga cara melelehkan permukaan disknya dan membekukannya kembali ke dalam keadaan crytalline, sedangakan sinar laser dengan kekuatan lemah digunakan untuk membaca data yang telah disimpan.
2.      Dye-Polimer disk
            Dye-polimer merekam data dengan membuat bump(gelombang) disk dilapisi dengan bahan yang dapat enyerap sinar laser. sinar laser ini membakar spot hingga spot ini memuai dan membentuk bump(gelombang). bump ini dapat dihilangakan atau didatarkan kembali dengan cara dipanasi lagi dengan sinar laser.
            Titik-titik tersebut dapat dibuat dengan menggunakan sinar laser pula, untuk semua media penyimpanan optik yang mampu ditulisi, seperti halnya Compact Disk Recordable (CD-R). Sinar ini umumnya menggunakan daya yang tinggi agar dapat memberikan titik-titik data dalam medium yang hendak ditulisi. Orang-orang menyebut proses ini sebagai proses “burning”, karena memang kita sedang “membakar” medium dengan laser

 

Jenis-jenis Optical Memory


Laser Disk (LD) atau cakram laser
Cakram laser (LD) adalah sebuah piringan optical yang digunakan untuk menyimpan video dan film, dan merupakan media penyimpan data pada cakram optic komersial pertama. Cakram laser awalnya dinamakan Discovision pada tahun 1978, teknologinya dilisensikan dan dijual dengan nama Reflective Optical Video disc, laser Video disk, Laser vision, discovision, dan MCA discovision sampai akhirnya pioneer electronis memiliki sebagian format ini dan akhirnya dinamai Laser Disc pada pertengahan dan akhir 1980-an.



CD (CompactDisk)
Cakram Digital (CD), cakram padat, atau piringan cakram adalah sebuah piringan optikal yang digunakan untuk menyimpan data secara digital. Awalnya CD dikembangkan untuk menyimpan audio digital dan diperkenalkan pada tahun 1982, tetapi kemudian juga memungkinkan untuk penyimpanan jenis data lainnya. Audio CD telah tersedia secara komersial sejak Oktober 1982. Pada tahun 2010, CD ditetapkan sebagai media penyimpanan audio standar.

CD-ROM (Compact Disk Read Only Memory)
CD-ROM (Compact Disk Read Only Memory) adalah sebuah piringan kompak dari jenis piringan optic (optical disk) yang dapat menyimpan data. Ukuran data yang  dapat disimpan saat ini bisa mencapai 700 MB atau 7 Juta Bit. CD-ROM bersifat read only (hanya dapat dibaca dan tidak dapat ditulisi). Untuk dapat membaca isi CD-ROM, alat utama yang diperlukan adalah CD drive. Satuan X pada CD ROM drive (pada umumnya) sebenarnya mengacu pada kecepatan baca dari CD tersebut ditrack terluar (jika track terluar terpakai alias CD-nya penuh). Sedangkan kecepatan baca ditrackter dalamnya jauh lebih lambat. Misalkan ada CD-ROM drive48X‘max’,itu berarti kecepatan baca track terluarnya 40x namun untuk track terdalamnya hanya 19x. Yang utama sebenarnya bukan hanya kecepatan putar yang ditingkatkan, namun system pembacaan, route data, mode tansfer, interface, dll. Baik CD-audio maupun CD-ROM terbuat dari resin (polycarbonate) dan dilapisi permukaan yang sangat reflektif seperti alumunium. Informasi direkam secara digital sebagai lubang-lubang mikroskopis pada permukaan yang reflektif. Proses ini dilakukan degan menggunakan laser yang berintensitas tinggi. Permukaan yang berlubang ini kemudian dilapisi oleh lapisan bening. Informasi dibaca dengan menggunakan laser berintensitas rendah yang menyinari lapisan bening tersebut sementara motor memutar disk. Intensitas laser tersebut berubah setelah mengenai lubang-lubang tersebut kemudian terefleksikan dan dideteksi oleh foto sensor yang kemudian dikonversi menjadi data digital.

CD-RW (Compact Disk ReWritable)

CD-RW adalah CD-ROMyang dapat ditulis kembali. CD-RW menggunakan media berukuran sama dengan CD-R tetapi bukan menggunakan bahan pewarna cyanin atau pthalocyanine, CD-RW menggunakan logam perpaduan antara perak, indium, antimon, dan tellurium untuk lapisan perekaman. Cakram CD-RW relative lebih mahal dibandingkan cakram CD-R. Pada CD-RW, energi laser digunakan secara bersama-sama dengan prinsip medan magnet untuk menulis dan membaca informasi. Pada proses tulis, laser memanasi titik pada disk yang hendak diproses. Kemudian setelah itu medan magnet dapat mengubah arah medan titik tersebut sementara temperaturnya ditingkatkan. Karena proses tersebut tidak mengubah disk secara fisik maka proses penulisan dapat dilakukan berulang-ulang. Pada proses baca arah medan magnet yang telah dipolarisasi tersebut akan membelokkan sinar laser dengan arah tertentu, sehingga terefleksikan dan dideteksi oleh foto sensor yang kemudian dikonversikan menjadi data digital. CD-RW memiliki kecepatan yang bervariasi dan yang tercepat saat ini adalah 52x48x36. Hal ini dapat diterjemahkan sebagai kecepatan baca (read) 52 kali, kecepatan menulis (write) 48 kali, dan Kecepatan untuk Rewrite sebesar 36 kali.

CD-R (CompactDisc-Recordable)

CD-R adalah singkatan dari istilah bahasa inggrisCompactDisc-recordable merupakan jenis cakram padat yang dapat diisi dengan salah satu jenis media penyimpanan eksternal pada komputer. Secara fisik CD-R merupakan CD polikarbonat kosong berdiameter 120 mm sama seperti CD-ROM. Awalnya CD-R dilapisi emas sebagai media refleksinya. Permukaan reflektif pada lapisan emas tidak memiliki depresi atau lekukan-lekukan fisik seperti halnya pada lapisan aluminium kemudian  disempurnakan dengan cara  menambahkan lapisan pewarna diantara polikarbonat dan lapisan emas. CD-R dikenal juga dengan sebutan CD-WORM (Compact Disk Write Once Read Many).



DVD
DVD adalah sejenis cakram optic yang dapat digunakan  untuk menyimpan data termasuk film dengan kualitas video dan audio yang lebih baik dari kualitas VCD. DVD pada awalnya adalah singkatan dari digital video disc, namun beberapa  pihak ingin agar kepanjangannya diganti menjadi digital versatile disc (cakram serba guna digital) agar jelas bahwa format ini bukan hanya untuk video saja. Karena consensus antara kedua pihak ini tidak dicapai, sekarang nama resminya adalah DVD saja dan huruf-huruf tersebut secara resmi bukan singkatan dari apapun. Rata-rata kecepatan transfer data DVD adalah 1.321 MB/s dengan rata-rata burst transfer 12 MB/s. 


DVD-RW
DVD-RW adalah cakram optic yang dapat ditulis kembali dan memiliki kapasitas sama dengan DVD-R, biasanya 4,7 GB. Format ini dikembangkan oleh pioneer pada November 1999 dan telah disetujui oleh DVD forum. Keuntungan utama DVD-R adalah kemampuan menghapus dan menulis kembali sebuah cakram DVD-RW. Menurut pioneer cakram DVD-RW dapat ditulis sekitar 1000 kali, sebanding dengan standar CD-RW. Cakram DVD-RW biasanya digunakan untuk tujuan backup, kumpulan berkas atau home DVD video record. Keuntungan lain adalah bila ada kesalahan menulis, cakram masih dapat digunakan dengancara menghapus data yang salah tersebut.

DVD-D
            DVD-D (DVD stand as disposable) merupakan cakram optic yang berfungsi sebagai penyimpanan data,diantarannya lagu,film,dan lain-lain.Terbuat dari bahan kimia yang dapat mengubah lapisan media tersebut.Oleh sebab itu DVD ini hanya bisa dibaca selama jangka waktu tertentu saja 


Blue-ray disk

            Blue-ray adalah sebuah format cakram optic yang digunakan untuk penyimpanan media digital termasuk video dengan kualitas tinggi. Namun Blue-ray diambil dari laser biru-ungu yang digunakan untuk membaca dan menulis cakram jenis  ini, cakram blue-ray dapat menyimpan data yang lebih banyak dari format DVD yang lebih umum karena panjang gelombang laser biru ungu yang dipakai hanya 405 nm dimana lebih pendek dibandingkan dengan laser merah yaitu 650 nm yang dipakai pada DVD.

Universal Media Disk
Universal Media Disc (UMD) adalah sebuah media cakram optic yang dikembangkan oleh Sony untuk penggunaan Play Station Portable. UMD ini bisa menyimpan data sampai sebesar 1.8 GB (gigabyte), termasuk permainan video, film, music atau kombinasinya.



Media Penyimpanan Chip

Yaitu penyimpanan data prototip dari Hitachi tersebut hanya memiliki ukuran 2x2 cm dan tebal 0,2 cm. Chip ini terbuat dari kaca kuarsa, yang tahan panas, bahkan pada suhu 1000° C sekalipun. Bahan ini juga tidak terpengaruh oleh radiasi, air dan bahan kimia lainnya. Menurut sumber  yang jadi berita kutip dari situs geek.com, bahan ini mampu bertahan hingga beberapa ratus juta tahun, kecuali jika chipnya patah ataupun rusak.

Media penyimpanan dibedakan menjadi 2 bagian yaitu
·         Primary memory/memory internal
·         Secondary memori/ memori eksternal

Primary Memory / Memori internal

Ada  4 bagian didalam primary storage, yaitu :
Input Storage Area                 :           Untuk menampung data yang dibaca
Program Storage Area             :           Penyimpanan instruksi-instruksi untuk pengolahan
Working Storage Area            :           Tempat dimana pemrosesan data dilakukan
Output                         Storage Area                           :           Penyimpanan informasi yang telah diolah untuk
                                                                                                Diolah

Primary storage dapat juga terbagi berdasarkan pada hilang atau tidaknya data / program di dalam penyimpanan yaitu :
Volatile Storage
Berkas data atau program akan hilang jika listrik padam
Non Volatile Storage
Berkas data atau program tidak akan hilang sekalipun listrik dipadamkan

Berdasarkan Pengaksesan nya primary memory terbagi menjadi dua yaitu :
1.     RAM (RANDOM ACCESS MEMORY)
Memori akses acak (bahasa Inggris: Random access memory, RAM) adalah sebuah tipe penyimpanan komputer yang isinya dapat diakses dalam waktu yang tetap tidak memperdulikan letak data tersebut dalam memori. Ini berlawanan dengan alat memori urut, seperti tape magnetik, disk dan drum, di mana gerakan mekanikal dari media penyimpanan memaksa komputer untuk mengakses data secara berurutan.
Pertama kali dikenal pada tahun 60'an. Hanya saja saat itu memori semikonduktor belumlah populer karena harganya yang sangat mahal. Saat itu lebih lazim untuk menggunakan memori utama magnetic.Perusahaan semikonduktor seperti Intel memulai debutnya dengan memproduksi RAM , lebih tepatnya jenis DRAM.
Biasanya RAM dapat ditulis dan dibaca, berlawanan dengan ROM (read-only-memory), RAM biasanya digunakan untuk penyimpanan primer (memori utama) dalam komputer untuk digunakan dan mengubah informasi secara aktif, meskipun beberapa alat menggunakan beberapa jenis RAM untuk menyediakan penyimpanan sekunder jangka-panjang.
Tetapi ada juga yang berpendapat bahwa ROM merupakan jenis lain dari RAM, karena sifatnya yang sebenarnya juga Random Access seperti halnya SRAM ataupun DRAM. Hanya saja memang proses penulisan pada ROM membutuhkan proses khusus yang tidak semudah dan fleksibel seperti halnya pada SRAM atau DRAM. Selain itu beberapa bagian dari space addres RAM ( memori utama ) dari sebuah sistem yang dipetakan kedalam satu atau dua chip ROM. RAM bersifat VOLATILE.

2.     ROM (READ ONLY MEMORY)
Memori yang hanya dapat dibaca.  Pengisian ROM dengan program maupun data, dikerjakan oleh pabrik.  ROM biasanya sudah ditulisi program maupun data dari pabrik dengan tujuan-tujuan khusus.  Misal : Diisi penterjemah (interpreter) dalam bahasa basic.
Jadi ROM tidak termasuk sebagai memori yang dapat kita pergunakan untuk program-program yang kita buat.  ROM bersifat NON VOLATILE

Tipe Lain dari ROM Chip yaitu :
PROM ( Programable Read Only Memory )
                                          
merupakan sebuah chip memory yang hanya dapat diisi data satu kali saja. Sekali saja program dimasukkan ke dalam sebuah PROM, maka program tersebut akan berada pada PROM seterusnya. Berbeda halnya dengan RAM, pada PROM data akan tetap ada walaupun komputer dimatikan.
Perbedaan mendasar antara PROM dan ROM (Read Only Memory) adalah bahwa PROM diproduksi sebagai memory kosong, sedangkan ROM telah diprogram pada waktu diproduksi. Untuk menuliskan data pada chip PROM, dibutuhkan ‘PROM Programmer‘ atau ‘PROM Burner’

EPROM ( Erasable Programable Read Only Memory )
                                          
Jenis khusus PROM yang dapat dihapus dengan bantuan sinar ultra violet. Setelah dihapus, EPROM dapat diprogram lagi. EEPROM hampir sama dengan EPROM, hanya saja untuk menghapus datanya memerlukan arus listrik.
EEPROM ( Electrically Erasable Programable Read Only Memory )
                                                     
EEPROM adalah tipe khusus dari PROM (Programmable Read-Only Memory ) yang bisa dihapus dengan memakai perintah elektris. Seperti juga tipe PROM lainnya, EEPROM dapat menyimpan isi datanya, bahkan saat listrik sudah dimatikan.
EEPROM sangat mirip dengan flash memory yang disebut juga flash EEPROM. Perbedaan mendasar antara flash memory dan EEPROM adalah penulisan dan penghapusan EEPROM dilakukan dilakukan pada data sebesar satu byte, sedangkan pada flash memory penghapusan dan penulisan data ini dilakukan pada data sebesar satu block. Oleh karena itu flash memory lebih cepat.
Dengan ROM biasa, penggantian BIOS hanya dapat dilakukan dengan mengganti chip. Sedangkan pada EEPROM program akan memberikan instruksi kepada pengendali chip supaya memberikan perintah elektronis untuk kemudian mendownload kode BIOS baru untuk diidikan kepada chip. Hal ini berarti perusahaan dapat dengan mudah mendistribusikan BIOS baru atau update, misalnya dengan menggunakan disket. Hal ini disebut juga flash BIOS.(dna).

 

Cache Memori

                      

Cache Memory merupakan media penyimpanan data sekunder yang berkapasitas terbatas, berkecepatan tinggi dan lebih mahal dibandingkan memory utama dimana tempat menyimpan data atau informasi sementara yang sering digunakan atau diakses oleh komputer. Memori ini berada diantara memori utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu kepada memori utama tetapi di cache memory yang kecepatan aksesnya yang lebih tinggi, metode menggunakan cache memory ini akan meningkatkan kinerja sistem. Cache memory adalah tipe RAM tercepat yang ada, dan digunakan oleh CPU, hard drive, dan beberapa komponen lainnya.
Prinsip kerjanya :
Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada cache. Jika dataditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil.Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah. Pada umumnya, cache dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengann cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori cache yang semakin besar juga akan meningkatkan kecepatan kerja computer secara keseluruhan. Dua jenis cache yang sering digunakan dalam dunia komputer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memori utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi. Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk caching menggunakan sebagian dari memori komputer.
Fungsi Cache Memory yaitu :
·         Mempercepat Akses data pada komputer.
·         Meringankan kerja prosessor.
·         Menjembatani perbedaan kecepatan antara cpu dan memory utama.
·         Mempercepat kinerja memory.


Cache memory ada 3 Level yaitu :
·         Cache Memori Level 1 (L1) adalah cache memori yang terletak dalam prosesor (Cache Internal). Cache ini memiliki kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori berkembang mulai dari 8Kb, 64Kb dan 128Kb.
·         Cache Memory Level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun cache L2 ini memiliki kecepatan yang lebih rendah dari cache L1. Cache L2 terletak terpisah dengan prosesor atau disebut dengan cache eksternal.
·         Cache Memory Level 3 (L3) hanya dimiliki oleh prosesor yang memiliki unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari cache L2 dari masing-masing inti prosesor.

Letak cache memory pada komputer
Terdapat di dalam Processor (on chip ),Cache internal diletakkan dalam prosesor sehingga tidak memerlukan bus eksternal, maka waktu aksesnya akan sangat cepat sekali.
Terdapat diluar Processor(off chip), Berada pada MotherBoard memori jenis ini kecepatan aksesnya sangat cepat,meskipun tidak secepat chache memori jenis pertama.


Mengapa pada saat ini Cache Memory masih diperlukan di komputer?
Karena kecepatan memori utama sangat rendah dibandingkan dengan kecepatan prosesor modern. Untuk perfoma yang baik, prosesor tidak dapat membuang waktunya dengan menunggu untuk mengskses intruksi dan data pada memory utama. Karenanya, sangat penting untuk memikirkan suatu skema yang mengurangi waktu dalam mengakses informasi. Karena kecepatan unit memori utama dibatasi oleh batasan elektronik dan packaging, maka solusinya harus dicari dalam pengaturan arsitekture yang berbeda. Solusi yang efisien adalah menggunakan memory cache cepat yang sebenarnya membuat memori utama tampak lebih cepat bagi prosesor daripada sebenarnya.

Cara kerja Cache Memory
Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada tembolok. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah. Pada umumnya, tembolok dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori cache yang semakin besar juga akan meningkatkan kecepatan kerja komputer secara keseluruhan.
Dua jenis tembolok yang sering digunakan dalam dunia komputer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memori utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi.
Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk caching menggunakan sebagian dari memori komputer.

 

Advanced DRAM

DRAM (Dynamic RAM)

DRAM merupakan transistor dan kapasitor yang dipasangkan untuk membuat sel memori, yang mewakili satu bit data. Kapasitor memegang sedikit informasi – 0 atau 1. Transistor bertindak sebagai switch yang memungkinkan sirkuit kontrol pada chip memori membaca kapasitor atau mengubah keadaannya. DRAM bekerja dengan mengirimkan charge through the appropriate column (CAS) untuk mengaktifkan transistor pada setiap bit dalam kolom.
Keuntungan dari DRAM adalah kesederhanaan struktural: hanya satu transistor dan kapasitor yang diperlukan per bit, dibandingkan dengan empat di Transistor SRAM. Hal ini memungkinkan DRAM untuk mencapai kepadatan sangat tinggi. Tidak seperti flash memori, memori DRAM itu mudah "menguap" karena kehilangan datanya bila kehilangan aliran listrik.




BAB3
Sistem input/output (I/O)
I/O Sistem Operasi
I/O System merupakan bagian untuk menangani inputan dan outputan dari DCS. Inputan dan outputan tersebut bisa analog atau digital. Inputan/outputan digital seperti sinyal-sinyal ON/OFF atau Start/Stop. Kebanyakan dari pengukuran proses dan outputan terkontrol merupakan jenis analog.
Pengertian Input
Input adalah semua data dan perintah yang dimasukkan ke dalam memori komputer untuk selanjutnya diproses lebih lanjut oleh prosesor. Sebuah perangkat input adalah komponen piranti keras yang memungkinkan user atau pengguna memasukkan data ke dalam komputer, atau bisa juga disebut sebagai unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor.
Pengertian Output
Output adalah data yang telah diproses menjadi bentuk yang dapat digunakan. Artinya komputer memproses data-data yang diinputkan menjadi sebuah informasi. Yang disebut sebagai perangkat output adalah semua komponen piranti keras yang menyampaikan informasi kepada orang-orang yang menggunakannya.
I/O system terdiri dari beberapa bagain penting yaitu:
a.    I/O Hardware
b.    Application I/O Interface
c.    Kernel I/O Subsystem
d.    I/O Requests to Hardware Operations
e.    Streams
f.    Performance
A.I/O Hardware
   Secara umum, I/O Hardware terdapat beberapa jenis seperti device penyimpanan
   (disk,tape),    
   transmission device (network card, modem), dan human-interface device (screen, keyboard,mouse). Device tersebut dikendalikan oleh instruksi I/O. Alamat-alamat yang dimiliki device akan digunakan oleh direct I/O instruction dan memory-mapped I/O. Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/ shared direct access), dan controller  (host adapter).
  • Port adalah koneksi yang digunakan oleh device untuk berkomunikasi dengan mesin.
  • Bus adalah koneksi yang menghubungkan beberapa device menggunakan kabel-kabel.
  • Controller adalah alat-alat elektronik yang berfungsi untuk mengoperasikan port, bus, dan device.
B.Application I/O Interface
   Merupakan suatu mekanisme untuk mempermudah pengaksesan, sehingga sistem operasi melakukan standarisasi cara pengaksesan peralatan I/O.
   Interface aplikasi I/O melibatkan abstraksi, enkapsulasi, dan software layering. Device driver mengenkapsulasi tiap-tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum (interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan  perbedaan-perbedaan yang ada pada device controller dari subsistem I/O pada  kernel. Karena hal ini, subsistem I/O dapat bersifat independen dari hardware. Beberapa hal yang berhubungan dengan Application I/O Interface adalah:
1.Peralatan Block dan Karakter:
  • Perangkat Block termasuk disk drive
  • Perintah termasuk baca, tulis dan cari
  • Raw I/O atau akses file-sistem
  • Pemetaan memori untuk pengaksesan file
  • Perangkat karakter termasuk keyboad, mouse dan serial port
  • Perintahnya seperti get, put
  • Library layered  dalam proses pengeditan
2.Peralatan Jaringan
   Adanya perbedaan pengalamatan dari jaringan I/O, maka sistem operasi memiliki interface I/O yang berbeda dari baca, tulis dan pencarian pada disk. Salah satu yang banyak digunakan pada sistem operasi adalah interface socket. Socket berfungsi untuk menghubungkan komputer ke jaringan. System call pada socket interface dapat memudahkan suatu aplikasi untuk membuat local  socket, dan menghubungkannya ke remote socket.Dengan menghubungkan komputer ke socket, maka komunikasi antar komputer dapat dilakukan.
3.Jam dan Timer
   Jam dan timer pada hardware komputer, memiliki tiga fungsi : 
  • memberi informasi waktu saat ini
  • memberi informasi lamanya waktu sebuah proses
  • sebagai trigger untuk suatu operasi pada suatu waktu. 
   Fungsi ini sering digunakan oleh sistem operasi. Akan tetapi, system call untuk pemanggilan fungsi  ini tidak di-standarisasi antar sistem operasi. Hardware yang mengukur waktu dan melakukan operasi trigger dinamakan programmable interval timer yang dapat di set untuk menunggu waktu tertentu dan kemudian melakukan interupsi.
C.Kernel I/O subsystems
   Kernel menyediakan banyak service yang berhubungan dengan I/O. Pada bagian ini, kita akan mendeskripsikan beberapa service yang disediakan oleh kernel I/O subsystem, dan kita akan membahas bagaimana caranya membuat infrastruktur hardware dan device-driver. Service yang akan kita bahas adalah I/O scheduling, buffering, caching, pooling, reservasi device, error handling.
1.I/O Scheduling
   Untuk menjadualkan sebuah set permintaan I/O, kita harus menetukan urutan yang bagus untuk mengeksekusi permintaan tersebut. Scheduling dapat meningkatkan kemampuan sistem secara keseluruhan, dapat membagi device secara rata di antara proses-proses, dan dapat mengurangi waktu tunggu rata-rata untuk menyelesaikan I/O. 
2. Buffering
   Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua device atau antara device dan aplikasi. Buffering dilakukan untuk tiga buah alasan. Alasan pertama adalah untuk men-cope dengan kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data.
3. Caching
   Sebuah cache adalah daerah memori yang cepat yang berisikan data kopian. Akses ke sebuah kopian yang di-cached lebih efisien daripada akses ke data asli. Sebagai contoh, instruksi-instruksi dari proses yang sedang dijalankan disimpan ke dalam disk, dan ter-cached di dalam memori physical, dan kemudian dicopy lagi ke dalam cache secondary and primary dari CPU. Perbedaan antara sebuah buffer dan ache adalah buffer dapat menyimpan satu-satunya informasi datanya sedangkan sebuah cache secara definisi hanya menyimpan sebuah data dari sebuah tempat untuk dapat diakses lebih cepat. Caching dan buffering adalah dua fungsi yang berbeda, tetapi terkadang sebuah daerah memori dapat digunakan untuk keduanya.
4.Spooling dan Reservasi Device
   Sebuah spool adalah sebuah buffer yang menyimpan output untuk sebuah device, seperti printer, yang tidak dapat menerima interleaved data streams. Walau pun printer hanya dapat melayani satu pekerjaan pada waktu yang sama, beberapa aplikasi dapat meminta printer untuk mencetak, tanpa harus mendapatkan hasil output mereka tercetak secara bercampur. Sistem operasi akan menyelesaikan masalah ini dengan meng-intercept semua output kepada printer. Tiap output aplikasi sudah di-spooled ke disk file yang berbeda. Ketika sebuah aplikasi selesai mengeprint, sistem spooling akan melanjutkan ke antrian berikutnya. Di dalam beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses daemon.
5.Error Handling
   Sebuah sistem operasi yang menggunakan protected memory dapat menjaga banyak kemungkinan error akibat hardware mau pun aplikasi. Devices dan transfer I/O dapat gagal dalam banyak cara, bisa karena alasan transient, seperti overloaded pada network, mau pun alasan permanen yang seperti kerusakan yang terjadi pada disk controller. Sistem operasi seringkali dapat mengkompensasikan untuk kesalahan transient. Seperti, sebuah kesalahan baca pada disk akan mengakibatkan pembacaan ulang kembali dan sebuah kesalahan pengiriman pada network akan mengakibatkan pengiriman ulang apabila protokolnya diketahui. Akan tetapi untuk kesalahan permanent, sistem operasi pada umumnya tidak akan bisa mengembalikan situasi seperti semula.
6.Kernel Data Structure
   Kernel membutuhkan informasi state tentang penggunakan komponen I/O. Kernel menggunakan banyak struktur yang mirip untuk melacak koneksi jaringan, komunikasi karakter-device, dan aktivitas I/O lainnya. UNIX menyediakan akses sistem file untuk beberapa entiti, seperti file user, raw devices, dan alamat tempat proses. Walau pun tiap entiti ini didukung sebuah operasi baca, semantics-nya berbeda untuk tiap entiti. Seperti untuk membaca file user, kernel perlu memeriksa buffer cache sebelum memutuskan apakah akan melaksanakan I/O disk. Untuk membaca sebuah raw disk, kernel perlu untuk memastikan bahwa ukuran permintaan adalah kelipatan dari ukuran sektor disk, dan masih terdapat di dalam batas sektor. Untuk memproses citra, cukup perlu untuk mengkopi data ke dalam memori. UNIX mengkapsulasikan perbedaan-perbedaan ini di dalam struktur yang uniform dengan menggunakan teknik object oriented.Beberapa sistem operasi bahkan menggunakan metode object oriented secara lebih extensif.
D.I/O Requests to Hardware Operations
   Salah satu contohnya adalah:
o   Ilustrasi membuka sebuah
–  Device mana tempat file yang akan dibuka
–  Menerjemahkan _nama_ ke dalam device yang dimaksud
–  Membaca secara fisik file yang hendak dibuka
–  Data sudah siap untuk diakses
–  Mengembalikan kontrol pada proses 
o   Ilustrasi lain pada waktu boot
Sistem mula-mula meminta bus piranti keras untuk menentukan device apa yang ada.
 E.Streams
   I/O stream adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data (dua arah).Biasa digunakan dalam network protocol dan menggunakan  message passingdalam men-transferdata Stream terdiri atas : 
  • sebuah stream head yang merupakan antarmuka dengan user process,
  • sebuah driver end yang mengontrol device,
  • dan nol atau lebih stream modules 

F.Performance
   Faktor utama dalam performa sistem :  
  • Permintaan CPU untuk menjalankan device driver, kode kernel I/O
  • Keadaan/state untuk melayani interrupt 
  • Copy data
  • Network traffic khususnya pada beban kinerja 

Improving Perfomance:
Menurunkan jumlah alih konteks.Mengurangi jumlah pengkopian data ke memori ketika sedang dikirimkan antara device dan aplikasi. 
  • Mengurangi frekuensi interupsi, dengan menggunakan ukuran transfer yang besar, smart controller, dan polling.
  • Meningkatkan concurrency dengan controller atau channel yang mendukung DMA. 
  • Memindahkan kegiatan processing ke perangkat keras, sehingga operasi kepada device controller dapat berlangsung bersamaan dengan CPU. 
  • Menyeimbangkan antara kinerja CPU, memory subsystem, bus, dan I/O.






BAB 4
ALU


·         Pengertian ALU ( Arithmetic And Logic Unit )

ALU merupakan salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmetika dan logika. Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR.

Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruksi 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.

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 output register, sebelum disimpan dalam memori.

·         Tugas dan Fungsi ALU
Tugas utama dari ALU (Arithmetic And Logic Unit)adalah melakukan semua perhitungan aritmetika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder. Tugas lalin 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 (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=)

Fungsi-fungsi yang didefinisikan pada ALU
1.      Add (penjumlahan)
2.      Addu (penjumlahan tidak bertanda)
3.      Sub (pengurangan)
4.      Subu (pengurangan tidak bertanda)
5.      And
6.      Or
7.      Xor
8.      sll (shift left logical)
9.      srl (shift right logical)
10.  sra (shift right arithmetic)
dan lain-lain.

Tugas utama dari ALU (Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi aritmatika yang lainnya. Seperti pengurangan, pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder.

ADDER
Adder merupakan rangkain ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan. Karena adder digunakan untuk memproses operasi aritmatika, maka adder juga sering disebut rangkaian kombinasional aritmatika. Ada 3 jenis Adder, yaitu:


Ada 3 jenis adder  :
1.    Rangkaian Adder dengan menjumlahkan dua bit disebut Half Adder.
Rangkaian half adder merupakan dasar penjumlahan bilangan biner yang masingmasing hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap.


1.      Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0.
2.      Jika A=0 dan B=1 dijumlahkan, hasilnya S (Sum) = 1.
3.      Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. dengan nilai pindahan Cy(Carry Out) = 1.
Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S dan Cy).


Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan nilai logika dari gerbang XOR, sedangkan nilai logika Cy sama dengan nilai dari gerbang logika AND. Dari tabel tersebut, dapat dibuat rangkaian half adder seperti pada gambar berikut:


2.    Rangkaian Adder dengan menjumlahkan tiga bit disebut Full Adder.
Full adder mengolah penjumlahan untuk 3 bit bilangan atau lebih (bit tidak terbatas), oleh karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel kebenaran dari Full adder berikut :

Dari tabel diatas dapat dibuat persamaan boolean sebagai berikut :
S = Ã B C + A B C + Ã B C + A B C
S = A Ã… B Ã… C
Cy = A B C + A B C + A B C + A B C
Dengan menggunakan peta karnaugh, Cy dapat diserhanakan menjadi :
Cy = AB + AC + BC


3.      Rangkain Adder dengan menjumlahkan banyak bit disebut Paralel Adder
Parallel Adder adalah rangkaian Full Adder yang disusun secara parallel dan berfungsi untuk menjumlah bilangan biner berapapun bitnya, tergantung jumlah Full Adder yang diparallelkan.

Fungsi Arithmetic Logic Unit secara umum :
ü  Melakukan suatu proses data yang berbentuk angka dan logika, seperti data matematika dan statistika
ü  Melakukan keputusan dari operasi sesuai dengan instruksi program yaitu operasi logika (logical operation).
ü  Melakukan perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program.
ü  Membantu Control Unit saat melakukan perhitungan aritmatika (ADD, SUB) dan logika (AND, OR, XOR, SHL, SHR).

·         Struktur dan Cara Kerja Pada 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 member 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 memberitahu 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 system tertentu berdasarkan perintah control unit. Setelah proses ALU dikerjakan, output akan disimpan dalam register yang dapat berupa sebuah data atau sebuah instruksi. Selainitu, bentuk output yang dihasilkan oleh ALU berupa flag signal. Flag signal ini adalah penanda status dari sebuah CPU. Bilangan integer (bulat) tidak dikenal oleh computer dengan basis 10. Agar computer mengenal bilangan integer, maka para ahli computer 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 aruslistrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer tidakmengenal 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.
Integer representation
Representasi dari Bilangan bulat
Kita perlu menggunakan representasi biner untuk setiap bagian dari data. Komputer beroperasi pada nilai-nilai biner (sebagai akibat dari yang dibangun dari transistor).
Ada 3 jenis data yang kita ingin mewakili:
1.      bilangan bulat
2.      karakter
3.      floating point nilai

Representasi Integer

Ada representasi biner yang berbeda untuk bilangan bulat. Kemungkinan kualitas:
1.      hanya bilangan positif
2.      bilangan positif dan negatif
3.      kemudahan pembacaan manusia
4.      kecepatan operasi komputer
Meskipun ada banyak representasi, dan semua telah digunakan di berbagai kali karena berbagai alasan, yang dikelilingi oleh * adalah representasi yang akan kita gunakan secara ekstensif.
1.      Unsigned *
2.      tanda besarnya
3.      melengkapi satu
4.      Melengkapi dua itu *
5.      bias (tidak dikenal)
6.      BCD (Binary Coded Decimal), digunakan terutama oleh aplikasi bisnis pada tahun 1960 dan 70-an.

Hampir semua komputer modern beroperasi berdasarkan representasi komplemen 2 ini. Mengapa?
1.      perangkat keras untuk melakukan operasi yang paling umum adalah lebih cepat (operasi yang paling umum adalah tambahan)
2.      hardware lebih sederhana (dan karena itu lebih cepat)
Apakah Anda perhatikan bahwa kedua alasan untuk menggunakan representasi komplemen 2 adalah sama? Hampir selalu, ketika membahas mengapa sesuatu dilakukan dengan cara itu dilakukan, jawabannya adalah sama: "karena lebih cepat."




BAB 5

OPERASI UNIT KENDALI

Operasi Unit Kendali CU (Control Unit)

Unit kendali ( Control Unit - CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.
Bagian CPU yang menyebabkan fungsi komputer tercapai ini mengeluarkan sinyal-sinyal kontrol yang bersifat internal bagi CPU untuk memindahkan data antar Register agar ALU melakukan fungsinya untuk mengatur operasi-operasi internal lainnya. Register, yang merupakan bagian dari unit kontrol, adalah tempat penyimpan data sementara dalam CPU selama proses eksekusi. Apabila terjadi proses eksekusi, data dalam register dikirim ke ALU untuk diproses, hasil eksekusi nantinya diletakkan ke register kembali. Unit kontrol akan menghasilkan sinyal yang akan mengontrol operasi ALU dan pemindahan data ke dan dari ALU. Unit kontrol juga mengeluarkan sinyal kontrol eksternal bagi pertukaran data memori dan modul-modul I/O.
Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store).                                                       Beberapa word dari microprogram dipiliholeh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor).

2.CARA KERJA CONTROL UNIT
Ketika sebuah komputer pertama kali diaktifkan power-nya, maka computer tersebut menjalankan operasibootstrap. Operasi ini akan membaca sebuah instruksi dari suatu lokasi memory yang telah diketahui sebelumnya dan mentransfer instruksi tersebut ke control unit untuk dieksekusi. Instruksi-intruksi dibaca dari memory dan dieksekusi sesuai dengan urutan penyimpanannya. Program counter dari suatu computer menyediakan suatu cara untuk menyimpan lokasi instruksi berikutnya. Urutan eksekusi berubah dengan memindah lokasi intruksi baru ke program counter sebelum pembacaan (fetch) instruksi dikerjakan. Sebuah intruksi merupakan kalimat imperatif pendek yang sudah dapat menjelaskan makna dari perintah tersebut. Suatu intruksi terdiri dari :
  1. subjek (komputernya)
  2. verb (suatu kode operasi yang mengindikasikan pekerjaan apa yang akan dilaksanakan)
  3. objek (operands) yang mengidentifikasikan nilai data atau lokasi memory.
Ketika intruksi-intruksi diterima oleh Control Unit, operation code akan mengaktifkan urutan logic untuk mengeksekusi intruksi-intruksi tersebut.
Satu eksekusi program terdiri dari beberapa instruction cycle yang menjadi komponen penyusun dari program tersebut. Sedangkan untuk setiap instruction cycle terdiri dari beberapa sub cycle lagi seperti ftech cycle, indirect cycle, execute cucle, dan interrupt cycle. Setiap sub cycle ini disusun dari beberapa perintah dasar yang disebut micro operation.

3.Tugas CU
Tugas dari CU adalah sebagai berikut:
1.     Mengatur dan mengendalikan alat-alat input dan output.
2.     Mengambil instruksi-instruksi dari memori utama.
3.     Mengambil data dari memori utama kalau diperlukan oleh proses.
4.     Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
5.     Menyimpan hasil proses ke memori utama.
Model Unit Control
Unit kontrol menghasilkan signal kontrol yang mengatur komputer. Untuk komputer yang sangat sederhana,unit control ini bisa mengirim microorder,yakni signal individual yang dikirimkan melalui jalur kontrol dedicated,untuk mengontrol komponen dan peralatan individual.
            Yang lebih umum  dilakukan oleh unit control adalah menghasilkan set mikroorder secara serempak dari pada microorder individual.set mikrooder yang dihasilkan oleh unit kontrol pada sekali saat disebut microinstruction.
1. Operasi Mikro
Unit kendali logika ( Control Logic Unit ) bertugas untuk mengatur seluruh aktifitas perangkat keras di dalam komputer.
CLU bertugas untuk :
1. Memfetch suatu instruksi dari memori
2. Memberi kode pada instruksi untuk menentukan operasi mana yang akan dilaksanakan
3. Menentukan sumber dan tujuan data di dalam perpindahan data
4. Mengeksekusi operasi yang dilakukan
            Setelah menginterpretasi kode biner suatu instruksi, CLU menghasilkan serangkaian perintah kendali, yang disebut sebagai instruksi mikro (microinstruction ) atau operasi mikro. 
           
            Instruksi mikro merupakan operasi primitif tingkat rendah yang bertindak secara langsung pada sirkuit logika suatu komputer dan mengatur fungsi-fungsi sebagai berikut :
1. Membuka/menutup suatu gerbang ( gate ) dari sebuah register ke sebuah bus
2. Mentransfer data sepanjang bus
3. Memberi inisial sinyal-sinyal kendali seperti READ, WRITE, SHIFT, CLEAR dan SET
4. Mengirimkan sinyal-sinyal waktu
5. Menunggu sejumlah periode waktu tertentu
6. Menguji bit-bit tertentu dalam sebuah register

2. Perancangan CLU
Terdapat 2 pendekatan dalam perancangan CLU, yaitu :
1. Hardwired atau Random Logic
       Sejumlah gerbang ( gate ), counter dan register saling dihubungkan untuk menghasilkan sinyal-sinyal kendali. Setiap rancangan memerlukan sekelompok peranti logika dan          hubungan yang berbeda-beda.

     2. Microprogrammed Control
       Dibentuk serangkaian instruksi mikro ( program mikro ) yang disimpan dalam sebuah  memori kendali ( biasanya sebuah ROM ) dalam CLU. Waktu yang diperlukan dan    sinyal  kendali yang dihasilkan didapat dengan menjalankan suatu program mikro
    Microinstruction decoder menghasilkan dan mengeluarkan mikroorder yang di dasarkan  pada mikrointruksi dan op code intruksi yang akan di jalankan .yang terakhir sequncer menyinkronkan aktivitas dari komponen unit kontrol.squencer adalah bagian inti (jantung) dari unit control.dia mempunyai dua mode operasi yang berbeda yaitu:
   
a.       Operasi biasa
Selama operasi biasa (ordinary operation ),squencer menghasilkan  signal kontrol yang mengatur unit kontrol
b.      Start up mesin
Selama start up mesin ,unit kontrol memunculkan dan menandai berbagai macam register


3. Organisasi CLU Microprogrammed

          Instruksi di-fetch kedalam IR dan pengendali mikro menjalankan program mikro yang bersesuaian. Address awal program mikro di-load kedalam CAR(Control Address Register) kemudian memori control mentransfer instruksi mikro pertama ke dalam CBR(Control Buffer Register). 
Dengan memfetch sebuah instruksi mikro dari memori kontrol berarti kita menyatakan sebuah siklus mikro,yaitu waktu di mana instruksi mikro didecode untuk menghasilkan sinyal kendali yang diperlukan untuk menjalankannya. CAR secara normal bertambah 1 pada tiap-tiap pulsa sehingga dapat mengalamati instruksi mikro berikutnya secara berurutan. Namun, perhatikan bahwa rangkaian tersebut dapat diubah oleh kondisi-kondisi yang terjadi di dalam atau di luar CLU, yang mungkin menyebabkan pengendali mikro meningkatkan CAR lebih dari 1. Jika ada operand yang diperlukan untuk suatu instruksi tertentu maka informasi address dalam IR di-decode untuk melengkapi lokasi operand.

Dalam microprogrammmed control terdapat dua jenis format instruksi, yaitu secara :
1. Horizontal
      Satu bit diberikan untuk setiap sinyal logika yang dihasilkan oleh instruksi mikro.Jenis implementasi dimana signal kontrol di kode ke dalam pada bit , kemudian digunakan setelah dikode.

2. Vertikal

Hanya satu operasi mikro yang dipanggil pada suatu waktu. Control dimana setiap bit control mengatur 1 operasi gate atau mesin.

Komponen-Komponen Pokok  Control Unit Microprogrammed
1. Instruction Register
    Menyimpan instruksi register mesin yang dijalankan.
2. Control Store berisi microprogrammed
ü      Untuk semua instruksi mesin.
ü      Untuk startup mesin.
ü      Untuk memprosesan interupt
3. Address Computing Circuiting
    Menentukan alamat Control Store dari mikroinstruksi berikutnya yang akan dijalankan.
4. Microprogrammed Counter
    Menyimpan alamat dari mikroinstruksi berikutnya.
5. Microinstruction Buffer
    Menyimpan mikroinstruksi tersebut selama dieksekusi.
6. Microinstruction Decoder
 Menghasilkan dan mengeluarkan mikroorder yang didasarkan pada mikroinstruksi dan  opcode instruksi yang akan dijalankan


Peralatan pendukung microprogrammmed control adalah :
1. Assembler Mikro
2. Formatter
3. Sistem Pengembangan
4. Simulator Perangkat Keras

4. Kelemahan Pemrograman Mikro
·         Karena waktu akses memori kendali ROM menentukan kecepatan operasi CLU maka kendali microprgrammed mungkin menghasilkan CLU yang lebih lambat dibandingkan dengan kendali hard-wired.
·         Alasannya bahwa waktu yang diperlukan untuk menjalankan suatu instruksi mikro juga mencakup waktu akses ROM, Sedangkan, suatu keterlambatan dalam CLU hard-wired hanya mungkin disebabkan oleh keterlambatan waktu penyebaran melalui perangkat keras, yang relative sangat kecil. (hard-wired digunakan hanya jika system itu tidak terlalu kompleks dan hanya memerlukan beberapa operasi kendali).


5. Keuntungan Pemrograman Mikro
·         Rancangan microprogrammed relative mudah diubah-ubah dan dibetulkan
·         Menyediakan kemampuan diagnostic yang lebih baik dan lebih dapat diandalkan daripada rancangan hard-wired
·         Utilisasi memori utama dalam computer microprogrammed biasanya lebih baik Karena perangkat lunak yang seharusnya menggunakan ruang memori utama justru ditempatkan pada memori kendali
·         Pengembangan ROM lebih lanjut(dalam kaitan dengan harga dan waktu akses) secara lebih jauh justru menguatkan posisi dominant pemrograman mikro, salah satunya dengan menyertakan unit memori ketiga disebut sebagai nano-memory (tambahan bagi memori utama dan memori kendali). Dalam mengerjakan hal ini, mungkin terjadi pertukaran (trade-off) yang menarik antara pemrograman mikro horisontal dan vertikal   


   

                                                                              BAB 6 
                                                                    SET INSTRUKSI




Set instruksi (instruction set) 

             adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karna aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.
Sebuah instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti darimana asal operand-operand dan kemana hasil-hasil akan ditempatkan. Subyek umum untuk menspesifikasikan di mana operand-operand berada (yaitu, alamat-alamatnya) disebut pengalamatan
Pada beberapa mesin, semua instruksi memiliki panjang yang sama, pada mesin-mesin yang lain mungkin terdapat banyak panjang berbeda. Instruksi-instruksi mungkin lebih pendek dari, memiliki panjang yang sama seperti, atau lebih panjang dari panjang word. Membuat semua instruksi memiliki panjang yang sama lebih muda dilakukan dan membuat pengkodean lebih mudah tetapi sering memboroskan ruang, karena semua instruksi dengan demikian harus sama panjang seperti instruksi yang paling panjang.
Di dalam sebuah instruksi terdapat beberapa elemen-elemen instruksi:
  1. Operation code (op code)
  2. Source operand reference
  3. Result operand reference
  4. Xext instruction preference
Format instruksi (biner):
Missal instruksi dengan 2 alamat operand : ADD A,B A dan B adalah suatu alamat register.
Beberapa simbolik instruksi:
ADD               : Add (jumlahkan)
SUB                : Subtract (Kurangkan)
MPY/MUL     : Multiply (Kalikan)
DIV                 : Divide (Bagi)
LOAD             : Load data dari register/memory
STOR              : Simpan data ke register/memory
MOVE             : pindahkan data dari satu tempat ke tempat lain
SHR                : shift kanan data
SHL                : shift kiri data .dan lain-lain
Cakupan jenis instruksi:
Data processing           : Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT,    SHR, dsb);     konversidata
Data storage (memory)  : Transfer data (STOR, LOAD, MOVE, dsb)
Data movement              : Input dan Output ke modul I/O
Program flow control    : JUMP, HALT, dsb.
Bentuk instruksi:
–          Format instruksi 3 alamat
Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan ada pengunaanya, dalam peongoprasianya banyak register sekaligus dan program lebih pendek.
Contoh:
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
SUB Y, A, B              Y := A – B
MPY T, D, E               T := D × E
ADD T, T, C               T := T + C
DIV Y, Y, T               Y:= Y / T
Memerlukan 4 operasi
–          Format instruksi 2 alamat
Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap operand, satu alamat operand, missal : SUB Y,B yang mempunyai arti dalam algoritmik : Y:= Y – B dan arti dalam bentuk penjelasan : kurangkan isi reg Y dengan isi reg B, kemudian simpan hasillnya di reg Y. bentuk bentuk format ini masih digunakan di computer sekarang, untuk mengoprasikan lebih sedikit register, tapi panjang program tidak bertambah terlalu banyak.
Contoh :
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
MOVE Y, A               Y := A
SUB Y, B                   Y := Y – B
MOVE T, D                T := D
MPY T, E                    T := T × E
ADD T, C                   T := T + C
DIV Y, T                    Y:= Y / T
Memerlukan 6 operasi
–          Format instruksi 1 alamat
Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di accumulator, missal : SUB B yang mempunyai arti dalam algoritmik : AC:= AC – B dan arti dalam bentuk penjelasan : kurangkan isi Acc dengan isi reg B, kemudian simpan hasillnya di reg Acc. bentuk bentuk format ini masih digunakan di computer jaman dahulu, untuk mengoprasikan di perlukan satu  register, tapi panjang program semakin bertambah.
Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
LOAD D                     AC := D
MPY E                        AC := AC × E
ADD C                       AC := AC + C
STOR Y                      Y := AC
LOAD A                     AC := A
SUB B                        AC := AC – B
DIV Y                                     AC := AC / Y
STOR Y                      Y := AC
Memerlukan 8 operasi
–          Format instruksi 0 alamat
Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan dibawahnya missal : SUB yang mempunyai arti dalam algoritmik : S[top]:=S[top-1]-S[top] dan arti dalam bentuk penjelasan : kurangkan isi stack no2 dari atas dengan isi stack paling atas, kemudian simpan hasilnya di stack paling atas, untuk mengoprasikan ada beberapa instruksi khusus stack PUSH dan POP.
Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
PUSH A                      S[top] := A
PUSH B                      S[top] := B
SUB                            S[top] := A – B
PUSH C                      S[top] := C
PUSH D                      S[top] := D
PUSH E                      S[top] := E
MPY                           S[top] := D × E
ADD                           S[top] := C + S[top]
DIV                             S[top] := (A – B) /S[top]
POP Y                         Out := S[top]
Memerlukan 10 operasi
Set instruksi pada CISC:
Berikut ini merupakan karakteristik set instruksi yang digunakan pada beberapa computer yang memiliki arsitektur CISC
Perbandingan set instruksi
Beberapa computer CISC (Complex Instruction Set Computer) menggunakan cara implist dalam menentukan mode addressing pada setiap set instruksinya. Penentuan mode addressing dengan cara implicit memiliki arti bahwa pada set instruksi tidak di ada bagian yang menyatakan tipe dari mode addressing yang digunakan, deklarasi dari mode addressing itu berada menyatu dengan opcode. Lain hal nya dengan cara imsplisit, cara eksplisit sengaja menyediakan tempat pada set instruksi untuk mendeklarasikan tipe mode addressing. Pada cara eksplisit deklarasi opcode dan mode addressing berada terpisah.
Data pada tempat deklarasi mode addressing diperoleh dari logaritma basis dua jumlah mode addressing. Jika deklarasi mode addressing dilakukan secara implicit akan menghemat tempat dalam set instruksi paling tidak satu bit untuk IBM 3090 dan 6 bit untuk MC68040. Perubahan satu bit pada set instruksi akan memberikan jangkauan alamat memori lebih luas mengingat range memori dinyatakan oleh bilangan berpangkat dua.
ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI)
* 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:
  • Main or Virtual Memory
  • CPU Register
  • I/O Device
DESAIN SET INSTRUKSI
Desain set instruksi merupakan masalah yang sangat komplek 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 sebagai berikut:
  1. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
  2. Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.
  3. Register: Banyaknya register yang dapat digunakan 4.Addressing: Mode pengalamatan untuk operand
FORMAT INSTRUKSI 
* Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction Format).
OPCODE OPERAND REFERENCE OPERAND REFERENCE JENIS-JENIS OPERAND 
* Addresses (akan dibahas pada addressing modes)
* Numbers : – Integer or fixed point – Floating point – Decimal (BCD)
* Characters : – ASCII – EBCDIC
* Logical Data : Bila data berbentuk binary: 0 dan 1
JENIS INSTRUKSI 
* Data processing: Arithmetic dan Logic Instructions
* Data storage: Memory instructions
* Data Movement: I/O instructions
* Control: Test and branch instructions
TRANSFER DATA 
* Menetapkan lokasi operand sumber dan operand tujuan.
* Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
* Menetapkan panjang data yang dipindahkan.
* Menetapkan mode pengalamatan.
* Tindakan CPU untuk melakukan transfer data adalah :
a. Memindahkan data dari satu lokasi ke lokasi lain.
b. Apabila memori dilibatkan :
1. Menetapkan alamat memori.
2. Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
3. Mengawali pembacaan / penulisan memori
Operasi set instruksi untuk transfer data :
* MOVE : memindahkan word atau blok dari sumber ke tujuan
* STORE : memindahkan word dari prosesor ke memori.
* LOAD : memindahkan word dari memori ke prosesor.
* EXCHANGE : menukar isi sumber ke tujuan.
* CLEAR / RESET : memindahkan word 0 ke tujuan.
* SET : memindahkan word 1 ke tujuan.
* PUSH : memindahkan word dari sumber ke bagian paling atas stack.
* POP : memindahkan word dari bagian paling atas sumber
ARITHMETIC
Tindakan CPU untuk melakukan operasi arithmetic :
  1. Transfer data sebelum atau sesudah.
  2. Melakukan fungsi dalam ALU.
  3. Menset kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
1. ADD : penjumlahan 5. ABSOLUTE
2. SUBTRACT : pengurangan 6. NEGATIVE
3. MULTIPLY : perkalian 7. DECREMENT
4. DIVIDE : pembagian 8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal. LOGICAL
* Tindakan CPU sama dengan arithmetic
* Operasi set instruksi untuk operasi logical :
1. AND, OR, NOT, EXOR
2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
5. ROTATE : operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.
CONVERSI
Tindakan CPU sama dengan arithmetic dan logical.
* Instruksi yang mengubah format instruksi yang beroperasi terhadap format data.
* Misalnya pengubahan bilangan desimal menjadi bilangan biner.
* Operasi set instruksi untuk conversi :
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi.
2. CONVERT : mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya.
INPUT / OUPUT 
* Tindakan CPU untuk melakukan INPUT /OUTPUT :
1. Apabila memory mapped I/O maka menentukan alamat memory mapped.
2. Mengawali perintah ke modul I/O
* Operasi set instruksi Input / Ouput :
1. INPUT : memindahkan data dari pernagkat I/O tertentu ke tujuan
2. OUTPUT : memindahkan data dari sumber tertentu ke perangkat I/O
3. START I/O : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan TRANSFER CONTROL
* Tindakan CPU untuk transfer control : Mengupdate program counter untuk subrutin , call / return.
* Operasi set instruksi untuk transfer control :
1. JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
2. JUMP BERSYARAT : menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
3. JUMP SUBRUTIN : melompat ke alamat tertentu.
4. RETURN : mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
5. EXECUTE : mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi
6. SKIP : menambah PC sehingga melompati instruksi berikutnya.
7. SKIP BERSYARAT : melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan
8. HALT : menghentikan eksekusi program.
9. WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan dipenuhi
10. NO OPERATION : tidak ada operasi yang dilakukan.
CONTROL SYSTEM 
* Hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan dalam sistem operasi. * Contoh : membaca atau mengubah register kontrol.
JUMLAH ALAMAT (NUMBER OF ADDRESSES) 
* Salah satu cara tradisional untuk menggambarkan arsitektur prosessor adalah dengan melihat jumlah alamat yang terkandung dalam setiap instruksinya.
* Jumlah alamat maksimum yang mungkin diperlukan dalam sebuah instruksi :
1. Empat Alamat ( dua operand, satu hasil, satu untuk alamat instruksi berikutnya)
2. Tiga Alamat (dua operand, satu hasil)
3. Dua Alamat (satu operand merangkap hasil, satunya lagi operand)
4. Satu Alamat (menggunakan accumulator untuk menyimpan operand dan hasilnya)
Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan
1. O – Address Instruction
2. 1 – Addreess Instruction.
3. N – Address Instruction
4. M + N – Address Instruction
Macam-macam instruksi menurut sifat akses terhadap memori atau register
1. Memori To Register Instruction
2. Memori To Memori Instruction
3. Register To Register Instruction
ADDRESSING MODES
Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling umum:
* Immediate
* Direct
* Indirect
* Register
* Register Indirect
* Displacement
* Stack




https://ekofitriyanto.wordpress.com/2013/10/30/177/



BAB 7
SISTEM PERANGKAT LUNAK

Pengertian Perangkat Lunak (Software) Komputer dan Fungsinya 
          Komputer tidak akan lepas dari perangkat lunak (software) karena merupakan salah satu bagian terpenting dari komputer itu sendiri. Komputer merupakan sistem elektronik yg fungsinya memanipulasi data yang cepat dan tepat serta akurat yg telah di rancang dan di organisasikan supaya secara otomatis menerima atau menyimpan data input dan masukan, kemudian memprosesnya dan menghasilkan output di bawah pengawasan suatu langkah-langkah, instruksi-instruksi program yg tersimpan di memori (stored program).

 Agar dapat melakukan tugasnya itu maka diperlukanlah perangkat lunak (software), mengapa harus software (perangkat lunak)? yuk kita baca pengetian nya supaya mengetahui jawabannya

Pengertian Perangkat Lunak (Software) Komputer
Pengertian perangkat lunak (software) komputer adalah sekumpulan data elektronik yg disimpan dan diatur oleh komputer, data elektronik yg disimpan oleh komputer itu dapat berupa program atau instruksi yg akan menjalankan suatu perintah. Perangkat lunak disebut juga sebagai penerjemah perintah-perintah yg dijalankan pengguna komputer untuk diteruskan atau diproses oleh perangkat keras. Melalui software atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah.

Fungsi Perangkat Lunak (Software)
Ada beberapa fungsi dari perangkat lunak (software) diantaranya:
Fungsi perangkat lunak (software) adalah memproses data atau perintah / instruksi hingga mendapat hasil atau menjalankan sebuah perintah perintah.
Berfungsi sebagai sarana interaksi yg menghubungkan atau menjembatani pengguna komputer (user) dengan perangkat keras.

3 Golongan Perangkat Lunak (Software)
Perangkat lunak ini dibagi menjadi tiga golongan, yaitu:
1.Sistem Operasi
Software sistem operasi merupakan suatu software komplek yg mempunyai banyak fungsi.
  • Fungsi yg pertama adalah untuk mengatur semua perangkat keras komputer yang terhubung dengan CPU.
  • Fungsi yang kedua adalah menerjemahkan segala aktivitas pemakai kepada CPU agar segala yang diperintahkan oleh pemakai dapat dikerjakan oleh CPU.
  • Fungsi yang ketiga adalah mengatur semua proses yg terjadi di dalam CPU.
Sistem operasi juga berfungsi sebagai tempat atau platform untuk menjalan suatu software aplikasi. Contoh program berbasis windows hanya dapat dijalankan di pada sistem operasi windows tidak dapat dijalankan di linux kecuali menggunakan program converter.
Saat ini sudah terdapat berbagai jenis software sistem operasi yg dapat di gunakan seperti dari perusahaan yg paling terkenal sebagai pembuat sistem operasi yaitu “Microsoft” yg dimiliki oleh orang terkaya didunia “Bill Gates” dan beberapa produk yg sudah diluncurkan di antaranya adalah Microsoft Windows (Windows 98, Windows 2000, Windows XP, dan Windows Vista, Windows 7 dan Windows 8) sedangkan pesaingnya  ada dari Linux (Mandrake, Ubuntu, dan Redhat) dan juga dari Apple.

2. Bahasa Pemrograman
Bahasa pemrograman (programming language) adalah bahasa yg digunakan untuk membuat program itu sendiri. Ada banyak bahasa pemrograman contohnya Bahasa C, C++, Visual Basic, Pascal, Borland, HTML, PHP, JAVA, dan masih banyak lagi. Untuk menunjang pembuatan harus menggunakan perangkat lunak yang digunakan untuk merancang atau membuat program sesuai dengan struktur dan metode yang dimiliki oleh bahasa program itu sendiri.

3. Program Aplikasi
Program aplikasi merupakan software yang mempunyai fungsi khusus sesuai dengan tujuan pembuatannya. Program aplikasi merupakan software yang banyak digunakan untuk membantu menyelesaikan tugas tertentu, seperti untuk membuat surat, mendengarkan musik, menonton film, menghitung sejumlah angka, dan masih banyak lagi. Contoh program aplikasi seperti Microsoft word, excel, power point, Winamp, Media player classic, calculator, dll.

Sistem Operasi berfungsi sebagai penghubung antara lapisan hardware dan lapisan software. Selain dari itu sistem operasi komputer melakukan semua perintah penting dalam komputer, serta menjamin aplikasi-aplikasi yang berbeda fungsinya dapat berjalan lancar secara bersamaan tanpa adanya hambatan. Sistem Operasi Komputer menjamin, aplikasi perangkat lunak lainnya dapat memakai memori, melakukan input serta output ke peratan lain, dan memiliki akses ke setiap sistem file. Sistem operasi juga mengatur, jika aplikasi berjalan secara bersamaan, sehingga proses di komputer berjalan mendapatkan waktu yang cukup dan tidak saling mengganggu perangkat yang lain. 

Bagian-Bagian Sistem Operasi Komputer

Secara umum, sistem operasi komputer terdiri atas beberapa bagian yaitu..
  • Mekanisme Boot, adalah meletakkan kernel ke dalam memori
  • Kernel yaitu inti dari sebuah sistem operasi
  • Command Interpreter atau shell, yang bertugas dalam membaca input dari pengguna
  • Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh apliaksi lain 
  • Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya
Fungsi Sistem Operasi 
Berdasarkan penjelasan diatas, maka dapat dikatakan sistem operasi memiliki peran yang sangat penting dan vital dalam komputer. Peran dan fungsi sistem operasi adalah sebagai berikut... 
  • Membuat komputer menjadi lebih mudah dan menarik serta nyaman digunakan 
  • Memungkinkan sumberdaya komputer digunakan secara efisien 
  • Disusun atau diprogram untuk sedemikian rupa memungkinkan menerima perubahan/pengembangan baru yang efektif dan efisien, dengan pengujian sistem tanpa mengganggu layanan yang telah ada.
Tidak hanya itu, fungsi sistem operasi komputer dibagi dalam tiga bagian yaitu sebagai mediator, sebagai wadah, dan sebagai penerjemah.
  • Fungsi sistem operasi sebagai mediator, adalah sistem operasi komputer menjadi penengah atau penghubung perangkat keras komputer (hardware) dengan perangkat lunak komputer (sofware). 
  • Fungsi sistem operasi sebagai wadah adalah sistem operasi komputer tempat menginstal suatu aplikasi, dan sebaliknya. 
  • Fungsi sistem operasi komputer sebagai penerjemah adalah sistem operasi komputer melakukan proses penerjemahan bahasa program untuk ditampilkan ke layar monitar yang berupa kombinasi grafis dan teks. 
  BAB 8
STRUKTUR DAN FUNGSI CPU 
CPU

  • Central Processing Unit
  • Merupakan komponen terpenting dari sistem komputer
  • Komponen pengolah data berdasarkan instruksi yang diberikan kepadanya
  • Dalam mewujudkan fungsi dan tugasnya, CPU tersusun atas beberapa komponen
Komponen Utama CPU
  • Arithmetic and Logic Unit (ALU)
  • Control Unit
  • Registers
  • CPU Interconnections
Arithmetic and Logic Unit (ALU)
  • 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. Seperti istilahnya.
  • ALU terdiri dari dua bagian, yaitu unit aritmetika dan unit logika boolean, yang masing-masing memiliki spesifikasi tugas tersendiri.
Control Unit
  • Bertugas mengontrol operasi CPU dan secara keseluruhan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya.
  • Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi-instruksi dari memori utama dan menentukan jenis instruksi tersebut.
Registers
  • Media penyimpanan internal CPU yang digunakan saat proses pengolahan data.
  • Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya.
CPU Interconnections
  • Sistem koneksi dan bus yang menghubungkan komponen internal dan bus-bus eksternal CPU.
  • Komponen internal CPU yaitu ALU, unit kontrol dan register-register.
  • Komponen eksternal CPU : sistem lainnya, seperti memori utama, piranti masukan/keluaran.
Fungsi CPU

  • Menjalankan program-program yang disimpan dalam memori utama dengan cara mengambil instruksi-instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah.
  • Pandangan paling sederhana 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
  • Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori.
  • Terdapat registers dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC).
  • PC akan menambah satu hitungannya setiap kali CPU membaca instruksi.
  • Instruksi-instruksi yang dibaca akan dibuat dalam register instruksi (IR).
  • Instruksi-instruksi ii dalam bentuk kode-kode binner yang dapat direpresentasikan oleh CPU kemudian dilakukan aksi yang diperlukan.
Aksi CPU
  • CPU - Memori, perpindahan data dari CPU ke memori dan sebaliknya.
  • CPU - I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya.
  • Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data.
  • Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi.
Siklus Eksekusi
  • Instruction Address Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
  • Instruction Fetch (IF), yaitu membaca atau mengambil instruksi dari lokasi memorinya ke CPU.
  • Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
  • Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
  • Operand Fetch (OF), yaitu mengambil operand dari memori atau dari modul I/O.
  • Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
  • Operand Store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.
Fungsi Interupsi
  • Mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi.
  • Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU.
Tujuan Interupsi
  • Secara umum untuk manajemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul-modul I/O maupun memori.
  • Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU di samping itu kecepatan eksekusi masing-masing modul berbeda.
  • Dapat sebagai sinkronisasi kerja antar modul.
Kelas Sinyal Interupsi
  • Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya : aritmatika overflow, pembagian nol, operasi ilegal.
  • Timer, adalah interupsi yang dibangkitkan dengan pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler.
  • I/O, sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi.
  • Hardware Failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan partas memori.
Proses Interupsi
  • Dengan adanya mekanisme interupsi, prosesor dapat digunakan untuk mengeksekusi instruksi-instruksi lain.
  • Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya, maka modul ini akan mengirimkan permintaan interupsi ke prosesor.
  • Kemudian prosesor akan menghentikan eksekusi yang sedang dijalankannya untuk meng-handle routine interupsi.
  • Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi programnya kembali.
  • Saat sinyal interupsi diterima prosesor ada dua kemungkina tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak.
Interupsi ditangguhkan :
Apa yang dilakukan prosesor ?
  • Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data lain yang relevan.
  • Prosesor menyetel Program Counter (PC) ke alamat awal routine interrupt handler.
Sistem Operasi Kompleks
  • Interupsi ganda (multiple interrupt).
    • Misalnya suatu komputer akan menerima permintaan interupsi saat proses pencetakan dengan printer selesai, disamping itu dimungkinkan dari saluran komunikasi akan mengirimkan permintaan interupsi setiap kali data tiba.
  • Dapat diambil dua buah pendekatan untuk menangani interupsi ganda ini.
Pendekatan Interupsi Ganda
Ada 2 pendekatan :
  • Pendekatan ini disebut pengolahan interupsi berurutan/sekuensial.
    • Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
    • Setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru ditangani.
  • Pengolahan interupsi bersarang yaitu mendefinisikan prioritas bagi interupsi.
    • Interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu.

http://adi-lecture.blogspot.co.id/2013/02/struktur-dan-fungsi-cpu.html



BAB 9
Prosesor RISC, CISC, dan Super Saklar



1. RISC ( Reduced Instruction Set Computing )
 
·        Pengertian RISC

RISC, yang jika diterjemahkan berarti "Komputasi Kumpulan Instruksi yang Disederhanakan", merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor.


·        Karakteristik RISC
            1. Siklus mesin.
Krakteristik ini ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.
            2. Operasi.
Operasi ini terbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula control unit. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.
            3. Penggunaan mode pengalamatan sederhan.
Hampir sama dengan instruksi menggunakan pengalamatan register. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.
            4. Penggunaan format-format instruksi sederhana.
            Panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan pengaksesan operand register dapat dilakukan secara bersama-sama.



·        Contoh computer yang menggunakan arsitektur RISC



a.       Mikroprosesor Intel 960

b.      Itanium (IA64) dari Intel Corporation

c.       Alpha AXP dari DEC, R4x00 dari MIPS Corporation

d.      PowerPC dan Arsitektur POWER dari International Business Machine

RISC juga umum dipakai pada :

a.       Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale)

b.      SPARC dan UltraSPARC dari Sun Microsystems

c.       PA-RISC dari Hewlett-Packard

d.      mini IBM 807

e.       Motorola (PowerPC)

f.       SUN Microsystems (Sparc, UltraSparc).



·        Ciri-ciri RISC



a.       Instruksi berukuran tunggal

b.      Ukuran yang umum adalah 4 byte

c.       Jumlah pengalamatan data sedikit,

d.      Tidak terdapat pengalamatan tak langsung

e.       Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika

f.       Tidak terdapat lebih dari satu operand beralamat memori per instruksi

g.      Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.

h.      Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .



·       Kelebihan dan Kekurangan Teknologi RISC



A.   Kelebihan

1.         Berkaitan dengan penyederhanaan kompiler, dimana tugas pembuat kompiler untuk menghasilkan rangkaian instruksi mesin bagi semua pernyataan HLL. Instruksi mesin yang kompleks seringkali sulit digunakan karena kompiler harus menemukan kasus-kasus yang sesuai dengan konsepnya. Pekerjaan mengoptimalkan kode yang dihasilkan untuk meminimalkan ukuran kode, mengurangi hitungan eksekusi instruksi, dan meningkatkan pipelining jauh lebih mudah apabila menggunakan RISC dibanding menggunakan CISC.

2.         Arsitektur RISC yang mendasari PowerPC memiliki kecenderungan lebih menekankan pada referensi register dibanding referensi memori, dan referensi register memerlukan bit yang lebih sedikit sehingga memiliki akses eksekusi instruksi lebih cepat.

3.         Kecenderungan operasi register ke register akan lebih menyederhanakan set instruksi dan menyederhanakan unit kontrol serta pengoptimasian register akan menyebabkan operand-operand yang sering diakses akan tetap berada dipenyimpan berkecepatan tinggi.

4.         Penggunaan mode pengalamatan dan format instruksi yang lebih sederhana.

B.   Kekurangan

Kelemahan utama dari RISC ialah jumalh instruksi yang sedikit. Hal ini mengakibatkan untuk melakukan suatu tugas akan dibutuhkan instruksi yang lebih banyak bila dibandingkan CISC. Hasilnya ialah jumlah ukuran program akan lebih besar bila dibandingkan CISC. Penggunaan memori akan semakin meningkat dan lalu lintas instruksi antara CPU dan memori akan meningkat pula.

Prosesor RISC, yang berkembang dari riset akademis telah menjadi prosesor komersial yang terbukti mampu beroperasi lebih cepat dengan penggunaan luas chip yang efisien. Kemajuan mutakhir yang ditunjukkan oleh mikroprosesor PowerPC 601 dan teknologi emulasi yang antara lain dikembangkan oleh IBM memungkinkan bergesernya dominasi chip-chip keluarga-86 dan kompatibelnya. Program yang dihasilkan dalam bahasa simbolik akan lebih panjang (instruksinya lebih banyak).

1. Program berukuran lebih besar sehingga membutuhkan memori yang lebih banyak, ini tentunya kurang menghemat sumber daya.

2. Program yang berukuran lebih besar akan menyebabkan

a. Menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan lebih banyak byte-byte instruksi yang harus diambil.

b. Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page fault lebih besar


1.1 Pipelining RISC

·        Pengertian pipelining

Pipelining yaitu suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesan . Dengan cara ini, maka unit pemrosesan selalu bekerja.

Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam system komputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijalankan oleh microprocessor.



·        Pengenalan Pipeline

Prosesor Pipeline yang berputar adalah prosesor baru untuk arsitektur superscalar komputasi. Ini didasarkan pada cara yang mudah dan pipeline yang biasa, struktur yang dapat mendukung beberapa  ALU untuk lebih efisien dalam pengiriman dari bagian beberapa instruksi. Daftar nilai arus yang berputar di sekitar pipa, dibuat oleh dependensi data lokal. Selama operasi normal, 1 kontrol sirkuit tidak berada pada jalur yang kritis dan kinerjahanya dibatasi oleh data harga. Operasi mengalir dengan interval waktu sendiri. Ide utama dari Pipeline Prosesor yang berputar adalah circular uni-arah mengalir dari memori register oleh pusat waktu logika dan proses secara parallel dari operasi ALU.



·        Instruksi Pipeline




Mengambil instruksi dan membuffferkannya. Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut .Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya .

Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut.

Sebagai contoh :

Instruksi 1: ADD  AX, AX

Instruksi 2: ADD EX, CX



Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut (ID). Pada menerjemahkan instruksi  1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi  1 (EX), instruksi 2 diterjemahkan (ID). 
 
1.2 Perbedaan antara RISC dan CISC


·        CISC ( Complex Instruction Set Computing )


Complex Instruction Set Computing (CISC) atau kumpulan instruks ikomputasi kompleks. Adalah  suatu arsitektur computer dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori (load), operasi aritmatika, dan penyimpanan kedalam memori (store) yang saling bekerjasama.

Tujuan utama dari arsitektur CISC adalah melaksan akan suatu instruksi cukup dengan beberapa baris bahasa mesin yang relative pendek sehingga implikasinya hanya sedikit saja RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut. Arsitektur CISC menekankan pada perangkat keras karena filosofi dari arsitektur CISC yaitu bagaimana memindahkan kerumitan perangkat lunak kedalam perangkat keras.



·       Kelebihan dan kekurangan CISC



A.   Kelebihan

Filosofi arsitektur CISC adalah memindahkan kerumitan software ke dalam hardware. Teknologi pembuatan IC saat ini memungkinkan untuk menamam ribuan bahkan jutaan transistor di dalam satu dice. Bermacam-macam instruksi yang mendekati bahasa pemrogram tingkat tinggi dapat dibuat dengan tujuan untuk memudahkan programmer membuat programnya. Beberapa prosesor CISC umumnya memiliki microcode berupa firmware internal di dalam chip-nya yang berguna untuk menterjemahkan instruksi makro. Mekanisme ini bisa memperlambat eksekusi instruksi, namun efektif untuk membuat instruksi-instruksi yang kompleks. Untuk aplikasi-aplikasi tertentu yang membutuhkan singlechip komputer, prosesor CISC bisa menjadi pilihan.

CISC dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan.Dengan intruksi yang komplek prosesor CISC merupakan pendekatan dominan karena menghemat memori dibandingkan RISC.instruksi kompleks seperti CISC mempermudah dalam pembuatan program. Set instruksi yang lengkap diharapkan akan semakin membuat pengguna mikroprosesor leluasa menulis program dalam bahasa assembler yang mendekati bahasa pemrograman level tinggi.

B.     Kekurangan

Konsep ini menyulitkan dalam penyusunan compiler bahasa pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa mesin.



·       Perbedaan RISC dengan CISC dilihat dari segi instruksinya



A.   RISC ( Reduced Instruction Set Computer )

        Menekankan pada perangkat lunak, dengan sedikit transistor

        Instruksi sederhana bahkan single

        Load / Store atau memory ke memory bekerja terpisah

        Ukuran kode besar dan kecapatan lebih tinggi

        Transistor didalamnya lebih untuk meregiste rmemori



B.   CISC ( Complex Instruction Set Computer )

        Lebih menekankan pada perangkat keras, sesuai dengan takdirnya untuk pragramer.

        Memiliki instruksi komplek. Load / Store atau Memori ke Memori bekerja sama

        Memiliki ukuran kode yang kecil dan kecepatan yang rendah.

        Transistor di dalamnya digunakan untuk menyimpan instruksi – instruksi bersifat komplek.






3. Prosesor Supersaklar


·        Apa itu Prosesor Supersaklar ?



        Salah satu rancangan untuk meningkatkan kecepatan CPU

        Instruksi umum (arithmetic, load/store, conditional branch) dapat dimulai dan dilaksanakan secara independen. Sebuah inti prosesor yang mengeksekusi dua kali/lebih operasi scalar dalam bentuk paralel.

        Sebuah prosesor yang memungkinkan eksekusi yang bersamaan dari instruksi yang banyak pada tahap pipeline yang sama

        Dapat diterapkan untuk RISC & CISC

        Dalam praktek, biasanya RISC



·        Proses Superscalar :



a.       Memproses lebih dari satu instruksi per clock cycle

b.      Sangat dimungkinkan untuk memisahkan siklus fetch and execute

c.       Memiliki Buffers pada fase antara proses fetch and decode

d.      Memiliki unit eksekusi yang Parallel



·        Teknik Dalam Superskalar



Teknik yang  dapat dilakukan dengan metode superscalar ini adalah dalam hal memperkirakan pencabangan instruksi (brach prediction) serta perkiraan eksekusi perintah (speculative execution). Peristiwa ini sangat menguntungkan untuk program yang membutuhkan pencabangan  dari kelompok intruksi yang dijalankannya.





·       Cara Kerja Superskalar






Superscalar dapat mengeksekusi instruksi 1 (I1) dan instruksi 2 (I2) secara pararel dengan syarat:

a)      Keduanya instruksi yang sederhana I1 tidak melakukan proses jump.

b)      Tujuan (destination) dari I1 bukan sumber (source) dari I2

c)      Tujuan (destinition) dari I1 bukan tujuan (destination) dari I2.

d)     Jika kondisi diatas tidak dapat dipenuhi: I1 melakukan proses U-pipe I2 dijalankan di cycle berikutnya.



Contoh penerapanya:



a)      Load 4 1

b)      Store 2 1

c)      ALU 2 1

d)     Jump taken 9 3

e)      Jump not taken 3 1

f)       Call 9 3



·       Prosesor Intel x86 yang menggunakan arsitektur superscalar



a)      Intel Pentium,

b)      Intel Pentium Pro,

c)      Intel Pentium II,

d)     Intel Pentium III,

e)      Intel Itanium,

f)       Intel Xeon,

g)      Intel Pentium 4,

h)      Intel Pentium M,

i)        Intel Core dari Intel Corporation ; AMD K5, AMD K6, AMD Athlon, AMD Athlon 64, dan AMD Opteron.