Sabtu, 04 Januari 2020

PIPELINING RISC

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. 

Prosesor Pipeline yang berputar adalah prosesor baru untuk arsitektur superscalar komputasi. Ini didasarkan pada cara yang mudah dan pipeline yang biasa, struktur yang dapat mendukung beberapa ALU untuk lebih efisien dalam pengiriman dari bagian beberapa instruksi. Daftar nilai arus yang berputar di sekitar pipa, dibuat oleh dependensi data lokal. Selama operasi normal, kontrol sirkuit tidak berada pada jalur yang kritis dan kinerja hanya dibatasi oleh data harga. Operasi mengalir dengan interval waktu sendiri. Ide utama dari Pipeline Prosesor yang berputar adalah circular uni-arah mengalir dari memori register oleh pusat waktu logika dan proses secara parallel dari operasi ALU. 

Prosesor Pipeline yang berputar adalah prosesor baru untuk arsitektur superscalar komputasi. Ini didasarkan pada cara yang mudah dan pipeline yang biasa, struktur yang dapat mendukung beberapa ALU untuk lebih efisien dalam pengiriman dari bagian beberapa instruksi. Daftar nilai arus yang berputar di sekitar pipa, dibuat oleh dependensi data lokal. Selama operasi normal, kontrol sirkuit tidak berada pada jalur yang kritis dan kinerja hanya dibatasi oleh data harga. Operasi mengalir dengan interval waktu sendiri. Ide utama dari Pipeline Prosesor yang berputar adalah circular uni-arah mengalir dari memori register oleh pusat waktu logika dan proses secara parallel dari operasi ALU.



Instruksi Pipeline

Tahapan pipeline adalah sebagai berikut:
  • 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.
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).

Jenis Pipeline
1.     Pipeline Arithmetic, berguna untuk operasi vektor. Pengembangan pipeline arithmetic dapat dilihat dari perkalian biner unsigned.  Operasi shift dan penambahan menjadi tahapan pemrosesan dalam pengali pipelined. Pengalian bilangan biner dengan 2n adalah sama dengan menggesernya ke kiri sebesar n bit dan menyisipkan nol pada sebelah kanannya.
2.     Pipeline Unit Instruction, berguna untuk komputer yang mempunyai set instruksi yang sederhana. Tujuannya adalah untuk memaksimalkan kecepatan mengalirnya instruksi.
Reduced Instruction Set Computer (RISC)

RISC merupakan bagian dari arsitetur mikroprosessor, berbentuk kecil dan berfungsi untuk set instruksi dalam komunikasi diantara arsitektur yang lainnya. RISC memiliki fitur utama, yaitu:
  • General purpose register dalam jumlah yang sangat banyak.
  • Menggunakan teknologi compiler untuk mengoptimalisasikab penggunaan register.
  • Instruction set yang sedikit dan sederhana.
  • Pendekatan umum dalam instruksi pipeline.
  • Set eksekusi yang besar dan lebih banyak mode pengalamatan.
RISC memiliki ciri-ciri tersendiri, yaitu:
  • Instruksi berukuran tunggal (satu instruksi per siklus).
  • Mode pengalamatan yang sederhana dan sedikit (biasanya kurang dari 5 buah). 
  • Tidak ada pengalamatan tidak langsung yang mengharuskan mengakses memori agar memperoleh alamat operand lainnya di dalam memori.
  • Format instruksi yang sederhana.
  • Format instruksi yang fix.
  • Proses compile yang cepat.
Pipelining Pada RISC
Pada pipelining RISC terdapat berbagai macam instruksi register to register. Siklus instruksinya memiliki 2 fase:
  1. I: Instruction Fetch (Pengambilan Instruksi).
  2. E: Execute (Melakukan operasi ALU dengan register input dan output).
Sementara operasi load dan store memiliki 3 fase:
  1. I: Instruction Fetch.
  2. E: Execute (Menghitung alamat memori).
  3. D: Memori (Operasi register ke memori atau memori ke register). 

Prosesor Superscalar

Superscalar adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain. Superscalar mampu menjalankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC.

Pipeline Adalah meningkatkan kinerja komputer dengan cara saling overlap tahapan dari instruksi yang berbeda. Pada pipeline untuk melakukan proses (stages) overlapping dibutuhkan paling tidak setengah clock. Sedangkan superscalar mengijinkan proses untuk bekerja secara bersamaan pada saat clock yang sama.

