Selasa, 16 Juni 2009

OPERASI MIKRO DAN MIKRO KERNEL

Mikro diprogram dan kontrol unit operasi:
Microprogramming merupakan metode kontrol unit desain di mana kontrol sinyal pilihan sequencing dan informasi yang tersimpan dalam RAM atau ROM yang disebut kontrol memori.
Diterjemahkan ke dalam virtual alamat alamat fisik dari komputer yang menggunakan memori virtual:
Hal ini dilakukan oleh pemetaan menggunakan alamat halaman. Fisik memori dirobohkan ke dalam kelompok yang sama disebut ukuran blok. Halaman merujuk ke kelompok ruang alamat yang sama ukurannya. Pemetaan ruang alamat dari ke ruang memori yang difasilitasi jika setiap alamat maya dianggap diwakili oleh 2 nos. - Alamat dan nomor halaman sesuai dengan halaman. Ketika program dimulai pelaksanaan, satu atau lebih halaman yang ditransfer ke memori utama dan halaman set meja untuk menunjukkan posisi mereka. Program ini dijalankan dari memori utama sampai upaya rujukan ke halaman yang masih dalam memori penolong. Kondisi ini dikenal sebagai halaman kesalahan. Kemudian pelaksanaan program ini dihentikan sementara sampai program ini dibawa ke dalam memori utama. Bila terjadi kesalahan di halaman virtual memori, ia menandakan bahwa halaman yang dirujuk oleh CPU tidak ada di dalam memori utama. Dengan demikian halaman baru sekarang penolong ditransfer dari memori ke memori utama. Jika memori utama sudah penuh, maka akan sangat diperlukan untuk menghapus halaman dari memori blok untuk memberikan ruang bagi sebuah halaman baru. Penggantian kebijakan ini akan digunakan untuk FIFO dan LRU. Sedangkan algoritma FIFO untuk memilih pengganti halaman yang telah lama di dalam memori waktu, dalam LRU, sedikit berbagi halaman adalah halaman dengan nilai count.
Asosiatif memori ---- apa yang digunakan dalam pemetaan alamat dalam cache memori sistem
Waktu yang diperlukan untuk menemukan item yang disimpan dalam memori dapat dikurangi secara besar jika data yang disimpan dapat diidentifikasi untuk akses oleh isi data diri daripada oleh alamat. Seperti unit memori diakses oleh konten disebut memori asosiatif atau CAM (content addressable memori). Asosiatif memori paralel dapat melakukan pencarian data oleh asosiasi. Hal ini lebih mahal daripada RAM. Asosiatif memori yang digunakan dalam aplikasi dimana cari waktu adalah penting dan harus sangat singkat.
Pemetaan asosiatif: asosiatif memori yang digunakan dalam alamat pemetaan dalam cache memori sistem. Asosiatif memori yang baik alamat toko dan konten (data) dari memori kata, jadi ini izin lokasi di cache untuk menyimpan setiap kata dari memori utama.
Kernel yang O.S
OS memiliki master program yang disebut supervisor atau lalu lintas controller atau kernel. Kernel adalah bagian dari OS yang kontrol yang lainnya, dan selalu berada dalam memori utama. Kernel menjalankan mesin utama dan melaksanakan program-program pengelolaan sumber daya utama. Dimulai pada komputer, kernel yang dimuat dalam memori dan kontrol dari mesin.
Fungsi yang loader ---------- bootstrap loader
Loader alamat toko waktu. It menghasilkan alamat pada saat penyimpanan sekunder dari penyimpanan ke dalam memori utama. Bootstrap loader loader adalah mutlak. Ini merupakan awal program yang dimuat ke memori pada saat booting.
Single pass assembler memproses sebuah program assembly
Dengan algoritma untuk satu pass assembler adalah sebagai berikut:
Pass satu
Langkah 1 ------- lokasi initialize counter ke nol
Langkah 2 -------- membaca baris kode sumber
Langkah 3 ------- menganalisis pernyataan
Proses terjemahan ------- tahap analisis dan sintesis
Analisa sumber teks + sintesis dari sumber = terjemahan dari teks sumber ke teks sasaran.
Direct Memory Access (DMA):
Mentransfer data antara perangkat penyimpanan yang cepat dan memori yang sering dibatasi oleh kecepatan CPU. Mengeluarkan CPU dari jalan dan membiarkan pinggiran mengelola perangkat memori bis langsung meningkatkan kecepatan transfer. Transfer ini adalah teknik diistilahkan sebagai DMA. Selama transfer DMA, CPU yang menganggur dan tidak memiliki kontrol dari memori bus.

