Yang bukan termasuk ke dalam 5 kelompok instruksi-instruksi yang terdapat pada computer ias adalah…

                                                         Arsitektur KOmputer

Arsitektur Komputer adalah : Atribut-atribut sebuah system komputer yang tampakii  secara fisik (visible) dan komponen-komponen utama dari sebuah komputer yang memiliki dampak langsung terhadap eksekusi.

Organisasi Komputer adalah : Unit-unit operasional dari komponen utama komputer dan interkoneksinya yang merealisasikan spesifikasi arsitektural (set instruksi, jumlah bit, mekanisme I/O, dan teknik pengalamatan memori. Sedangkan atribut-atribut dari organisasionalnya meliputi signal kontrol, interface komputer dan peripheral, serta teknologi memori yang digunakan.

Komputer merupakan system yang kompleks yang berisi jutaan komponen elektronik elementer.

Struktur : Yaitu cara komponen-komponen saling terkait

–          CPU : mengontrol operasi komputer dan membentuk fungsi-fungsi pengolahan  datanya.

      CPU terdiri dari :

  • CU : mengontrol operasi CPU dan komputer secara keseluruhan
  • § Squencing Logic
  • § Control Unit Registers and Decoders
  • § Control Memory
    • ALU : membentuk fungsi-fungsi pengolahan data komputer
    • Register : Sebagai penyimpanan internal bagi CPU
    • CPU Interconections : sejumlah mekanisme komunikasi antara CU, ALU, dan register-register.

–          Memory Utama : Menyimpan data

–          I/O : Memindahkan data antar komputer dengan lingkungan luar

–          System Interconection : mekanisme komunikasi antara CPU, memori utama, dan I/O

Fungsi    : Operasi masing-masing komponen sebagai bagian dari struktur.

Secara umum terdapat empat buah fungsi komputer :

–          Pengolahan Data

–          Penyimpanan Data . Komputer harus dapat menyimpan data walaupun hanya untuk waktu yang pendek (sesaat), sekalipun hanya untuk sementara sedikitnya potongan data yang sedang dikerjakan oleh komputer pada suatu saat. File-file disimpan di dalam komputer untuk dapat dicari dan diperbaharui.

–          Pemindahan Data : Komputer harus dapat memindahkan data antara dirinya dengan dunia luar yang terdiri dari melayani sumber data atau tempat tujuan data. Ketika data dikirimkan atau diterima melalui sebuah perangkat I/O proses ini dikenal dengan proses input – output (I/O) dan perangkatnya disebut peripheral, jika proses ini dilakukan dengan jarak yang jauh atau dari remote device maka hal ini dikenal dengan komunikasi data

–          Kontrol : Bagi ketiga fungsi di atas harus dikontrol. Didalam komputer sebuah unit kontrol mengatur sumber daya komputer dan mengendalikan unjuk kerja bagian-bagian fungsional dalam memberikan respon terhadap instruksi-instruksi tersebut.

Von Neumann melakukan rancangan stored program concept yang dikenal dengan  IAS yang menjadi prototype bagi komputer untuk keperluan umum yang ada sekarang. Struktur utama komputer IAS ini terdiri dari :

– Main Memory : menyimpan data atau instruksi-instruksi

– ALU : memiliki kemampuan mengoperasikan data biner

– Control Unit : melakukan interprestasi instruksi-instruksi di dalam memori dan menyebabkannya instruksi instruksi itu di eksekusi.

– Peralatan I / O : peralatan ini di operasikan oleh kontrol unit.

Baik Control Unit maupun Alu berisi lokasi-lokasi penyimpanan yang disebut register :

– Memory Buffer Register (MBR)

– Instruction Register (IR)

– Instruction Buffer Register (IBR)

– Program Counter (PC)

– Acumulator (AC) dan Multiplier Quotiens (MQ)

Komputer IAS beroperasi secara Repetitif membentuk siklus instruksi. Komputer IAS memiliki 21 buah instruksi yang dapat dikelompokan sebagai berikut :

  • Data Transfer : memindahkan data antara memori dengan register-register  ALU atau antara dua register ALU
  • Uncoditional Branch : Biasanya control unit mengeksekusi instruksi-instruksi didalam urutan memori. Urutan ini dapat diubah dengan instruksi pencabangan guna memudahkan operasi repetitive.
  • Conditional Branch : Cabang dapat diubah tergantung pada suatu persyaratan, jadi memungkinkan titik keputusan.
  • Arithmetic : Operasi-operasi yang dibentuk oleh ALU
  • Address Modify : Memungkinkan alamat-alamat untuk dikomputasi di dalam ALU dan kemudian disisipkan kedalam instruksi-instruksi yang disimpan di dalam memori. Hal ini memungkinkan fleksibilitas  alamat yang tinggi pada program

Aplikasi desktop dengan system berbasis microprocessor saat ini meliputi :

–          pengolahan citra

–          pengenalan pembicaraan

–          konverensi video

–          pembuatan multimedia

–          anotasi suara dan video terhadap suatu file

Berikut ini beberapa teknik yang dirancang dan diterapkan untuk meningkatkankecepatan processor kontemporer :

Branch Prediction           : processor mengamati terlebih dahulu didalam software dan melakukan prediksi cabang atau kelompok instruksi yang perlu diprosesberikutnya. Apa bila processor hampir selalu dapat menebak secara benar processor itu dapat mengambil instruksi-instruksi yang benar dan menyimpannya didalam buffer, sehingga processor selalu berada dalam keadaan sibuk.

Data Flow Analysis         : processor melakuan analysis instruksi mana yang tidak tergantung pada asil atau data lainnya, untuk membuata penjadwalan yang optimum bagi instruksi-instruksi. Dalam kenyataannya instruksi dijadwalkan untuk dieksekusi bila telah siap dan tidak tergantung pada urutan program orisinal. Hal ini mencegah terjadinya delay pada processor.

Speculative Execution     : Dengan menggunakan predisksi cabang dan analisis aliran data beberapa processor mengeksekusi instruksi secara speculative terlebih dahulu sebelum waktu aktualnya dalam mengeksekusi program, dan menyimpan hasilnya dalam lokasi sementara.

Keseimbangan Kinerja

         Pada saat processor berhasil meningkatkan kecepatannya terlebih dahulu, komponen komputer penting lainnya (RAM, I/O equipment) tidak dapat mengikutinya. Akhirnya dibutuhkan sesuatu untuk mencari keseimbangan kinerja guna mengatasi perbedaan kemampuan dan kecepatan terhadap macam-macam komponen komputer. Ada beberapa cara untuk mengatasi masalah tersebut, seluruhnya di refleksikan pada rancangan komputer :

v  Meningkatkan jumlah bit yang dicari pada suatu saat tertentu dengan cara melebarkan DRAM, dan dengan menggunakan lintasan data bus yang lebih lebar.

v  Mengubah interface DRAM sehungga menjadi lebih efisien, dengan melibatkan cache atau pola pem-bufferan lainnya pada keeping DRAM.

v  Meningkatkan bandwith interkoneksi antara processor dengan memori dengan menggunakan hirarki bus yang lebih cepat untuk mem-buffer-kan dan membuat struktur aliran data.

Rancangan di atas tetap harus diperbaiki untuk mengatasi dua factor yang selalu timbul :

  1. Adanya perubahan kinerja pada berbagai processor, bus, memori, dan peripheral yang sangat berbeda antara satu dengan yang lainnya.
  2. Aplikasi-aplikasi baru dan perangkat-perangkat peripheral baru selalu berubah sesuai dengan kebutuhan system dalam bentuk frofil instruksi umum dan pola akses datanya.

Komponen-Komponen Komputer

Seluruh rancangan komputer secara virtual didasakan pada konsep yang dibuat oleh John Von Nemumann di Institut for Advanced Studies, Princeton. Rancangan ini disebut sebagai arsitektur Von Neumann dan didasari oleh tiga konsep utama :

  • Data dan instruksi-instruksi disimpan di memori baca tulis tunggal.
  • Memori penyimpanan data tersebut harus dapat dialamati dengan lokasi tidak tergantung pada jenis data yang berada di dalamnya.
  • Eksekusi instruksi terjadi dengan cara sequential (kecuali sengaja diubah secara eksplisit) dari instruksi yang satu ke instruksi berikutnya.

Fungsi Komputer

Fungsi dasar yang dibentuk oleh komputer adalah meng-eksekusi program. Program yang akan dieksekusi berisi sejumlah instruksi yang tersimpan di dalam memori. CPU melaksanakan tugas ini dengan cara mengeksekusi suatu program.

Pengolahan instruksi pada komputer terdiri dari dua langkah yaitu ; instruksi fetch (baca) dan instruksi execution (eksekusi). Eksekusi program merupakan pengulangan feth dan eksekusi instruksi

Siklus Fetch dan Execution

Pada awal setiap siklus instruksi, CPU membaca instruksi dari memori. Pada CPU yang umum suatu register yang disebut Program Counter dipakai untuk mengawasi instruksi yang akan dibaca selanjutnya. Dengan tidak ada perkecualian tertentu, CPU selalu menambahkan PC setiap kali membeca instruksi, sehingga CPU akan membaca instruksi selanjutnya secara berurutan (yaitu ; instruksi yang terletak pada alamat yang lebih tinggi berikutnya di dalam memori). Secara umum aksi yang dilakukan CPU dalam menginterprestasikan instruksi dibagi menjadi beberapa kategori :

q  CPU – Memori :  data dipindahkan dari CPU ke memori atau dari memori ke CPU

q  CPU – I/O          :  Data dapat dipindahkan ke atau dari dunia luar dengan pemindahan antara  CPU dan Modul I/O

q  Pengolahan Data : CPU dapat membentuk sejumlah operasi aritmetik atau logic terhadap data.

q  Control              :  Sebuah instruksi dapat mengubah urutan eksekusi secara ekspisit.

Berikut kegiatan atau aksi yang dilakukan oleh CPU :

  1. Instruction Address Calculation (iac) : Menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya hal ini melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya bila panjang setiap instruksi adalah 16 bit dan memori diorganisasikan sebagai byte-byte yang secara individual dapat dialamati dengan panjang   8  bit, maka tambahkan  2  ke alamat sebelumnya.
  2. Instruction Fetch (if) : Membaca instruksi dari lokasi memorinya ke dalam CPU.
  3. Instruction Operation Deciding (iod)  : Menganalisis instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
  4. Operand Address Calculation (oac)  : Bila operasi melibatkan referensi ke operand di dalam memori atau dapat diperoleh melalui I/O, maka tentukan alamat operand
  5. Operand Fetch (of)  :  Ambil operand dari memori dan baca operand itu dari I/O
  6. Data Operation (do)  :  Bentuk operasi yang ditunjukkan didalam instruksi
  7. Operan Store (os)  :  Tuliskan hasilnya ke dalam memori atau keluar I/O.

Interrupts

Secara virtual semua komputer menyediakan mekanisme yang membuat modul-modul lainnya (I/O, memori) dapat menginterupsi pengolahan normal CPU. Berikut pengelompokan kelas-kelas interrupt yang umum :

q Program  : dibangkitkan dengan beberapa kondisi yang terjadi sebagai hasil dari suatu eksekusi instruksi ; seperti arithmetic overflow, pembagian dengan nol, usaha mengeksekusi instruksi mesin yang illegal, dan referensi keluar ruang memori pengguna yang diperbolehkan.

q Timer    :  Dibangkitkan oleh timer didalam processor. Hal ini memungkinkan system operasi menjalankan fungsi-fungsi tertentu secara regular.

q I / O   :  Dibangkitkan oleh I/O controller, untuk memberi signal penyelesaian normal suatu operasi atau signal berbagai kondisi error.

q Hardware Failure  :  Dibangkitkan oleh kegagalan, seperti kegagalan  daya atau memory parity error.

Interrupt disediakan terutama sebagai cara untuk meningkatkan efisiensi pengolahan, karena sebagian besar perangkat eksternal jauh lebih lambat dibandingkan processor. Hal ini dapat membuat processor berada pada keadaan idle, lamanya keadaan ini bisa mencapai ratusan, ribuan, bahkan mungkin jutaan siklus instruksi

Multiple Interrupt

         Interrupt dalam jumlah yang banyak dapat saja terjadi. Dalam hal ini dapat diambil dua buah pendekatan bagi interrupt jamak ini

Pertama adalah dengan tidak mengizinkan terjadinya interrupt lain pada saat suatu interrupt sedang diproses (processor mengabaikan signal interrupt request untuk sementara) dan akan diperiksa oleh processor setelah processor mengizinkan lagi terjadinya interrupt. Setelah Routine Interrupt Handler  seleai, maka interrupt diizinkan sebelum processor menjalankan lagi program utama prngguna.

Kekurangan pendekatan di atas adalah : bahwa pendekatan ini tidak memperhitungkan prioritas relatif atau waktu kritis.

Kedua adalah : dengan mendefenisikan prioritas bagi interrupt dan mengizinkan interrupt berprioritas tinggi menginterupsi interrupt handler yang berprioritas lebih rendah.

Fungsi  I / O

        Sebuah modul I/O dapat bertukar data secara langsung dengan CPU. Seperti halnya CPU dapat menginisialisasi pembacaan dan penulisan dengan memori, menentukan alamat sebuah lokasi tertentu, CPU juga dapat membaca data dari atau menulis data ke modul I/O. Pada saat terjadi pertukaran data secara langsung antara I/O dengan memori, maka CPU memberikan otoritas kepada modul I/O untuk membaca dari memori atau menulis kememori, dan CPU bebas dari tanggung jawab pertukaran data tersebut (Direct Memory Access).

Struktur Interkoneksi

         Kumpulan lintasan yang menghubungkan berbagai modul yang ada pada komputer yang saling berkomunikasi disebut Struktur Interkoneksi. Struktur interkoneksi harus dapat mendukung jenis perpindahan berikut :

q Memori ke CPU : CPU membaca sebuah instruksi atau satuan data dari memori

q CPU ke Memori : CPU menuliskan sebuah satuan data ke memori

q I/O ke CPU : CPU membaca data dari perangkat I/O melalui modul I/O

q CPU ke I/O : CPU mengirimkan data ke perangkat I/O

q I/O ke memori atau : Bagi kedua kasus ini sebuah modul I/O diizinkan untuk saling Dari memori bertukar data secara langsung dengan memori tanpa melalui CPU / (DMA).

Interkoneksi BUS

       Bus merupakan lintasan komunikasi yang menghubungkan dua atau lebih perangkat. Karakteristik penting dari sebuah bus adalah ; bahwa bus merupakan media transmisi yang dapat digunakan bersama. Bila dua buah perangkat melakukan transmisi dalam waktu yang sama, maka signal-signalnya akan bertumpang tindih dan menjadi rusak. Dengan demikian hanya sebuah perangkat saja yang akan berhasil melakukan transmisi pada suatu saat tertentu. Sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU, memori, I/O) disebut bus system.

