ARTIKEL 1
Pipelining dan RISC
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.
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).
Keuntungan pipelining .
1. Waktu siklus prosesor
berkurang, sehingga meningkatkan tingkat instruksi dalam kebanyakan kasus(
lebih cepat selesai).
2. 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.
3. Pemrosesan dapat
dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan
dalam satu waktu.
Kerugian pipeline .
1. 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.
2. 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.
3. Kinerja prosesor di
pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di
antara program yang berbeda.
4. 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.
5. Sedangkan ketergantungan
terhadap data, bisa muncul, misalnya instruksi yang berurutan memerlukan data
dari instruksi yang sebelumnya.
6. 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.
2. Prosedur
vektor Pipeline.
Mengambil intruksi dan membufferkanya Ketika tahapan kedua
bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut.
1. 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 :
2. Terjadinya
penggunaan resource yang bersamaan
3. Ketergantungan terhadap
data pengaturan jump ke suatu lokasi memori.
3. 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.
Artikel ke 2
Prosesor Paralel
Paralel
prosesor.
adalah suatu prosesor dimana pelaksanaan instruksinya secara
bersamaan waktunya.
Sehingga menyebabkan pelaksanaan suatu kejadian :
1. Dalam interval waktu
yang sama
2. Dalam dalam waktu yang
bersamaan
3. Dalam waktu yang saling
tumpang tindih
Teknik
Pemrosesan 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 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 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
MIMD.
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 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 :