Senin, 30 Juni 2014

Arsitektur SISD dan SIMD

Perbedaan Arsitektur SISD dan SIMD


Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.

Untuk melakukan berbagai jenis komputasi paralel diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk digunakan perangkat lunak pendukung yang biasa disebut middleware yang berperan mengatur distribusi antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Salah satu middleware yang asli dikembangkan di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public Center.

Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam satu jaringan komputer, biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine).

Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.

Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:
  • SIMD
  • SIMD
  • MISD
  • MIMD

SISD (Single Instruction Stream, Single Data Stream)

Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.

SIMD (Single Instruction Stream, Multiple Data Stream)

Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).

Perbedaan antara SISD dan SIMD

Single Intruction Single Data Stream (SISD)
Single Instruction Multiple Data Stream (SIMD)
Instruksi dikerjakan terurut satu demi satu
Instruksi dapat dikerjakan tanpa terurut
Terdiri dari satu pemrosesan
Terdiri lebih dari satu pemrosesan
Operasi terhadap satu elemen
Operasi terhadap berbagai elemen yang berbeda
Peningkatan kecepatan kurang karena instruksi dilakukan satu demi satu
Peningkatan kecepatan dengan jumlah hardware

Flowchart SISD dan SIMD

Sebagai perbandingan, pada gambar 3, 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 .

Storyboard SISD dan SIMD






Organisasi Memori


Walsh dkk (1991) dalam Stein (1995) mendefinisikan memori organisasi (MO) sebagai penyimpanan informasi dari sejarah organisasi yang dapat digunakan untuk menghasilkan keputusan saat ini. Definisi tersebut kemudian diperluas oleh Stein (1995) dengan menambahkan akibat dari penggunaan MO, yaitu terjadinya peningkatan atau penurunan tingkat keefektifan organisasi, seperti mengasah kompetensi inti, meningkatkan pembelajaran organisasi, meningkatkan kemandirian, dan menurunkan biaya transaksi.


Gambar 1 menunjukkan Proses MO. Pengetahuan dihasilkan dari suatu proses belajar, lalu disimpan untuk kemudian dipanggil kembali, biasanya untuk mendukung pengambilan keputusan atau mengatasi suatu masalah. Tabel 1 menunjukan sarana pemeliharaan memori organisasi (MO).

Beberapa sarana untuk mempertahankan MO ditunjukkan pada tabel I. Schema adalah suatu struktur kognitif individu yang membantu orang mengatur dan memproses pengetahuan secara efisien. Script (terkadang diartikan sebagai tranformasi atau perubahan) menggambarkan urutan kejadian pada situasi yang lazim atau akrab. Sistem adalah kumpulan elemen-elemen saling terkait yang terhubung baik secara langsung maupun tidak langsung.

Walsh and Ungson (1991) dalam Rahman (2006), memaparkan bahwa tempat penyimpanan MO adalah:
  1. Individu berupa catatan atau rekaman yang berhubungan dengannya.
  2. Budaya, berupa cara belajar mempersepsikan, berpikir dan merasakan sesuatu.
  3. Perubahan atau logika yang menuntun perubahan masukan (misalnya bahan mentah, tenaga baru, klaim asuransi ) ke dalam bentuk keluaran (misalnya produk akhir, orang perusahan yang berpengalaman, pembayaran asuransi).
  4. Struktur yaitu peran dan perilaku yang diharapkan.
  5. Ekologi yaitu pengaturan secara fisik tempat kerja (organisasi).
  6. Penyimpanan eksternal berupa dokumentasi informasi. Misalnya ingatan pekerja sebelumnya, pengetahuan pesaing, rekaman layanan keuangan perusahaan.
