Kamis, 26 Desember 2019

RISC dan Pipelining

PIPELINING

          Pipelining yaitu suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesan. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistemkomputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijalankan oleh microprocessor.
Contoh pipeline dalam komputer adalah:
  • Pipeline instruksi. Biasanya digunakan di unit pemroses sentral agar instruksi – instruksi dapat dijalankan dalam satu waktu dalam satu sirkuit digital. Biasanya sirkuitnya dibagi dalam beberapa tahap, termasuk decode instruksi, aritmetika dan tahap – tahap penjemputan data dari register, dimana setiap tahap melakukan satu instruksi dalam satu waktu.
  • Pipeline grafis, sering ditemukan dalam sebagian besar unit pemrosesan grafis, yang terdiri dari berbagai unit aritmatik atau unit pemroses sentral lengkap, yang menerapkan berbagai macam tahap dari operasi render yang umum (seperti proyeksi perspektif, kalkulasi warna dan pencahayaan, primitif gambar, dan sebagainya).
  • Pipeline perangkat lunak. Dimana keluaran dari suatu program langsung dipakai oleh program lain sebagai masukkan sehingga dapat langsung diproses.
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.
Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi. Misalnya sebuah microprocessor menyelesaikan sebuah instruksi dalam 4 langkah. Ketika instruksi pertama masuk ke langkah 2, maka instruksi berikutnya diambil untuk diproses pada langkah 1 instruksi tersebut. Begitu pun seterusnya, ketika instruksi pertama masuk ke langkah 3, instruksi kedua masuk ke langkah 2 dan instruksi ketiga masuk ke langkah 1.
Keuntungan dari Pipeline
  1. Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi-isu dalam kebanyakan kasus.
  2. Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit.
Jika  pipeline  digunakan sebagai pengganti, hal itu dapat menghemat sirkuit vs combinational yang lebih kompleks sirkuit.
Kerugian dari Pipeline
  1. Prossesor  non-pipeline hanya menjalankan satu instruksi pada satu waktu. Hal ini untuk mencegah penundaan cabang (yang berlaku, setiap cabang tertunda) dan masalah dengan serial instruksi dieksekusi secara bersamaan. Akibatnya desain lebih sederhana dan lebih murah untuk diproduksi. Pipeline lebih mahal dalam produksi karena sirkuit lebih rumit.
  2. Prossesor non-pipeline akan memiliki instruksi bandwidth yang stabil. Kinerja prossesor yang pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.

RISC

            Reduced Instruction Set Computing (RISC) atau “Komputasi set instruksi yang disederhanakan” pertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson, pengajar pada University of California di Berkely.
RISC mempunyai karakteristik :
  1. one cycle execution time : satu putaran eksekusi. Prosessor RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
  2. large number of registers: Jumlah register yang sangat banyak. RISC di Desain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
  3. pipelining:adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan.Sehingga proses instruksi lebih efiisien.
Ciri-ciri :
  1. Instruksi berukuran tunggal
  2. Ukuran yang umum adalah 4 byte
  3. Jumlah pengalamatan data sedikit,
  4. Tidak terdapat pengalamatan tak langsung
  5. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika
  6. Tidak terdapat lebih dari satu operand beralamat memori per instruksi
  7. Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
  8. Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .
Contoh pengaplikasian RISC yaitu pada perangkat elektronika yang dibuat khusus, seperti Kalkulator, Mesin Kasir, mesin cuci mobil dll.
Sumber :

Arsitektur Familly komputer IBM PC



IBM (International Business Machines) merupakan sebuah perusahaan hardware yang mengembangkan software – software yang sudah ada seperti UNIX dan WINDOWS. Oleh karena itu IBM sendiri merupakan sebuah perusahaan bukan system operasi, hanya saja IBM mencoba mengembangkan OS yang telah ada seperti OS dari UNIX dan LINUX.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

      A.    FAMILI 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 MICROCOMPUTER DASAR
Micro ComputerMicro Computer (Mikro Komputer) disebut juga dengan nama personal computer (komputer personal) . ukuran main memory komputer mikro sekarang berkisar dari 16 MB sampai lebih dari 128 MB, dengan konfigurasi operand register 8 bit, 16 bit, atau 32 bit. Kecepatan komputer mikro sekarang berkisar 200 Mhz sampai dengan 500 Mhz.Komputer mikro umumnya adalah single-user (pemakainya tunggal), yaitu satu komputer hanya dapat digunakan untuk satu pemakai saja untuk tiap saat.
1.      Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu seperti pengontrol interupt, pengontrol bus dan timer.
2.      Chip khusus yang di sebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya

      C.     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.  MANFAAT ARSITEKTURAL ARSITEK KOMPUTER
