Selasa, 24 Juni 2014

SIMD dan SISD



Sumber :

SIMD
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. 

SIMD merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk menangani jumlah data yang sangat banyak dalam paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala besar, meski sekarang telah ditemukan pada komputer pribadi.

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).

Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik data (data point), yang umum terjadi dalam aplikasi multimedia. Salah satu contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap pixel dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit brightness dari porsi warna merah (red), hijau (green), dan biru (blue). Untuk melakukan perubahan brightness, nilai R, G, dan B akan dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke memori.

Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda.
Prosesor yang memiliki SIMD menawarkan dua keunggulan, yakni:
-          Data langsung dapat dipahami dalam bentuk blok data, dibandingkan dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan menggunakan blok data, prosesor dapat memuat data secara keseluruhan pada waktu yang sama. Daripada melakukan beberapa instruksi "ambil pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi saja, yaitu "ambil semua pixel itu!" (istilah "semua" adalah nilai yang berbeda dari satu desain ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika dibandingkan dengan desain prosesor tradisional yang tidak memiliki SIMD (yang memberikan satu instruksi untuk satu data saja).

-          Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain, sistem SIMD dapat bekerja dengan memuat beberapa titik data secara sekaligus, dan melakukan operasi terhadap titik data secara sekaligus.


SISD
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.

Perbedaan antara SISD dan SIMD

Table 1. perbedaan 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 .



Gambar 3. Flowchart SISD dan SIMD

Storyboard SISD dan SIMD
Pada gambar 4 memperlihatkan storyboardarsitektur SIMD computer.



Gambar 4. Storyboard SIMD

Pada gambar 5 memperlihatkan storyboardarsitektur SISD computer.



Gambar 5. Storyboard SISD

Organisasi Memori



Sumber :


ORGANISASI MEMORI
Yang dimaksud dengan organisasi adalah pengaturan bit dalam menyusun word secara fisik. 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

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 I menunjukkan Proses MO. Pengetahuan dihasilkan dari suatu proses belajar, lalu disimpan untuk kemudian dipanggil kembali, biasanya untuk mendukung pengambilan keputusan atau mengatasi suatu masalah.
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.


Program-program dan data-data pada komputer maupun mikrokontroller disimpan pada memori. Memori yang diakses oleh mikrokontroller ini terdiri dari RAM dan ROM. Perbedaan antara RAM dan ROM ini adalah RAM hanya bisa ditulis dan dibaca, sedangkan ROM hanya bisa dibaca. RAM bersifat volatile (isinya hilang jika power/sumber tegangan dihilangkan), sedangkan ROM bersifat non-volatile (isinya tidak hilang jika power/sumber tegangan dihilangkan).
Biasanya mikrokontroler tipe AT89S8253 mengimplementasikan pembagian ruang memori untuk data dan program. ROM ini biasanya berisi kode/program untuk mengontrol kerja dari mikrokontroler, sedangkan RAM biasanya berisi data yang akan dieksekusi oleh mikrokontroler. Setiap mikrokontroler khususnya keluarga  MCS-51 memiliki ROM dan RAM internal yang besarnya bervariasi.


Teknologi dan Biaya Sistem Memori

Sumber :




TEKNOLOGI DAN BIAYA SISTEM MEMORI