Proses superscalar adalah sebagai berikut:
  • Memproses lebih dari satu instruksi per clock cycle .
  • Sangat dimungkinkan untuk memisahkan siklus fetch and execute.
  •  Memiliki Buffers pada fase antara proses fetch and decode.
  •  Memiliki unit eksekusi yang Parallel


Sumber:

ARSITEKTUR FAMILY KOMPUTER IBM PC

IBM (International Business Machines) merupakan perusahaan hardware yang mengembangkan software-software yang telah ada seperti UNIX dan WINDOWS. IBM PC 5150 adalah komputer pribadi generasi pertama yang diluncurkan pada 12 Agustus 1981. Komputer pribadi tersebut diperkuat dengan memakai prosesor 16-bit Intel 8088 berkecepatan 4.77 MHz, power supply 63.5 Watt dan memori yang hanya 64 KB. Media penyimpanan yang digunakannya hanya floppy disk drive 5.25 inci 320 KB atau 360 KB (double-side floppy disk).
IBM PC datang dengan ROM yang dilengkapi dengan interpreter bahasa Microsoft Cassette BASIC, sehingga pengguna mampu melaksanakan pemrograman (jika tidak kehadiran sistem operasi yang dimuat). ROM juga dilengkapi dengan fungsi diagnosa Power-on Self Test (POST) yang akan melaksanakan pengecekan terhadap perangkat keras sebelum mampu bekerja (meski proses pengecekan yang dilakukannya sangat lambat, lebih dari 10 detik).

Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga, yaitu:
  • 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
  • IBM 5170 Personal Computer/Advanced Technology
Konfigurasi 
Komputer adalah sistem elektronik untuk memanipulasi data yang cepat dan tepat serta dirancang dan diorganisasikan supaya secara otomatis menerima dan menyimpan data input. Memprosesnya, dan menghasilkan ouput dibawah pengawasan suatu langkah-langkah instruksi-instruksi program yng tersimpan di memori (stored program).

Menurut buku komputer organization (V.C Hamacher Z.G. Vranesic S.G. Zaky). Komputer adalah mesin penghitung elektronik yang cepat dapat menerima informasi input digital, memprosesnya sesuai dengan suatu program yang tersimpan di memorinya (stored program) dan menghasilkan output informasi.
Menurut buku Introduction to Computers ( gordon B. Davis), komputer adalah tipe khusus alat penghitung yang mempunyai sifat tertentu yang pasti. Dari beberapa definisi tersebut, dapat disimpukan bahwa komputer adalah:
  1. Alat elektronik
  2. Dapat menerima input data
  3. Dapat mengolah data
  4. Dapat memberikan informasi
  5. Menggunakan suatu program di memori komputer (stored program)
  6. Dapat menyimpan program dan hasil pengolahan
  7. Bekerja secara otomatis
Micro Computer  disebut juga dengan nama personal computer. Ukuran main memory komputer mikro sekarang berkisar dari 16MB sampai lebih dari 128 MB, dengan konfigurasi operand register 8 bit, 16 bit atau 32 bit. Kecepatan komputer mikro pada saat ini 200Mhz sampai 500 Mhz.
Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu, seperti pengontrol interupt, pengontrol bus dan timer.

Komponen
Komputer IBM memiliki beberapa komponen yang saling bekerja sesuai fungsinya masing-masing, berikut ini adalah komponen yang ada pada komputer IBM:
  • 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 
Sistem Software
Agar pengguna dapat memasukkan dan menjalankan program aplikasi pada komputer, maka dibutuhkan beberapa software sistem dalam memori komputer tersebut. Software sistem adalah kumpulan dari berbagai program yang dieksekusi seperlunya untuk menjalankan fungsi sebagai berikut:
  1. Menerima dan menginterpretasikan perintah user.
  2. Memasukkan dan mengedit program aplikasi dan menyimpannya sebagai file dalam peralatan penyimpan sekunder.
  3. Mengatur penyimpanan dan pengambilan file dalam peralatan penyimpanan sekunder.
  4. Menjalankan program aplikasi standar seperti word processor, spreadsheet, atau game dengan data yang disediakan oleh user.
  5. Mengontrol unit I/O untuk menerima informasi input dan menghasilkan output.
  6. Mentranslasikan program dari bentuk source yang disediakan oleh user menjadi bentuk objek yang berisi instruksi mesin.
  7. Menghubungkan dan menjalankan program aplikasi user-written dengan rutin library standar yang ada.

Sumber:

UNIT I/O

