Jumat, 18 Januari 2013

PIPELINING , RISC , dan PROSESOR PARALEL .


TUGAS KE 4
(ORGANISASI dan ARSITEKTUR KOMPUTER )

Artikel ke 1 : PIPELINING dan RISC .

1. PIPELINING .

Pipelining atau Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja.

Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijaankan oleh microprocessor.

        Pada microprocessor yang tidak menggunakan  pipeline , satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi.

   Dengan penerapan  pipeline  ini pada microprocessor akan didapatkan peningkatan kinerjamicroprocessor. Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam waktu yang bersamaan. Secara kasarnya diharapkan akan didapatkan peningkatan sebesar K kali dibandingkan dengan microprocessor yang tidak menggunakan  pipeline , apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah K tahap.

      Karena beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar dan lancar. Sedangkan ketergantungan terhadap data bisa muncul, misalnya instruksi yang berurutan memerlukan data dari instruksi yang sebelumnya. Kasus Jump, juga perlu perhatian, karena ketika sebuah instruksi meminta untuk melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan program counter.

       Teknik pipeline yang diterapkan pada microprocessor, dapat dikatakan sebuah arsitektur khusus. Ada perbedaan khusus antara model microprocessor yang tidak menggunakan arsitektur  pipeline  dengan microprocessor yang menerapkan teknik ini.

         Pada microprocessor yang tidak menggunakan  pipeline , satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik  pipeline   ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda.


2. PROSEDUR VEKTOR PIPELINING .

·         Mengambil instruksi dan membuffferkannya.
·         Ketika tahapan 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

3. REDUCE INSTRUCTION SET COMPUTER .

RISC adalah singkatan dari Reduced Instruction Set Computer, kata “reduced” berarti pengurangan pada set instruksinya. RISC merupakan rancangan arsitektur CPU yang mengambil dasar filosofi bahwa prosesor dibuat dengan arsitektur yang tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja. Dengan kata lain RISC adalah arsitektur komputer dengan kumpulan perintah (instruksi) yang sederhana, tetapi dalam kesederhanaan tersebut didapatkan kecepatan operasi setiap siklus instruksinya.

Kebanyakan pada prosesor RISC, instruksi operasi dasar aritmatik hanya penjumlahan dan pengurangan. Untuk perkalian dan pembagian sudah dianggap operasi yang kompleks.
RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi.

Ada beberapa elemen penting pada arsitektur RISC, yaitu :
Set instruksi yang terbatas dan sederhana.
Register general-purpose yang berjumlah banyak, atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya.
Penekanan pada pengoptimalan pipeline instruksi.

Ciri-ciri dan Karakteristik RISC
Ciri-ciri:
Instruksi berukuran tunggal
Ukuran yang umum adalah 4 byte.
Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah.
Tidak terdapat pengalamatan tak langsung.
Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmetika (misalnya, penambahan dari memori, penambahan ke memori).

Ada tiga buah elemen yang menentukan karakter arsitektur RISC, yaitu:
Penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand.
Diperlukan perhatian bagi perancangan pipeline instruksi. Karena tingginya proporsi instruksi pencabangan bersyarat dan prosedur call, pipeline instruksi yang bersifat langsung dan ringkas akan menjadi tidak efisien.
Terdapat set instruksi yang disederhanakan (dikurangi).

Perkembangan RISC
Pada tahun 1980, John Cocke di IBM menghasilkan minikomputer eksperimental, yaitu IBM 801 dengan prosesor komersial pertama yang menggunakan RISC. Pada tahun itu juga, Kelompok Barkeley yang dipimpin David Patterson mulai meneliti rancangan RISC dengan menghasilkan RISC-1 dan RISC-2.
Pemakai Teknik RISC
IBM dengan Intel Inside-nya.
Prosessor PowerPC, prosessor buatan motorola yang menjadi otak utama komputer Apple Macintosh.

Konsep Arsitektur RISC
Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline. Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit. RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar. Dengan mengoptimalkan penggunaan memori register diharapkan siklus operasi semakin cepat.