Senin, 15 Juni 2009

Mikro Kernel

Pada pembahasan "Struktur Sederhana", sempat disinggung istilah "kernel". Apakah kernel itu? Kernel adalah komponen sentral dari sistem operasi. Ia mengatur hal-hal seperti interrupt handler(untuk menyediakan layanan interupsi), process scheduler(membagi-bagi proses dalam prosesor), memory management, I/O, dan sebagainya. Atau dengan kata lain, ia adalah jembatan antara hardware dengan software.

Cara tradisional untuk membangun sistem operasi adalah dengan membuat kernel monolitis, yaitu semua fungsi disediakan oleh kernel, dan ini menjadikan kernel suatu program yang besar dan kompleks.

Cara yang lebih modern, adalah dengan menggunakan kernel mikro. Pada awalnya, konsep mikro kernel dikembangkan pada sistem operasi Mach. Ide dasar dari pengembangan kernel mikro adalah bahwa hanya fitur-fitur yang perlu saja yang diimplementasikan dalam kernel (mengenai fitur-fitur apa saja yang perlu diimplementasikan, ini bisa berbeda tergantung desain sistem operasi).

Walaupun garis pembatas mengenai apa saja yang berada di dalam dan luar kernel mikro bisa berbeda antara desain yang satu dengan yang lain, namun ada karakteristik yang umum, yaitu servis-servis yang umumnya menjadi bagian sistem operasi menjadi subsistem eksternal yang bisa berinteraksi satu sama lain dan dengan kernel tentunya. Ini mencakup device driver, file system, virtual memory manager, windowing system, dan security devices. Pendekatan kernel mikro menggantikan pendekatan berlapis yang vertikal tradisional.

Komponen-komponen sistem operasi yang berada di luar kernel mikro diimplementasikan sebagai server process dan berkomunikasi dengan message passing via kernel mikro. Misalnya jika user ingin membuat berkas baru, dia mengirim pesan ke file system server, atau jika ingin membuat proses baru, dia mengirimkan pesan ke process server.

Gambar 7.2. Struktur kernel mikro

Beberapa kelebihan kernel mikro:

  1. Interface yang seragam. Proses tidak lagi dibedakan, baik antara kernel-level maupun user-level, karena semuanya berkomunikasi via message passing.

  2. Extensibility . Bisa menambahkan fitur-fitur baru tanpa perlu melakukan kompilasi ulang.

  3. Flexibility . Fitur-fitur yang sudah ada bisa dikurangi, atau dimodifikasi sesuai dengan kebutuhan sehingga menjadi lebih efisien. Misalnya tidak semua pengguna membutuhkan security yang sangat ketat, atau kemampuan untuk melakukan distributed computing.

  4. Portability . Pada kernel mikro, semua atau sebagian besar kode yang prosesor-spesifik berada di dalamnya. Jadi, proses porting ke prosesor lain bisa dilakukan dengan relatif sedikit usaha. Pada kelompok desktop misalnya, tampaknya dominasi Intel makin kuat. Tapi, sampai seberapa lama itu bisa bertahan? Karena itulah, portability adalah salah satu isu yang sangat penting.

  5. Reliability . Semakin besar suatu software, maka tentulah semakin sulit untuk menjamin reliability-nya. Desain dengan pendekatan berlapis sangatlah membantu, dan dengan pendekatan kernel mikro bisa lebih lagi. Kernel mikro dapat dites secara ekstensif .Karena dia menggunakan API yang sedikit, maka bisa meningkatkan kualitas code di luar kernel.

  6. Support for object-oriendted OS . Model kernel mikro sangat sesuai untuk mengembangkan sistem operasi yang berbasis object-oriented. Contoh sistem operasi yang menggunakan kernel mikro adalah MacOS X dan QNX.



http://free.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch07s04.html

Sabtu, 02 Mei 2009

ARSITEKTUR MEMORY

ARSITEKTUR SISTEM MEMORI

I. TEKNOLOGI DAN BIAYA SISTEM MEMORI
Ada 2 teknologi yang mendominasi industri memori sentral dan memori utama, yaitu :