Perawatan pengetahuan diperlukan karena pengetahuan yang dimiliki adakalanya hilang atau rusak. Misalnya berhentinya beberapa orang pekerja lama di perusahaan. Pemanfaatan teknologi informasi dapat memberikan informasi secara lebih cepat dan tepat, melawati batas waktu dan ruang. Teknologi penyimpanan komputer dan teknik pemanggilan kembali yang canggih, seperti bahasa query, database multimedia, dan sistem manajemen database, bisa menjadi alat efektif dalam meningkatkan memori organisasi (Alavi, 2001).

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
 
Ports 0, 1, 2 dan 3
P0, P1, P2 dan P3 adalah SFR yang ditempati oleh Port 0, 1, 2 dan 3. Menulis suatu logika 1 terhadap sebuah bit dari sebuah port SFR ( P0, P1, P2 atau P3) menyebabkan pin output port yang bersesesuaian akan berada dalam kondisi logika high ‘1’. Dan sebaliknya

Buffer Data Serial

Buffer serial sesungguhnya merupakan dua buah register yang terpisah, buffer pemancar dan buffer penerima. Ketika data diisikan ke SBUF, maka akan menuju ke buffer pemancar dan ditahan untuk proses transmisi. Ketika data diambil dari SBUF, maka akan berasal dari buffer penerima.

Registers Timer

Pasangan register ( TH0, TL0) dan (TH1, TL1) adalah register pencacah 16 bit untuk Timer/ Counter 0 dan 1, masing-masing.

Register Control

Registers IP, IE, TMOD, TCON, SCON, dan PCON terdiri dari bit control dan status.

Program Status Word

PSW atau Program Status Word berisi bit-bit status yang berkaitan dengan kondisi atau keadaan CPU mikrokontroler pada saat tersebut. PSW berada dalam lokasi ruang SFR ( perhatikan pada gambar 1.9, dengan lokasi alamat D0h ). Pada PSW ini kita dapat memantau beberapa status yang meliputi: carry bit, auxiliary carry ( untuk operasi BCD ), dua bit pemilih bank register, flag overflow, sebuah bit paritas dan dua flag status yang bisa didifinisikan sendiri. Bit carry dapat juga anda guakan pada keperluan operasi aritmatika, juga bisa digunakan sebagai universal akumulator untuk beberapa operasi boolean.








Minggu, 29 Juni 2014

Teknologi dan Biaya Sistem Informasi


Sistem Memori ( Memori ) adalah komponen-komponen elektronik yang menyimpan perintah- perintah yang menunggu untuk di eksekusi oleh prosesor,data yang diperlukan oleh insruksi (perintah) tersebut dan hasil-hasil dari data yang diproses ( informasi ). Memori biasanya terdiri atas satu chip atau beberapa papan sirkuit lainnya dalam prosesor. Memori komputer bisa diibaratkan sebagai papan tulis, dimana setiap orang yang masuk kedalam ruangan bisa membaca dan memanfaatkan data yang ada dengan tanpa merubah susunan yang tersaji.

Data yang diproses oleh komputer, sebenarnya masih tersimpan didalam memori, dan dalam hal ini komputer hanya membaca data dan kemudian memprosesnya. Satu kali data tersimpan didalam memori komputer, maka data tersebut akan tetap tinggal disitu selamanya. Setiap kali memori penuh, maka data yang ada bisa dihapus sebagian ataupun seluruhnya untuk diganti dengan data yang baru.

Teknologi dan Biaya Sistem Informasi

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)

Karakteristik sistem-sistem memori secara umum:

Lokasi
  • CPU. Memori ini built-in berada dalam CPU (mikroprosesor) dan diperlukan untuk semua kegiatan CPU. Memori ini disebut register.
  • Internal (main). Memori ini berada di luar chip processor tetapi bersifat internal terhadap sistem komputer dan diperlukan oleh CPU untuk proses eksekusi (operasi) program, hingga dapat diakses secara langsung oleh prosesor (CPU) tanpa modul perantara. Memori internal sering juga disebut sebagai memori primer atau memori utama. Memori internal biasanya menggunakan media RAM
  • External (secondary). Memori ini bersifat eksternal terhadap sistem komputer dan tentu saja berada di luar CPU dan diperlukan untuk menyimpan data atau instruksi secara permanen. Memori ini, tidak diperlukan di dalam proses eksekusi sehingga tidak dapat diakses secara langsung oleh prosesor (CPU). Untuk akses memori eksternal ini oleh CPU harus melalui pengontrol/modul I/O. Memori eksternal sering juga disebut sebagai memori sekunder. Memori ini terdiri atas perangkat storage peripheral seperti : disk, pita magnetik,dll.