Struktur Bus

     Biasanya, sebuah bus system terdiri dari 50 hingga 100 saluran yang terpisah. Masing-masing saluran ditandai dengan arti dan fungsi khusus. Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi saluran bus dapat diklasifikasikan menjadi tiga kelompok ; data, alamat, dan saluran kontrol. Selain itu, mungkin terdapat saluran distribusi daya yang memberikan kebutuhan daya bagi modul yang terhubung.

      Saluran data memberikan lintasan bagi perpindahan data antara modul system. Saluran-saluran ini secara kolektif disebut bus data. Umumnya bus data terdiri dari 8, 16, 32 saluran, jumlah saluran dikaitkan dengan lebar bus data. karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit, maka jumlah saluran menentukan jumlah bit yang dapat dipindahkan pada suatu saat. Lebar bus data merupakan factor penting dalam menentukan kinerja system secara keseluruhan. Misalnya, bila bus data lebarnya 8 bit,  dan setiap instruksi panjangnya 8 bit, maka CPU harus dua kali mengakses modul memori dalam setiap siklus instruksinya.

     Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya, bila CPU akan membaca sebuah word (8, 16, atau 32 bit) data dari memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat. Jelas, lebar bus alamat menentukan kapasitas memori maksimum system. Selain itu, umumnya saluran alamat juga dipakai untuk mengalamati port-port I/O. baisanya, bit-bit berorde lebih tinggi dipakai untuk memilih lokasi memori atau port I/O pada modul. Misalnya, pada bus 8 bit, alamat 01111111 dan dibawahnya dapat mereferensi lokasi-lokasi didalam modul memori (modul 0) dengan 128 word memori, dan alamat 10000000 dan di atasnya berkaitan dengan perangkat-perangkat yang terhubung ke sebuah modul I/O modul 1).

       Saluran kontrol digunakan untuk mengontrol akses ke saluran alamat dan penggunaan data dan saluran alamat. Karena data dan saluran alamat dipakai bersama oleh saluran komponen, maka harus ada alat untuk mengontrol penggunanya. Signal-signal kontrol melakukan transmisi baik perintah maupun informasi pewaktuan diantara modul-modul system. Signal-signal pewaktuan menunjukkan validitas data dan informasi alamat. Signal-signal perintah menspesifikasikan operasi-operasi yang akan dibentuk. Umumnya saluran kontrol meliputi :

  • Memory Write : Menyebabkan data pada bus akan dituliskan ke dalam lokasi alamat.
  • Memory Read : Menyebabkan data dari lokasi alamat ditempatkan pada bus.
  • I/O Write : Menyebabkan data pada bus di-output-kan ke port I/O yang beralamat.
  • I/O Write : Menyebabkan data dari port I/O yang beralamat ditempatkan pada bus.
  • Transfer ACK : menunjukkan bahwa data telah diterima dari bus atau telah ditempatkan di bus.
  • Bus Request : menunjukkan bahwa modul memerlukan kontrol bus.
  • Bus Grant : menunjukkna bahwa modul yang melakukan request telah diberi hak mengontrol bus.
  • Interrupt Request : menandakan bahwa sebuah interrupt yang ditangguhkan telah diketahui.
  • Interrupt ACK  : memberitahukan bahwa interrupt yang ditangguhkan telah diketahui.
  • Clock : digunakan untuk mensinkronkan operasi-operasi.
  • Reset : menginisialisasi seluruh modul.

       Operasi bus adalah sebagai berikut : bila sebuah modul akan mengirimkan data ke modul lainnya, maka modul itu harus melakukan 2 hal:

