Sabtu, 29 Mei 2021

Single Instruction Stream Multiple Data Stream (SIMD)

SIMD adalah satu unit kontrol yang mengeksekusi aliran tunggal instruksi, tetapi lebih dari satu elemen pemroses. Mesin SIMD secara umum mempunyai karakteristik sbb:

  1. Mendistribusi proses ke sejumlah besar hardware 
  2. Beroperasi terhadap berbagai elemen data yang berbeda 
  3. Melaksanakan komputasi yang sama terhadap semua elemen data

Peningkatan kecepatan pada SIMD proporsional dengan jumlah hardware (elemen pemroses) yang tersedia. SIMD bertugas untuk menyesuaikan kontras dalam citra digital atau menyesuaikan volume audio digital. Desain CPU modern termasuk instruksi SIMD dalam rangka meningkatkan kinerja multimedia yang digunakan.

Keuntungan SIMD

Keuntungan SIMD antara lain sebuah aplikasi adalah salah satu dimana nilai yang sama sedang ditambahkan ke (atau dikurangkan dari) sejumlah besar titik data, operasi umum di banyak multimedia aplikasi. Salah satu contoh akan mengubah kecerahan gambar. Setiap pixel dari suatu gambar terdiri dari tiga nilai untuk kecerahan warna merah (R), hijau (G) dan biru (B) bagian warna. Untuk mengubah kecerahan, nilai-nilai R, G dan B yang dibaca dari memori, nilai yang ditambahkan dengan (atau dikurangi dari) mereka, dan nilai-nilai yang dihasilkan ditulis kembali ke memori. 

Dengan prosesor SIMD ada dua perbaikan proses ini. Untuk satu data dipahami dalam bentuk balok, dan sejumlah nilai-nilai dapat dimuat sekaligus. Alih-alih serangkaian instruksi mengatakan “mendapatkan pixel ini, sekarang mendapatkan pixel berikutnya”, prosesor SIMD akan memiliki instruksi tunggal yang efektif mengatakan “mendapatkan n piksel” (dimana n adalah angka yang bervariasi dari desain untuk desain). Untuk berbagai alasan, ini bisa memakan waktu lebih sedikit daripada “mendapatkan” setiap pixel secara individual, seperti desain CPU tradisional. 

Keuntungan lain adalah bahwa sistem SIMD biasanya hanya menyertakan instruksi yang dapat diterapkan pada semua data dalam satu operasi. Dengan kata lain, jika sistem SIMD bekerja dengan memuat delapan titik data sekaligus, add operasi yang diterapkan pada data akan terjadi pada semua delapan nilai pada waktu yang sama. Meskipun sama berlaku untuk setiap desain prosesor super-skalar, tingkat paralelisme dalam sistem SIMD biasanya jauh lebih tinggi.

Kekurangan SIMD

Tidak semua algoritma dapat vectorized. Misalnya, tugas aliran-kontrol-berat seperti kode parsing tidak akan mendapat manfaat dari SIMD. Ia juga memiliki file-file register besar yang meningkatkan konsumsi daya dan area chip.

Saat ini, menerapkan algoritma dengan instruksi SIMD biasanya membutuhkan tenaga manusia, sebagian besar kompiler tidak menghasilkan instruksi SIMD dari khas Program C, misalnya vektorisasi dalam kompiler merupakan daerah aktif penelitian ilmu komputer.

Pemrograman dengan khusus SIMD set instruksi dapat melibatkan berbagai tantangan tingkat rendah. SSE (Streaming SIMD Ekstensi) memiliki pembatasan data alignment, programmer akrab dengan arsitektur x86 mungkin tidak mengharapkan ini. Mengumpulkan data ke dalam register SIMD dan hamburan itu ke lokasi tujuan yang benar adalah rumit dan dapat menjadi tidak efisien. Instruksi tertentu seperti rotasi atau penambahan tiga operan tidak tersedia dalam beberapa set instruksi SIMD.

Set instruksi adalah arsitektur-spesifik: prosesor lama dan prosesor non-x86 kekurangan SSE seluruhnya, misalnya, jadi programmer harus menyediakan implementasi non-Vectorized (atau implementasi vectorized berbeda) untuk mereka.