a. Memori Magnetic Core (tahun 1960)
● Sel penyimpanan yang ada dalam memori inti dibuat dari elemen besi yang berbentuk donat yang disebut magnetic core (inti magnetis) atau hanya disebut core saja.
● Para pembuat(pabrikan) yang membuat core ini menyusun core plane bersama dengan sirkuit lain yang diperlukan, menjadi memori banks(bank memori).

b. Memori Solid State
Komputer yang pertama diproduksi untuk tujuan komersil adaalah UNIVAC dimana :
• CPU nya menggunakan teknologi vacuum tube (tabung hampa udara) dan menjalankan aritmatika decimal.
• Memori utamanya 1000 word (setiap word besarnya 60 bit dan menyimpan 12 karakter 5 bit)

II. ORGANISASI MEMORI
● Salah satunya adalah menggunakan Inteleaving dimana tujuannya adalah untuk meningkatkan kecepatan pengaksesan system penyimpanan yang besar.
● Sistem penyimpanan yang besar terdiri atas beberapa bank memori independent yang diakses oleh CPU dan peralatan I/O melalui pengontrolan port memori
Contoh : Cross bar switch

Sistem penyimpanan menggunakan Interleave High Order
● Setiap bank (penyimpanan) berisi blok alamat yang berurutan.
● Setiap peralatan, termasuk CPU, menggunakan bank memori yang berbeda untuk program dan datanya, maka semua bank dapat mentransfer data secara serentak.

Sistem penyimpanan menggunakan Interleave Low Order
● Alamat yang berurutan berada dalam bank yang terpisah, sehingga setiap peralatan perlu mengakses semua bank selagi menjalankan programnya atau mentransfer data.
Contohnya : suatu siklus memori lebih lama daripada waktu siklus CPU.
● Apabila word yang berurutan berada dalam bank yang berbeda, maka system penyimpanan bila dilengkapi dengan putaran yang cocok dapat melengkapi akses memori yang berurutan, dengan kata lain setelah CPU meminta untuk mengakses word pertama yang disimpan dalam salah satu bank, maka ia dapat bergerak ke bank kedua dan mengawali akses word kedua sementara penyimpanan tetap mendapatkan kembali word pertama sementara penyimpanan tetap mendapatkan kembali word pertama.Pada CPU kembali ke bank pertama, system penyimpanan diharapkan telah menyelesaikan mengakses word pertama dan telah siap mengakses lagi.
• Banyak komputer berkinerja tinggi menggunakan Inteleave Low Order