(1)  memperoleh penggunaan bus, dan

(2)  memindahkan data melalui bus.

      Bila sebuah modul akan meminta data dari modul lainnya, maka modul itu harus (1) memperoleh penggunaan bus, dan (2) memindahkansebuah request ke modul lainnya melalui saluran kontrol dan saluran alamat yang sesuai. Kemudian modul harus menunggu modul kedua untuk mengirimkan data.

      Secara fisik, sebenarnya bus sistem merupakan sejumlah konduktor listrik parallel. Konduktor-konduktor ini berupa kawat logam yang berakhir pada kartu atau papan (printed-circuit board-PCB). Bus melintasi seluruh komponen system, yang masing-masingnya disambungkan ke beberapa atau semua saluran bus.

Hierarki Multiple-Bus

      Bila perangkat yang berjumlah sangat banyak dihubungkan ke bus, maka terjadi penurunan kinerja. Terdapat dua sebab utama:

  1. Secara umum, semakin banyak perangkat yang dihubungkan ke bus, semakin besar delay propagasinya. Delay ini menentukan waktu yang diperlukan perangkat untuk mengkoordinasi penggunaan bus. Pada saat kontrol bus sering melintasi satu perangkat ke perangkat lainnya, dealy propagasi ini akan sangat mempengaruhi kinerja.
  2. Bus akan menjadi penyumbat dengan semakin besarnya perpindahan data yang hampir mendekati kapasitas bus.

      Penyelesaian yang lebih efisien adalah dengan memanfaatkan satu bus expansi atau lebih. Interface bus expansi mem-buffer-kan transfer data antara bus sistem dengan pengontrol I/O pada bus expansi. Pengaturan seperti ini memungkinkan sistem mendukung berbagai macam perangkat I/O. Beberapa Perangkat I/O yang dapat disambungkan ke bus expansi seperti ethernet card, Small Computer System Interface (SCSI), serial port, usb, infra red.

    Cara lain penyelesaian ini adalah dengan membuat bus berkecepatan tinggi yang sangat terintegrasi dengan sistem, yang hanya memerlukan bridge antara bus processor dengan bus berkecepatan tinggi. Pengaturan ini sering dikenal sebagai arsitektur mezzanie. Hal ini dapat mendukung bus berkecepatan tinggi seperti Fiber Distributed Data Interface (FDDI) yang berkecepatan 100 Mbps, pengontrol work station video dan grafis, pengontrol interface bus lokal (SCSI), dan P1394 (bus berkecepatan tinggi yan dirancang khusus untuk mendukung perangkat I/O berkapasitas tinggi).