RISC vs CISC
Dari segi kecepatannya, Reduced Instruction Set Computer (RISC) lebih cepat dibandingkan dengan Complex Instruction Set Computer (CISC). Ini dikarenakan selain instruksi-instruksi pada RISC lebih mudah untuk diproses, RISC menyederhanakan instruksi . Jumlah instruksi yang dimiliki oleh prosesor RISC kebanyakan berjumlah puluhan (±30-70), contoh: COP8 buatan National Semiconductor memiliki 58 instruksi; sedangkan untuk prosesor CISC jumlahnya sudah dalam ratusan (±100 atau lebih).
CISC dirancang untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan (Jumlah perintah sedikit tetapi rumit). Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan, tetapi konsep ini menyulitkan dalam penyusunan kompiler bahasa pemrograman tingkat tinggi.

Artikel ke 2 : PROSESOR PARALEL .

1. JARINGAN INTERKONEKSI .

Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu media tertentu. Interkoneksi yang efektif antara prosesor dan modul memori sangat penting dalam lingkungan komputer. Menggunakan arsitektur bertopologi bus bukan 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 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 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.
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 Bakan 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.

3. Mesin MIMD .

Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antara n pemroses. 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.

Analisa Algoritma Paralel
Pada saat sebuah algoritma digunakan untuk memecahkan sebuah problem, maka performance dari algoritma tersebut akan dinilai. Hal ini berlaku untuk algoritma sekuensial maupun algoritma paralel. Penampilan sebuah algoritma pengolahan peralel dapat dinilai dari beberapa kriteria, seperti running time dan banyaknya prosesor yang digunakan.
Running Time
Running time adalah waktu yang digunakan oleh sebuah algoritma untuk menyelesaikan masalah pada sebuah komputer paralel dihitung mulai dari saat algoritma mulai hingga saat algoritma berhenti. Jika prosesor-prosesornya tidak mulai dan selesai pada saat yang bersamaan, maka running time dihitung mulai saat komputasi pada prosesor pertama dimulai hingga pada saat komputasi pada prosesor terakhir selesai.

Counting Steps
Untuk menentukan running time, secara teoritis dilakukan analisa untuk menentukan waktu yang dibutuhkan sebuah algoritma dalam mencari solusi dari sebuah masalah. Hal ini dilakukan dengan cara menghitung banyaknya operasi dasar, atau step (langkah), yang dilakukan oleh algoritma untuk keadaan terburuknya (worst case).


Langkah-langkah yang diambil oleh sebuah algoritma dibedakan ke dalam dua jenis yaitu :
· Computational step
Sebuah computational step adalah sebuah operasi aritmetika atau operasi logika yang dilakukan terhadap sebuah data dalam sebuah prosesor.
· Routing step.
Pada routing step, sebuah data akan melakukan perjalanan dari satu prosesor ke prosesor lain melalui shared memory atau melalui jaringan komunikasi.
Speedup
· Pengukuran speedup sebuah algoritma paralel adalah salah satu cara untuk mengevaluasi kinerja algoritma tersebut.
· Speedup adalah perbandingan antara waktu yang diperlukan algoritma sekuensial yang paling efisien untuk melakukan komputasi dengan waktu yang dibutuhkan untuk melakukan komputasi yang sama pada sebuah mesin pipeline atau paralel.

4. ARSITEKTUR PENGGANTI .

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

SUMBER :









Minggu, 18 November 2012

INPUT/OUTPUT UNIT DAN ARSITEKTUR FAMILY KOMPUTER (IBM)


TUGAS SOFTSKILL KE 3
INPUT/OUTPUT UNIT DAN ARSITEKTUR FAMILY KOMPUTER (IBM)


1.INPUT/OUTPUT UNIT
Input unit 
adalah suatu jenis perangkat yang berfungsi untuk menerima data dariluar, lalu mengendalikan sinyal (data) yang masuk ke dalam suatu unit prosesor  untuk diolah sedemikian rupa hingga menghasilkan informasi yang dibutuhkan.Singkat kata,
input unit adalah media bagi data dari luar untuk memasuki komputer.

Output unit 
memiliki fungsi mengkomunikasikan data yang telah diproses oleh komputer ke dunia luar, dalam berbagai wujud. Dengan kata lain, bisa dibilang bahwa output unit 
adalah kebalikan dari input unit yang menerima data dari luar.Beberapa output unit  yang sering digunakan, dan akan dibahas cara kerjanya dimakalah ini, adalah:
Monitor
Pencetak ( printer )
•Plotter