Sistem Memori

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.

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).

      Magnetic Core Storage adalah Suatu bentuk media penyimpan magnetik yang terdiri dari inti-inti magnetik. penyimpanan magnetik menggunakan pola yang berbeda magnetisasi pada permukaan magnetis dilapisi untuk menyimpan informasi. penyimpanan magnetik adalah non-volatile. Informasi yang diakses menggunakan satu atau lebih membaca / menulis kepala yang mungkin berisi transduser satu atau lebih rekaman. A baca / tulis hanya mencakup kepala bagian permukaan sehingga kepala atau menengah atau keduanya harus dipindahkan relatif terhadap yang lain untuk akses data. Pada komputer modern penyimpanan, magnet akan mengambil bentuk ini: Magnetic disk,  Floppy disk, digunakan untuk penyimpanan off-line,  Hard disk drive, digunakan untuk penyimpanan sekunder,  Magnetic tape penyimpanan data, digunakan untuk tersier dan penyimpanan off-line. Pada awal penyimpanan komputer, magnet juga digunakan untuk penyimpanan primer dalam bentuk drum magnetik, atau memori inti, memori inti tali, memori film tipis, twistor memori atau memori gelembung. Juga tidak seperti hari ini, magnetic tape sering digunakan untuk penyimpanan sekunder.
      Magnetic Core Storage terdiri dari ribuan cincin magnetic kecil berukuran diameter 18 mm dengan lubang diameter 10 mm. Tiap core dihubungkan dengan kabel kawat membentuk satu bidang core (core plane). Beberapa core plane ditumpuk satu diatas yang lain membentuk satuan tumpukan (core stack).


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)

Klasifikasi memory
-          Utama
a.       RAM (Random Access Memory) adalah sebuah tipe penyimpanan komputer yang isinya dapat diakses dalam waktu yang tetap tidak memperdulikan letak data tersebut dalam memori. Ini berlawanan dengan alat memori urut, seperti tape magnetik, disk dan drum, di mana gerakan mekanikal dari media penyimpanan memaksa komputer untuk mengakses data secara berurutan. Biasanya RAM dapat ditulis dan dibaca, berlawanan dengan memori-baca-saja (read-only-memory, ROM), RAM biasanya digunakan untuk penyimpanan primer (memori utama) dalam komputer untuk digunakan dan mengubah informasi secara aktif, meskipun beberapa alat menggunakan beberapa jenis RAM untuk menyediakan penyimpanan sekunder jangka-panjang. Tetapi ada juga yang berpendapat bahwa ROM merupakan jenis lain dari RAM, karena sifatnya yang sebenarnya juga Random Access seperti halnya SRAM ataupun DRAM. Hanya saja memang proses penulisan pada ROM membutuhkan proses khusus yang tidak semudah dan fleksibel seperti halnya pada SRAM atau DRAM.

b.      CAM (Content Addressable Memory)
Pada CAM, memori diakses berdasarkan isi, bukan alamat. Pencarian data dilakukan secara simultan dan paralel dengan basis isi memori. CAM disebut juga sebagai memori Asosiatif.

c.       CACHE
Memori utama yang digunakan sistem computer pada awalnya dirasakan masih lambat kerjanya dibandingkan dengan kerja CPU, sehingga perlu dibuat sebuah memori yang dapat membantu kerja memori utama tersebut. Sebagai perbandingan waktu akses memori cache lebih cepat 5 sampai 10 kali dibandingkan memori utama.


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.
Contoh :


DDR Visipro 256Mb PC266 sering ditulis sebagai PC2100 (Bandwidth dari PC266), hasil perkalian dari 64-bit (8 byte) * 266 MHz = 2.128 MB/s ~ pembulatan jadi 2.100.
DDR Visipro 128Mb PC333 sering ditulis sebagai PC2700 (Bandwidth dari PC333), hasil perkalian dari 64-bit (8 byte) * 333 MHz = 2.664 MB/s ~ pembulatan jadi 2.700.
DDR Visipro 512Mb PC400 sering ditulis sebagai PC3200 (Bandwidth dari PC400), hasil perkalian dari 64-bit (8 byte) * 400 MHz = 3.200 MB/s.
DDR2 Visipro 1GB PC533 sering ditulis sebagai PC4200, hasil perkalian dari 64-bit (8 byte) * 533 MHz = 4.264 MB/s ~ pembulatan jadi 4.200.
DDR2 Visipro 1GB PC667 sering ditulis sebagai PC5300, hasil perkalian dari 64-bit (8 byte) * 667 MHz = 5.336 MB/s ~ pembulatan jadi 5.300.