Elemen-elemen Rancangan Bus

       Ada beberapa parameter dasar yang dapat digunakan untuk mengklasifikasikan dan membedakan bus.

Jenis Bus

Saluran bus dapat dipisahkan menjadi dua tipe umum : dedicated dan multiplexed.

Bus Dedicated : alamat dan informasi data dapat ditransmisikan melalui sejumlah saluran yang sama dengan menggunakan saluran Address Valid Control. Pada awal pemindahan data, alamat ditempatkan pada bus dan address valid control di aktifkan. Pada saat ini setiap modul memiliki periode waktu tertentu untuk menyalin alamat dan menentukan apakah alamat merupakan modul beralamat. Kemudian alamat dihapus dari bus, dan koneksi bus yang sama digunakan untuk transfer pembacaan atau penulisan data berikutnya.

Multiplexed : Metode penggunaan saluran yang sama untuk berbagai keperluan ini dikenal sebagai Time Multiplexing.

Metode Arbitrasi

       Didalam sebuah sistem lebih dari satu modul  diperlukan untuk mengontrol bus. Karena pada satu saat hanya ada sebuah unit yang akan berhasil mentransmisikan data melalui bus, maka diperlukan beberapa metode (tersentralisasi (arbitrasi) dan terdistribusi). Pada metode tersentralisasi sebuah perangkat hardware yang dikenal sebagai pengontrol bus (arbitrer) bertanggung jawab atas alokasi waktu pada bus, dan menugaskan sebuah perangkat baik CPU atau I/O (membaca atau menulis) yang bertindak sebagai master dengan menggunakan perangkat-perangkat lainnya yang bertindak sebagai slave bagi pertukaran data yang khusus ini.