Awal MMX set instruksi berbagi register file dengan tumpukan floating-point, yang menyebabkan inefisiensi saat pencampuran kode floating-point dan MMX. Namun, SSE2 mengoreksi ini.

SIMD dibagi menjadi beberapa bentuk lagi yaitu :

Exclusive-Read, Exclusive-Write (EREW) SM SIMD 

Concurent-Read, Exclusive-Write (CREW) SM SIMD 

Exclusive-Read, Concurrent-Write (ERCW) SM SIMD 

Concurrent-Read, Concurrent-Write (CRCW) SM SIMD 

Minggu, 16 Mei 2021

READ ONLY MEMORY (ROM)

Read-only memory (ROM)

Read-only memory (ROM) adalah jenis memori non-volatile yang digunakan di komputer dan perangkat elektronik lainnya. Data yang disimpan dalam ROM tidak dapat dimodifikasi secara elektronik setelah pembuatan perangkat memori. Read-only memory berguna untuk menyimpan perangkat lunak yang jarang berubah selama masa pakai sistem, yang juga dikenal sebagai firmware. Aplikasi perangkat lunak (seperti permainan video) untuk perangkat yang dapat diprogram dapat didistribusikan sebagai kartrid plug-in yang berisi ROM.



Istilah "ROM" kadang-kadang diartikan sebagai perangkat ROM yang berisi perangkat lunak tertentu, atau file dengan perangkat lunak yang akan disimpan di EEPROM atau Flash Memory. Misalnya, pengguna yang memodifikasi atau mengganti sistem operasi Android mendeskripsikan file yang berisi sistem operasi yang dimodifikasi atau diganti sebagai "ROM kustom".

Discrete-component ROM

IBM menggunakan penyimpanan hanya baca kapasitor (CROS) dan penyimpanan hanya baca transformator (TROS) untuk menyimpan kode mikro untuk model System / 360 yang lebih kecil, 360/85, dan dua model awal System / 370 (370/155 dan 370 / 165). Pada beberapa model ada juga penyimpanan kontrol yang dapat ditulis (WCS) untuk diagnostik tambahan dan dukungan emulasi. Apollo Guidance Computer menggunakan memori tali inti, yang diprogram dengan memasang kabel melalui inti magnet.

Solid-state ROM

Jenis solid-state ROM yang paling sederhana sudah setua teknologi semikonduktor itu sendiri. Gerbang logika kombinasional dapat digabungkan secara manual untuk memetakan masukan alamat n-bit ke nilai sembarang dari keluaran data m-bit (tabel pencarian). Dengan penemuan sirkuit terintegrasi datang mask ROM. Mask ROM terdiri dari kisi baris kata (masukan alamat) dan garis bit (keluaran data), secara selektif digabungkan dengan sakelar transistor, dan dapat mewakili tabel pencarian sewenang-wenang dengan tata letak fisik biasa dan penundaan propagasi yang dapat diprediksi.

Dalam mask ROM, data secara fisik dikodekan di sirkuit, sehingga hanya dapat diprogram selama fabrikasi. Hal ini menyebabkan sejumlah kerugian serius: Hanya ekonomis untuk membeli ROM masker dalam jumlah banyak, karena pengguna harus kontrak dengan pengecoran untuk menghasilkan desain khusus.Waktu penyelesaian antara menyelesaikan desain untuk ROM masker dan menerima produk jadi cukup lama, karena alasan yang sama. Mask ROM tidak praktis untuk pekerjaan R&D karena desainer sering kali perlu memodifikasi konten memori saat mereka menyempurnakan desain. Jika produk dikirim dengan ROM masker yang rusak, satu-satunya cara untuk memperbaikinya adalah dengan menarik kembali produk dan mengganti ROM secara fisik di setiap unit yang dikirimkan.