Ada empat ukuran pokok yang menentukan keberhasilan arsitektur, yaitu manfaat arsitekturalnya yaitu:

-          Aplicability
-          Maleability
-          Expandibility
-          Comptible

Kinerja Sistem Untuk mengukur kinerja sistem, ada serangkaian program yang standard yang dijalankan yang biasa di sebut Benchmark pada komputer yang akan diuji.

Sumber:

Unit Input & Output

Pada sistem 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 datadari luar ke dalam mikroprosesor 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
Sistem bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer agar dapat berjalan. 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. Sebuah komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya.

Struktur Bus :

– Data Bus
Lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran.
Tujuan : agar mentransfer word dalam sekali waktu.
Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit.

– Alamat Bus
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data, mengirim alamat word pada memori yang akan diakses CPU, dan digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya.

– Kontrol Bus
Digunakan untuk mengontrol bus data, bus alamat dan seluruh modul yang ada. Karena bus data dan bus alamat digunakan oleh semua komponen maka diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini.

Sinyal – sinyal kontrol terdiri atas :
1.    Sinyal pewaktuan yaitu Sinyal pewaktuan menandakan validitas data dan alamat
2.    Sinyal–sinyal perintah yaitu Sinyal perintah berfungsi membentuk suatu operasi

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:
1.      Pemrosesan CPU, pemrosesan Input / Output
2.      Peran OS dalam pengelolaan Input / Output: Mengelola dan mengontrol operasi Input / Output serta   perangkat Input / Output
3.      Fungsi pengelolaan Input / Output: Hardware : port, bus, device controller, software  Input / Output adalah modul device driver sebagai peralatan input/output.

SUMBER:

CPU (Central Prosessing Unit)


Setiap perangkat laptop atau komputer pasti terdiri dari 2 komponen yaitu software dan hardware. Keduanya sama-sama penting dan saling mendukung satu sama lain agar ia dapat bekerja dengan maksimal. Dalam kesempatan kali ini kita akan membahas salah satu perangkat keras yang bisa dibilang sangat penting, yaitu CPU. Tentu kalian sudah tidak asing dong dengan hardware yang satu ini. Kebanyakan pasti sudah mengenal benda ini dari luar, namun apa kalian tahu pengertian serta fungsi dari CPU?

Pengertian CPU
Pengertian CPU atau Central Prosessing Unit adalah salah satu hardware PC untuk menerima dan kemudian memproses perintah yang dimasukkan oleh pengguna. Secara sederhana kita bisa menyebut CPU sebagai otak dari perangkat tersebut. Ia merupakan tempat dimana semua data diproses sebelum kemudian dikeluarkan kembali sebagai output melalui hardware lainnya.


Fungsi CPU

Kita tadi sudah sedikit menyinggung apa saja kegunaan dari hardware yang satu ini. Namun perlu kalian ketahui bahwa fungsi CPU bukan hanya itu. Ia punya banyak sekali tugas yang harus dikerjakan karena prosesor merupakan pusat dari segala aktivitas di perangkat. Berikut ini beberapa kegunaan dari CPU :
·         Memproses segala bentuk instruksi yang dimasukkan oleh pengguna.
·         Berfungsi untuk mengontrol dan mengendalikan hardware input maupun output.
·         Mengambil data dari memory kemudian memprosesnya.
·         Memastikan ALU bekerja dengan baik.
·         Setelah memproses data, CPU akan menyimpannya di memory.

Komponen CPU

Karena tugasnya terbilang berat, maka CPU juga terdiri dari beberapa bagian yang masing-masing punya fungsi tersendiri. Untuk menambah pemahaman kita terkait prosesor, berikut ini adalah beberapa komponen yang ada pada CPU dan juga kegunaannya.

Arithmetic Logic Unit (ALU)

Ini merupakan bagian dari CPU yang berfungsi untuk memperoses perhitungan aritmatik dan beberapa perintah logika lainnya. Saat ada perintah yang membutuhkan perhitungan aritmatik masuk dari pengguna, maka prosesor akan memerintahkan ALU untuk memprosesnya.