UNIT INPUT/OUTPUT
            Komputer memiliki perangkat input dan perangkat output untuk menjalankan proses kerja dan fungsinya masing-masing. Input dan Output dilambangkan dengan I/O, yang merupakan sistem mikroprosesor yang dipakai untuk menghubungkan perangkat luar dengan komputer. Perangkat I/O terdiri dari piranti I/O, pengendali I/O, dan perangkat lunak.

Perangkat Input
Input memiliki pengertian masukan. Jadi, perangkat input pada komputer adalah suatu perangkat atau alat yang berfungsi untuk memasukan informasi secara langsung ke komputer sebelum nantinya diproses oleh komputer. Contoh perangkat yang termasuk perangkat input adalah sebagai berikut:
  • Keyboard
  • Mouse
  • Touchpad
  • Scanner
  • Trackball
  • Joystick
  • Webcam 
  • Graphics Pad
  • Barcode Reader 

Perangkat Output
Perangkat output adalah perangkat pada komputer yang memiliki fungsi untuk menampilkan hasil pengolahan data. Data yang dihasilkan perangkat output dapat berupa gambar, video, audio. Berikut ini adalah beberapa contoh perangkat yang termasuk perangkat output komputer:
  • Printer
  • Monitor
  • Speaker
  • Plotter
  • Headphone
  • Proyektor

Pengaksesan I/O
Pengaksesan I/O terdiri dari 2 cara, yaitu:
1.    Memory mapped I/O
Piranti I/O dihubungkan sebagai lokasi memori virtual dimana port I/O tergantung memori utama.
Karakteristik:
  • Port I/O dihubungkan ke bus alamat. 
  • Piranti input sebagai bagian memori yang memberikan data ke bus data. Piranti output sebagai bagian memori yang memiliki data yang tersimpan di dalamnya. 
  • Port I/O menempati lokasi tertentu pada ruang alamat dan diakses seolah-olah adalah lokasi memori.
2.     I/O mapped I/O (I/O isolated)
Piranti I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori, dimana port I/O tidak tergantung pada memori utama. I/O mapped I/O Iebih cepat dan efisien, karena lokasi I/O terpisah dengan lokasi memori. I/O mapped I/O mempunyai keterbatasan jumlah instruksi yang dapat digunakan untuk operasi I/O.
Karakteristik: 
  • Port I/O tidak tergantung memori utama. 
  • Transfer informasi dilakukan di bawah kendali sinyal kontrol yang mengguna­kan instruksi INPUT dan OUTPUT. 
  • Operasi I/O tergantung sinyal kendali dari CPU. 
  • lnstruksi I/O mengaktifkan baris kendali read/write pada port I/O, sedangkan instruksi memori akan mengaktifkan baris kendali read/write pada memori. 
  • Ruang memori dan ruang alamat I/O menyatu, sehingga dapat memiliki alamat yang sama.
Operasi I/O  
Operasi I/O terbagi menjadi 3 metode, yaitu:
1.     I/O terprogram
Metode di mana CPU mengendalikan operasi I/O secara keseluruhan dengan menjalankan serangkaian instruksi I/O dengan sebuah program.
                 Karakteristik:
  • Program tersebut digunakan untuk memulai, mengarahkan dan menghenti­kan operasi-operasi I/O.
  • Membutuhkan sejumlah perangkat keras (register) yaitu register status, register buffer, pointer buffer dan counter data. 
  • Membutuhan waktu proses yang lama dan tidak efesien dalarn pemanfaatan CPU.
2. I/O interupsi
Metode di mana CPU akan bereaksi ketika suatu piranti mengeluarkan permintaan untuk pelayanan.
Karakteristik: 
  • Lebih efisien dalam pemanfaatan CPU, karena tidak harus menguji status dari piranti.
  • Interupsi dapat berasal dari piranti I/O, interupsi perangkat keras misalnya : timer, memori, power supply, dan interupsi perangkat lunak misalnya : over­flow, opcode/data yang ilegal, pembagian dengan nol.
3.  Direct Memory Access (DMA)
Metode transfer data secara langsung antara memori dengan piranti tanpa pengawasan dan pengendalian CPU.
  • Skema transfer blok DMA dual port  ,CPU dan DMA controller mengakses memori utama melalui MAR dan MBR dengan menggunakan sebuah memori utama dual port (2 port).            Port I melayani CPU   sedangkanPort II melayani DMA controller 
  • Skema transfer blok DMA cycle stealing (pencurian siklus)            ,Hanya memerlukan sebuah memori port tunggal di mana CPU dan piranti I/O beradu cepat pada basis asinkron, prioritas utama akan diberikan pada piranti I/O. 


