Superskalar: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k Clean up, replaced: metoda → metode, removed stub tag using AWB |
Fitur saranan suntingan: 3 pranala ditambahkan. |
||
(10 revisi perantara oleh 7 pengguna tidak ditampilkan) | |||
Baris 1:
{{rapikan|topik=teknologi informasi}}
'''Prosesor superskalar''' adalah salah satu jenis [[arsitektur komputer]] di mana prosesor dalam bentuk uniprosesor dapat menjalankan dua atau lebih operasi [[Skalar (matematika)|skalar]] secara paralel<ref>{{Cite book|last=Shen|first=John Paul|last2=Lipasti|first2=Mikko H.|date=2013|title=Modern processor design: fundamentals of superscalar processors|location=Long Grove, Illinois|publisher=Waveland Press|isbn=978-1-4786-0783-0}}</ref>. Istilah ini juga bisa merujuk kepada prosesor yang mampu menjalankan banyak instruksi setiap siklusnya menggunakan teknik yang disebut ''pipelining''<ref>{{Cite book|last=Hennessy|first=John L.|last2=Patterson|first2=David A.|date=2019|title=Computer architecture: a quantitative approach|url=https://archive.org/details/computerarchitec06edhenn|location=Cambridge, Mass|publisher=Morgan Kaufmann Publishers|isbn=978-0-12-811905-1|edition=6|others=Krste Asanović}}</ref>.
Arsitektur superskalar dirancang untuk meningkatkan kecepatan pemrosesan [[Unit Pemroses Sentral|CPU]]. Sebagian besar komputer yang digunakan saat ini menggunakan mekanisme superskalar. Standar ''pipelining'' yang digunakan melibatkan pengolahan [[bilangan bulat]] (''integer'') dan sebagian besar prosesor juga memiliki kemampuan untuk mengolah data dengan [[Unit titik mengambang|titik mengambang]].
'''Add R1, R2, R3'''▼
Pemrosesan secara paralel tersebut diatas dapat diilustrasikan sebagai berikut. Sebagai contoh, operasi pertambahan ({{code|add}}) pada variabel satu (R1), dua (R2), dan tiga (R3) dengan format kode sebagai berikut:
{{pre|
# R1 dan R2 merupakan variabel berisi nilai bilangan bulat
# R3 merupakan variabel tempat penyimpanan hasil dari operasi pertambahan R1 dan R2
}}
Instruksi diatas akan menambahkan nilai dari [[Register prosesor|register]] pada variabel R1 dan variabel R2 dan menempatkan hasilnya dalam register milik variabel R3. Proses operasi pertambahan pada nilai di register variabel R1 dan variabel R2 dilakukan di [[Unit aritmatika dan logika|unit aritmetika dan logika]] pada CPU. Setelah operasi penambahan dilakukan, hasil penjumlahannya akan ditransfer ke register milik variabel R3.
Prosesor dapat membaca instruksi baru dari memori, pada waktu bersamaan dengan saat operasi penambahan dilakukan. Kemudian, jika instruksi baru ini menggunakan unit aritmetika dan logika, [[operand]]-nya dapat ditransfer ke input unit aritmetika dan logika pada saat yang sama dengan hasil instruksi '''Add''' ditransfer ke register milik variabel R3.
''Pipeline'' yang mengolah bilangan bulat juga dapat digunakan untuk mengolah data dengan tipe titik mengambang. Namun, untuk aplikasi tertentu, terutama dalam konteks keperluan ilmiah, CPU yang memiliki kemampuan pengolahan data tipe titik mengambang tersendiri dapat meningkatkan kecepatan pemrosesan secara dramatis.
Program yang terdiri dari kelompok perintah bercabang ini sering digunakan dalam pemrograman. Contohnya adalah dalam menentukan aktivitas yang dilakukan oleh suatu sistem berdasarkan umur seseorang yang sedang diolahnya. Misalnya,
Pada kasus ideal, jika semua instruksi ditumpuk ke derajat yang maksimum yang mungkin dilakukan, maka eksekusi dilanjutkan 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.
Baris 12 ⟶ 27:
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 kebenaran logikan program, sehingga hasil yang diperoleh harus sama dengan hasil dari eksekusi secara serial.
Pada CPU yang mendukung perintah pencabangan ini, CPU membutuhkan lumayan banyak clock cycle, mengingat CPU menempatkan semuanya pada pipeline dan menemukan perintah berikutnya yang akan dieksekusinya. Sirkuit untuk branch prediction melakukan pekerjaan ini bekerja sama dengan pipeline, yang dilakukan sebelum proses di ALU dilaksanakan, dan memperkirakan hasil dari pencabangan tersebut.
Prosesor [[x86|Intel x86]] yang menggunakan arsitektur superskalar adalah keluarga [[Intel Pentium]], [[Intel Pentium Pro]], [[Intel Pentium II]], [[Intel Pentium III]], [[Intel Itanium]], [[Intel Xeon]], [[Intel Pentium 4]], [[Intel Pentium M]], [[Intel Core]] dari [[Intel Corporation]]; keluarga [[AMD K5]], [[AMD K6]], [[AMD Athlon]], [[AMD Athlon 64]], dan [[AMD Opteron]].▼
Jika CPU berfikir bahwa branch akan menuju suatu cabang, biasanya berdasarkan pekerjaan sebelumnya, maka perintah berikutnya sudah dipersiapkan untuk dieksekusi berikut data-datanya, bahkan dengan adanya pipeline ini, bila tidak diperlukan suatu referensi dari instruksi terakhir, maka bisa dilaksanakan dengan segera, karena data dan instruksi yang dibutuhkan telah dipersiapkan sebelumnya.
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. [1]▼
Dalam hal eksekusi berspekulasi, artinya CPU akan menggunakan pipelining untuk melakukan perhitungan pada jalur yang berbeda berdasarkan perkiraan yang dibuat oleh komputer. Jika perkiraan yang dibuat oleh komputer benar, maka hasilnya bisa segera diambil dan perintah berikutnya dapat dilanjutkan. Namun, jika perkiraan tersebut tidak benar, maka CPU akan melakukan eksekusi berdasarkan kemungkinan lain sesuai dengan logika instruksi yang diberikan.
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]▼
Teknik yang digunakan untuk pipeline dan superscalar ini dapat melakukan branch prediction dan speculative execution, yang tentunya membutuhkan banyak transistor tambahan. Sebagai perbandingan, komputer pertama yang menggunakan mesin 8088 dari [[IBM]] hanya memiliki sekitar 29.000 transistor. Sementara itu, mesin [[Pentium III]] dengan teknologi superscalar dan superpipeline, memiliki sekitar 7,5 juta transistor yang mendukung branch prediction, speculative execution, dan berbagai kemampuan lainnya. Beberapa CPU terkini seperti HP 8500 bahkan memiliki sekitar 140 juta transistor.
▲Pengguna superscalar Prosesor
▲Peristiwa menarik yang bisa dilakukan dengan metode 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 dijalankannya. [2]
▲Superscalar
▲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. [2]
▲Merupakan salah satu rancangan untuk meningkatkan kecepatan CPU. Kebanyakan dari komputer saat ini menggunakan mekanisme
Teknologi superscalar mampu menjalankan instruksi secara paralel dengan menggunakan satu prosesor. Superscalar dapat diimplementasikan baik pada arsitektur RISC maupun CISC, namun umumnya lebih sering digunakan pada arsitektur RISC. [1]
Peristiwa menarik yang dapat dilakukan dengan metode superscalar ini adalah dalam hal memprediksi pencabangan instruksi (branch prediction) dan melaksanakan eksekusi secara spekulatif (speculative execution). Peristiwa ini sangat menguntungkan bagi program-program yang membutuhkan pencabangan dari kelompok instruksi yang mereka jalankan. [2]
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, 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, seseorang dianggap belum dewasa. Tentu perlakuannya akan dibedakan sesuai dengan sistem yang sedang dijalankan.. [2]
Organisasi Superscalar secara umum
Baris 38 ⟶ 61:
Tersedianya sumber untuk eksekusi paralel dari beberapa instruksi.
Mekanisme processing instruksi dengan urutan yg sesuai. [1]
== Referensi ==
{{reflist}}
{{Authority control}}
[[Kategori:Arsitektur komputer]]
|