Selasa, 22 November 2016

TUGAS 8: PROSESOR PARALEL


PROSESOR PARALEL
Paralel Prosesor adalah suatu prosesor dimana pelaksanaan instruksinya secara bersamaan waktunya.
Sehingga menyebabkan pelaksanaan suatu kejadian :
1. Dlam interval waktu yang sama
2. Dalam dalam waktu yang bersamaan
3. Dalam waktu yang saling tumpang tindih

Teknik Pemprosesan Paralel 
Pada prosesor paralel memiliki beberapa teknik pemrosesan :
1. Pipelining
2. Unit-unit fungsional berganda
3. Tumpang tindih antara operasi CPUdan I/O
4. Interleaving memori
5. Multiprograming
6. Multiprosesing

1. JARINGAN INTERKONEKSI
Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu media tertentu. Interkoneksi yang efektif antara prosesor dan modul memorisangat penting dalam lingkungan komputer. Menggunakan arsitektur bertopologi  busbukan merupakan solusi yang praktis karena bus hanya sebuah pilihan yang baik ketika digunakan untuk menghubungkan komponen-komponen dengan jumlah yang sedikit.
Jumlah komponen dalam sebuah modul IC bertambah seiring waktu. Oleh karena itu, topologi  bus bukan topologi yang cocok untuk kebutuhan interkoneksi komponenkomponen di dalam modul IC. Selain itu juga tidak dapat diskalakan, diuji, dan kurang dapat disesuaikan, serta menghasilkan kinerja toleransi kesalahan yang kecil.
Di sisi lain, sebuah  crossbar yang ditunjukkan pada  Gambar 2.2  menyediakan interkoneksi penuh diantara semua terminal dari  suatu  sistem  tetapi  dianggap sangat kompleks, mahal untuk membuatnya, dan sulit untuk dikendalikan. Untuk alasan ini jaringan interkoneksi merupakan solusi media komunikasi yang baik untuk sistem komputer dan telekomunikasi. Jaringan ini membatasi jalur-jalur diantara terminal komunikasi yang berbeda untuk mengurangi kerumitan dalam menyusun elemen switching .

2. Mesin SIMD
SIMD adalah singkatan dari “Single Instruction, Multiple Data”, merupakan tentang sebuah istilah dalam komputasi yang akan 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 super komputer skala besar, meski sekarang telah ditemukan pada komputer pribadi.
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  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 RG, 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.
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.

3. Mesin MMID
MIMD adalah sebuah singkatan dari, "Multiple Instruction Stream-Multiple Data Stream" yaitu sebuah komputer yang memiliki beberapa prosesor yang bersifat otonomus yang mampu melakukan instruksi yang berbeda pada data yang berbeda. Sistem terdistribusi umumnya dikenal sebagai MIMD, entah itu menggunakan satu ruangan memori secara bersama-sama atau sebuah ruangan memori yang terdistribusi.
Pada sistem komputer MIMD murni terdapat interaksi di antara pemrosesan. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses.
Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara pemroses rendah.

4. ARSITEKTUR PENGGANTI.
Dalam bidang teknik computer, arsitektur pengganti merupakan konsep perencanaan atau struktur pengoperasian dasar dalam computer atau bisa dikatakan rencana cetak biru dari deskripsi fungsional kebutuhan dari perangkat keras yang didesain, implementasi perencanaan dari masing-masing bagian seperti CPU, RAM, ROM, Memory Cache, dll.

DAFTAR PUSTAKA

TUGAS 7: PIPELINING & RISC (REDUCE INSTRUCTION SET COMPUTER)