III. JENIS MEMORI a. Memory Read Only (ROM)
● Peralatan memori yang dapat dibaca namun tidak dapat ditulis oleh CPU
Contoh : Switch Mekanis (computer menggunakannya untuk menyimpan konstansta yang digunakan untuk menentukan konfigurasi system(jumlah memori utama).
● PROM (Programming Read Only Memory) adalah ROM yang diprogram oleh pabrik pembuatnya dan kita tidak bisa mengubah isinya.
● EPROM (Erasable PROM) adalah ROM yang dapat dihapus dengan menggunakan sinar ultraviolet dan kemudian deprogram kembali.
● EAROM(Electrically Alterable ROM) ROM yang dapat deprogram oleh computer dengan menggunakan operasi arus tinggi (high current) khusus, digunakan untuk menyimpan informasi yang jarang sekali berubah, contohnya : informasi konfigurasi.

b. Memory Read / Write
Memori Read/Write dapat diklasifikasikan menurut sifat pengoperasiannya adalah :

1.Sifat Fisik

Statis lawan Dinamis

Static RAM (SRAM)
● Untuk setiap word apabila telah ditulis tidak perlu lagi dialamatkan atau dimanipulasi untuk menyimpan nilainya.
● Tidak perlu penyegaran
● Dibentuk dari flip-flop yang nmeggunakan arus kecil untuk memelihara logikanya.
● Digunakan untuk register CPU dan peralatan penyimpanan berkecepatan tinggi.
● Merupakan sirkuit memori semikonduktor yang cepat dan mahal.

Dynamic RAM (DRAM)
• Dibentuk dari kapasitor (peralatan yang digunakan untuk menyimpan muatan listrik) dan transistor
• Menggunakan sirkuit pembangkit
• Waktu siklusnya 2 kali access time (waktu access baca) yaitu waktu yang dibutuhkan untuk memanggil kembali data dari peralatan.
• Perlu penyegaran


Volatil lawan Non-Volatil

Memori Volatile
Membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya. Contoh : RAM Static dan Dynamic



Memori Non Volatile
Tidak membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya.
Contoh : ROM


► Read Destruktif lawan Read Non-Destruktif

Memori Read Destruktif
● Apabila dalam proses membaca word memori tersebut juga menghancurkan nilainnya.
● Mempunyai 2 fase operasi yaitu read cycle dan restore cycle
● Selama akses baca system penyimpan pertama kali akan membaca word dan selama akses tulis system penyimpanan pertama kali akan membaca word, yang mengakibatkan waku akses baca akan lebih pendek daripada waktu tulis.
Contoh : DRAM

Memori Read Non-Destruktif
● Dalam proses membaca word, memori tersebut tidak dapat dihancurkan.
● Contohnya : SRAM dan ROM

► Removable lawan Permanen

Memori Removable
● Memori yang elemen aktifnya dapat dikeluarkan dari hardware system.
● Contoh : disket.

Memori Non Removable
● Memori yang elemen aktifnya tidak dapat dikeluarkan dari hardware system.
Contoh : RAM dan hard disk

1. Organisasi Logis
● Teralamatkan (addressed)
Memori yang menggunakan alamat untuk menentukan sel yang dibaca dan ditulis.
● Asosiatif
Memori yang menggunakan isi dari bagian word untuk menentukan sel yang dibaca atau ditulis
● Akses Urut
Memori yang menggunakan piya magnetis untuk mengakses data secara urut.

2. Memori Archival
● Memori non volatile yang dapat menyimpan banyak data dengan biaya yang sangat sedikit dan dalam jangka waktu yang lama.Contoh : Tape(Pita), Disk dan Disk Optis
● Disk Optis menyimpan data dengan mengubah secara internal sifat reflektif dari bidang kecil yang ada pada disk dan membaca data dengan cara mendeteksi secara visual yang telah diubah.
● WORM Memori (Word Once Read Many Times) ideal untuk menyimpan archival, karena bila sekali telah ditulis ia secara fungsional menjadi ROM.

IV. SISTEM MEMORI UTAMA
● Tahun 1960-an para programmer system mengembangkan system pengoperasian multiprogramming, yang memanfaatkan atau menggunakan memori utama yang sangat besar.
● Komputer yang hanya mempunyai satu system memori utama dikatakan mempunyai one-level strorage system(system penyimpanan tingkat satu)
● Komputer yang mempunyai memori virtual menggunakan multilevel storage system (system penyimpanan bertingkat)
● Penyimpanan multilevel mempunyai memori sentral(internal) yaitu memori utama dan register CPU sebagai primary memory dan peralatan penyimpanan eksternal seperti hardisk dan disket sebagai secondary memory memori sekunder.

V. RELOKASI PROGRAM DAN PROTEKSI MEMORI
● Multiprogramming adalah cara yang tepat untuk meningkatkan kegunaan CPU dengan cara memungkinkan beberapa tugas berada dalam memori pada waktu yang bersamaan.
• Berhasilnya multiprogramming ditentukan antara lain oleh :
o Relokasi Program
– Dengan cara menmpatkan program dimana saja dalam memori
– Initial Program Relocation (Relokasi Program Awal) adalah proses merelokasi program tempat system pengoperasian pertama kali.
– Dynamic Program Relocation (Relokasi Program Dinamis) adalah system pengoperasian dapat memindahkan program dari suatu tempat ke tempat yang lain dalam memori utama setelah program dijalankan.
o Proteksi Program
– Mencegah suatu program mengakses memori yang telah diberikan oleh system pengoperasian ke program yang lain.
– Contoh relokasi program dan proteksi adalah IBM System/360 dan CDC 6600
– IBM System/360
■ Menggunakan Register Base untuk merelokasi program
■ Menggunakan relokasi program awal
■ Menggunakan key-controlled memory protection untuk proteksi memori.
– CDC 6600
■ Mempunyai register khusus yaitu Relocation Address (RA/Register Alamat Relokasi) untuk merelokasi program.
■ Menggunakan relokasi program awal





VI. MEMORI CACHE
● Buffer berkecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama.
● Memori akses random (RAM) berkecepatan tinggi yang ditempatkan diantara system memori dan pemakaiannya untuk mengurangi waktu akses efektif dari system memori.
● Dengan memasukan memori chace antara peralatan cepat dan system memori yang lebih lambat, perancangan ini dapat memberikan system memori yang cepat.
● Kegunaan Memori Cache adalah :
♦ Program cenderung menjalankan instruksi yang berurutan, menyebabkan instruksi tersebut berada didekat lokasi memori.
Program biasanya mempunyai simpul untuk tempat menjalankan kelompok instruksi secara berulang-ulang.
♦ Compiler menyimpan array dalam blok lokasi memori yang bersebelahan.
♦ Compiler biasanya menempatkan item data yang tidak berhubungan didalam segmen data.
● Cache terdiri dari sejumlah cache entries(entry cache) dan setiap entri cache terdiri dari 2 yaitu
o Memori Cache
■ Merupakan SRAM berkecepatan tinggi
■ Data yang disimpan merupakan kopi dari data memori utama yang terpilih pada saat itu atau data yang baru disimpan yang belum berada didalam memori.
o Address Tag (Tag Alamat)
■ Menunjukan alamat fisik data yang ada dalam memori utama dan beberapa informasi valid

● Cara kerja Cache adalah :
○ Ketika CPU mengakses memori maka system penyimpanan akan mengirim alamat fisik ke cache
○ Membandingkan alamat fisik tersebut dengan semua tag alamat untuk mengetahui apakah ia menyimpan kopi dari sebuah data.
○ Cache HIT adalah situasi yang terjadi ketika peralatan meminta akses memori ke word yang telah ada didalam memori cache tersebut secara cepat megembalikan item data yang diminta.
○ Cache MISS adalah situasi yang terjadi ketika peralatan meminta akses ke data yang tidak berada dalam cache, cache akan menjemput item tersebut dari memori, dimana hal ini mebutuhkan waktu yang lebih lama dari cache hit.
○ Jika cache tidak menyimpan data, maka akan terjadi cache miss dan cache akan menyampaikan alamat ke system memori utama untuk membaca.
○ Jika data yang dating dari memori utama, maka CPU atau cache akan menyimpan kopinya dengan diberi tag alamat yang tepat.




• Ada 2 sebab mengapa cache bekerja dengan baik :
■ Cache beroperasi secara paralel dengan CPU
– Word tambahan yang dimuatkan setelah terjadi cache miss tidak akan mengganggu kinerja CPU.
■ Prinsip Lokalitas Referensi
– CPU akan meminta data baru
• Setiap cache mempunyai dua sub system yaitu :
■ Tag Subsystem
– Menyimpan alamat dan menentukan apakah ada kesesesuaian data yang diminta.
■ Memory subsistem
– Menyimpan dan mengantarkan data.

• Memori Cache menggunakan teknik pemetaan yang berbeda untuk memetakan alamat memori ke dalam alamat lokalnya, yaitu :
 Cache Asosiatif
-Disebut juga Fully Associative Cache.
-Menyimpan tagnya di dalam memori asosiatif atau memori yang ekuivalen secara fungsional
-Cache dapat menempatkan sembarang jalur refill selama akses memori
-Membandingkan alamat yang ada dengan semua alamat yang disimpan
 Direct Mapped Cache (Cache yang dipetakan langsung)
-Membagi memory utama menjadi K kolom dengan N refill line per kolomnya
 Set Cache Asosiatif
-Mengkombinasikan organisasi asosiatif dan direct (langsung)
-Mengorganisir memori utama dan memorinya sendiri menjadi kolom jalur refil N
 Sector Mapped Cache (Cache yang dipetakan sector)
-Merupakan modifikasi dari cache asosiatif
-Jalur refill memori utama dan cache dikelompokan menjadi sector yang disebut row(baris)

VI. MEMORI VIRTUAL
• Ada 2 teknik yang digunakan memori virtual utnuk memetakan alamat efektif kedalam alamat fisik yaitu :

 Paging
-Adalah teknik yang berorientasi hardware untuk mengelola memori fisik
-Menggunakan paging agar program besar dapat berjalan pada komputer yang mempunyai fisik kecil.
-Hardware memori virtual membagi alamat logis menjadi 2 yaitu virtual page number dan word offset.
-Membagi alamat logis dan memori menjadi page yang berukuran tertentu.


 Segmentasi
-Adalah teknik yang berorientasi pada struktur logis dari suatu program.
-Membagi alamat logis dan memori menjadi page yang ukuran berubah-ubah.
-Segmen yang berisi kode prosedur disebut kode segmen dan yang berisi data disebut data segmen

Perbedaan Paging dengan Segmentasi adalah :
■ Paging berorientasi pada hardware dan segmentasi pada struktur logis dari suatu program.
■ Segmen cenderung jauh lebih besar dari paging.
■ Segmen mempunyai jangkauan ukuran page dan page hanya mempunyai satu ukuran tertentu untuk suatu system tertentu.
■ Dalam segmentasi seluruh program tidak perlu dibuat sebagai modul tunggal untuk diisikan ke dalam memori sebagai sebuah unit
■ Dalam segmentasi, alamat logis mempunyai 2 bagian, yaitu segement number dan byte offset.

VII. MASALAH DESIGN MEMORI
• Kecepatan Memori lawan kecepatan CPU :
■ Awal tahun 1960 – 1980, kecepatan memori dan CPU meningkat, namun rasio keseluruhan antara keduanya relatif.
■ Pada era ini kecepatan memori biasanya kurang lebih 10 kali lebih lambat dari kecepatan CPU.
■ CDC:6600, 7600, CRAY 1 dan CRAY X-MP untuk super komputer waktu akses memorinya 10 sampai 14 waktu siklus CPU.
■ VAX 11/780, 8600 dan 8700 untuk mini computer waktu akses memorinya 4 sampai 7 kali siklus CPU
■ Pertengahan tahun 1980, kecepatan CPU jauh lebih meningkat hingga 50 kali kecepatan memori, contoh CRAY
■ Keuntungan dari perubahan ini adalah :
-Memori besar umumnya memerlukan hardware khusus untuk mendeteksi dan mengoreksi kesalahan, yang menambah waktu akses memori efektif.
-CPU yang paling cepat merupakan pipelined.

• Ruang Alamat Memori :
■ Semakin besar ruang alamat memori yang disediakan maka akan semakin baik namun harus diperhatikan pula bahwa dalam perubahan tersebut tidak harus merubah secara keseluruhan dan mendasar daripada arsitektur yang telah dibangun.






• Keseimbangan antara kecepatan dan biaya :
● Sifat dari Teknologi Memori
– Harga unitnya turun dengan sangat cepat, sedangkan kecepatannya secara perlahan meningkat.
– Adanya berbagai kecepatan dan biaya dalam peralatan memori
● Ada tiga penggunaan teknologi RAM dalam system computer untuk memanfaatkan variasi ini adalah :
– Peralatan lambat, murah untuk memori utama
– Peralatan cepat untuk cache
– Peralatan sangat cepat, mahal untuk register
• Memori dalam system computer dapat dibagi menjadi tiga kelompok, yaitu :
1.Internal Processor Memory
2.Main Memory (Primary Memory)
3.Secondary Memory (Auxiliary/Backing Memory)
• Karakteristik Memori :
■ Access Time
■ Access Modes
■ Alterability
■ Permanence of Storage
■ Cycle Time and Data Transfer Rate
■ Physical Characteristics
• Metode Akses :
■ Random Access Memory
Lokasi memori dapat dicapai secara acak dan waktu akses tidak bergantung pada lokasi yang sedang diakses
■ Serial Access Memory
Mekanisme akses digunakan bersama-sama oleh seluruh lokasi



http://www.google.co.id/search?hl=id&q=ARSITEKTUR+MEMORY&btnG=Telusuri&meta=














Dua element utama pd sistem komputer konvensional:
♦ Memory
♦ Processor




Klasifikasi Arsitektur komputer (Michael Flynn), berdasarkan karakteristiknya termasuk banyaknya processor, banyaknya program yang dapat dieksekusi dan struktur memori:

Single Intruction Stream, Single Data Stream (SISD)
Satu CPU yang mengeksekusi instruksi satu persatu dan menjemput atau menyimpan data satu persatu
Single Instruction Stream Multiple Data Stream (SIMD)
Satu unit kontrol yang mengeksekusi aliran tunggal instruksi, tetapi lebih dari satu Elemen Pemroses

Multiple Instruction Stream, Single Data Stream (MISD)
Mengeksekusi beberapa program yang berbeda terhadap data yang sama.
Ada dua kategori:
1. Mesin dengan Unit pemroses berbeda dengan instruksi yang berbeda dengan data yang sama (sampai sekarang tidak ada mesin yang seperti ini)
2. Mesin, dimana data akan mengalir ke elemen pemroses serial
Multiple Instruction Stream, Multiple Data Stream (MIMD)
Juga disebut multiprocessors, dimana lebih dari satu proses dapat dieksekusi berikut terhadap dengan datanya masing-masing

Arsitektur Paralel
Dalam taksonomi arsitektur paralel ada dua keluarga arsitektur paralel yang banyak diterapkan adalah: SIMD dan MIMD, dimana untuk mesin yang murni MISD tidak ada.
Arsitektur SIMD
Mesin SIMD secara umum mempunyai karakteristik sbb:
♦ Mendistribusi proses ke sejumlah besar hardware
♦ Beroperasi terhadap berbagai elemen data yang berbeda
♦ Melaksanakan komputasi yang sama terhadap semua elemen data

Peningkatan kecepatan pada SIMD proporsional dengan jumlah hardware (elemen pemroses) yang tersedia.

Sebagai perbandingan, pada gambar dibawah, untuk sistem SISD (a), X1, X2, X3, dan X4 merepresentasikan blok instruksi, setelah mengeksekusi X1, tergantung dari nilai X, X3 atau X2 dieksekusi kemudian X4. Pada sistem SIMD, beberapa aliran data ada yang memenuhi X=? dan ada yang tidak, maka beberapa elemen akan melakukan X3 dan yang lain akan melakukan X2 setelah itu semua elemen akan melakukan X4.


Array Element pemroses atau biasa disebut Processor Array dapat berbeda satu sama lain berdasarkan:
♦ Struktur elemen pemroses
♦ Struktur unit kontrol
♦ Struktur memori
♦ Topologi interkoneksi
♦ Struktur input/output

Struktur umum dari 16 elemen pemroses dan unit kontrol tunggal dapat dilihat pada gambar berikut




Contoh komputer SIMD termasuk: ILLIAC IV, MPP, DAP, CM-2, MasPar MP-1, dan MasPar MP-2.




Tiga arsitektur pemroses array yang berbeda dapat dilihat pada gambar berikut.




MasPar MP-1
Dua bagian utama dalam arsitektur MasPar yaitu:
1. MasPar Front End (DEC3100 WS dgn ULTRIX)
2. Data Parallel Unit (DPU)
♦ Array Control Unit (ACU)
♦ Processor Element Array (PE Array) (64X64 =4096 PEs)

Array Control Unit (ACU) melaksanakan dua tugas:
1. Eksekusi instruksi terhadap data singular
2. Secara simultan memberi instruksi yang beroperasi pada data paralel untuk tiap PE


Arsitektur MISD

Prosesor pipeline adalah prosesor MISD yang bekerja berdasarkan prinsip pipelining. Pada pipeline proses dapat dibagi menjadi beberapa tahap dan beberapa proses dapat dilaksanakan secara simultan.
Pada gambar dibawah dapat dilihat perbedaan proses serial dengan pipeline


Waktu eksekusi lebih cepat dibandingkan dengan proses serial.
Prinsip pipelining dapat digunakan pada dua level yang berbeda:
 Pipeline unit aritmatika
 Pipeline unit kontrol
Seperti terlihat pada gambar dibawah:

Operasi pipeline dapat dilaksanakan secara siklus yaitu cyclic pipeline, dimana dapat dibagi dalam 5 tahap:
● Operasi baca (dari shared memories)
● Operasi transfer (memori ke elemen pemroses)
● Operasi eksekusi (di elemen pemroses)
● Operasi transfer (elemen pemroses ke memori)
● Operasi simpan (di shared memories)

Secara umum, prinsip pipeline dapat diterapkan pada beberbagai level, seperti:
● Level instruksi (unit pemrosesan instruksi)
● Level subsystem (unit aritmatika pipeline)
● Level system (level hardware/software)
Secara umum arsitektur pipeline dapat dilihat pada gambar dibawah ini


CDC Star 100
CPU terdiri dari dua unit aritmatika floating point pipeline


Systolic Array Processor
Merupakan arsitektur array pipeline multidimensional yang dirancang untuk mengimplementasikan fixed algorithm. Array systolic dibentuk dengan jaringan unit fungsional yang secara lokal terkoneksi. Array dapat beroperasi secara sinkronus dengan multidimensional pipelining.


Dengan beberapa topologi array systolic seperti pada gambar berikut.


Arsitektur MIMD
Sistem MIMD merupakan sistem multiprocessing atau multicomputer dimana tiap prosesor mempunyai unit kontrol dan program sendiri. Karakteristiknya:
● Proses didistribusikan ke beberapa prosesor independent
● Berbagi sumbar daya, termasuk memori, processor
● Operasi tiap processor secara independent dan simultan
● Tiap processor menjalankan programnya sendiri

Komputer MIMD: sistem tightly coupled (global memory) dan loosely coupled (local memory).


Intel iPSC Machines
Sistem iPSC terdiri dari: 1, 2 atau 4 unit komputesi (cube) dan prosesor host (cube manager). Cube merupakan processing nodes yang terinterkoneksi hypercube yang mempunyai memori dan prosesor sendiri.
Contoh: iPSC/1 terdiri dari 32 nodes, cube manager dan 16 Mbytes memory unshared. Tiap node mempunyai arsitektur seperti pada gambar berikut:

Symmetry Machine
SM dapat memperkejakan 30 processor, dimana merupakan contoh UMA MIMD (tightly coupled)

Carnegie-Mellon Multi-Mini_Processor (C.mmp)
Processor dikelompokkan ke dalam cluster local dan diorganisasikan kedalam struktur tree dan berkoneksi lewat Inter-Cluster Buses. Seperti terlihat pada gambar dibawah.


Arsitektur Hibrid SIMD-MIMD
Arsitektur hibrid SIMD-MIMD adalah sistem pemrosesan paralel dengan struktur yang dapat diubah sebagai satu atau lebih arsitektur SIMD dan /atau MIMD independen dengan ukuran yang bervariasi.

Ada tiga kategori utama arsitektur SIMD-MIMD:
1. PASM: Partionable SIMD-MIMD systems
2. VLIW: Very Long Instruction Word systems
3. MSIMD: Multiple SIMD systems

Arsitektur PASM
Arsitektur PASM dikembangkan unutk image processing. Komponen dasar arsitektur ini dapat dilihat pada gambar berikut.

System Control Unit bertanggung jawab terhadap penjadualan proses, alokasi sumber daya, modus paralelisme, dan koordinasi keseluruhan.
Microcontrollers mengontrol aktivitas, dimana masing-masing memiliki microprocessor dan dua unit memori untuk melaksanakan loading memori dan komputasi.
Microprocessors melaksanakan komputasi SIMD dan MIMD.
Memory modules digunakan untuk penyimpanan data dalam modus SIMD dan penyimpanan kedua data dan instruksi pada modus MIMD

Arsitektur VLIW
Elemen pemroses dibawah kontrol terpusat, tetapi individual elemen pemroses dapat melaksanakan operasi berbeda pada data yang berbeda. Instruksi yang sangat panjang pelaksanaannya dapat dilakukan secara paralel.


Arsitektur Aliran Data
Pada arsitektur aliran data, operasi dapat dilaksanakan dengan memperbolehkan instruksi dilaksanakan segera setelah operand dan sumber daya komputasinya tersedia. Bila data untuk beberapa instruksi datang secara berbarengan maka instruksi dapat dieksekusi secara paralel.


Arsitektur aliran data dibagi menjadi tiga kategori yagn berbeda:
1. Arsitektur statis; dapat mengevaluasi hanya satu graf program
2. Arsitektur statis yang dapat di rekonfigurasi ulang; mempunyai beberapa processor dimana interkoneksi logika antar processor dibuat setelah program diload, maka koneksi ini harus ditentukan pada saat kompilasi dan program yang diload tetap selama eksekusi
3. Arsitektur Dinamis; arsitektur ini mengijinkan program untuk dievaluasi secara dinamis, koneksi logika antar processor dapat berubah selama eksekusi berlangsung

elektro.unila.ac.id/~erwin/files/Ebooks%20Kuliah/Arsitektur%20Komputer/arsitektur%20komputer1.doc