Kapasitas
  • Ukuran word. Kapasitas memori internal maupun eksternal biasanya dinyatakan dalam bentuk byte (1 byte = 8 bit) atau word.
  • Banyaknya word. Panjang word umumnya 8, 16, 32 bit.
Satuan Transfer
Satuan transfer sama dengan jumlah saluran data yang masuk ke dan keluar dari modul memori. Konsep satuan transfer adalah :
  • Word, merupakan satuan “alami” organisasi memori. Ukuran word biasanya sama dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi.
  • Addressable units, pada sejumlah sistem, adressable units adalah word. Namun terdapat sistem dengan pengalamatan pada tingkatan byte. Pada semua kasus hubungan antara panjang A suatu alamat dan jumlah N adressable unit adalah 2A =N.
  • Unit of tranfer, adalah jumlah bit yang dibaca atau dituliskan ke dalam memori pada suatu saat. Pada memori eksternal, tranfer data biasanya lebih besar dari suatu word, yang disebut dengan block.
Metode Akses
Terdapat empat jenis pengaksesan satuan data, yaitu sebagai berikut.:
  • Sequential access. Memori diorganisasikan menjadi unit-unit data, yang disebut record. Aksesnya dibuat dalam bentuk urutan linier yang spesifik. Informasi pengalamatan dipakai untuk memisahkan record-record dan untuk membantu proses pencarian. Mekanisme baca/tulis digunakan secara bersama (shared read/write mechanism), dengan cara berjalan menuju lokasi yang diinginkan untuk mengeluarkan record. Waktu access record sangat bervariasi. Contoh sequential access adalah akses pada pita magnetik.
  • Direct access. Seperti sequential access, direct access juga menggunaka shared read/write mechanism, tetapi setiap blok dan record memiliki alamat yang unik berdasarkan lokasi fisik. Aksesnya dilakukan secara langsung terhadap kisaran umum (general vicinity) untuk mencapai lokasi akhir. Waktu aksesnya pun bervariasi. Contoh direct access adalah akses pada disk.
  • Random access. Setiap lokasi dapat dipilih secara random dan diakses serta dialamati secara langsung. Waktu untuk mengakses lokasi tertentu tidak tergantung pada urutan akses sebelumnya dan bersifat konstan. Contoh random access adalah sistem memori utama.
  • Associative access. Setiap word dapat dicari berdasarkan pada isinya dan bukan berdasarkan alamatnya. Seperti pada RAM, setiap lokasi memiliki mekanisme pengalamatannya sendiri. Waktu pencariannya pun tidak bergantung secara konstan terhadap lokasi atau pola access sebelumnya. Contoh associative access adalah memori cache.
Kinerja
Ada tiga buah parameter untuk kinerja sistem memori, yaitu :
  • Access time (Waktu Akses). Bagi RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan operasi baca atau tulis. Sedangkan bagi non RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan mekanisme baca tulis pada lokasi tertentu
  • Cycle time (Waktu Siklus). Waktu siklus adalah waktu akses ditambah dengan waktu transien hingga sinyal hilang dari saluran sinyal atau untuk menghasilkan kembali data bila data ini dibaca secara destruktif.
  • Transfer rate (Laju Pemindahan). Transfer rate adalah kecepatan pemindahan data ke unit memori atau ditransfer dari unit memori. 