PIPELINING & RISC (REDUCE INSTRUCTION SET COMPUTER)
1 .Pengertian Pipeline
Pemrosesan pipeline dalam suatu komputer diperoleh dengan membagi suatu fungsi yang akan dijalankan menjadi beberapa subfungsi yang lebih kecil dan merancang perangkat keras yang terpisah, disebut sebagai tingkatan (stage), untuk setiap subfungsi. Stage-stage itu kemudian dihubungkan bersama-sama dan membentuk sebuah pipeline tunggal (atau pipe) untuk menjalankan fungsi asli tersebut.
1.Sejajarkan mantissa-mantissa yang ada
2. Tambahkan mantissa-mantissa tersebut
3. Normalisasikan hasilnya
Keuntungan proses penambahan secara pipeline ini adalah bahwa dua input yang baru dapat dimulai melalui pipa tersebut segera sesudah dua input sebelumnya melewati stage 2. Hal ini berarti bahwa jumlah penambahan akan tersedia dengan kecepatan yang sama dengan kecapatan input. Secara sistematis sekumpulan angka floating-point akan bergerak melalui penambah (adder) pipeline yang sederhana pada saat pasangan pertama angka-angka itu dihasilkan oleh stage 3 maka pasangan kedua telah disejajarkan dan ditambahkan dan hanya perlu dinormalisir pada stage 3. Dengan menggunakan pipeline, jumlah selisih waktu antara hasil pertama dan kedua merupakan jumlah waktu yang diperlukan untuk menormalisir sebuah angka.Tanpa suatu pipeline, waktu antara hasil-hasil tersebut merupakan waktu kumulatif yang diperlukan untuk semua ketiga subfungsi tersebut.

Sinkronisasi Pada Pipeline
Meskipun kita dapat memisahkan suatu fungsi menjadi beberapa subfungsi dengan waktu proses yang relatif sama, perbedaan logika dari stiap stage akan menyukarkan kita untuk menghasilkan waktu proses yang sama pada setiap stage. Untuk menyamakan waktu yang diperlukan pada setiap stage maka stage-stage tersebut harus disinkronisasikan. Hal ini bisa dilakukan dengan menyisipkan kunci-kunci (latch) sederhana (register cepat), antara stage-stage tersebut.latch, masing-masing pada bagian pipe paling awal dan satu lagi pada bagian paling akhir untuk memaksa input yang sinkron dan memastikan output
yang sinkron.
Waktu yang diperlukan untuk lewat dari suatu latch melalui stage ke latch berikutnya disebut sebagaipenangguhan clock (clock delay) dan diperlihatkan pada gambar dibawah ini. Karena hanya ada satu keseragaman penangguhan clock untuk seluruh pipeline maka latch disinkronkan sesuai dengan waktu proses maksimum pada masing-masing stage individual dalam pipeline tersebut.

Klasifikasi Pipeline
Pipeline dapat dikelompokkan menrut fungsi dan konfigurasinya. Secara fungsional, mereka diklasifikasikan menjadi tiga kelompok pokok yaitu: pipelineing aritmatika, instruksi dan prosesor. Pipeline menurut konfigurasi dan strtegi kendalinya: unifungsi atau multifungsi; statis atau dinamis; skalar atau vektor.

Klasifikasi Berdasarkan Fungsi
Pipelining aritmatika. Proses segmentasi dari ALU dari sistem yang muncul dalam kategori ini. Suatu contoh daari fungsi pipeline aritmatika diberikan dalam bagian contoh pipeline multifungsi.
Pipelining instruksi.Dalam suatu komputer nonpipeline, CPU bekerja melalui suatu siklus yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Proses fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya selesai. Untuk mem-pipeline fungsi ini, instruksi-instruksi yang berdampingan di fetch dari memori ketika instruksi yang sebelumnya di-decode dan dijalankan. Proses pipelining instruksi, disebut juga instruction lihat-ke-muka (look-ahead), mem-fetch instruksi secara berurutan. Dengan demikian, jika suatu instruksi menyebabkan percabganan keluar dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch sebelumnya dan instruksi percabangan (branched-to instruction) tersebut di-fetch. Pipelining prosesor. Sewaktu stage dari suatu pipeline merupakan prosesor aktual dan latch-latch saling berbagi memori antara prosesor-prosesor tersebut maka pipeline itu disebut sebagai pipeline prosesor.

Prosedur Vektor Pipelining
Mengambil intruksi dan membufferkanya.
·      Ketika tahapn kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut.
·      Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya.
·      Tiga kesulitan yang sering dihadapi ketika menggunakan teknik pipeline :
Terjadinya penggunaan resource yang bersamaan 
Ketergantungan terhadap data pengaturan jump ke suatu lokasi memori. 

2. Reduced Instruction Set Computers (RISC)
RISC, yang jika diterjemahkan berarti "Komputasi Kumpulan Instruksi yang Disederhanakan", merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor. Selain digunakan dalam komputer vektor, desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari International Business Machine. Selain itu, RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard.
Selain RISC, desain Central Processing Unit yang lain adalah CISC (Complex Instruction Set Computing), yang jika diterjemahkan ke dalam Bahasa Indonesia berarti Komputasi Kumpulan Instruksi yang kompleks atau rumit.