Pada metode terdistribusi ; tidak terdapat pengontrol sentral. Melainkan setiap modul terdiri dari access control logic dan modul-modul kerjasama untuk memakai bus secara bersama-sama.

Timing

      Timing berkaitan dengan cara terjadinya event yang dikoordinasikan pada bus. Bus meliputi sebuah saluran, waktu tempat pewaktu mentransmisikan rangkaian bilangan 1 dan 0 dalam durasi yang sama. Sebuah transmisi 1-0 dikenal sebagai siklus waktu atau siklus bus dan menentukan besarnya slot waktu

Pada timing Sinkron Signal-signal bus lainya dapat berubah pada ujung muka signal waktu dengan diikuti sedikit reaksi delay. Sebagian besar event mengisi satu siklus waktu.

 Dengan timing Asinkron terjadinya sebuah event pada bus mengikuti dan tergantung pada  event sebelumnya.

Lebar Bus

       Lebar bus data dapat mempengaruhi kinerja sistem; semakin lebar bus data semakin besar bit yang dapat ditransferkan pada suatu saat. Lebar bus alamat mempunyai pengaruh pada kapasitas sistem : semakin lebar bus alamat, semakin besar range lokasi yang dapat direferensi.

Jenis Transfer Data

      Suatu bus mendukung bermacam-macam transfer data, dan semua bus mendukung transfer baca (master ke slave) dan transfer tulis (slave ke master). Baik operasi baca ataupun tulis, mungkin juga terdapat delay bila hal itu diperlukan untuk melalui arbitrasi agar mendapatkan kontrol bus untuk sisa operasi (yaitu; untuk mengambil alih bus untuk melakukan request baca atau tulis, kemudian mengambil alih lagi bus untuk membentuk operasi baca atau tulis).

        Pada alamat dedicated dan bus-bus data, alamat ditaruh pada bus alamat dan tetap berada di sana selama data tersimpan pada bus data. Bagi operasi tulis, master menaruh data pada bus data begitu alamatnya telah stabil dan slave telah mempunyai kesempatan untuk mengetahui alamatnya. Pada operasi baca, slave menaruh data pada bus data begitu slave mengetahui alamatnya dan telah mengambil data.

PCI

      Peripheral Component Interconnect (PCI) merupakan bus yang tidak tergantung pada processor dan ber-bandwidth tinggi yang dapat berfungsi sebagai bus mezzanie atau bus peripheral. Standar yang berlaku saat ini mengizinkan penggunaan sampai di atas 64 saluran data pada kecepatan di atas 33 MHz, bagi kelajuan transfer data di atas 264 Mbyte/detik atau di atas 2,112 Gbps.

     PCI dirancang untuk mendukung bermacam-macam konfigurasi berbasis microprocessor tunggal maupun banyak dan dilengkapai dengan fungsi-fungsi untuk keperluan umum. PCI memanfaatkan timing sinkron dan pola arbitrasi tersentralisasi.

Struktur Bus

        PCI dapat dikonfigurasikan sebagai bus 32-bit atau 64-bit. Terdapat 50 saluran signal yang harus dimiliki oleh sebua PCI dan signal ini dibagi menjadi 5 kelompok fungsional sebagai berikut;

  1. System pins : Meliputi pin waktu dan reset
  2. Address and data pins : Meliputi 32 saluran yang time multiplexed bagi alamat dan data. Saluran lainnya di dalam kelompok ini digunakan untuk meng-interpretasi dan memvalidasi saluran –saluran signal yang membawa alamat dan data.
  3. Interface Control Pins : Mengontrol timing transaksi dan mengkoordinasikan antara inisiator dan target.
  4. Arbitration Pins  : Pin-pin ini bukan saluran yang dapat dipakai secara bersama-sama, melainkan masing-masing master PCI memiliki pasangan saluran arbitrasinya sendiri yang menghubungkannya secara langsung dengan arbitrer bus PCI
  5. Error Reporting Pins : Digunakan untuk melaporkan error parity dan error-error lainnya

       Selain itu spesifikasi PCI mendefenisikan 50 saluran signal optional yang dibagi dalam kelompok fungsional sebagai berikut ;

  1. Interrupt Pins   : Saluran ini disediakan bagi perangkat-perangkat PCI yang harus menghasilkan request untuk layanan. Seperti halnya arbitrasi, pin-pin tersebut bukan saluran yang dapat dipakai bersama, melainkan masing-masing perangkat PCI memiliki sendiri saluran interrupt ke pengontrol interrupt
  2. Cache Support Pins          : Pin-pin ini digunakan untuk mendukung memory pada PCI yang dapat di-Cache-kan di dalam processor atau perangkat lainnya. Pin-pin ini mendukung protokol-protokol Snoopy cache (Sebuah protokol yang mendistribusikan tanggung jawab untuk menjaga koherensi cache keseluruh pengontrol cache di dalam sebuah multi processor). Cache harus mengetahui kapan suatu blok yang berada di dalamnya dapat dipergunakan bersama. Pada saat aksi update dilakukan terhadap sebuah blok cache yang dapat dipergunakan bersama, maka aksi itu harus di umumkan ke semua cache dengan menggunakan mekanisme broadcast. Setiap pengontrol cache memiliki kemampuan “mengintip” (Snoop) jaringan dalam mengamati pemberitahuan broadcast ini, dan kemudian melakukan reaksi.
  3. 64 bit Bus Extention Pins  : Meliputi 32 saluran yang merupakan time multiplexed bagi alamat dan data dan dikombinasikan dengan saluran alamat/data untuk membentuk bus  alamat/data 64 bit.
  4. JTAG/Boundary Scan Pins               : Saluran –saluran signal ini mendkung pengujian prosedur-prosedur yang ditentukan dalam standard 149.1 IEEE.