Perkembangan selanjutnya telah mengatasi kekurangan ini. PROM, yang ditemukan pada tahun 1956, memungkinkan pengguna untuk memprogram isinya secara tepat satu kali dengan mengubah strukturnya secara fisik dengan penerapan pulsa tegangan tinggi. Ini mengatasi masalah 1 dan 2 di atas, karena perusahaan dapat dengan mudah memesan sejumlah besar chip PROM segar dan memprogramnya dengan konten yang diinginkan sesuai keinginan perancangnya. Penemuan EPROM tahun 1971 pada dasarnya memecahkan masalah 3, karena EPROM (tidak seperti PROM) dapat berulang kali diatur ulang ke keadaan tidak terprogram dengan paparan sinar ultraviolet yang kuat. EEPROM, ditemukan pada tahun 1983, sangat membantu untuk memecahkan masalah 4, karena EEPROM dapat diprogram di tempat jika perangkat yang berisi menyediakan sarana untuk menerima konten program dari sumber eksternal (misalnya komputer pribadi melalui kabel serial). Memori flash, ditemukan di Toshiba pada pertengahan 1980-an, dan dikomersialkan pada awal 1990-an, adalah bentuk EEPROM yang membuat penggunaan area chip sangat efisien dan dapat dihapus serta diprogram ulang ribuan kali tanpa kerusakan. Semua teknologi ini meningkatkan fleksibilitas ROM, tetapi dengan biaya per chip yang signifikan, sehingga dalam jumlah besar ROM mask akan tetap menjadi pilihan ekonomis selama bertahun-tahun. (Penurunan biaya perangkat yang dapat diprogram ulang hampir menghilangkan pasar untuk ROM mask pada tahun 2000.) Selain itu, terlepas dari kenyataan bahwa teknologi yang lebih baru semakin kurang "hanya-baca", sebagian besar hanya dibayangkan sebagai pengganti untuk penggunaan ROM masker tradisional.

Perkembangan terbaru adalah flash NAND, juga ditemukan oleh Toshiba. Para perancangnya secara eksplisit melepaskan diri dari praktik sebelumnya, dengan menyatakan bahwa "tujuan NAND Flash adalah untuk menggantikan hard disk, daripada penggunaan tradisional ROM sebagai bentuk penyimpanan primer yang tidak mudah menguap. Pada tahun 2007, NAND sebagian telah mencapai tujuan ini dengan menawarkan throughput yang sebanding dengan hard disk, toleransi yang lebih tinggi terhadap guncangan fisik, miniaturisasi ekstrim (dalam bentuk flash drive USB dan kartu memori microSD kecil, misalnya), dan konsumsi daya yang jauh lebih rendah.

Types Of ROMs

Semiconductor based

mask-programmed ROM chip adalah sirkuit terintegrasi yang secara fisik menyandikan data yang akan disimpan, dan dengan demikian tidak mungkin untuk mengubah isinya setelah pembuatan. Jenis lain dari memori solid-state non-volatile mengizinkan beberapa tingkat modifikasi:

Programmable read-only memory (PROM) atau ROM yang dapat diprogram satu kali (OTP), dapat ditulis atau diprogram melalui perangkat khusus yang disebut PROM programmer. Biasanya, perangkat ini menggunakan voltase tinggi untuk menghancurkan secara permanen atau membuat tautan internal (sekering atau antifus) di dalam chip. Akibatnya, PROM hanya dapat diprogram sekali.

Erasable programmable read-only memory (EPROM) dapat terhapus dengan paparan sinar ultraviolet yang kuat (biasanya selama 10 menit atau lebih), kemudian ditulis ulang dengan proses yang membutuhkan penerapan tegangan yang lebih tinggi dari biasanya. Paparan sinar UV yang berulang pada akhirnya akan merusak EPROM, tetapi daya tahan sebagian besar chip EPROM melebihi 1000 siklus penghapusan dan pemrograman ulang. Paket chip EPROM seringkali dapat diidentifikasi dengan "jendela" kuarsa yang menonjol yang memungkinkan sinar UV masuk. Setelah pemrograman, jendela biasanya ditutup dengan label untuk mencegah penghapusan yang tidak disengaja. Beberapa chip EPROM dihapus dari pabrik sebelum dikemas, dan tidak memiliki jendela; ini secara efektif PROM.

Electrically erasable programmable read-only memory (EEPROM) didasarkan pada struktur semikonduktor yang mirip dengan EPROM, tetapi memungkinkan seluruh isinya (atau bank terpilih) dihapus secara elektrik, kemudian ditulis ulang secara elektrik, sehingga tidak perlu dikeluarkan dari komputer (atau kamera, pemutar MP3, dll. .). Menulis atau mem-flash EEPROM jauh lebih lambat (milidetik per bit) daripada membaca dari ROM atau menulis ke RAM (dalam kedua kasus nanodetik).

