MAKALAH
PROSESSOR SUPERSCALAR DAN MULTICORE
OLEH :
ANDI AKBAR MAULANA NOPOK :16221713
INSTITUT SAINS DAN TEKNOLOGI NASIONAL (ISTN) KAMPUS CIKINI 2017
KATA PENGANTAR Puji syukur penulis ucapkan kehadirat Allah SWT yang telah melimpahkan rahmat dan karunia-Nya kepada kita semua. Berkat rahmat dan karunia-Nya pula, penulis dapat menyelesaikan makalah Arsitektur Arsitektur dan Organisasi Komputer yang insyaallah tepat pada waktunya. Terimakasih penulis ucapkan kepadaBapak Didi Supriyadi selaku dosen mata kuliah Arsitektur dan Organisasi Komputer, yang telah memberikan arahan terkait tugas makalah ini. Tanpa bimbingan dari beliau mungkin penulis tidak akan dapat menyelesaikan tugas ini sesuai dengan format yang telah di tentukan. Penulis menyadari makalah ini masih jauh dari kesempurnaan. Oleh sebab itu, penulis mengharapkan kritik dan saran pembaca demi kesempurnaan makalah untuk kedepannya. Mudah-mudahan Mudah-mudahan makalah ini bermanfaat bagi peneliti dan pembaca.
PENDAHULUAN
Latar Belakang Masalalah Apa
Yang
Dimaksud
Dengan
Processor
Superscalar?
Processor
superscalarmerupakan sebuah tipe processor yang dapat mengeksekusi beberapa set instruksi sekaligus dalam waktu yang sama. Tipe processor ini dapat terdiri dari beberapa sub-unit yang bertugas untuk mengontrol tipe fungsi-fungsi dasar tertentu. Sementara processor lain juga memiliki unit ini, processor superscalar dapat mengirimkan informasi secara langsung pada unit-unit tersebut untuk diproses sementara processor utama melakukan pekerjaan lainnya. Processor superscalar merupakan titik tengah dari tiga tipe processor utama. Processor komputer dibagi menjadi tiga kategori utama, yaitu scalar, superscalar dan vector. Processor scalar merupakan tipe processor yang paling umum dikenali dan digunakan oleh mayoritas pengguna komputer. Sedangkan processor vector merupakan processor yang dapat menerima beberapa perintah dalam satu waktu melalui sistem array. Serangkaian perintah masuk secara simultan pada inti utama processor (main core). Perintah ini dianggap sebagai bagian tunggal dari perintah besar oleh processor dan dieksekusi secara simultan (bersamaan).Di antara processor scalar dan vector, terdapatlah processor superscalar. Pada processor superscalar, processor utama hanya dapat menerima satu perintah dalam satu waktu, serupa dengan processor scalar. Namun di sisi lain, terdapat koneksi langsung pada sistem sekunder processor, teknologi yang tidak muncul pada bentuk processor lainnya.Koneksi lainnya.Koneksi ini memungkinkan informasi dapat diarahkan pada sub-sistem di mana mereka dapat mengeksekusi perintah khusus dan menghasilkan informasi terpisah dari processor utama. Hal ini memungkinkan memungkinkan processor untuk dapat bekerja dan menghasilkan lebih dari satu instruksi, sama halnya dengan processor vector.saat ini ada dua prosesor yang telah kita kenal, yaitu RISC ( Reduce Instruction Set Komputer ) dan CISC (Complex Instruction Set Computer ).Prosesor CISC memiliki instruksi-instruksi kompleks untuk memudahkan penulisan program bahasa assembly, sedangkan prosesor RISC memiliki instruksi-instruksi sederhana yang dapat
dieksekusi dengan cepat untuk menyederhanakan implementasi rangkaian kontrol internal prosesor. Karenanya, prosesor RISC dapat dibuat dalam luasan keping semikonduktor yang relatif lebih sempit dengan jumlah komponen yang lebih sedikit dibanding prosesor CISC.Perbedaan orientasi di antara kedua prosesor ini menyebabkan adanya
perbedaan
sistem
secara
keseluruhan, keseluruhan,
termasuk
juga
perancangan perancangan
kompilatornya. Sedangkan prosesor Superscalar umumnya menggunakan beberapa unit fungsional, menciptakan menciptakan jalur paralel di mana berbagai instruksi yang berbeda berbeda dapat dieksekusi secara paralel. Dengan pengaturan tersebut, maka dimungkinkan untuk memulai eksekusi beberapa instruksi secara paralel tiap siklus detak. Tentu saja, eksekusi paralel harus mempertahankan kebenaran logikan program, sehingga hasil yang diperoleh harus sama dengan hasil dari eksekusi secara serial . Walaupun sistem RISC telah ditentukan dan dirancang dengan berbagai cara berdasarkan komunitasnya, elemen penting yang digunakan sebagian rancangan umumnya adalah sebagai berikut.
Set instruksi yang terbatas dan sederhana
Register general purpose berjumlah banyak atau penggunaaan teknologi kompiler untuk mengoptimalklan penggunaan register.
Penekanan pada pengoptimalan pipeline instruksi. RISC (Reduce Instruction Set Computer) adalah arsitektur komputer yang mengurangi kompleksitas chip dengan hanya melakukan instruksi sederhana, yang memungkinkan untuk beroperasi pada kecepatan tinggi.
Rumusan Masalah
1. Bagaimana cara meningkatkan kinerja sistem komputer? 2. Apakah yang dimaksud dengan RISC? 3. Apakah yang dimaksud dengan Pipelining? 4. Bagaimanakah Bagaimanakah langkah l angkah optimalisasi CPU?
Tujuan Pembelajaran
1. Mampu menjelaskan langkah atau cara untuk meningkatkan kinerja sistem komputer. 2. Dapat memahami RISC dengan baik dan benar. 3. Mampu mengerti dan memmahami Pipelining. 4. Dapat menjelaskan langkah-langkah untuk dapat mengoptimalisasi CPU. PROSESOR SUPERSKALAR Prosesor Superskalar adalah istilah bagi prosesor yang mampu melakukan banyak
instruksi setiap siklusnya, dengan menggunakan sebuah teknik yang disebut dengan pipelining.
Misalkan, instruksi Add R1, R2, R3
yang akan menambahkan isi register R1 dan R2 dan menempatkan jumlahnya dalam register R3. Isi dari register R1 dan R2 mula-mula akan ditransfer ke Unit ke Unit aritmetika dan logika. logika. Setelah operasi penambahan dilakukan, hasil penjumlahan tersebut akan ditransfer ke register R3. Prosesor dapat membaca instruksi selanjutnya dari memori, sementara operasi penambahan dilakukan. Kemudian jika instruksi tersebut juga menggunakan ALU, operand-nya operand-nya dapat ditransfer ke input ALU pada waktu yang sama dengan hasil instruksi Add ditransfer ke register R3. Pada kasus ideal, jika semua instruksi ditumpuk ke derajat yang maksimum yang mungkin dilakukan, maka eksekusi dilanjutnkan pada kecepatan penyelesaian satu instruksi dalam tiap siklus detak prosesor. Instruksi individual, mungkin masih memerlukan beberapa siklus detak agar selesai dilakukan. Tetapi untuk tujuan perhitungan, prosesor superskalar umumnya mampu melakukannya dalam tiap siklus. Prosesor superskalar umumnya menggunakan beberapa unit fungsional, menciptakan jalur paralel di mana berbagai instruksi yang berbeda dapat dieksekusi secara paralel. Dengan pengaturan tersebut, maka dimungkinkan untuk memulai eksekusi beberapa
instruksi secara paralel tiap siklus detak. Tentu saja, eksekusi paralel harus mempertahankan mempertahankan kebenaran logikan program, sehingga hasil yang diperoleh harus sama dengan hasil dari eksekusi secara serial. Prosesor Intel x86 yang menggunakan arsitektur superskalar adalah keluarga Intel Pentium, Intel Pentium, Intel Pentium Pro, Intel Pro, Intel Pentium II, Intel II, Intel Pentium III, Intel III, Intel Itanium, Intel Itanium, Intel Xeon, Intel Pentium 4, Intel Pentium M, Intel Core dari Intel dari Intel Corporation; keluarga Corporation; keluarga AMD K5, AMD K6, AMD K6, AMD Athlon, AMD Athlon, AMD Athlon 64, dan 64, dan AMD AMD Opteron. Superscalar (superskalar) adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain. Merupakan salah satu rancangan untuk meningkatkan kecepatan CPU. Kebanyakan dari komputer saat ini menggunakan mekanisme superscalar ini. Standar pipeline yang digunakan adalah untuk pengolahan bilangan matematika integer (bilangan bulat, bilangan yang tidak memiliki pecahan), kebanyakan CPU juga memiliki kemampuan untuk pengolahan untuk data floating point (bilangan berkoma). Pipeline yang mengolah integer dapat juga digunakan untuk mengolah data bertipe floating point ini, namun untuk aplikasi tertentu, terutama untuk aplikasi keperluan ilmiah CPU yang memiliki kemampuan pengolahan floating point dapat meningkatkan kecepatan prosesnya secara dramatis. [2] Superscalar ini mampu menjlankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan diaplikasikan di RISC dan CISC, tapi pada umumnya RISC. [1] Peristiwa menarik yang bisa dilakukan dengan metoda superscalar ini adalah dalam hal memperkirakan pencabangan instruksi (brach prediction) serta perkiraan eksekusi perintah (speculative execution). Peristiwa ini sangat menguntungkan buat program yang membutuhkan pencabangan dari kelompok intruksi yang dijalankankannya dijalankankannya Program yang terdiri dari kelompok perintah bercabang ini sering digunakan dalam pemrograman. Contohnya dalam menentukan aktivitas yang dilakukan oleh suatu sistem berdasarkan umur seseorang yang sedang diolahnya, katakanlah jika umur yang bersangkutan lebih dari 18 tahun, maka akan diberlakukan instruksi yang berhubungan
dengan umur tersebut, anggaplah seseorang tersebut dianggap telah dewasa, sedangkan untuk kondisi lainnya dianggap belum dewasa. Tentu perlakuannya akan dibedakan sesuai dengan sistem yang sedang dijalankan.
Organisasi Superscalar secara umum
Alasan desain Superscalar Sebagian besar operasi menggunakan besaran/nilai skalar Operasi ini memungkinkan peningkatan kinerja sistem hingga level tertentu [1] Superscalar Implementation Proses fetch dari beberapa instruksi secara bersamaan. Logika untuk menentukan ketergantungan
sebenarnya
yang
meliputi
nilai
register
Mekanisme
untuk
mengkomunikasikan nilai tersebut. Mekanisme untuk menginisialisasi instruksi paralel. Tersedianya sumber untuk eksekusi paralel dari beberapa instruksi. Mekanisme processing instruksi dengan urutan yg sesuai.
MULTICORE PROCESSOR
Multicore processor adalah kombinasi dua atau lebih prosesor independen i ndependen
kedalam sebuah integrated circuit (IC). (IC). Umumnya, multicore mengizinkan perangkat komputasi untuk memeragakan suatu bentuk thread level paralelism(TLP) tanpa mengikutsertakan banyak prosesor terpisah. TLP lebih dikenal sebagai chip-level
multiprocessing. Teknologi proccessor sudah memanfaatkan multi core, sebuah chip
memiliki 2 core atau lebih sudah banyak dibuat. Memiliki computer dengan 2 inti atau 4 inti, saat ini sudah menjadi hal biasa. Demikian juga harga procesor yang dijual dari tahun ke tahun terus turun. Tahun 2010 produsen procesor seperti Intel dan AMD akan terus memperbanyak jumlah core atau inti procesor pada sebuah procesor. Dari 4 core pada sebuah chip akan meningkat menjadi 6 bahkan 8 core
Keuntungan:
Meningkatkan
performa
dari
operasi cache
snoop
(bus
snooping). Bus
snooping adalah suatu teknik yang digunakan dalam sistem pembagian memori
terdistribusi danmultiprocessor yang ditujukan untuk mendapatkan mendapatkan koherensi pada cache. Hal ini dikarenakan sinyal antara CPU yang berbeda mengalir pada jarak yang lebih dekat, sehingga kekuatan sinyal hanya berkurang sedikit. Sinyal dengan kualitas baik ini memungkinkan lebih banyak data yang dikirimkan dalam satu periode waktu dan tidak perlu sering di- repeat .
Secara fisik, desain CPU multicore menggunakan ruang yang lebih kecil pada PCB ( Printed Circuit Board ) dibanding dengan desain multichip SMP
Prosesor dual-core menggunakan sumber daya lebih kecil dibanding sepasang prosesor dual-core
Desain multicore memiliki resiko design
error yang
lebih
rendah
daripada
desain single-core Kerugian:
Dalam hal sistem operasi, butuh penyesuaian kepada software yang ada untuk memaksimalkan kegunaan dari sumberdaya komputasi yang disediakan oleh prosesor multicore.
Kemampuan
prosesor multicore untuk
meningkatkan
performa aplikasi juga bergantung pada penggunaan banyaknya thread dalam dalam aplikasi tersebut.
Dari sudut pandang arsitektur, pemanfaatan daerah permukaan silikon dari desain single-core lebih baik daripada desain multicore.
Pengembangan chip multicore membuat produksinya menjadi menurun karena semakin sulitnya pengaturan suhu pada chip yang padat .
PENUTUP
`
Salah satu jenis dari arsitektur, dimana superscalar adalah sebuah uniprocessor
yang dapat mengeksekusi dua atau lebih operasi scalar dalm bentuk paralel. Merupakan salah satu rancangan untuk meningkatkan kecepatan CPU. Kebanyakan dari komputer saat ini menggunakan mekanisme superscalar ini. Standar pipeline yang digunakan adalah untuk pengolahan bilangan matematika integer (bilangan bulat, bilangan yang tidak memiliki pecahan), kebanyakan CPU juga memiliki kemampuan untuk pengolahan untuk data floating point (bilangan berkoma). Pipeline yang mengolah integer dapat juga digunakan untuk mengolah data bertipe floating point ini, namun untuk aplikasi tertentu, terutama untuk aplikasi keperluan ilmiah CPU yang memiliki kemampuan pengolahan floating point dapat meningkatkan kecepatan prosesnya secara dramatis