Sistem komputer
Sistem adalah Suatu kesatuan elemen yang saling berhubungan sehingga membentuk suatu kelompok dalam melaksanakan suatu tujuan pokok yang ditargetkan.Sistem komputer adalah elemen-elemen yang terkait untuk menjalankan suatu aktifitas dengan menggunakan komputer.Tujuan pokok dari sistem komputer adalah untuk mengolah data menjadi informasi.
Klasifikasi komputer
Klasifikasi Komputer dibagi dalam beberapa klasifikasi yaitu berdasarkan :
1. Jenis data yang diolah
2. Kemampuan Komputer
3. Ukuran fisik
4. Bidang Masalah
Klasifikasi komputer 1
Berdasarkan Jenis Data yang Diolah
a. Komputer Analog (Analog Computer)digunakan untuk mengolah data kualitatif
b. Komputer Digital (Digital Computer)digunakan untuk mengolah data kuantitatif
c. Komputer Hybrid (Hybrid Computer)Kombinasi komputer analog dan komputer digital
Klasifikasi komputer 2
Berdasarkan Kemampuan Komputer
• Small Scale Computer
• Medium Scale Computer
• Large Scale Computer
Berdasarkan Ukuran Fisik
• Komputer Mini (Mini Computer)
• Komputer Mikro (Micro Computer
Klasifikasi komputer 3
Berdasarkan Bidang Masalah
• Special Purpose Computer
• General Purpose Computer
Konfigurasi komputer
Komputer terbagi menjadi 3 bagian :
Hardware (Perangkat Keras)
1. Peralatan dalam bentuk fisik yang menjalankan sistem komputer.
2. Software (Perangkat Lunak)Rangkaian prosedur dan dokumentasi program yang berfungsi menyelesaikan masalah yang dikehendaki.
3. Brainware (Perangkat pikir)Orang yang menggunakan komputer
Konfigurasi hardware
Hardware terdiri dari :
• Input Device
• ProceAss Device
• Output Device
Konfigurasi hardware 1
Konfigurasi hardware 2
Keterangan gambar diatas :
CU (Control Unit)
Digunakan untuk mengatur dan menjalankan instruksi dalam urutan yang telah ditetapkan.
ALU(Arithmatic and Logic Unit)
Bagian perangkat keras yang berhubungan langsung dengan perhitungan arithmatic.
RAM (Random Access Memory)
Memori yang membaca dan menulis.
ROM (Read Only Memory)
Memori yang dapat membaca saja.
Konfigurasi hardware 3
Jenis-jenis RAM :
• SRAM ( Static RAM)
• DRAM ( Dinamic RAM)
• NVRAM
• FRAM ( Ferroeletric RAM)
Jenis-jenis ROM
• PROM ( Programmable ROM)
• EPROM (Eraseble ROM)
• EEEPROM (Electrically Eraseble Programable ROM
Konfigurasi hardware 4
Control Unit
Merupakan salah satu bagian dari sebuah CPU yang berfungsi untuk mengontrol dari data atau instruksi
Konfigurasi hardware 5
Arithmatic and Logic Unit
Memory, CU, ALU dihubungkan oleh Bus. BUS dibedakan menjadi 3 fungsi , yaitu :
1. Control BUS
2. Address BUS
3. Data BUS
Konfigurasi software
Klasifikasi Software terbagi menjadi :
Sistem Operasi (Operating Software)
perangkat lunak yang dihubungkan dengan pelaksanaan program dan koordinasi dari aktivitas sistem komputer.
Bahasa Pemrograman
bahasa komputer yang digunakab untuk menulis instruksi-instruksi program untuk melakukan suatu pekerjaan yang dilakukan oleh programer.
Program Paket
program komputer yang siap digunakan atau disebut juga program siap pakai.
Konfigurasi software(1)
Sistem Operasi (Operating System)
Fungsi dasar :
a) Menjadwalkan Tugas
b) Mengelola Sumberdaya perangkat lunak dan perangkat keras
c) Menjaga keamanan sistem
d) Memungkinkan pembagian sumberdaya untuk beberapa pemakai
e) Menyimpan catatan pemakai
f) Menangani interrupt
Konfigurasi software(2)
Bahasa Pemrograman
Adapun bahasa pemrograman yang dikenal saat ini:
1. Bahasa tingkat rendah (Low Level Language)
contoh : bahasa mesin dan bahasa rakitan
2. Bahasa tingkat menengah (Middle Level Language)
contoh : bahasa c
3. Bahasa tingkat tinggi ( High Level Language)
contoh : BASIC, COBOL, PASCAL, PL/I, ALGOL
Konfigurasi software(3)
Program Paket
Yaitu: program komputer yang siap digunakan atau diseut juga program siap pakai. Program paket digunakan untuk aplikasi bisnis secara umum, aplikasi khusus dibidang industri, aplikasi untuk meningkatkan produktifitas organisasi ayau perusahaan dan aplikasi untuk produktifitas perorangan.
Contoh : lotus 123, Dbase, dan Wordstar.
Konfigurasi brainware
Brainware dikelompokkan menjadi 3, yaitu:
Operator
seseorang yang mengoperasikan mesin komputer atau dapat pula dikatakan dengan seseorang yang menjelaskan tindakan untuk dilaksanakan.
Programer
seseorang yang bertugas merancang, menulis, dan menguji komputer
System Analyst
seseorang yang bertugas untuk melakukan spesifikasi penyelesaian masalah.
Peralatan sistem komputer
Peralatan Input
a. Keyboard
b. Mouse
c. Joystick
d. Scanner
e. Lightpen
f. Trackball
g. Touch Sreen
h. Magnetic Ink Character Reader (MICR)
i. Optical Character Reader (OCR)
j. Optical Mark Recognition (OMR) Reader
2. Perangkat Output
a. Monitor
b. Printer dan Plotter
c. Proyektor
d. microform
3. Peralatan Input / Output
a. Disk Drive
b. Tape Drive
c. Modem (Modulator Demudolator)
d. Ethernet
e. PCMCIA
f. Hub
g. Switch
h. Print Server
i. Input / Output Card (I / O Card)
j. SCII Card
k. Terminal
l. CD – Room (Compac Disk-Read Only memory)
m. CD-Read and writer
n. DVD-Room
o. DVD-Read and Writer
4. Peralatan Proses (CPU)
a. Mainboard (Motherboard)
b. I/O Card
c. SCII Card
d. VGA (Video Graphic Adapter) Card
e. Processor
f. RAM (Randon Accses Memory)
g. Catu Daya
5. Media Penyimpanan Data (Storage)
a. Floppy Disk
b. Harddisk
c. Tape
d. CD (Compact Disk)
e. DVD (Digital Video Disk)
f. Flashdisk
Monitor dapat dibagi menjadi beberpa sudut pandang :
1. Dari sudut pandang tampilan
a. Alphanumeric Display
b. Graphic display
2. Dari sudut pandang warna
a. Monochrome display
b. Color display
CGA ( Color Display Adapter)
EGA (Enhanced Graphic Array)
VGA (Video Graphic Adapter)
SVGA ( Super Video Graphic Adapter)
XVGA
Printer dan plotter
Alat yang digunakan untuk mencetak graphic, gambar dan data lain pada selembar kertas.
Printer terbagi menjadi 3 jenis:
1. Impact printer (printer ketuk)
2. Nonimpact printer (printer tanpa ketuk)
3. Thermal printer
Perkembangan komputer
a. Perkembangan Hardware
Kemajuan tekhnologi yang dibuat manusia telah mengubah bentuk dan fun gsi komputer dalam beberapa generasi yaitu :
1. Generasi Pertama (1946 - 1959)
Masih sangat sederhana dan komplek.
Ciri – ciri :
a. Ukuran fisiknya besar
b. Kecepatan proses lambat
c. Cepat panas
d. Membutuhkan listrik besar
f. Menggunakan tabung hampa udara
g. Memorinya menggunakan core storage
h. Masih menggunakan bahasa mesin
i. Menggunakan konsep storage program.
2. Generasi Kedua (1959 - 1965)
di buat untuk menyempurnakan bentuk dari komponen .
ciri – ciri :
a. Komponen telah menggunakan transistor
b. Ukuran fisiknya lebih kecil
c. Prosesnya lebih cepat
d. Tidak cepat panas
e. Lebih hemat listrik
f. Memory yang digunakan lebih besar
g. menggunakan bahasa tingkat tinggi
3. Generasi ke tiga (1965 - 1970)
Pada generasi ini penyimpana memorynya lebih besar dan diletakkan diluar.
ciri – ciri :
a. Komponen telah menggunakan IC
b. Kecepatan prosesnya lebih cepat
c. Membutuhkan listrik lebih hemat
d. Memorynya lebih besar, dapat menyimpan sampai ribuan karakter
e. Menggunakan penyimpanan luar
f. Dapat digunakan untuk multi processing dan multi programming
g. Telah dibuat alat input output
4. Generasi keempat (1970 - 1985)
dibuat dengan menggabungkan beberapa IC yang dipadatkan. ciri – ciri :
a. Telah menggunakan LSI
b. LSI dikembangkan menjadi VLSI
c. Chip yang digunakan telah berbentuk segi empat
b. Perkembangan Software
1. Bahasa Generasi Pertama
Program yang digunakan untuk menjalankan komputer masih menggunakan bahasa mesin. Contonya. 1101011010010010 diartikan ADD
2. Bahasa Generasi KeDua
Selain bahasa mesin masih ada bahasa rakitan yang biasanya dikenal bahasa generasi kedua . Bahasa rakitan disamakan dengan bahasa tingkat rendah karena kasih dibutuhkan suatu penerjemah untuk menjalankan perintahnya
3. Bahasa Generasi Ketiga
karena pada bahasa generasi kedua masih menimbulkan kesulitan maka dibutuhkan bahasa tingkat tinggi seperti COBOL, PASCAL,BASIC, proram ini disebut dengan bahasa generasi ketiga.
4. Bahasa Generasi Keempat
pembuatan bahasa generasi keempat ditujukan untuk mamudahkan pengguna pada proses pengambilan keputusan.
5. Bahasa Generasi Kelima
bahasa generasi kelima adalah bahasa pemograman yang digunakan pada expert system. Expert System dibuat untuk memudahkan seorang programer dalam membuat sebuah program seperti layaknya seorang pakar system
komponen sistem komputer
Unit pemroses (CPU)
Main memory
Perangkat masukan dan keluaran
Interkoneksi antar komponen
Pemproses (cpu)
Unit pemroses Mengendalikan operasi komputer dan melakukan fungsi pemrosesan data, yang terdiri dari ALU, CU, Register.
Berfungsi mengendalikan operasi komputer didalam pemrosesan data, menghitung, operasi logik dan mengirim data dengan membaca instruksi dari memori dan mengeksekusi.
Main memory
Main memory berfungsi menyimpan data dan program, dan bersifat volatile.
Memori dibagi menjadi 2 :
1. Main Memory
2. Secondary memory
Organisasi sistem computer
Boot
Penyimpanan data
Register
Cache Memory
Random Access Memory
Memory Ekstensi
Direct Memory Access
SISTEM BUS DAN DMA
A. Pengertian Bus
Bus merupakan lintasan komunikasi yang menghubungkan dua atau lebih perangkat. Bus merupakan media transmisi yang dapat digunakan bersama. Sejumlah perangkat yang terhubung ke bus, dan suatu signal yang ditransmisikan oleh salah satu perangkat ini dapat diterima oleh salah satu perangkat yang terhubung ke bus. Bila dua buah perangkat melakukan transmisi dalam waktu yang bersamaa, maka signal-signalnya akan bertumpang tindih dan menjadi rusak.
Umumnya sebuah bus terdiri dari sejumlah lintasan komunikasi atau saluran. Masing-masing saluran dapat mentransimisikan signal yang menunjukkan biner 1 dan biner 0. Serangkaian digit biner dapat ditransmisikan melalui saluran tunggal. Dengan mengumpulkannya beberapa saluran dari sebuah bus dapat digunakan mentransmisikan digit biner secara bersamaan (secara paralel). Misalnya sebuah satuan data 8 bit dapat ditransmisikan melalui bus 8 saluran.
Bus terdiri dari 3:
1. Bus Data
Saluran yang memberikan lintasan bagi perpindahan data antara dua modul system. 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 diindahkan pada suatu saat. Lebar bus data merupakan factor penting dalam menentukan kinerja system secara keseluruahan. Bila bus data lebarnya 8 bit, dan setiap instruksi panjangnya 16 bit, maka CPU harus 2 kali mengakses modul memori dalam setiap siklus instruksinya.
2. Bus Alamat
Digunakan untuk menandakan sumber atau tujuan data pada bus data, misalnya CPU akan membaca sebuah word (8, 16, 32 bit) data dari memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat. Lebar bus alamat menentukan kapasitas memori maksimum sitem. Selain itu umumnya saluran alamt juga digunakan untuk mengalamati port-port I/O.
3. Bus Kontrol
Digunakan untuk mengontrol akses ke saluran alamat, penggunaan data dan saluran alamat. Karena data dan saluran alamat digunakan bersama oleh seluruh komponen, maka harus ada alat untuk mengontrol penggunaannya. Signal-signal kontrol melakukan transmisi baik perintah mauun informasi pewaktuan diantra modul-modul system. Signal-signal pewaktuan menunjukkan validitas data dan informasi alamat.
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 Read : 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. Interrupt Request : menandakan bahwa sebuah interrupt ditangguhkan. Interrupt ACK : memberitahukan bahwa interrupt yang ditangguhkan telah diketahui. Clock : digunakan untuk mensinkronkan operasi-operasi. Reset : menginisialisasi seluruh modul.
Beberapa bus utama dalam sistem komputer modern adalah sebagai berikut:
• Bus prosesor. Bus ini merupakan bus tercepat dalam sistem dan menjadi bus inti dalam chipset dan motherboard. Bus ini utamanya digunakan oleh prosesor untuk meneruskan informasi dari prosesor ke cache atau memori utama ke chipset kontrolir memori (Northbridge, MCH, atau SPP). Bus ini juga terbagi atas beberapa macam, yakni Front-Side Bus, HyperTransport bus, dan beberapa bus lainnya. Sistem komputer selain Intel x86 mungkin memiliki bus-nya sendiri-sendiri. Bus ini berjalan pada kecepatan 100 MHz, 133 MHz, 200 MHz, 266 MHz, 400 MHz, 533 MHz, 800 MHz, 1000 MHz atau 1066 MHz. Umumnya, bus ini memiliki lebar lajur 64-bit, sehingga setiap detaknya ia mampu mentransfer 8 byte.
• Bus AGP (Accelerated Graphic Port). Bus ini merupakan bus yang didesain secara spesifik untuk kartu grafis. Bus ini berjalan pada kecepatan 66 MHz (mode AGP 1x), 133 MHz (mode AGP 2x), atau 533 MHz (mode AGP 8x) pada lebar jalur 32-bit, sehingga bandwidth maksimum yang dapat diraih adalah 2133 MByte/s. Umumnya, bus ini terkoneksi ke chipset pengatur memori (Northbridge, Intel Memory Controller Hub, atau NVIDIA nForce SPP). Sebuah sistem hanya dapat menampung satu buah bus AGP. Mulai tahun 2005, saat PCI Express mulai marak digunakan, bus AGP ditinggalkan.
• Bus PCI (Peripherals Component Interconnect). Bus PCI tidak tergantung prosesor dan berfungsi sebagai bus peripheral. Bus ini memiliki kinerja tinggi untuk sistem I/O berkecepatan tinggi. Bus ini berjalan pada kecepatan 33 MHz dengan lebar lajur 32-bit. Bus ini ditemukan pada hampir semua komputer PC yang beredar, dari mulai prosesor Intel 486 karena memang banyak kartu yang menggunakan bus ini, bahkan hingga saat ini. Bus ini dikontrol oleh chipset pengatur memori (northbridge, Intel MCH) atau Southbridge (Intel ICH, atau NVIDIA nForce MCP).
• Bus PCI Express (Peripherals Component Interconnect Express)
• Bus PCI-X (Peripherals Component Interconnect Express)
• Bus ISA (Industry Standard Architecture)
• Bus EISA (Extended Industry Standard Architecute)
• Bus MCA (Micro Channel Architecture)
• Bus SCSI (Small Computer System Interface]]. Bus ini diperkenalkan oleh Macintosh pada tahun 1984. SCSI merupakan antarmuka standar untuk drive CD-ROM, peralatan audio, harddisk, dan perangkat penyimpanan eksternal berukuran besar
• Bus USB (Universal Serial Bus). Bus ini dikembangkan oleh tujuh vendor komputer, yaitu Compaq, DEC, IBM, Intel, Microsoft, NEC, dan Northern Telecom. Bus ini ditujukan bagi perangkat yang memiliki kecepatan rendah seperti keyboard, mouse, dan printer karena tidak akan efisien jika perangkat yang berkecepatan rendah dipasang pada bus berkecepatan tinggi seperti PCI. Keuntungan yang didapat dari bus USB antara lain : tidak harus memasang jumper, tidak harus membuka casing untuk memasang peralatan I/O, hanya satu jenis kabel yang digunakan, dapat mensuplai daya pada peralatan I/O, tidak diperlukan reboot.
• Bus 1394. Bus yang mempunyai nama FireWire memiliki kecepatan tinggi diatas SCSI dan PCI. Bus 1394 sangat cepat, murah, dan mudah untuk diimplementasikan. Bus ini tidak hanya populer perangkat komputer tetapi juga perangkat elektronik seperti kamera digital, VCR, dan televisi.
A. Pengertian Sistem
Sistem adalah suatu kesatuan yang terdiri dari komponen atau elemen yang saling terhubung untuk memudahkan aliran informasi, materi atau energi.
B. Pengertian DMA
DMA adalah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO).
Gambar 6-2. DMA Interface.
C. Sistem Bus
Bila sebuah modul akan mengirimkan data ke modul lainnya, maka modul itu harus melakukan dua 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 memindahkan sebuah request ke modul lainya melalui saluran kontrol dan saluran alamat yang sesuai. Kemudian modul harus menunggu modul kedua untuk mengirimkan data.
Bentuk fisik Bus
Bus system merupakan sejumlah konduktor listrik parallel. Konduktor-konduktor ini berupa kawat logam yang berakhir pada kartu atau papan PCB. Bus melintasi seluruh komponen system yang masing-masing disambungkan ke beberapa atau semua saluran bus.
Masalah dalam Bus Tunggal/ Single
Bila perangkat yang berjumlah sangat banyak dihubungkan ke bus, maka akan terjadi penurunan kinerja. Penyebab utama : semakin banyak perangkat yang dihubungkan ke bus, semakin besar delay propagasinya. Delay ini menentukan waktu yang diperlukan perangkat untuk mengkoordinasi pengguna bus
Bus akan menjadi tersumbat dengan semakin besarnya perpindahan data yang hampir mendekati kapasitas bus. Sampai tingkat tertentu, masalah ini dapat diatasi dengan memakai bus-bus yang lebih lebar. (misalnya meningkatkan bus data dari 32 menjadi 64 bit) Namun karena kelajuan data disebabkan oleh perangkat-perangkat yang terhubung (misalnya pengontrol grafis dan video, interface jaringan) berkembang dengan cepat maka dalam perlombaan ini besar kemungkinan bus tunggal akan menderita kekalahan.
Bus local yang menghubungkan prosesor dengan cache memory dan bus local dapat mendukung sebuah perangkat local atau lebih. Pengontrol cache memory tidak hanya menghubungkan cache dengan bus local itu saja, namun juga dengan bus system yang terhubung dengan seluruh modul memory utama. Manfaat struktur cache melindungi prosesor dari keharusan seringnya mengakses memori utama, sehingga memori utama dapat dipindahkan dari bus local ke bus sitem. Dengan cara ini, transfer I/O ke memori utama dan transfer dari memoriutama yang melintasi bus system tidak mengganggu aktivitas prosesor.
Sangat mungkin untuk menghubungkan pengontrol I/O secara langsung dengan bus system. Penyelesaian yang lebih efisien untuk masalah ini adalah dengan memanfaatkan satu bus ekspansi atau lebih. Interface bus ekspansi mem-buffer-kan transfer data antara bus system dengan pengontrol I/O pada bus ekspansi.
Contoh : Perangkat I/O yang dapat disambungkan ke bus ekspansi. Koneksi jaringan meliputi LAN misalnya koneksi Ethernet 10 Mbps dan koneksi ke WAN seperti jaringan paket switching, SCSI (Small Computer System Interface) merupakan jenis bus yang digunakan untuk mendukung disk drive local dan peripheral lainnya. Sebuah serial port dapat dipakai untuk mendukung sebuah printer atau scanner.
Arsitektur bus tradisional cukup efisien namun mulai mengalami penurunan dengan semakin tingginya kinerja pada perangkat I/O.
Untuk menjawab meningkatnya kebutuhan ini, penyelesaianya membuat bus berkecepatan tinggi yang sangat terintegrasi dengan system, yang hanya memerlukan bridge antara bus prosesor dengan bus berkecepatan tinggi.
Keuntungan pengaturan bus berkecepatan tinggi menyebabkan perangkat yang berkapasitas besar menjadi lebih terintegrasi dengan prosesor dan sekaligus tidak tergantung lagi terhadap prosesor.
Jenis-jenis Bus
Dedicated : Saluran data dan alamat terpisah
Multiplexed : 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? diaktifkan. Pada saat ini setiap modul memiliki periode waktu tertentu untuk menalin alamt dan menentukan apakah alamat tersebut merupakan modul beralamat. Kemudian alamat dihapus dari bus, dan koneksi bus yang sam adigunakan untuk transfer data pembacaan atau penulisan berikutnya. Metoda penggunaan saluran yang untuk berbagai keperlua ini dikenal sebagai time multiplexing.
Keuntungan : hanya memerlukan saluran sedikit sehingga menghemat ruang dan biaya.
Kerugiannya : diperlukan rangkain yang lebih kompleks , penurunan kinerja yang cukup besar.
Bus Arbitrasi
Didalam semua system kecuali system yang paling sederhana, lebih dari satu modul diperlukan untuk mengontrol bus. Misalnya I/O mungkin diperlukan untuk membaca atau menulis secara langsung ke memori, dengan tanpa mengirimkan data ke CPU. Karena pada satu sat hanya sebuah unit yang berhasil mentransmisikan data melalui bus, maka diperlukan beberapa metode arbitrasi.
Metode Arbitrasi digolongkan sebagai metode tersentralisasi dan metode terdistribusi.
Tersentralisasi : sebuah perangkat hardware yang dikenal sebagai pengontrol bus atau arbitrer bertanggung jawab atas alokasi waktu pada bus. Mungkin perangkat berbentuk modul atau bagian CPU yang terpisah
Terdistribusi : tidak terdapat pengontrol sentral, setiap modul terdiri dari acces control logic dan modul-modul bekerja sama untuk memakai bus bersama-sama
Timing
Timing berkaitan dengan cara terjadiya event dikoordinasikan pada bus. Dengan timing yang synchronous, terjadinya event pada bus ditentukan oleh sebuah clock. Bus meliputi sebuah saluran, waktu tempat timing 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. Semua perangkat lainnya pada bus dapat membaca saluran waktu, dan semua event dimulai pada awal siklus waktu.
Timing Sinkron
Signal bus lainya dapat berubah pada ujung muka signal waktu (dengan sedikit reaksi delay). Sebagian besar event mengisi suatu siklus waktu. CPU mengeluarkan signal baca dan menempatkan alamat memori pada bus alamat, CPU mengeluarkan signal awal untuk menandai keberadaan alamat dan informasi control pada bus. Modul memori mengetahui alamat itu, dan setelah delay 1 siklus menempatkan data dan signal balasan pada bus.
Timing sinkron
Terjadinya event pada bus mengikuti dan tergantung pada event sebelumnya. CPU menempatkan alamat dan membaca signal bus. Setelah berhenti untuk memberi kesempatan signal ini menjadi stabil, CPU mengeluarkan signal MSYN (master syn) yang menandakan keberadaan alamat yang valid dan signal control. Modul memori memberikan respons dengan data dan signal SSYN (slave syn) yang menunjukan respon
Timing sinkron lebih mudah untuk diimplementasikan dan ditest. Namun timing ini kurang flexible dibandingkan dengan timing asinkron. Karena semua perangkat pada bus sinkron terkait dengan kelajuan pewaktu yang tetap, maka system tidak dapat memanfaatkan peningkatan kinerja. Dengan menggunakan timing asinkron, campuran antara perangkat yang lamban dan cepat, baik dengan menggunakan teknologi lama maupun baru, dapat menggunakan bus secara bersama-sama.
Lebar Bus
Lebar bus dapat mempengaruhi kinerja system, semakin lebar bus data, semakin besar bit yang dapat ditransferkan pada suatu saat. Lebar bus alamat mempunyai pengaruh pada kapasitas system : semakin lebar bus alamat, semakin besar range lokasi yang dapat direferensi.
PCI
Pheripheral Component Interconnect (PCI) merupakan bus yang tidak tergantung prosessor berbandwidth tinggi yang dapat berfungsi sebagai bus peripheral atau bus mezzanine. PCI memberikan system yang lebih baik bagi subsistem I/O berkecepatan tinggi.. PCI dirancang untuk mendukung bermacam-macam konfigurasi berbasis microprocessor, baik system microprocessor tunggal maupun jamak. PCI memanfaatkan timing sinkron dan pola arbitrasi tersentralisasi.
PCI Saluran Bus.
Signal-signal ini dibagi menjadi kelompok-kelompok :
1. Sistem pins
Meliputi pin waktu dan reset. Address dan data : meliputi 32 saluran yang time multiplexed bagi alamat dan data. Saluran lainya untuk menginterpretasi dan mevalidasi saluran-saluran signal yang membawa alamat dan data.
2. Interface Control
Mengontrol timing transaksi dan mengkoordinasikan antara inisiator dan target.
3. Arbitration
Masing-masing master PCI memiliki pasangan saluran arbitrasinya sendiri yang menghubungkannya secara langsung dengan arbiter bus PCI.
4. Error repots
Melaporkan error parity dan eror lainnya.
5. Interupt pins
Saluran signal ini disediakan bagi perangkat-perangkat PCI yang harus menghasilkan request untuk layanan. Pin-pin ini pun bukan saluran yang dapat dipakai bersama, melainkan masing-masing PCI memilih saluran interrupt ke pengontrol interrupt.
6. Cache Support
Diperlukan untuk mendukung memori pada PCI yang dapat di cache kan di dalam prosesor 64 bit.
7. Bus Extension.
Meliputi 32 saluran yang merupakan time-multiplexed bagi alamat dan data dan dikombinasikan dengan saluran alamat/data untuk membentuk bus alamat/data 64 bit. Saluran lainnya di dalam kelompok ini digunakan untuk menginterpretasi dan memvalidasi saluran-saluran signal yang membawa alamat dan data. Terakhir terdapat dua saluran yang memungkinkan dua buah perangkat PCI untuk menyetujui penggunaan kemampuan 64 bit
8. JTAG/Boundary Scan
Saluran signal untuk pengujian prosedur-prosedur yang ditentukan dalam standard 149.1.IEEE.
D. Sistem DMA
Transfer DMA
Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan/ destinasi transfer, dan jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke DMA controller, sehingga DMA controller dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamat-alamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.
Tiga langkah dalam transfer DMA:
1. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari device, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang di transfer.
2. DMA controller memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.
3. DMA controller meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.
Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama adalah metode yang sangat baku dan simple disebut HALT, atau Burst Mode DMA, karena DMA controller memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst. Selagi transfer masih dalam progres, sistem mikroprosessor di-set idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.
Metode yang kedua, mengikut-sertakan DMA controller untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus. Metode DMA ini disebut cycle stealing mode. Cycle stealing DMA lebih kompleks untuk diimplementasikan dibandingkan HALT DMA, karena DMA controller harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus terbuka.
Gambar 6-3. DMA Controller.
Handshaking
Proses handshaking antara DMA controller dan device controller dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. Device controller mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan DMA controller memasukkan alamat-alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledge diterima, device controller mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request.
Hal ini berlangsung berulang-ulang sehingga disebut handshaking. Pada saat DMA controller mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke DMA controller meningkatkan performa sistem secara keseluruhan.
Cara-cara Implementasi DMA
Dalam pelaksanaannya, beberapa komputer menggunakan memori fisik untuk proses DMA , sedangkan jenis komputer lain menggunakan alamat virtual dengan melalui tahap "penerjemahan" dari alamat memori virtual menjadi alamat memori fisik, hal ini disebut direct virtual-memory address atau DVMA.
Keuntungan dari DVMA adalah dapat mendukung transfer antara dua memory mapped device tanpa intervensi CPU.
Interface Aplikasi I/O
Ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk, sebenarnya aplikasi tersebut harus dapat membedakan jenis disk apa yang akan diaksesnya. Untuk mempermudah pengaksesan, sistem operasi melakukan standarisasi cara pengaksesan pada peralatan I/O. Pendekatan inilah yang dinamakan interface aplikasi I/O.
Interface aplikasi I/O melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan I/O ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas yang umum ini, maka akan lebih mudah untuk membuat fungsi-fungsi standar (interface) untuk mengaksesnya. Lalu kemudian adanya device driver pada masing-masing peralatan I/O, berfungsi untuk enkapsulasi perbedaan-perbedaan yang ada dari masing-masing anggota kelas-kelas yang umum tadi. Device driver mengenkapsulasi tiap -tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum tadi (interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller dari subsistem I/O pada kernel. Karena hal ini, subsistem I/O dapat bersifat independen dari hardware.
Karena subsistem I/O independen dari hardware maka hal ini akan sangat menguntungkan dari segi pengembangan hardware. Tidak perlu menunggu vendor sistem operasi untuk mengeluarkan support code untuk hardware-hardware baru yang akan dikeluarkan oleh vendor hardware.
Peralatan Block dan Karakter
Peralatan block diharapkan dapat memenuhi kebutuhan akses pada berbagai macam disk drive dan juga peralatan block lainnya. Block device diharapkan dapat memenuhi/mengerti perintah baca, tulis dan juga perintah pencarian data pada peralatan yang memiliki sifat random-access.
Keyboard adalah salah satu contoh alat yang dapat mengakses stream-karakter. System call dasar dari interface ini dapat membuat sebuah aplikasi mengerti tentang bagaimana cara untuk mengambil dan menuliskan sebuah karakter. Kemudian pada pengembangan lanjutannya, kita dapat membuat library yang dapat mengakses data/pesan per-baris.
Peralatan Jaringan
Karena adanya perbedaan dalam kinerja dan pengalamatan dari jaringan I/O, maka biasanya 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.
Jam dan Timer
Adanya jam dan timer pada hardware komputer, setidaknya memiliki tiga fungsi, memberi informasi waktu saat ini, memberi informasi lamanya waktu sebuah proses, sebagai trigger untuk suatu operasi pada suatu waktu. Fungsi fungsi ini sering digunakan oleh sistem operasi. Sayangnya, system call untuk pemanggilan fungsi ini tidak di-standarisasi antar sistem operasi Hardware yang mengukur waktu dan melakukan operasi trigger dinamakan programmable interval timer. Dia dapat di set untuk menunggu waktu tertentu dan kemudian melakukan interupsi. Contoh penerapannya ada pada scheduler, dimana dia akan melakukan interupsi yang akan memberhentikan suatu proses pada akhir dari bagian waktunya.
Sistem operasi dapat mendukung lebih dari banyak timer request daripada banyaknya jumlah hardware timer. Dengan kondisi seperti ini, maka kernel atau device driver mengatur list dari interupsi dengan urutan yang duluan datang yang duluan dilayani.
Blocking dan Nonblocking I/O
Ketika suatu aplikasi menggunakan sebuah blocking system call, eksekusi aplikasi itu akan diberhentikan untuk sementara. aplikasi tersebut akan dipindahkan ke wait queue. Dan setelah system call tersebut selesai, aplikasi tersebut dikembalikan ke run queue, sehingga pengeksekusian aplikasi tersebut akan dilanjutkan. Physical action dari peralatan I/O biasanya bersifat asynchronous. Akan tetapi, banyak sistem operasi yang bersifat blocking, hal ini terjadi karena blocking application lebih mudah dimengerti dari pada nonblocking application.
Kernel I/O Subsystem
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 bahasadalah I/O scheduling, buffering, caching, spooling, reservasi device, error handling.
I/O Scheduling
Untuk menjadwalkan 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. Ini adalah contoh sederhana untuk menggambarkan definisi di atas. Jika sebuah arm disk terletak di dekat permulaan disk, dan ada tiga aplikasi yang memblokir panggilan untuk membaca untuk disk tersebut. Aplikasi 1 meminta sebuah blok dekat akhir disk, aplikasi 2 meminta blok yang dekat dengan awal, dan aplikasi 3 meminta bagian tengah dari disk. Sistem operasi dapat mengurangi jarak yang harus ditempuh oleh arm disk dengan melayani aplikasi tersebut dengan urutan 2, 3, 1.
Pengaturan urutan pekerjaan kembali dengan cara ini merupakan inti dari I/O scheduling. Sistem operasi mengembangkan implementasi scheduling dengan menetapkan antrian permintaan untuk tiap device. Ketika sebuah aplikasi meminta sebuah blocking sistem I/O, permintaan tersebut dimasukkan ke dalam antrian untuk device tersebut. Scheduler I/O mengatur urutan antrian untuk meningkatkan efisiensi dari sistem dan waktu respon rata-rata yang harus dialami oleh aplikasi. Sistem operasi juga mencoba untuk bertindak secara adil, seperti tidak ada aplikasi yang menerima service yang buruk, atau dapat seperti memberi prioritas service untuk permintaan penting yang ditunda. Contohnya, pemintaan dari subsistem mungkin akan mendapatkan prioritas lebih tinggi daripada permintaan dari aplikasi. Beberapa algoritma scheduling untuk disk I/O akan dijelaskan ada bagian Disk Scheduling.
Satu cara untuk meningkatkan efisiensi I/O subsistem dari sebuah komputer adalah dengan mengatur operasi I/O. Cara lain adalah dengan menggunakan tempat penyimpanan pada memori utama atau pada disk, melalui teknik yang disebut buffering, caching, dan spooling.
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. Sebagai contoh, sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan di hard disk. Kecepatan modem tersebut kira-kira hanyalah 1/1000 daripada hard disk. Jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem. Ketika keseluruhan data di buffer sudah sampai, buffer tersebut dapat ditulis ke disk dengan operasi tunggal. Karena penulisan disk tidak terjadi dengan instan dan modem masih memerlukan tempat untuk menyimpan data yang berdatangan, maka dipakai 2 buah buffer. Setelah modem memenuhi buffer pertama, akan terjadi request untuk menulis di disk. Modem kemudian mulai memenuhi buffer kedua sementara buffer pertama dipakai untuk penulisan ke disk. Pada saat modem sudah memenuhi buffer kedua, penulisan ke disk dari buffer pertama seharusnya sudah selesai, jadi modem akan berganti kembali memenuhi buffer pertama dan buffer kedua dipakai untuk menulis. Metode double buffering ini membuat pasangan ganda antara produsen dan konsumen sekaligus mengurangi kebutuhan waktu di antara mereka.
Alasan kedua dari buffering adalah untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data. Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang diterima. Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan penerima akan meletakkan mereka di dalam buffer untuk disusun kembali.
Alasan ketiga untuk buffering adalah untuk mendukung copy semantics untuk aplikasi I/O. Sebuah contoh akan menjelaskan apa arti dari copy semantics. Jika ada sebuah aplikasi yang mempunyai buffer data yang ingin dituliskan ke disk. Aplikasi tersebut akan memanggil sistem penulisan, menyediakan pointer ke buffer, dan sebuah integer untuk menunjukkan ukuran bytes yang ingin ditulis. Setelah pemanggilan tersebut, apakah yang akan terjadi jika aplikasi tersebut merubah isi dari buffer, dengan copy semantics, keutuhan data yang ingin ditulis sama dengan data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi. Jadi penulisan ke disk dilakukan pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan membawa dampak apa-apa. Mengcopy data antara buffer kernel data aplikasi merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang terjadi karena operasi ini karena clean semantics. Kita dapat memperoleh efek yang sama yang lebih efisien dengan memanfaatkan virtual-memori mapping dan proteksi copy-on-wire dengan pintar.
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. sebagai contoh, untuk menghemat copy semantics dan membuat scheduling I/O menjadi efisien, sistem operasi menggunakan buffer pada memori utama untuk menyimpan data.
Buffer ini juga digunakan sebagai cache, untuk meningkatkan efisiensi I/O untuk file yang digunakan secara bersama-sama oleh beberapa aplikasi, atau yang sedang dibaca dan ditulis secara berulang-ulang.
Ketika kernel menerima sebuah permintaan file I/O, kernel tersebut mengakses buffer cacheuntuk melihat apakah daerah memori tersebut sudah tersedia dalam memori utama. Jika iya, sebuah physical disk I/O dapat dihindari atau tidak dipakai. penulisan disk juga terakumulasi ke dalam buffer cache selama beberapa detik, jadi transfer yang besar akan dikumpulkan untuk mengefisiensikan schedule penulisan. Cara ini akan menunda penulisan untuk meningkatkan efisiensi I/O akan dibahas pada bagian Remote File Access.
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. Pada sistem operasi yang lain, sistem ini ditangani oleh in-kernel thread. Pada kedua kasus, sistem operasi menyediakan interfacekontrol yang membuat users and system administrator dapat menampilkan antrian tersebut, untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum mulai di-print.
Untuk beberapa device, seperti drive tapedan printer tidak dapat me-multiplex permintaan I/O dari beberapa aplikasi. Spooling merupakan salah satu cara untuk mengatasi masalah ini. Cara lain adalah dengan membagi koordinasi untuk multiple concurrent ini. Beberapa sistem operasi menyediakan dukungan untuk akses device secara eksklusif, dengan mengalokasikan proses ke device idle dan membuang device yang sudah tidak diperlukan lagi. Sistem operasi lainnya memaksakan limit suatu file untuk menangani device ini. Banyak sistem operasi menyediakan fungsi yang membuat proses untuk menangani koordinat exclusive akses diantara mereka sendiri.
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.
Sebuah ketentuan umum, yaitu sebuah sistem I/O akan mengembalikan satu bit informasi tentang status panggilan tersebut, yang akan menandakan apakah proses tersebut berhasil atau gagal. Sistem operasi pada UNIX menggunakan integer tambahan yang dinamakan errno untuk mengembalikan kode kesalahan sekitar 1 dari 100 nilai yang mengindikasikan sebab dari kesalahan tersebut. Akan tetapi, beberapa perangkat keras dapat menyediakan informasi kesalahan yang detail, walau pun banyak sistem operasi yang tidak mendukung fasilitas ini.
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. Sebagai contoh, Windows NT menggunakan implementasi message-passing untuk I/O. Sebuah permintaan I/O akan dikonversikan ke sebuah pesan yang dikirim melalui kernel kepada I/O manager dan kemudian ke device driver, yang masing-masing bisa mengubah isi pesan. Untuk output, isi message adalah data yang akan ditulis. Untuk input, message berisikan buffer untuk menerima data. Pendekatan message-passing ini dapat menambah overhead, dengan perbandingan dengan teknik prosedural yang men-share struktur data, tetapi akan mensederhanakan struktur dan design dari sistem I/O tersebut dan menambah fleksibilitas.
RISC & CISC
PROSESOR RISC : Perkembangan dan Prospeknya
PROSESOR RISC :Perkembangan dan Prospeknya
Pendahuluan
Ditinjau dari perancangan perangkat instruksinya, ada dua arsitektur prosesor yang menonjol
saat ini, yakni arsitektur RISC (Reduce Instruction Set Computer) dan CISC (Complex
Instruction Set Computer).
Prosesor CISC memiliki instruksi-instruksi kompleks untuk memudahkan penulisan program
bahasa
assembly
, sedangkan prosesor RISC memiliki instruksi-instruksi sederhana yang dapat dieksekusi
dengan cepat untuk menyederhanakan implementasi rangkaian kontrol internal prosesor.
Karenanya, prosesor RISC dapat dibuat dalam luasan keping semikonduktor yang relatif lebih
sempit dengan jumlah komponen yang lebih sedikit dibanding prosesor CISC. Perbedaan
orientasi di antara kedua prosesor ini menyebabkan adanya perbedaan sistem secara
keseluruhan, termasuk juga perancangan kompilatornya.
1 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Ciri-ciri Prosesor RISC
Sebenarnya, prosesor RISC tidak sekedar memiliki instruksi-instruksi yang sedikit dan
sederhana seperti namanya tetapi juga mencakup banyak ciri-ciri lain yang tidak semuanya
disepakati oleh kalangan perancang sendiri. Meskipun demikian, banyak yang telah
bersepakat bahwa prosesor memiliki ciri-ciri tertentu untuk membedakannya dengan prosesor
bukan RISC.
Pertama, prosesor RISC mengeksekusi instruksi pada setiap satu siklus detak (Robinson,
1987 : 144; Johnson, 1987 : 153). Hasil penelitihan IBM (International Business Machine) men
unjukkan bahwa frekuensi penggunaan instruksi-instruksi kompleks hasil kompilasi sangat kecil
dibanding dengan instruksi-instruksi sederhana. Dengan perancangan yang baik instruksi
sederhana dapat dibuat agar bisa dieksekusi dalam satu siklus detak. Ini tidak berarti bahwa
dengan sendirinya prosesor RISC mengeksekusi program secara lebih cepat dibanding
prosesor CISC. Analogi sederhananya adalah bahwa kecepatan putar motor
(putaran per menit)
yang makin tinggi pada kendaraan tidaklah berarti bahwa jarak yang ditempuh kendaraan
(meter per menit)
tersebut menjadi lebih jauh, karena jarak tempuh masih bergantung pada perbandingan roda
gigi yang dipakai.
Kedua, instruksi pada prosesor RISC memiliki format-tetap, sehingga rangkaian pengontrol
instruksi menjadi lebih sederhana dan ini berarti menghemat penggunaan luasan keping
semikonduktor. Bila prosesor CISC (misalnya Motorola 68000 atau Zilog Z8000)
memanfaatkan 50% - 60% dari luas keping semikonduktor untuk rangkaian pengontrolnya,
prosesor RISC hanya memerlukan 6%-10%. Eksekusi instruksi menjadi lebih cepat karena
2 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
rangkaian menjadi lebih sederhana (Robinson, 1987 : 144; Jonhson 1987 : 153).
Ketiga, instruksi yang berhubungan dengan memori hanya instruksi isi (load) dan instruksi
simpan (store) ,
instruksi lain dilakukan dalam register internal prosesor. Cara ini menyederhanakan mode
pengalamatan
(addressing)
dan memudahkan pengulangan kembali instruksi untuk kondisi-kondisi khusus yang
dikehendaki (Robinson, 1987 : 144; Jonhson, 1987: 153). Dengan ini pula perancang lebih
menitikberatkan implementasi lebih banyak register dalam cip prosesor. Dalam prosesor RISC,
100 buah register atau lebih adalah hal yang biasa. Manipulasi data yang terjadi pada register
yang umumnya lebih cepat daripada dalam memori menyebabkan prosesor RISC berpotensi
beroperasi lebih cepat.
Keempat, prosesor RISC memerlukan waktu kompilasi yang lebih lama daripada prosesor
RISC. Karena sedikitnya pilihan instruksi dan mode pengalamatan yang dimiliki prosesor RISC,
maka diperlukan optimalisasi perancangan kompilator agar mampu menyusun urutan
instruksi-instruksi sederhana secara efisien dan sesuai dengan bahasa pemrograman yang
dipilih. Keterkaitan desain prosesor RISC dengan bahasa pemrograman memungkinkan
dirancangnya kompilator yang dioptimasi untuk bahasa target tersebut.
3 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Fase Awal Perkembangan Prosesor RISC
Ide Dasar
Ide dasar prosesor RISC sebenarnya bisa dilacak dari apa yang disarankan oleh Von
Neumann pada tahun 1946. Von Neumann menyarankan agar rangkaian elektronik untuk
konsep logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem agar
berfungsi atau karena frekuensi penggunaannya cukup tinggi (Heudin, 1992 : 18). Jadi ide
tentang RISC, yang pada dasarnya adalah untuk menyederhanakan realisasi perangkat keras
prosesor dengan melimpahkan sebagian besar tugas kepada perangkat lunaknya, telah ada
pada komputer elektronik pertama. Seperti halnya prosesor RISC, komputer elektronik pertama
merupakan komputer eksekusi-langsung yang memiliki instruksi sederhana dan mudah
didekode.
4 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Hal yang sama dipercayai juga oleh Seymour Cray, spesialis pembuat superkomputer. Pada
tahun 1975, berdasarkan kajian yang dilakukannya, Seymour Cray menyimpulkan bahwa
penggunaan register sebagai tempat manipulasi data menyebabkan rancangan instruksi
menjadi sangat sederhana. Ketika itu perancang prosesor lain lebih banyak membuat
instruksi-instruksi yang merujuk ke memori daripada ke register seperti rancangan Seymour
Cray. Sampai akhir tahun 1980-an komputer-komputer rancangan Seymour Cray, dalam
bentuk superkomputer seri Cray, merupakan komputer-komputer dengan kinerja sangat tinggi.
Pada tahun 1975, kelompok peneliti di IBM di bawah pimpinan George Radin, memulai
merancang komputer berdasar konsep John Cocke. Berdasarkan saran John Cocke, setelah
meneliti frekuensi pemanfaatan instruksi hasil kompilasi suatu program, untuk memperoleh
prosesor berkinerja tinggi tidak perlu diimplementasikan instruksi kompleks ke dalam prosesor
bila instruksi tersebut dapat dibuat dari instruksi-instruksi sederhana yang telah dimilikinya.
Kelompok IBM ini menghasilkan komputer 801 yang menggunakan instruksi format-tetap dan
dapat dieksekusi dalam satu siklus detak (Robinson, 1987 : 143). Komputer 801 yang dibuat
dengan teknologi ECL (emitter-coupled logic) , 32 buah register, chace terpisah untuk memori
dan instruksi ini diselesaikan pada tahun 1979. Karena sifatnya yang eksperimental, komputer
ini tidak dijual di pasaran.
Prosesor RISC Berkeley
5 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Kelompok David Patterson dari Universitas California memulai proyek RISC pada tahun 1980
dengan tujuan menghindari kecenderungan perancangan prosesor yang perangkat
instruksinya semakin kompleks sehingga memerlukan perancangan rangkaian kontrol yang
semakin rumit dari waktu ke waktu. Hipotesis yang diajukan adalah bahwa implementasi
instruksi yang kompleks ke dalam perangkat instruksi prosesor justru berdampak negatif
pemakaian instruksi tersebut dalam kebanyakan program hasil komplikasi (Heudin, 1992 : 22).
Apalagi, instruksi kompleks itu pada dasarnya dapat disusun dari instruksi-instruksi sederhana
yang telah dimiliki.
Rancangan prosesor RISC-1 ditujukan untuk mendukung bahasa C, yang dipilih karena
popularitasnya dan banyaknya pengguna. Realisasi rancangan diselesaikan oleh kelompok
Patterson dalam waktu 6 bulan. Fabrikasi dilakukan oleh MOVIS dan XEROX dengan
menggunakan teknologi silikon NMOS (N-channel Metal-oxide Semiconductor) 2 mikron.
Hasilnya adalah sebuah cip rangkaian terpadu dengan 44.500 buah transistor (Heudin, 1992 :
230). Cip RISC-1 selesai dibuat pada musim panas dengan kecepatan eksekusi 2 mikrosekon
per instruksi (pada frekuensi detak 1,5 MHz), 4 kali lebih lambat dari kecepatan yang
ditargetkan. Tidak tercapainya target itu disebabkan terjadinya sedikit kesalahan perancangan,
meskipun kemudian dapat diatasi dengan memodifikasi rancangan
assembler
nya.
Berdasarkan hasil evaluasi, meskipun hanya bekerja pada frekuensi detak 1,5 MHz dan
mengandung kesalahan perancangan, RISC-1 terbukti mampu mengeksekusi program bahasa
C lebih cepat dari beberapa prosesor CISC, yakni MC68000, Z8002, VAX-11/780, dan
PDP-11/70.
6 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Hampir bersamaan dengan proses fabrikasi RISC-1, tim Berkeley lain mulai bekerja untuk
merancang RISC-2. Cip yang dihasilkan tidak lagi mengandung kesalahan sehingga mencapai
kecepatan operasi yang ditargetkan, 330 nanosekon tiap instruksi (Heudin, 1992 : 27-28).
RISC-2 hanya memerlukan luas cip 25% dari yang dibutuhkan RISC-1 dengan 75% lebih
banyak register. Meskipun perangkat instruksi yang ditanamkan sama dengan perangkat
instruksi yang dimiliki RISC-1, tetapi di antara keduanya terdapat perbedaan mikroarsitektur
perangkat kerasnya. RISC-2 memiliki 138 buah register yang disusun sebagai 8 jendela
register, dibandingkan dengan 78 buah register yang disusun sebagai 6 jendela register. Selain
itu, juga terdapat perbedaan dalam hal organisasi alur-pipa (pipeline) . RISC-1 memiliki
alur-pipa dua tingkat sederhana dengan penjeputan
(fetch)
dan eksekusi instruksi yang dibuat tumpang-tindih, sedangkan RISC-2 memiliki 3 buah
alur-pipa yang masing-masing untuk penjemputan instruksi, pembacaan operan dan
eksekusinya, dan penulisan kembali hasilnya ke dalam register.
Sukses kedua proyek memacu tim Berkeley untuk mengerjakan proyek SOAR (Smalltalk on
RISC) yang
dimulai pada tahun 1983. Tujuan proyek ini adalah untuk menjawab pertanyaan apakah
arsitektur RISC bekerja baik dengan bahasa pemrograman Smalltalk? Jadi proyek SOAR ini
merupakan upaya pertama menggunakan pendekatan RISC untuk pemrosesan simbolik.
Versi pertama mikroprosesor SOAR diimplementasikan dengan menggunakan teknologi
NMOS 4 mikron. Cip yang dihasilkan memiliki 35.700 buah transistor dan bekerja dengan
kecepatan 300 nanosekon tiap instruksi. Versi kedua yang dirancang pada 1984-1985
menggunakan teknologi CMOS (Complementary Metal-oxide Semiconductor). Beberapa
7 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
prosesor berarsitektur RISC banyak yang dipengaruhi oleh rancangan mikroprosesor SOAR,
misalnya mikroprosesor SPARC (dari Sun Microsystems Inc.) dan KIM20 yang dirancang
Departemen Pertahanan Perancis.
Mengikuti proyek SOAR, kelompok Berkeley kemudian mengerjakan proyek SPUR (Symbolic
Processing Using RISC)
yang dimulai tahun 1985. Proyek SPUR bertujuan untuk merancang stasiun-kerja
(workstation)
multiprosesor sebagai bagian dari riset tentang pemrosesan paralel (Robinson, 1987 : 145).
Selain itu, proyek SPUR juga melakukan penelitian tentang rangkaian terpadu, arsitektur
komputer, sistem operasi, dan bahasa pemrograman. Sistem prosesor SPUR dibangun
dengan 6-12 prosesor berkinerja tinggi yang dihubungkan satu sama lain, serta dihubungkan
dengan memori dan peranti masukan/keluaran melalui Nubus yang telah dimodifikasi. Unjuk
kerja sistem diperbaiki dengan menambahkan
chace
sebesar 128 kilobyte pada tiap prosesor untuk mengurangi kepadatan lalu lintas data pada bus
dan mengefektifkan pengaksesan memori (Heudin, 1992 : 31).
Prosesor RISC Stanford
8 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Sementara proyek RISC-1 dan RISC-2 dilakukan kelompok Patterson di Universitas California,
pada tahun 1981 itu juga John Hennessy dari Universitas Stanford mengerjakan proyek MIPS
(Microprocessor without Interlocked Pipeline Stages)
. Pengalaman riset tentang optimasi kompilator digabungkan dengan teknologi perangkat keras
RISC merupakan kunci utama proyek MIPS ini. Tujuan utamanya adalah menghasilkan cip
mikroprosesor serbaguna 32-bit yang dirancang untuk mengeksekusi secara efisien kode-kode
hasil kompilasi (Heudin, 1992: 34).
Perangkat instruksi prosesor MIPS terdiri atas 31 buah instruksi yang dibagi menjadi 4
kelompok, yakni kelompok instruksi isi dan simpan, kelompok instruksi operasi aritmetika dan
logika, kelompok instruksi pengontrol, dan kelompok instruksi lain-lain. MIPS menggunakan
lima tingkat alur-pipa tanpa perangkat keras saling-kunci antar alur-pipa tersebut, sehingga
kode yang dieksekusi harus benar-benar bebas dari konflik antar alur-pipa.
Direalisasi dengan teknologi NMOS 2 mikron, prosesor MIPS yang memiliki 24.000 transistor
ini memiliki kemampuan mengeksekusi satu instruksi setiap 500 nanodetik. Karena
menggunakan lima tingkat alur-pipa bagian kontrol prosesor MIPS ini menyita luas cip dua kali
lipat dibanding dengan bagian kontrol pada prosesor RISC. MIPS memiliki 16 register
dibandingkan dengan 138 buah register pada RISC-2. Hal ini bukan masalah penting karena
MIPS memang dirancang untuk mebebankan kerumitan perangkat keras ke dalam perangkat
lunak sehingga menghasilkan perangkat keras yang jauh lebih sederhana dan lebih efisien.
Perangkat keras yang sederhana akan mempersingkat waktu perancangan, implementasi, dan
perbaikan bila terjadi kesalahan.
Sukses perancangan MIPS dilanjutkan oleh tim Stanford dengan merancang mikroprosesor
yang lebih canggih, yakni MIPS-X. Perancangan dilakukan oleh tim riset MIPS sebelumnya
9 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
ditambah 6 orang mahasiswa, dan dimulai pada musim panas tahun 1984. Rancangan MIPS-X
banyak diperbaruhi oleh MIPS dan RISC-2 dengan beberapa perbedaan utama :
- Semua instruksi MIPS-X merupakan operasi tunggal dan dieksekusi dalam satu siklus
detak
- Semua instruksi MIPS-X memiliki format tetap dengan panjang instruksi 32-bit
- MIPS-X dilengkapi pendukung koprosesor yang efisien dan sederhana
- MIPS-X dilengkapi pendukung untuk digunakan sebagai prosesor dasar dalam sistem
multiprosesor memori-bersama (shared memory)
- MIPS-X dilengkapi chace instruksi dalam-cip yang cukup besar (2 kilobyte)
- MIPS-X difabrikasi dengan teknologi CMOS 2 mikron.
10 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Sama seperti MIPS, MIPS-X merupakan prosesor dengan alur-pipa tanpa saling-kunci (interloc
k) pera
ngkat keras. Perangkat lunaknya dirancang untuk mengikuti pewaktuan instruksi agar tidak
terjadi konflik antar alur-pipa (Heudin, 1992 : 36-37).
Cip pertama yang dihasilkan bekerja baik dengan detak 16 MHz, lebih rendah dari target yang
dicanangkan setinggi 20 MHz, akibat tidak sempurnanya instruksi percabangan. Versi 25 MHz
dibuat dengan menggunakan teknologi CMOS 1,6 mikron. Ditambah dengan chace yang
diintregrasikan pada cip prosesor, MIPS-X berisi hampir 150.000 transistor di atas keping
seluas 8 x 8,5 mm (Heudin, 1992 : 38).
Arah Perkembangan Prosesor RISC
11 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Kebanyakan riset tentang prosesor RISC ditujukan untuk memperbaiki kinerja sistem komputer
secara keseluruhan. Analisis yang mendalam menunjukkan bahwa ada dua arah
perlembangan penting prosesor RISC yaitu upaya ke arah pemanfaatan teknologi proses yang
mampu menghasilkan prosesor cepat, misalnya teknologi bipolar ECL (emitter-coupled logic)
serta pemanfaatan bahan semikonduktor GaAs
(galium arsenida).
Arah lain adalah upaya untuk merancang arsitektur multiprosesor dan mengintegrasikan
unit-unit fungsional pendukung pemrosesan paralel dalam satu cip.
Cip-cip RISC galium Arsenida
Galium Arsenida dapat digunakan untuk menggantikan silikon dalam beberapa rangkaian
terpadu untuk pemakaian khusus. Keunggulan bahan GaAs dibandingkan silikon adalah
ketahanannya terhadap radiasi, dan ketahanannya terhadap panas, serta kecepatan mobilitas
elektronnya. Karena elektron dapat bergerak lebih cepat dalam bahan GaAs, maka cip yang
dibuat dengan bahan ini berpotensi untuk bekerja lebih cepat (Jonhsen, 1984 : 46; Robinson,
1990 : 251-254). Salah satu kendala pengembangan cip berbahan GaAs adalah sulitnya
penanganan bahan ini dibanding dengan bahan silikon karena perancang belum banyak
pengalaman dengan bahan GaAs. Meskipun demikian, teknologi yang dikuasai saat ini telah
memungkinkan untuk membuat rangkaian terintegrasi dengan tingkat kerapatan cukup tinggi
12 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
untuk merancang prosesor RISC.
Didorong oleh kebutuhan untuk merancang prosesor berkecepatan tinggi dan tahan terhadap
radiasi sesuai dengan spesifikasi yang dibutuhkan Departemen Pertahanan Amerika Serikat,
maka DARPA (Defense Advanced Research Projects Agency) memberikan dana kepada
Texas Instruments (TI), RCA, dan McDonnell-Douglas, untuk mengembangkan dan merancang
prosesor RISC dari bahan GaAs. Agar memiliki kinerja yang tinggi, DARPA menghendaki unit
prosesor sentral (central
processing unit
, CPU) dirancang dalam cip tunggal, seperti prosesor MIPS yang pengembangannya juga
dibiayai DARPA. Ditargetkan prosesor tersebut akan dapat dijalankan dengan detak
berfrekuensi 200 MHz. Ini berarti target kecepatan kerjanya adalah 200 MIPS
(million instructions per second
, juta instruksi per detik), karena pada prosesor RISC satu instruksi dieksekusi dalam satu
siklus detak.
Sistem yang dipilih terdiri dari seperangkat cip, yakni, CPU, FCOP (floating point coprocessor)
, MMU
(memory management unit)
dan
chace.
Agar bisa merealisasi CPU dalam satu cip, TI berupaya mengurangi rangkaian pengontrol
sebanyak mungkin untuk memberi lebih banyak tempat bagi register-register. Perangkat
instruksi dikembangkan berdasarkan simulasi statistik dan evaluasi atas prosesor RISC
Berkeley maupun MIPS Stanford. Seperti halnya MIPS, sekali program telah dikomplikasi ke
dalam perangkat instruksi inti (yakni level tengah antara perangkat-intruksi bergantung
perangkat-keras dengan bahasa pemrograman tingkat tinggi), suatu penerjemah bergantung
perangkat-keras akan mengubah kode ke dalam perangkat instruksi bahasa mesin dan
melakukan langkah-langkah optimasi. Perangkat instruksi yang dimiliki prosesor ini dibagi
menjadi tiga bagian yakni 29 buah instruksi CPU, 31 buah instruksi FCOP, serta 6 buah
instruksi MMU.
13 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Prosesor yang dihasilkan memiliki unjuk kerja nominal 200 MIPS, tetapi angka faktualnya
harus dikurangi dengan 32% akibat penyisipan instruksi NOP (no operation) dan dikurangi
32% lagi karena keterbatasan lebar ban memori. Angka faktual kinerja prosesor RISC GaAs ini
kira-kira 91 MIPS
(million instruction per second).
Pada waktu yang sama dengan pengembangan mikroprosesor RISC GaAs,
McDonnell-Douglas juga mulai mengembangkan mikroprosesor RISC berdasarkan teknologi
JFET tipe-penyambungan (enhancement-type junction field-effect transistor) DCFL (direct
coupled FET logic)
dengan bahan GaAs. Cip yang diberi nama MD484 sangat dipengaruhi oleh hasil rancangan
MIPS dari Universitas Stanford.
Karena saat itu teknologi GaAs hanya mampu mengintegrasikan transistor dalam jumlah yang
terbatas, maka hanya ditargetkan sejumlah 25.000 buah transistor dalam satu cip. Di dalam
mikroprosesor ditanamkan 32 buah register masing-masing 32-bit dengan perangkat instruksi
sangat mirip dengan yang dimiliki MIPS.
Salah satu keputusan sulit dalam perancangan adalah masalah memilih jumlah dan tipe
alur-pipa eksekusi. Penambahan jumlah alur-pipa menjadi lima atau enam dengan
penambahan tingkat alur-pipa untuk akses memori, akan memberi lebih banyak waktu
pengaksesan memori sehingga memudahkan perancangan sistem memori. Akan tetapi,
alur-pipa yang panjang akan menambah tundaan pencabangan sehingga memperlambat
waktu eksekusi. Kerugian kinerja akibat penyisipan instruksi NOP adalah 20-30% untuk
alur-pipa enam tingkat dan kira-kira setengahnya untuk alur-pipa lima tingkat relatif terhadap
alur-pipa empat tingkat. Akhirnya, kelompok McDonnell-Douglas memutuskan untuk
14 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
menggunakan empat tingkat alur-pipa. Untuk mengeksekusi operasi aritmetika floating point,
McDonnell Douglas juga merancang cip koprosesor
floating point.
Cip CPU yang selesai dibuat dan diuji pada tahun 1987, mampu mengeksekusi instruksi dalam
16,5 nanosekon dan memberikan kecepatan operasi 60 MIPS
(million instructions per second).
Proyek perancangan prosesor RISC GaAs lain dilakukan oleh RCA pada tahun 1989. Prosesor
32-bit rancangan RCA ini direncanakan diimplementasikan dengan GaAs VLSI (very large
scale integration)
. RCA mengatasi masalah yang dihadapi dalam perancangan cip GaAs ini dengan cara yang
berbeda dari yang dilakukan McDonnell Douglas maupun Texas Instruments. Berbeda dengan
kebanyakan prosesor RISC, format instruksinya tidak tunggal melainkan menggunakan format
satu dan dua kata. Rancangan RCA ini menggunakan 9 tingkat alur-pipa dengan dua periode
tak-aktif masing-masing 2 siklus tunggu, pertama berkaitan dengan penjemputan instruksi dan
kedua berkaitan dengan penjemputan operan untuk operasi
load
.
Kelompok riset di Universitas Michigan juga dilaporkan berhasil membuat prosesor RISC dari
bahan galium arsenida berkecepatan tinggi di atas cip berukuran 32-bit yang dihasilkan
diimplementasikan di atas cip berukuran 13,9 x 7,8 mm dengan 160.000 transistor. Di dalam
cip diintegrasikan bagian ALU (arithmetic and logic unit) , 32 buah register, dan 32 byte chace
instruksi. Karena kecilnya
chace
yang dimiliki, pemakai prosesor ini dapat menambahkan
chace
eksternal melalui kecepatan tinggi misalnya dengan SRAM (static random access memory)
berteknologi ECL. Cip ini bekerja baik dengan frekuensi detak 200 MHz.
15 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Ada beberapa permasalahan dalam perancangan komputer cepat dengan GaAs. Pertama,
adalah terbatasnya tingkat integrasi fungsi logika yang bisa diimplementasikan. Kedua, adalah
tingginya perbandingan antara waktu pengaksesan memori di luar cip dengan akses data di
dalam cip. SODIMA S.A. mengusulkan arsitektur 4-tingkat 32-bit untuk diintegrasikan dengan
menggunakan teknologi sel standar. Tim SODIMA juga merancang arsitektur chacechace kecil
berkecepatan tinggi (4-kilobyte dengan waktu akses 3 nanosekon) dikombinasikan dengan
chace
besar tetapi lebih lambat (128 kilobyte dengan waktu akses 25 nanosekon) untuk mendapatkan
kinerja 100 MIPS.
dua tingkat berdasarkan pada
Cip RISC lain
Advanced Micro Devices (AMD) memperkenalkan produk RISC-nya pada tahun 1987, yang
diberi nama Am29000. Dengan eksekusi siklus tunggal, prosesor yang memiliki detak
berfrekuensi 25MHz ini memiliki kecepatan proses 17 MIPS untuk program bahasa C. Ada dua
tingkat optimasi kinerja yang dilakukan dalam perancangan Am29000. Pertama, prosesor ini
memiliki jumlah register cukup banyak (192 buah) yang dapat difungsikan sebagai chace(stack
) instr
uksi saat suatu prosedur dipanggil atau sebagai kelompok register, masing-masing terdiri atas
16 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
16 buah register. Rancangan khusus dalam Am29000 adalah
chace
untuk target pencabangan yang mampu menyimpan 128 instruksi. Cara ini memungkinkan
alur-pipa tetap terisi tanpa adanya penundaan sebagai akibat dari operasi percabangan yang
berturutan (Heudin, 1992 : 104).
untuk menetapkan tumpukan
Selain AMD, Intel yang dikenal sebagai pemasok mikroprosesor CISC keluarga-86, juga
memproduksi cip mikroprosesor RISC yang diberi nama 80860 pada tahun 1989. Dengan
mengintegrasikan lebih dari sejuta transistor, 80860 berisi teras RISC (RISC core) , koprosesor
atau unit flo
ating point,
MMU
(memory management unit)
, unit grafik, dan
chace
terpisah untuk data dan instruksi. Keberadaan MMU dan teras RISC memungkinkan 80860
menjalankan sistem operasi
multitasking.
Koprosesornya mendukung aplikasi pemodelan, pengolahan suara, simulasi, dan perancangan
berbantuan komputer (Margulis, 1989 : 333). Teras RISC memiliki empat tingkat alur-pipa yang
meliputi tingkat penjemputan, dekode, eksekusi, dan penulisan instruksi. Keistimewaannya,
prosesor ini dirancang agar pemrogram dapat memilih sendiri mode eksekusi yang diperlukan,
yakni instruksi-tunggal dan instruksi-ganda. Instruksi tunggal merupakan mode eksekusi
tradisional, dengan penjemputan instruksi berturutan. Pemberian alur-pipa memungkinkan
instruksi berturutan tersebut saling tumpang-tindih sehingga beberapa instruksi berada di
beberapa tingkat alur-pipa untuk dieksekusi kapan saja. Dengan mode instruksi-ganda,
mikroprosesor 80860 menerapkan lebih dari sekedar strategi alur-pipa. Mode ini
memungkinkan dijalankannya dua instruksi sekaligus, satu untuk teras RISC dan satu untuk
koprosesor. Koprosesor atau unit
floating point
menampilkan hasil operasi setiap satu siklus detak dan memungkinkan diselesaikannya dua
operasi sekaligus, misalnya operasi penjumlahan dan perkalian. Dengan mengkombinasikan
mode instruksi-ganda dan mode operasi-ganda, pemrogram dapat melakukan tiga operasi
sekaligus setiap satu siklus detak.
17 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Cip RISC dengan detak berfrekuensi lebih dari 300 MHz dilaporkan telah dibuat oleh Digital
Equipment Corp. (DEC). Cip yang dirancang dengan teknologi bipolar ECL itu
mengimplementasikan 468.000 buah transistor dan 206.000 resistor di atas keping berukuran
15,4 x 12,6 mm. Pada kondisi terburuk, yakni dengan tegangan catu daya -5,2 volt, prosesor
ini mampu dijalankan dengan detak internal berfrekuensi 275 MHz sedangkan dalam kondisi
puncaknya (dengan tegangan catu daya -3,9 volt) dapat beroperasi pada frekuensi detak 335
MHz. Pembangkit detak eksternal memiliki frekuensi 80 MHz yang kemudian dilipatkan oleh
rangkaian PLL (phase-locked loop) menjadi 1X - 8X. Masalah besar yang timbul dengan
teknologi bipolar ECL ini adalah kebutuhan daya yang cukup besar, yakni mencapai 115 watt.
Hal ini menyebabkan timbulnya panas berlebihan dalam cip. Untuk mengatasinya, DEC
menambahkan termosifon (penghambur panas berbentuk silinder bersirip dari tembaga) di atas
kemasan cip agar suhu dalam cip terjaga tidak lebih dari 100
o
C (Bursky, 1993 : 48-50).
Prospek Arsitektur RISC di Masa Mendatang
Perkembangan menarik terjadi pada tahun 1993 ketika aliansi tiga perusahaan terkemuka,
IBM, Apple, dan Motorola memperkenalkan produk baru mereka yakni PowerPC 601, suatu
mikroprosesor RISC 64-bit yang dirancang untuk stasiun kerja (workstation) atau komputer
18 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
personal (Thompson, 1993 : 56-74). Menarik, karena kemunculan PowerPC 601 dimaksudkan
untuk memberikan alternatif bagi dominasi prosesor CISC keluarga-86 Intel dalam komputer
rumahan. Popularitas prosesor keluarga-86 didukung oleh harganya yang murah dan
banyaknya program aplikasi yang dapat dijalankan dengan prosesor ini. Untuk itu, prosesor
PowerPC dijual dengan harga yang cukup bersaing dibandingkan dengan pentium, yakni
prosesor buatan Intel mutakhir saat itu (Thompson, 1993 : 64). Perkembangan teknologi
emulasi yang memungkinkan prosesor RISC menjalankan sistem operasi yang sama dengan
prosesor CISC keluarga-86 diperkirakan akan membuat prosesor RISC, terutama PowerPC
601, banyak digunakan di dalam komputer-komputer personal (Halfhill, 1994 : 119-130).
PowerPC 601 memiliki 32 buah register serbaguna 32-bit dan 32 buah 64-bit register
floating-point.
Untuk menyimpan sementara data dan instruksi sebelum dieksekusi, PowerPC 601 memiliki
32-kilobyte
chace
untuk data dan instruksi bersama-sama. Teras PowerPC 601 terdiri dari tiga unit eksekusi
dengan alur-pipa yang independen, yakni unit pemroses bilangan bulat (IU,
integer unit
), unit
floating-point
(FPU,
floating processing unit
), dan unit pemroses operasi percabangan (BPU,
branch processing unit
) yang mampu mengeksekusi tiga instruksi sekaligus (Ryan, 1993 : 79-80).
Perkembangan menarik juga nampak dengan diadopsinya sebagian arsitektur RISC ke dalam
prosesor CISC yang dikenal dengan sebutan arsitektur hibrid CISC/RISC. Intel Corporation
mengimplementasikan arsitektur CISC/RISC ini ke dalam prosesor keluarga-86 dimulai dengan
prosesor Pentium, kemudian prosesor P6 atau Pentium Pro (Ryan, 1993 : 84 ; Halfhill, 1995:42
; Yokota, 1993 : 18-25). Beberapa produsen lain, dengan cara berbeda juga mulai mengadopsi
arsitektur campuran CISC/RISC ini misalnya Matsushita Corp dengan prosesor V810,
Advanced RISC Machines dengan ARM610, dan Hitachi dengan prosesor SH7032 (Miyazaki,
1993 : 20-27).
19 / 20
PROSESOR RISC : Perkembangan dan Prospeknya
Kesimpulan
Prosesor RISC, yang berkembang dari riset akademis telah menjadi prosesor komersial yang
terbukti mampu beroperasi lebih cepat dengan penggunaan luas cip yang efisien. Kemajuan
mutakhir yang ditunjukkan oleh mikroprosesor PowerPC 601 dan teknologi emulasi yang
antara lain dikembangkan oleh IBM memungkinkan bergesernya dominasi cip-cip keluarga-86
dan kompatibelnya. Bila teknik emulasi terus dikembangkan maka pemakai tidak perlu lagi
mempedulikan prosesor apa yang ada di dalam sistem komputernya, selama prosesor tersebut
dapat menjalankan sistem operasi ataupun program aplikasi yang diinginkan.
20 / 20
Reduced Instruction Set Computer (RISC)
Beberapa elemen penting pada arsitektur RISC :
�� Set instruksi yang terbatas dan sederhana
�� Register general-purpose yang berjumlah banyak, atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya.
�� Penekanan pada pengoptimalan pipeline instruksi.
Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
1. Arsitektur komputer dengan kumpulan perintah yang rumit
(Complex Instruction Set Computer = CISC)
2. Arsitektur komputer dengan kumpulan perintah yang sederhana
(Reduced Instruction Set Computer = RISC)
�� 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, tetapi konsep ini menyulitkan dalam penyusunan kompiler bahasa pemrograman tingkat tinggi.
Dalam CISC banyak terdapat perintah bahasa mesin.
�� RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi.
Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline.
Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit.
Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar.
IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC.
Drs. Ign. Djoko Irianto, M.Eng. Revsis : 002003 Pengantar Arsitektur Komputer ArKom 03 (RISC dan CISC) PDF 3 / 2 - 8 Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat tentang karakteristik eksekusi instruksi.
Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.:
�� Operasi-operasi yang dilakukan:
Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori.
�� Operand-operand yang digunakan:
Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya.
�� Pengurutan eksekusi:
Hal ini akan menentukan kontrol dan organisasi pipeline.
download
Langganan:
Posting Komentar (Atom)
.jpg)
Emperor Casino Online – No download No registration
BalasHapusIf you 제왕카지노 want 메리트 카지노 주소 to join the Emperor Casino Online casino site for real money, try the free play demo mode at the casino. 메리트 카지노 Rating: 3.6 · 3 votes