Perintah-Perintah PCI

       Aktivitas bus terjadi dalam bentuk transaksi antara sebuah inisiator, atau master dengan sebuah target. Ketika memperoleh kontrol bus, master bus menentukan jenis transaksi yang akan terjadi berikutnya. Selama fase alamat dari suatu transaksi saluran C/BE dipakai untuk memberikan signal jenis transaksi. Perintah-perintah itu adalah ;

q Interrupt Acknowledge     : Perintah baca yang ditunjukan bagi perangkat yang berfungsi sebagai pengontrol interrupt pada bus PCI. Saluran alamat tidak digunakan selama fase alamat, dan saluran byte enable menunjukan saluran interrupt identifier untuk dikembalikan.

q Special Cycle     : Digunakan untuk inisiator melakukan broadcast pesan kesebuah target atau lebih.

q I/O Read dan I/O Write    : Digunakan untuk melakukan transfer data antara inisiator dengan pengontrol I/O. Setiap perangkat I/O memiliki ruang alamatnya sendiri, dan saluran alamat digunakan untuk menunjukkan perangkat tertentu dan untuk menspesifikasikan data yang akan ditransfer ke perangkat itu atau ditransfer dari perangkat tersebut.

q Memory Read : Digunakan untuk mensfesifikasikan transfer data, yang menempati satu siklus data atau lebih. Interprestasi dari perintah-perintah ini tergantung pada pengontrol memory pada bus PCI (mendukung protokol PCI untuk transfer antara memory dengan cache atau tidak).

q Memory Write  : Dipakai untuk mentransfer data dalam satu siklus waktu atau lebih ke memory.

q Memory Write adn Invalidate : Mentransfer data dalam satu siklus waktuatau lebih ke memory dan perintah ini juga menjamin bahwa sedikitnya satu saluran cache akan ditulis. Perintah ini juga mendukung fungsi cache tentang penulisan kembali saluran ke memory.

q Configuration Read and Configuration Write : Kedua perintah ini memungkin- kan suatu master membaca dan meng-update parameter-parameter konfigurasi pada perangkat yang terhubung ke PCI. Masing-masing perangkat PCI dapat meliputi hingga 256 buah register internal yang digunakan selama inisialisasi sistem untuk untuk mengkonfigurasi perangkat itu.

q Dual Address : Digunakan oleh inisiator untuk menunjukkan bahwa inisiator memakai pengalamatan 64 bit.

Berikut karakteristik-karakteristik penting system memory komputer.

q Lokasi

CPU, Internal (main memory), External

q Kapasitas (bit, byte, word)

q Satuan transfer (bit, byte, word, blok)

q Metode akses ( sequential access , direct access , random access ,  associative access)

q Kinerja ( Access time, cycle time, transfer rate)

q Tipe fisik ( semikonduktor, magnetic disk)

q Karakteristik fisik ( volatile / non volatile, errasible/ non errasible )

q Organisasi (hal ini sangat tergantung pada kapasitas, merk dan pabrik)

Tiga konsep yang saling berhubungan bagi internal memory yaitu;

q Word : satuan alamai bagi memory

q Addressible units : pada sejumlah system addressable unit adalah word. Namun terdapat systemyang mengizinkan pengalamatan pada tingkat byte

q Unit of transfer : Bagi memori utama satuan ini merupakan jumlah bit yang dapat dibaca atau yang dituliskan ke dalam memory pada suatu saat.

Salah satu perbedaan yang tajam terdapat pada sejumlah jenis memory adalah metode pengaccessan satuan data. Terdapat empat jenis metode ;

  1. Squential access : Memory diorganisasikan menjadi unit-unit data yang disebut record. Access harus dibuat dalam bentuk urutan linear yang spesifik. Informasi pengalamatan disimpan dipakai untuk memisahkan record-record dan untuk membantu proses pencarian.
  2. Direc access : Seperti halnya sequential access, direct access meliputi shared read/write mechcanism. Akan tetapi setiap blok dan record memiliki alamat yang unik berdasarkan lokasi fisik. Akses diperoleh dengan cara aksess langsung untuk mencapai kisaran umum (general vicinity), ditambah pencarian sequential, penghitungan, penantian untuk mencapai lokasi akhir.
  3. Random access : Setiap addressable location di dalam memory memiliki mekanisme yang unik dan pengalamatan yang secara fisik wired-in. waktu untuk mengakses lokasi tertentu tidak tergantung pada urutan akses sebelumnya dan bersifat konstan.
  4. associative : ini merupakan jenis random access memory yang memungkinkan seseorang untuk membandingkan lokasi bit yang diinginkan di dalam sebuah word untuk pencocokan tertentu, dan melakukan pembandingan ini bagi seluruh word secara simultan.