DAFTAR PUSTAKA

TUGAS 6: ARSITEKTUR FAMILY KOMPUTER (IBM)


ARSITEKTUR FAMILY KOMPUTER (IBM)
IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan “dipensiunkan” pada tanggal 2 April 1987. Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga, yakni:
  • IBM 4860 PCjr
  • IBM 5140 Convertible Personal Computer (laptop)
  • IBM 5150 Personal Computer (PC yang asli)
  • IBM 5155 Portable PC (sebenarnya merupakan PC XT yang portabel)
  • IBM 5160 Personal Computer/eXtended Technology
  • IBM 5162 Personal Computer/eXtended Technology Model 286 (sebenarnya merupakan PC AT)
  • IBM 5170 Personal Computer/Advanced Technology.
                                                                                                               
1. Family IBM PC Dan Turunannya                                                               Ada 3 bagian, yaitu:
a). Komputer personal pertama kali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal   yang terdiri dari set register , ALU dan unit control computer
b). IBM PC merupakan arsitektur bus tunggal yang disebut PC I/O Channel BUS atau PC BUS
c). PC BUS melengkapi PC dengan 8 jalur data, 20 jalur alamat, sejumlah jalur kontrol dan ruang alamat fisik PC adalah 1 MB.

2. Konfigurasi Microkomputer Dasar
Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu seperti pengontrol interupt, pengontrol bus dan timer.
Chip khusus yang di sebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya.

3. Komponen IBM PC
a). Sistem Kontrol BUS
b). Sistem Kontrol Intrerrupt
c). Sistem Kontrol RAM dan ROM
d). Sistem Kontrol DMA
e). Timer
f). SistemKontrol I/O

4. Sistem Software
a). Penetapan Alamat Port I/O
b). Penetapan Vector Interrupt
c). ROM BIOS
d). Penetapan Alamat Memori

5. Manfaat Arsitektural Arsitek Komputer
Secara garis besar manfaat arsitektural arsitek komputer yakni :
a). Kemudahaan penggunaan ukuran kesederhanan bagi programmer sistem untuk mengembangkan atau membuat software untuk arsitektur untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja dan target biaya
b). Daya tempa (Efisiensi) ukuran rata-rata jumlah hardware dalam komputer yang selalu sibuk selama penggunaannya biasa. Arsitektur yang akan efisien memungkinkan (namun tidak memastikan) terjadinya implementasi yang efisien
c). Daya Kembang ukuran kemudahan bagi perancang untuk meningkatkan kemampuan arsitektur
d). Expandibilitas

DAFTAR PUSTAKA
http://en.wikipedia.org/wiki/Classic_RISC_pipeline http://www.scribd.com/doc/34681470/9-Pipe-Lining-Dan-RISC
http://ocw.gunadarma.ac.id/course/computer-science-and-information http://id.wikipedia.org/wiki/Arsitektur_ARM sap.binadarma.ac.id/pdf/.../SAP%20ARSITEKTUR%20KOMPUTER.

TUGAS 5: UNIT INPUT/OUTPUT


INPUT / OUTPUT UNIT
Di dalam bidang komputer, Unit Input/Output  atau sering juga disingkat  (I/O) adalah bagian dari sistem mikroprosesor komunikasi antara sistem pengolahan informasi (seperti komputer) yang digunakan untuk berhubungan dengan dunia luar, yang memungkinkan manusia atau sistem lain pengolahan informasi.
Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesr ini atau sinyal (data) yang diterima oleh sistem, contohnya, data yang berasal dari keyboard atau mouse.
Sementara, Unit output merupakan sinyal atau data yang dikirim dari input. Output biasanya, digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya data yang akan ditampilkan pada layar monitor atau printer.
Istilah ini juga dapat digunakan sebagai bagian dari suatu tindakan, untuk "melakukan I / O" adalah untuk melakukan input atau output operasi. I / O device yang digunakan oleh seseorang (atau sistem lain) untuk berkomunikasi dengan komputer. Misalnya, keyboard atau mouse mungkin sebuah perangkat input untuk komputer, sementara monitor dan printer dianggap output perangkat output untuk komputer. Perangkat ini memungkinkan komunikasi antar komputer, seperti modem dan kartu jaringan, biasanya melayani untuk keduanya input dan output.

