Senin, 23 Desember 2019

Pipelining dan RISC


A.  Pengertian Pipeline
      Pipeline adalah 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 dijaankan oleh microprocessor.

B.  Konsep Pipeline 
    Pada umumnya, efisiensi sebuah komputer dinilai beerdasarkan kecepatan perangkat keras dan fasilitas-fasilitas perangkat lunak. Penilaian ini disebut sebagai throughput, didefinisikan sebagai jumlah pemrosesan yang dapat dikerjakan dalam suatu interval waktu tertentu. Salah satu teknik yang mendorong peningkatan suatu sistem throughput yang cukup hebat disebut sebagai pemrosesan pipeline. Konsep pemrosesan pipeline dalam suatu komputer mirip dengan suatu baris perakitan dalam suatu pabrik industri. Ambil contoh, sutu proses pembuatan mobil. Ketika sebuah mobil dibuat, mobil tersebut berpindah sepanjang ban berjalan dengan berurutan, melewati beberapa stasiun. Pada setiap stasiun, dikerjakan sebagian proses konstruksi pada mobil itu, kemudian berpindah lagi ke stasiun berikutnya. Perpindahan mobil itu dari satu stasiun ke stasiun lainnya, memungkinkan beberapa mobil berada pada baris perakitan pada waktu yang bersamaan, masing-masing pada stasiun yang terpisah. Dengan demikian, hal ini mengakibatkan kita menghasilkan mobil dari baris perakitan satu persatu secara berurutan. Tanpa teknik baris perakitan seperti ini, pengerjaan suatu mobil tidak dapat dimulai sampai mobil yang sebelumnya benar-benar selesai.  
      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.

C.  Keuntungan dan Kerugian
   Pipelining tidak membantu dalam semua kasus. Ada beberapa kemungkinan kerugian. Pipa instruksi dikatakan sepenuhnya pipelined jika dapat menerima instruksi baru setiap clock cycle. Sebuah pipa yang tidak sepenuhnya pipelined telah menunggu siklus yang menunda kemajuan pipa.
Keuntungan dari Pipelining :
·                     1 waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi dalam kebanyakan kasus( lebih cepat selesai).
·                     Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit. Jika pipelining digunakan sebagai pengganti, hal itu dapat menghemat sirkuit & combinational yang lebih kompleks.
     Pemrosesan dapat dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan dalam satu waktu.
Kekurangan Pipelining :
·                     Pipelined prosesor menjalankan beberapa instruksi pada satu waktu. Jika ada beberapa cabang yang mengalami penundaan cabang (penundaan memproses data) dan akibatnya proses yang dilakukan cenderung lebih lama.
·                     Instruksi latency di non-pipelined prosesor sedikit lebih rendah daripada dalam pipelined setara. Hal ini disebabkan oleh fakta bahwa intruksi ekstra harus ditambahkan ke jalur data dari prosesor pipeline.
·                     Kinerja prosesor di pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.
·                     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.
·                     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.

D.   RISC (Reduced Instruction Set Computer)
   RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi dalam komunikasi diantara arsitektur yang lainnya.
·        Sejarah RISC
      Proyek RISC pertama dibuat oleh IBM, stanford dan UC –Berkeley pada akhir tahun 70 dan awal tahun 80an. IBM 801, Stanford MIPS, dan Barkeley RISC 1 dan 2 dibuat dengan konsep yang sama sehingga dikenal sebagai RISC. 
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 efisien.
    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 .

E.  Instruksi Pipeline
Tahapan pipeline :
1.   Mengambil instruksi dan membuffferkannya
2. Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut .
3. Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya .
Instuksi pipeline:
   Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut.Sebagai contoh:
·         Instruksi 1: ADD  AX, AX
·         Instruksi 2: ADD EX, CX
       Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut (ID). Pada menerjemahkan instruksi  1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).

SUMBER


Arsitektur Family Komputer IBM PC


1. Famili IBM PC dan Turunannya
            IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan "dipensiunkan" pada tanggal 2 April 1987. Komputer personal pertamakali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal yang terdiri dari set register , ALU dan unit kontrol computer. 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. 
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