Electrically alterable read-only memory  (EAROM) adalah jenis EEPROM yang dapat dimodifikasi sedikit demi sedikit. Penulisan adalah proses yang sangat lambat dan membutuhkan voltase yang lebih tinggi (biasanya sekitar 12 V) daripada yang digunakan untuk akses baca. EAROM ditujukan untuk aplikasi yang memerlukan penulisan ulang yang jarang dan hanya sebagian. EAROM dapat digunakan sebagai penyimpanan non-volatile untuk informasi pengaturan sistem penting; dalam banyak aplikasi, EAROM telah digantikan oleh CMOS RAM yang disuplai oleh daya listrik dan didukung dengan baterai lithium.

Flash memory (or simply flash) adalah jenis EEPROM modern yang ditemukan pada tahun 1984. Memori flash dapat dihapus dan ditulis ulang lebih cepat dari EEPROM biasa, dan desain yang lebih baru menampilkan daya tahan yang sangat tinggi (melebihi 1.000.000 siklus). Flash NAND modern memanfaatkan area chip silikon secara efisien, menghasilkan IC individual dengan kapasitas setinggi 16 GB (per 2007); Fitur ini, bersama dengan daya tahan dan daya tahan fisiknya, memungkinkan flash NAND menggantikan magnet di beberapa aplikasi (seperti flash drive USB). Memori flash terkadang disebut flash ROM atau flash EEPROM bila digunakan sebagai pengganti jenis ROM yang lebih lama, tetapi tidak pada aplikasi yang memanfaatkan kemampuannya untuk dimodifikasi dengan cepat dan sering.

Historical examples

ROM matriks dioda, digunakan dalam jumlah kecil di banyak komputer pada tahun 1960-an serta kalkulator meja elektronik dan enkoder keyboard untuk terminal. ROM ini diprogram dengan memasang dioda semikonduktor diskrit di lokasi yang dipilih antara matriks jejak garis kata dan jejak garis bit pada papan sirkuit tercetak.

Resistor, kapasitor, atau ROM matriks transformator, digunakan di banyak komputer hingga tahun 1970-an. Seperti ROM matriks dioda, ia diprogram dengan menempatkan komponen di lokasi yang dipilih antara matriks baris kata dan baris bit. Tabel Fungsi ENIAC adalah ROM matriks resistor, diprogram dengan mengatur sakelar putar secara manual. Berbagai model IBM System / 360 dan perangkat periferal kompleks menyimpan kode mikro mereka di salah satu kapasitor (disebut BCROS untuk Penyimpanan Hanya Baca Kapasitor Seimbang pada 360/50 & 360/65 atau CCROS untuk Penyimpanan Hanya Baca Kapasitor Kartu pada 360/30) atau transformator (disebut TROS untuk Transformer Read Only Storage pada 360/20, 360/40 dan lainnya) matriks ROM.

Core rope, suatu bentuk teknologi ROM matriks transformator yang digunakan di mana ukuran dan / atau berat sangat penting. Ini digunakan di Komputer Pesawat Luar Angkasa Apollo NASA / MIT, komputer PDP-8 DEC, dan tempat lain. Jenis ROM ini diprogram dengan tangan dengan menenun "kabel garis kata" di dalam atau di luar inti transformator ferit.

The perforated metal character mask ("stencil") dalam tabung sinar katoda Charactron, yang digunakan sebagai ROM untuk membentuk berkas elektron lebar untuk membentuk bentuk karakter yang dipilih di layar baik untuk tampilan atau berkas elektron yang dipindai untuk membentuk bentuk karakter yang dipilih sebagai overlay pada sinyal video.

Berbagai perangkat mekanis digunakan pada peralatan komputasi awal. Pelat logam mesin berfungsi sebagai ROM di printer dot matrix pada pukulan tombol IBM 026 dan IBM 029.

Perbedaan antara Threads dan Processes

  THREAD : Adalah alur kontrol dari suatu proses. Merupakan unit dasar dari penggunaan CPU dan sering disebut dengan lightweight process. Ru...