1. Sistem Bus
System bus atau bus sistem, dalam arsitektur komputer mengkaji pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
(Gambar. Diagram Sistem BUS)

Mengenal sistem bus Sistem adalah suatu proses yang terikat atau saling ketergantungan dengan satu unsur dan unsur-unsur yang lainnya Bus adalah lintasan / jalur Sistem bus dalam dunia komputer dapat didefinisikan sebagai proses yang menghubungkan antar komponen utama dari sebuah komputer yang memiliki jalur / lintasan masing-masing dimana tetap saling mempengaruhi satu dengan yang lain. Satu bus berisi satu jalur, bus biasanya berbentuk jalur-jalur parallel PCB, ribbon cables, strip connectors (ditemui dalam motherboard), kumpulan kabel.

2. Standar Input/Output Interface
Interface atau antarmuka adalah Penghubung antara dua sistem atau alat media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber daya mengalir dari satu subsistem ke subsistem yang lainnya. Keluaran (output) dari suatu subsistem akan menjadi masukan (input) untuk subsistem lainnya dengan melalui penghubung.

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 Input/Output. Pendekatan inilah yang dinamakan interface aplikasi Input/Output.
Interface aplikasi Input/Output melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan Input/Output 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 Input/Output, berfungsi untuk enkapsulasi perbedaan-perbedaan yang ada dari masing-masing anggota kelas-kelas yang umum tadi. Device driver mengenkapsulasi tiap -tiap peralatan Input/Output 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 Input/Output pada kernel. Karena hal ini, subsistem Input/Output dapat bersifat independen dari hardware.
Karena subsistem Input/Output 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.
                                                                          
3. Pengaksesan Peralatan Input/Output
Pengaksesan peralatan(I/O) bergantung pada perspektif mengubah sinyal-sinyal bahwa pengguna manusia bisa melihat atau membaca. Untuk pengguna proses membaca atau melihat representasi ini adalah menerima masukan.
Interaksi antara komputer dan manusia dipelajari dalam bidang yang disebut interaksi manusia-komputer. CPU dan memori utama dianggap sebagai otak dari komputer, dan dari sudut pandang adanya transfer informasi dari atau ke kombinasi itu, misalnya untuk atau dari disk drive, dianggap Input / Output. CPU dan sirkuit pendukungnya menyediakan memori-mapping Input / Output yang digunakan dalam pemrograman komputer tingkat rendah dalam pelaksanaan driver perangkat. Sebuah Input / Output merupakan salah satu algoritma yang dirancang untuk mengeksploitasi lokalitas dan melakukan efisien bila berada pada penyimpanan data sekunder, seperti disk drive.
Input / Output Interface diperlukan setiap kali Input / Output device didorong oleh prosesor. Antarmuka harus memiliki logika yang diperlukan untuk menafsirkan perangkat alamat yang dihasilkan oleh prosesor. Handshaking harus dilaksanakan oleh antarmuka menggunakan perintah yang sesuai seperti (Sibuk, SIAP, WAIT), dan prosesor dapat berkomunikasi dengan Input / Output device melalui antarmuka. Khusus Input / Output monad, yang memungkinkan program untuk hanya menguraikan Input / Output, dan tindakan yang dilakukan diluar program. Hal ini penting karena Input / Output fungsi akan memperkenalkan efek samping untuk setiap bahasa pemrograman, tapi sekarang pemrograman fungsional murni praktis.
Berikut alamat yang dapat disimpan dalam register. Instruksi akan memiliki register yang memiliki alamat tersebut. Jadi untuk mengambil data, instruksi harus mendaftar didekode sesuai dipilih. Isi register akan diperlakukan sebagai alamat menggunakan alamat lokasi memori yang sesuai dipilih dan data dibaca / ditulis. Port-mapping Input / Output biasanya memerlukan penggunaan instruksi yang secara khusus dirancang untuk melakukan Input / Output operasi.

Pengelolaan I/O :
Tugas utama komputer adalah:
·        Pemrosesan CPU, pemrosesan Input / Output
·       Peran OS dalam pengelolaan Input / Output: Mengelola dan mengontrol operasi Input / Output serta   perangkat Input / Output
·    Fungsi pengelolaan Input / Output: Hardware: port, bus, device controller, software  Input / Output adalah modul device driver sebagai peralatan input/output.

DAFTAR PUSTAKA