Dari sudut pandang pengguna, dua karakteristik penting memori adalah kapasitas dan unjuk kerja. Terdapat tiga buah parameter unjuk kerja yaitu ;

q Access time : access time merupakan waktu yang dibutuhkan untuk melakukan operasi baca atau tulis

q Memory cycle time : konsep ini terdiri dari access time dan ditambah dengan waktu yang diperlukan transient agar hilang pada saluran signal atau menghasilkan kembali data bila dibaca secara destruktif.

q Transfer rate : transfer rate adalah kecepatan data agar dapat ditransfer ke unit atau dari unit memory. Bagi non random access memory hubungan dibawah ini harus dipenuhi :

TN = TA +( N/R)

TN = Waktu rata-rata untuk membaca atau menulis N bit

TA = Waktu access rata-rata

N = Jumlah bit

R = Kecepatan transfer, dalam (bps)

     Berbagai jenis fisik memori telah digunakan. Dua jenis yang umum yang digunakan saat ini adalah jenis memory semikonduktor yang memakai teknologi SLI atau VLSI, dan memory magnetic disk atau pita.

     Karakteristk penyimpanan bagi memory adalah Volatile dan non Volatile. Pada volatile informasi akan rusak atau hilang secara alamai bila daya listrik dimatikan. Namun pada non volatile data dan informasi tetap akan tersimpan walaupun daya listrik telah dimatikan.

Hirarki Memory

      Untuk mendapatkan unjuk kerja terbaik, memory harus mampu mengikuti CPU. Artinya ketika CPU melaksanakan eksekusi instruksi kita tidak perlu menghentikan CPU untuk menunggu datangnya instruksi atau operand.

Jenis-jenis memory semikonduktor

     Semua jenis memory berikut adalah random access, yaitu word memory secara langsung di akses melalui logic pengalamatan wired-in.

      Random Access Memory (RAM) : bersifat volatile, sebuah RAM harus diberi daya yang konstan, bila daya tersebut terhenti maka data atau informasi akan hilang. Teknologi RAM dibagi menjadi dua yaitu ; static dan dinamik.

     RAM Statik ; Nilai-nilai biner disimpan dengan menggunakan konfigurasi gate logic flip-flop. RAM Dinamik ; RAM Dinamik disusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor, keberadaan dan ketidak beradaan muatan listrik pada kapasitor diinterpretasikan sebagai bilangan biner   0   dan   1.  Karena kapasitor memiliki kecenderungan alami untuk mengosongkan muatan listrik, maka RAM dinamik memerlukan pengisian muatan listrik secara periodic untuk memelihara penyimpanan data.

      Baik RAM static atau dinamik adalah volatile. Sel memori dinamik lebih sederhana dan lebih kecil dibandingkan dengan RAM static. Dengan demkian RAM dinamik lebih lebih rapat dan lebih murah dibandingkan dengan RAM static. RAM static memerlukan rangkaian pengosong muatan. Ram static umumnya lebih cepat dibandingkan dengan RAM dinamik.

     Read Only Memory (ROM)  :  Seperti namanya ROM ini berisi pola data yang permanen dan tidak dapat dirubah datanya (non volatile), jadi ROM hanya dapat dibaca datanya tetapi tidak bias menulis atau merubah datanya. Suatu aplikasi penting ROM adalah

  1. Microprogramming
  2. Subroutine-subroutine kepustakaan bagi fungsi-fungsi yang sering diperlukan
  3. Program-program system
  4. Tabel-tabel fungsi.

    Untuk keperluan yang berukran sedang, keuntungan ROM adalah bahwa data atau program secara permanen berada di dalamnya. ROM dibuat seperti halnya IC dengan data yang wired- in, dan pengisian datanyapun secara pabrikasi. Pengisian data pada ROM memerlukan biaya yang cukup tinggi dan tidak boleh terjadi kesalahan, karena jika terjadi kesalahan maka seluruh batch ROM yang ada harus dibuang.

    Programmable Read Only Memory (PROM) : Prom bersifat non volatile dan hanya bias ditulisi atau diisi datanya sekali saja. Pada PROM proses penulisan dibentuk secara elektris dan dapat diprogram setelah proses pabrikasi. PROM memberikan pleksibelitas dan kemudahan.

     Variasi ROM yang lainnya adalah ; Read Mostly Memory yang sangat berguna untuk aplikasi operasi pembacaan yang lebih sering dibandingkan dengan operasi penulisan. Namun dibutuhkan storage non volatile. Terdapat tiga macam Read Mostly Memory yaitu;