Sumber:
Staffsite Gunadarma

CPU

CENTRAL PROCESSING UNIT (CPU)
Pengertian
CPU atau Central Processing Unit merupakan pusat pengolahan data dalam sebuah komputer atau sering juga disebut sebagai processor. CPU termasuk perangkat keras komputer yang bertugas untuk menerima dan melaksanakan perintah dan data dari perangkat lunak. Cepat atau lambatnya kinerja dari sebuah computer cukup ditentukan oleh kualitas dan teknologi dari CPU yang digunakan.

Program akan disimpan dalam unit memori utama yang berhadapan dengan piranti I/O melalui CPU. CPU membaca dari atau menulis ke memori, dengan mengirimkan alamat word ke unit memori melalui bus address kemudian menerima atau mengirimkan data melalui bus data. Data dipertukarkan antara CPU dan Unit I/O juga dengan menggunakan bus data. Operasi disinkronisasikan oleh dua bus control dengan sinyal kendali yang dikirimkan oleh CPU dan sinyal acknowledgment serta sinyal interupsi yang diterima oleh CPU.

Komponen yang terdapat pada CPU adalah sebagai berikut:

1. Unit Kontrol

Komponen ini terdapat dalam semua CPU dan merupakan bagian dari prosesor yang mengatur jalannya program. Salah satu tugas dari unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian unit kontrol dapat mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsinya.

Tugas dari unit kendali ini adalah:
  • Mengatur dan mengendalikan alat-alat input dan output.
  • Mengambil instruksi-instruksi dari memori utama.
  • Mengambil data dari memori utama (jika diperlukan) untuk diproses.
  • Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU.
  • Menyimpan hasil proses ke memori utama. 
2. Register

Register merupakan alat penyimpanan berukuran relatif kecil namun memiliki kecepatan akses cukup tinggi yang memiliki fungsi untuk menyimpan data atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat sedang di olah ataupun data untuk pengolahan selanjutnya. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.

3. Arithmatic Logic Unit (ALU)

Aritmathic Logic Unit (ALU) merupakan bagian dari CPU yang memiliki tugas untuk melakukan operasi aritmatika dan operasi logika berdasarkan instruksi yang ditentukan. ALU sering disebut juga sebagai mesin bahasa karena ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder. Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).

4. Memory
Memori atau yang disebut sebagai memori fisik ataupun memori internal adalah media yang menyimpan data atau informasi sementara pada komputer. Memori merupakan komponen yang penting didalam suatu komputer yang berada didalam CPU (Central Processing Unit). Memori ini akan menyimpan setiap program dan data yang diproses oleh prosesor.
Adapun data atau informasi yang disimpan didalam memori ini bersifat sementara karena data hanya akan tersimpan selama komputer menyala atau hidup. Jadi, ketika komputer dimatikan maka data yang disimpan di memori akan hilang. Oleh karena itulah, sebelum Anda mematikan komputer, simpanlah semua data Anda kedalam media penyimpanan permanen (tetap) di media penyimpanan berbasis disk seperti hard disk dan floopy disk.
Memori internal berfungsi sebagai pengingat sebagai media penyimpanan data ataupun program yang bersifat sementara. Dengan kata lain, jika komputer mati maka data pun akan hilang. Dalam penggunaannya, memori internal diakses secara langsung oleh prosesor. Adapun fungsi utama dari memori internal adalah
  • Menyimpan data dari peranti masukan sampai data dikirimkan ke ALU (Arithmetic and Logic Unit) untuk diproses lebih lanjut.
  • Menyimpan daya hasil pemrosesan ALU (Arithmetic and Logic Unit) sebelum dikirim ke peranti keluaran.
  • Menampung instruksi ataupun program dari peranti masukan ataupun dari peranti pengingat sekunder
5. Bus
Tiap bus merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang lebih dikenal dengan nama FSB (Front Side Bus). Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar bus ini digunakan sebuah bridge.
Fungsi Utama CPU
Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang diberikan melalui beberapa perangkat keras. CPU hampir sama seperti kalkulator, hanya saja CPU jauh lebih kompleks dalam melakukan pemrosesan dari intruksi-intruksi yang diberikan. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada RAM, setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada RAM dengan menentukan alamat data yang dipilih.
Cara Kerja
Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage). Apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register).

Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.


Sumber:
https://medium.com/@mr.edwinsetiawan/sistem-bus-pada-komputer-penjelasan-singkat-2069c091e637