2. Konfigurasi Mikrokomputer Dasar
            Berdasarkan UkurannyaBerdasarkan ukurannya, komputer digolongkan ke dalam micro computer (komputer mikro), mini computer (komputer mini), small computer (komputer kecil), medium computer (komputer menengah), large computer (komputer besar) dan super computer (komputer super).1.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

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

4. Sistem Software
   System software adalah abstrak, tidak memiliki bentuk fisik. Software tidak dibatasi oleh material serta tunduk pada hukum-hukum fisika atau oleh proses-proses manufaktur. Pengembangan software serta pengelolaan proyek pengembangan software adalah sulit karena kenyataan-kenyataan sebagai berikut: 
·                     Kompleks, sehingga sulit untuk dipahami
·              Tidak tampak, maka pengukuran kualitas software agak   sulit dilakukan dan sulit melacak kemajuan pengembangannya
·              Mudah berubah, karena mudah untuk dimodifikasi namun kita sulit sekali melihat terlebih dahulu konsekuensi dari perubahan-perubahan yang dilakukan. 
Software komputer adalah produk yang dihasilkan melalui serangkaian aktivitas proses rekayasa atau pengembangan, yang menghasilkan aktivitas berupa:
·                     Dokumen-dokumen yang menspesifikasikan program yang hendak dibangun
·                     Program yang dieksekusi komputer
·                     Dokumen yang menjelaskan program dan cara kerjanya program
System software
·                     Penetapan Alamat Port I/O
·                     Penetapan Vector Interrupt
·                     ROM BIOS
·                     Penetapan Alamat Memori

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

Ukuran Kinerja CPU:
·                     MIPS (Million Instruction PerSecond)
·                     MFLOP (Million Floating Point PerSecond)
·                     VUP (VAX Unit of Performance)

Ukuran Kinerja I/O Sistem:
·                     Operasi Bandwith
·                     Operasi I/O Perdetik

Ukuran Kinerja Memori:
·                     Memoy Bandwith
·                     Waktu Akses Memori
·                     Ukuran Memori  

Biaya Sistem
Biaya dapat diukur dalam banyak cara diantaranya:
·                     Reliabilitas
·                     Kemudahan Perbaikan
·                     Konsumsi daya
·                     Berat
·                     Kekebalan
·                     Interface Sistem Software

SUMBER


Unit I/O (Input/Output)


Unit Input/Output (I/O)

     I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya). Fungsi I/O pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode aplikasi sangat fleksible.
  Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar. Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya data yang berasal dari keyboard atau mouse. Sementara unit 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. Bagian input (masukan) dan juga keluaran (output) ini juga memerlukan sinyal kontrol, antara lain untuk baca I/O (Input/Ouput Read (IOR)) dan untuk tulis I/O (Input/Output Write (IOW)).

Sistem Bus
      Perlu sobat ketahui komputer tersusun atas 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 :
1. Bus sistem, yang menghubungkan CPU dengan RAM.
2. Bus I/O, yang menghubungkan CPU dengan komponen-komponen lain.
      Pengertian bus adalah bagian dari sistem komputer yang berfungsi untuk memindahkan data antar bagian- bagian d lam sistem komputer. Data dipindahkan dari piranti masukan ke CPU, CPU ke memori, atau dari memori ke piranti keluaran. Bus meruppakan jalur komunikasi yang dibagi pemakai suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Sistem bus adalah sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU, Memori, I/O). Sistem bus adalah penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya.
Bus System dapat dibedakan atas :
1.      Data Bus ( Saluran Data )
2.      Address Bus ( Saluran Alamat )
3.      Control Bus ( Saluran Kendali )

Standar Input Output Interface
    Antarmuka (interface) input output berfungsi sebagai penghubung antara perangkat komputer dengan komputer atau  komputer dengan  perangkat input dan output yang lain.