Control Unit (CU)

Ini merupakan bagian yang kegunaannya untuk mengontrol komponen lain yang ada di komputer. ALU pun kadang bekerja atas perintah dari Control Unit ini, berikut ini tugas lengkap dari Control Unit.
·         Mengontrol alat Input / Outpun
·         Mengambil instruksi dari memori utama.
·         Mengambil data dari main memori atau memori utama jika memang diperlukan untuk diproses.
·         Mengirim instruksi ke ALU bila ada perhitungan aritmatika dan logika.
·         Mengawasi Jalanya ALU
·         Menyimpan hasil pemrosesan data ke memori utama.

Register

Register adalah yang memiliki akses ke kecepatan tinggi, bertugas untuk menyimpan data yang sedang diproses, bersifat sementara, biasanya digunakan untuk menyimpan data sementara ketika sedang diolah untuk diproses lebih lanjut.
Mungkin kalian sudah tidak asing lagi dengan yang namanya file register. Ini merupakan sebuah file atau tempat dimana segala data aktivitas komputer tersimpan. Jika ada aktivitas yang mempengaruhi pengaturan ataupun data lainnya, maka ia akan langsung tersimpan di sistem register. Mungkin registry bisa dianalogikan sebagai ingatan layaknya pada otak manusia.

PENGERTIAN BUS SYSTEM
Perlu sobat ketahui komputer tersusun ats beberapa komponen penting seperti CPU, memori dan perangkat I/O. Ssytem bus adalah penghubung bagi keseluruhan komponen dalam menjalankan tugasnya.
Bus system menghubungkan CPU dengan RAM mungkin sebuah buffer memory. Memory penyangga (cache L2 ), Bus system merupakan BUS pusat. Bus – bus yang lain merupakan pencabangan dari BUS ini.    
Didalam PC terdapat 2 Bus yaitu :
·        Bus sistem, yang menghubungkan CPU dengan RAM, dan
·        Bus I/O, yang menghubungkan CPU dengan komponen-kompoonen lain.




Memori 
Merupakan istilah generik yang merujuk pada media penyimpanan data sementara pada komputer. Setiap program dan data yang sedang diproses oleh prosesor akan disimpan di dalam memori fisik. Data yang disimpan dalam memori fisik bersifat sementara, karena data yang disimpan di dalamnya akan tersimpan selama komputer tersebut masih dialiri daya (dengan kata lain, komputer itu masih hidup). Ketika komputer itu direset atau dimatikan, data yang disimpan dalam memori fisik akan hilang. Oleh karena itulah, sebelum mematikan komputer, semua data yang belum disimpan ke dalam media penyimpanan permanen (umumnya berbasis disk, semacam hard disk atau floppy disk), sehingga data tersebut dapat dibuka kembali di lain kesempatan.
Memori fisik umumnya diimplementasikan dalam bentuk Random Access Memory (RAM), yang bersifat dinamis (DRAM). Mengapa disebut Random Access, adalah karena akses terhadap lokasi-lokasi di dalamnya dapat dilakukan secara acak (random), bukan secara berurutan (sekuensial). Meskipun demikian, kata random access dalam RAM ini sering menjadi salah kaprah. Sebagai contoh, memori yang hanya dapat dibaca (ROM), juga dapat diakses secara random, tetapi ia dibedakan dengan RAM karena ROM dapat menyimpan data tanpa kebutuhan daya dan tidak dapat ditulisi sewaktu-waktu. Selain itu, hard disk yang juga merupakan salah satu media penyimpanan juga dapat diakses secara acak, tapi ia tidak digolongkan ke dalam Random Access Memory.

Cara Kerja CPU

Pertama adalah ketika sebuah perintah dimasukkan oleh pengguna maka data akan diambil dari storage dan simpan sementara dalam RAM. Control unit akan mulai bekerja dan memilah, instruksi akan di masukkan ke program storage dan data akan dimasukkan ke working storage.
Kemudian CU akan mengambil instruksi dan data tersebut lalu dipindahkan ke registry. Jika perintah berupa perhitungan aritmatik maka akan diserahkan kepada ALU dan kemudian disimpan di accumulator. CU akan mengambil hasil tersebut kemudian menyimpannya di RAM dan dikeluarkan melalui hardware output.

 SUMBER :