EPROM, EEPROM, dan FLASH Memory.

   Erasable Programmable Read Only Memory (EPROM) : memory ini dibaca dan ditulis secara elektris, seperti halnya PROM. Namun sebelum perasi penulisan, seluruh sel penyimpanan harus dihapus dengan menggunakan radiasi sinar ultra violet terhadap keeping paket untuk mendapatkan keadaan awal yang sama. Proses penghapusan data dapat dilakukan secara berulang-ulang dan setiap penghapusan memakan waktu kurang lebih 20 menit.

    Electrically Erasable  Programmable Read Only Memory (EEPROM) : Memory ini dapat ditulisi kapan saja tanpa harus menghapus dahulu isi data yang sebelumnya. Hanya bit atau byte yang beralamat yang akan di-update. Operasi write akan memakan waktu lebih lama dibandingkan dengan operasi read, sekitar beberapa ratus mili detik per byte. EEPROM menggabungkan kelebihan non-volatilitas dengan fleksibelitas kemampuan dapat di up-date dengan menggunakan bus control, alamat, dan saluran data yang biasa.

     Bentuk memory semikonduktor terbaru saat ini adalah Flash Memory : Memiliki kemampuan diprogram ulang sangat cepat, dan menggunakan technology penghapusan secara elektris dan hanya dengan waktu beberapa detik. Selain itu dimungkinkan juga penghapusan blok, akan tetapi Flash Memory tidak menyediakan penghapusan pada tingkat byte. Seperti halnya EPROM, Flash Memory hanya memakai sebuah transistor per byte, karena itu akan diperoleh kepadatan yang tinggi.

Cache Memory

Prinsip-prinsip

    Cache memori ditujukan untuk memberikan kecepatan memori yang mendekati kecepatan memori tercepat yang bisa diperoleh, sekaligus memberikan ukuran memori yang besar dari jenis memori semi konduktor.

Interrupt
Interupsi adalah suatu permintaan khusus kepada mikroprosesor untuk melakukan sesuatu. Bila terjadi interupsi, maka komputer akan menghentikan dahulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterupsi.

      Interrupt secara harfiah dalam bahasa Indonesianya diartikan sebagai selaan, menyela, atau menjegal, atau istilah kerennya disebut dengan interupsi. Interrupt bisa diibaratkan dalam kehidupan sehari-hari sebagai suatu proses berjalan, namun belum selesai proses tersebut melakukan tugasnya, sudah dilaksanakan lagi proses lainnya. Ibaratnya begini, ketika anda sedang melakukan suatu pekerjaan, katakanlah membaca sebuah buku, belum selesai buku tersebut anda tamatkan, lalu telepon anda berbunyi, sehingga anda melakukan percakapan terlebih dahulu melalui telepon tersebut. Setelah pembicaraan selesai, anda melanjutkan membaca buku tadi. menerima telepon di dalam kejadian tersebut disebut dengan menyela. Begitu juga dengan proses yang terjadi pada komputer. Apabila sebuah komputer melakukan prosesnya tanda ada gangguan, tentu komputer tersebut dapat menyelesaikan pekerjaannya dengan serius khusus untuk satu pekerjaan yang sedang dikerjakannya. Dalam kondisi demikian, komputer anda melakukan tugasnya yang disebut dengan primitive batch processing. Pekerjaan seperti ini digunakan oleh komputer pada komputer zaman awal-awal ditemukannya. Dimana komputer tidak bisa mengerjakan beberapa program sekaligus dalam waktu bersamaan, sampai satu pekerjaan selesai dikerjakan, maka baru dia bisa berpindah ke pekerjaan lainnya. Komputer terkini, memiliki kemampuan interrupt ini. Penulis melakukan pengetikkan naskah ini sambil mendengarkan musik yang terpasang pada notebook yang digunakan, tidak jarang komputer ini juga sambil terhubung dengan internet untuk membuka halaman web atau mengambil beberapa data yang ada di internet. Anda tentu juga tidak jarang mengalami hal dengan interrupt ini, katakanlah, ketika mengetikkan SMS ternyata ada telpon yang masuk, anda terima dulu telpon tersebut, lalu setelahnya anda lanjutkan pengetikan SMS tadi. Untuk memungkinkan terjadinya interrupt ini pada sistem komputer, CPU memiliki suatu jalur khusus terhadap suatu chip pengatur interrupt eksternal (bagian dari chipset), yang berisi database sederhana yang dikenal dengan interrupt vectors. Ketika sebuah interrupt terjadi pada chip, maka CPU menyimpan informasi terakhir yang dia kerjakan, berulah dia mengerjakan sesuai dengan informasi yang ada pada interrupt vector tesebut. Interrupt vector ini sebenarnya hanya sebuah nama pemanis yang berisi informasi tentang selaan yang terjadi, kalau dibelah lebih dalam lagi, isinya adalah berupa tabel yang berisi angka-angka). Pada interrupt vector inilah ditemukan kemana dan apa proses berikutnya yang harus dilaksanakan oleh komputer. Ketika pekerjaan interrupt tadi selesai dilaksanakan, maka komputer melakukan pelacakan kembali apa pekerjaan sebelumnya yang sedang dilaksanakannya. Prioritas dalam interrupt Dalam penerimaan suatu interrupt ini, komputer membagi interrupt tersebut dalam berbagai level, tergantung dari CPU yang digunakan. Misalnya pada komputer yang digunakan untuk pekerjaan yang cukup membutuhkan konsentrasi dari CPU, maka CPU tersebut memungkinkan untuk mengabaikan interrupt yang prioritasnya rendah, katakanlah pengetikkan yang dilakukan oleh seorang user melalui keyboard, namun komputer tersebut akan memberikan respon yang sangat cepat apabila terjadi gangguan pada memori yang digunakannya.