Spesifikasi-spesifikasi interface harus memiliki :
1.    Mekanik, yaitu bentuk fisik dari port, jumlah pin dan lain-lain.
2.    Tegangan Listrik, yaitu karateristik dari tegangan listrik yang diperlukan untuk pengenal data.
3.    Fungsi, yaitu signal-signal yang diguna atau fungsi pin-pin yang ada. 
     Fungsi-fungsitersebut dapat dikategorikan terhadap 4 yaitu:
    - Data
    - Pengontrol
    - Penguat
    - Penetral (ground).
4.    Prosedur, yaitu prosedur atau langkah-langkah penggunaan signal untuk komunikasi data yang berlaku.

Jenis-jenis Interface yang umum Digunakan dalam Komunikasi Data.
-       Interface EIA RS-232
-       Interface DB-9

Prinsip Kerja Antarmuka Input Output
     Perangkat antarmuka input berada di antara jalur masukan yang sebenarnya dengan unit CPU. Adapun manfaat dari perangkat antarmuka input sendiri yaitu untuk melindungi CPU dari sinyal-sinyal yang dapat merusak kinerja maupun ketahanan CPU tersebut. Modul antarmuka ini berfungsi untuk mengubah sinyal-sinyal masukan dari luar ke sinyal-sinyal yang sesuai (sinkron) dengan tegangan kerja CPU yang bersangkutan. Misalnya, input dari sensor dengan tegangan kerja 24 Volt DC harus diubah menjadi tegangan 5 Volt DC agar sesuai dengan tegangan kerja CPUnya.
      Dengan menggunakan pto-isolator, tak ada sambungan dengan menggunakan kabel antara dunia luar dengan CPU. Keduanya dipisahkan secara optic, dimana sinyal-sinyal disampaikan melalui cahaya. Prinsip kerjanya sederhana, piranti eksternal akan memberikan sinyal untuk menghidupkan LED (dalam opto-isolator), sehingga phototransistor akan menerima cahaya kemudian menghantarkan arus (ON=1). CPU akan melihat sinyal tersebut sebagai logika nol (dimana catu antara kolektor dan emitor turun hingga di bawah 1 volt). Demikian pula sebaliknya, ketika sinyal masukan tak ada lagi, LED akan mati dan phototransistor akan berhenti menghantar (OFF). CPU akan melihat sinyal tersebut sebagai logika satu.

Antarmuka Output
     Tak berbeda dengan antarmuka masukan, unit keluaran juga perlu adanya perangkat antarmuka untuk memberikan perlindungan CPU dengan peralatan eksternal. Skema perangkat antarmuka keluaran PLC.
      Cara kerjanya sama dengan perangkat antarmuka masukan. Bedanya, perangkat yang menyalakan dan mematikan LED didalam opto-isolator sekarang adalah CPU, sedangkan yang membaca keadaan arus pada photo-transistor, yaitu perangkat eksternal

Pengaksesan I/O terdiri dari dua cara yaitu :
1.      Memory mapped I/O
      Dimana piranti I/O dihubungkan sebagai lokasi memory virtual dimana port I/O tergantung pada memori utamaKarakteristik memory mapped I/O antara lain :
Port I/O dihubungkan ke bus alamat
Piranti input sebagai bagian memory yang memberikan data ke bus data. Piranti output sebagai bagian memori yang memiliki data tersimpan di dalamnya.
2.      I/O mapped I/O
    Piranti I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori, dimana port I/O tidak tergantung pada memori utama. Karakteristik I/O mapped I/O :
·       Port I/O tidak tergantung memori utama
·      Transfer informasi dilakukan di bawah kendali sinyal control yang menggunakan instruksi INPUT dan OUTPUT
·       Operasi I/O tergantung sinyal kendali dari CPU
·    Instruksi I/O mengaktifkan baris kendali read/write pada port I/O, sedangkan instruksi memori akan mengaktifkan baris kendali read/write pada memori

SUMBER


Mesin Computer Numerical Control

Mesin Computer Numerical Control A.      Pengertian.             Computer Numerical Control , disingkat  CNC , (berarti ...