A.SISTEM BUS.

Sistem bus adalah penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya . Bus sistem menghubungkan cpu dengan ram dan mungkin sebuah buffer memory atau memori penyangga (cache L2). Bus sistem merupakan bus pusat .bus-bus yang lain merupakan pencabangan dari bus ini. Prosesor ,mempri utama,dan perangkat I/O dapat di interkoneksikan dengan menggunakan bus bersama yang fungsi utamanya adalah menyediakan jalur komunikasi untuk transfer data. Bus tersebut menyediakan jalur yang diperlukan untuk mendukung interrupt dan arbitrasi. Protokol bus adalah setaturan yang mengatur kelakuan berbagai perangkat yang terhubung ke bus yaitu kapan harus meletakkan informasi ke dalam bus ,menyediakan sinyal kontrol dan lain sebagainya.

B.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 / Outputdapat 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.

C.PENGAKSESAN PERALATAN INPUT/OUTPUT.
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 denganInput / 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

2.ARSITEKTUR FAMILY KOMPUTER (IBM)
A.FAMILY IBM  PC dan TURUNANNYA.
· Komputer personal pertama kali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal yang terdiri dari set register , ALU dan unit control komputer
· IBM PC merupakan arsitektur bus tunggal yang disebut PC I/O Channel BUS atau PC BUS
· PC BUS melengkapi PC dengan 8 jalur data, 20 jalur alamat, sejumlah jalur kontrol dan ruang alamat fisik PC adalah 1 MB.

B.KONFIGURASI MIKRO KOMPUTER 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.


C.KOMPONEN IBM PC.
Berikut ini adalah komponen IBM PC :

·                     Sistem kontrol BUS : Pengontrol BUS, Buffer Data, dan Latches Alamat
·                     Sistem kontrol interuppt : Pengontrol Interuppt
·                     Sistem kontrol RAM & ROM : Chip RAM & ROM, Decoder Alamat, dan Buffer
·                     Sistem kontrol DMA : Pengontrol DMA
·                     Timer : Timer Interval Programmable
·                     Sistem kontrol I/O : Interface Paralel Programmable.

D.SISTEM SOFTWARE.
Sistem software adalah perangkat lunak komputer atau sistem operasi yang dirancang untuk mengoperasikan dan mengendalikan perangkat keras komputer dan untuk menyediakan platform untuk menjalankan aplikasi perangkat lunak . [ 1 ] [ 2 ]
Perangkat driver seperti komputer BIOS dan perangkat firmware menyediakan fungsionalitas dasar untuk mengoperasikan dan mengendalikan perangkat keras yang terhubung ke atau dibangun ke dalam komputer. The sistem operasi (contoh menonjol yang z / OS , Microsoft Windows , Mac OS X dan Linux ), memungkinkan bagian-bagian dari komputer untuk bekerja sama dengan melakukan tugas-tugas seperti mentransfer data yang antara memori dan disk atau output render ke perangkat display . Ini juga menyediakan platform untuk menjalankan tingkat tinggi perangkat lunak sistem dan perangkat lunak aplikasi . sistem Jendela adalah komponen dariantarmuka pengguna grafis (GUI), dan lebih spesifik dari lingkungan desktop , yang mendukung pelaksanaan window manager , dan menyediakan dukungan dasar untuk hardware grafis, perangkat menunjuk seperti mouse, dan keyboard. Kursor mouse juga umumnya ditarik oleh sistem windowing . software utilitas membantu untuk menganalisa, mengkonfigurasi, mengoptimalkan dan memelihara komputer.


E.MANFAAT ARSITEKTURAL ARSITEK KOMPUTER.
1.Aplicability.
Arsitektur di tujukan untuk aplikasi yang telah di tentukan.
2.maleability.
Arsitektur lebih mudah membangun sistem yang kecil,maka akan lebih baik.
3.expandibility.
Lebih besar aya kembang arsitektur dalam daya komputasi,ukuran memori,kapasitas I/O dan jumlah processor maka akan lebih baik.
4.comptible.

Sumber :