Bagi RAM, transfer rate sama dengan 1/(waktu siklus). Sedangkan, bagi non-RAM, berlaku persamaan sbb.:
TN = Waktu rata-rata untuk membaca / menulis sejumlah N bit.
TA = Waktu akses rata-rata
N = Jumlah bit
R = Kecepatan transfer, dalam bit per detik (bps)

Tipe Fisik
Ada dua tipe fisik memori, yaitu :
  • Memori semikonduktor. Memori ini memakai teknologi LSI atau VLSI (very large scale integration). Memori ini banyak digunakan untuk memori internal misalnya RAM.
  • Memori permukaan magnetik. Memori ini banyak digunakan untuk memori eksternal yaitu untuk disk atau pita magnetik.
Karakteristik Fisik
Ada dua kriteria yang mencerminkan karakteristik fisik memori, yaitu:
  • Volatile dan Non-volatile. Pada memori volatile, informasi akan rusak secara alami atau hilang bila daya listriknya dimatikan. Selain itu, pada memori non-volatile, sekali informasi direkam akan tetap berada di sana tanpa mengalami kerusakan sebelum dilakukan perubahan. Pada memori ini daya listrik tidak diperlukan untuk mempertahankan informasi tersebut. Memori permukaan magnetik adalah non volatile. Memori semikonduktor dapat berupa volatile atau non volatile.
  • Erasable dan Non-erasable. Erasable artinya isi memori dapat dihapus dan diganti dengan informasi lain. Memori semikonduktor yang tidak terhapuskan dan non volatile adalah ROM.
Hirarki Memori
Tiga pertanyaan dalam rancangan memori, yaitu : Berapa banyak? Hal ini menyangkut kaspasitas. Berapa cepat? Hal ini menyangkut waktu akses, dan berapa mahal yang menyangkut harga? Setiap spektrum teknologi mempunyai hubungan sbb:
  • Semakin kecil waktu access, semakin besar harga per bit.
  • Semakin besar kapasitas, semakin kecil harga per bit.
  • Semakin besar kapasitas, semakin besar waktu access.
Untuk mendapatkan kinerja terbaik, memori harus mampu mengikuti CPU. Artinya apabila CPU sedang mengeksekusi instruksi, kita tidak perlu menghentikan CPU untuk menunggu datangnya instruksi atau operand. Sedangkan untuk mendapatkan kinerja terbaik, memori menjadi mahal, berkasitas relatif rendah, dan waktu access yang cepat. Untuk memperoleh kinerja yang optimal, perlu kombinasi teknologi komponen memori. Dari kombinasi ini dapat disusun hirarki memori sebagai berikut.

Semakin menurun hirarki, maka hal-hal di bawah ini akan terjadi:
  • Penurunan harga per bit
  • Peningkatan kapasitas
  • Peningkatan waktu akses
  • Penurunan frekuensi akses memori oleh CPU.
Kunci keberhasilan hirarki ini pada penurunan frekuensi aksesnya. Semakin lambat memori maka keperluan CPU untuk mengaksesnya semakin sedikit. Secara keseluruhan sistem komputer akan tetap cepat namun kebutuhan kapasitas memori besar terpenuhi.

Contoh Studi Kasus:
Apa itu Bandwith Memory ?
 
Bandwitdh adalah nilai yang menunjukkan banyaknya data yang dapat di-transfer dalam waktu satu detik. Satuan Bandwitdh adalah Mb/s. Bandwidth menunjukkan kinerja yang sesungguhnya dari RAM.

Secara teori Bandwith dapat dihitungkan menggunakan rumus sebagai berikut :
Bandwidth = Arsitektur * FSB
Umumnya pada RAM DDR, nilai FSB jarang dituliskan dan diganti dengan nilai bandwidth-nya. Arsitektur RAM (DDR/DDR2) sendiri umumnya adalah 64-bit (atau 8 byte). RAM dengan mode Dual Channel berarti memiliki arsitektur 64-bit x 2 = 128 bit atau 16-byte. Dual channel membuat bandwidth RAM menjadi dua kali lipat lebih besar.