Prosesor Superscalar : Arsitektur, Pipelining, Jenis & Aplikasinya

Coba Instrumen Kami Untuk Menghilangkan Masalah





Di dunia ini semua orang ingin barang/pekerjaan mereka cepat selesai. Bukan? Dari Mobil hingga mesin industri hingga rumah tangga, semua orang menginginkannya bekerja lebih cepat. Apakah Anda tahu apa yang ada di dalam mesin ini yang membuat mereka bekerja? Mereka prosesor . Mereka mungkin prosesor mikro atau makro tergantung pada fungsinya. Prosesor dasar pada umumnya mengeksekusi satu instruksi per siklus clock. Cara untuk meningkatkan kecepatan pemrosesannya agar mesin dapat meningkatkan kecepatannya adalah prosesor superskalar yang memiliki algoritma perpipaan untuk memungkinkannya mengeksekusi dua instruksi per siklus jam. Ini pertama kali ditemukan oleh CDC 6600 Seymour Cray yang ditemukan pada tahun 1964 dan kemudian disempurnakan oleh Tjaden & Flynn pada tahun 1970.


Mikroprosesor superskalar chip tunggal komersial pertama MC88100 dikembangkan oleh Motorola pada tahun 1988, kemudian Intel memperkenalkan versinya I960CA pada tahun 1989 & AMD seri 29000 29050 pada tahun 1990.  Saat ini, prosesor superskalar tipikal yang digunakan adalah prosesor Intel Core i7 tergantung pada mikroarsitektur Nehalem.



Meskipun demikian, implementasi superscalar sedang menuju peningkatan kompleksitas. Rancangan prosesor ini biasanya mengacu pada serangkaian metode yang memungkinkan CPU komputer mencapai throughput di atas satu instruksi untuk setiap siklus saat menjalankan satu program berurutan. Mari kita lihat lebih lanjut dalam artikel ini arsitektur prosesor SuperScalar yang mengurangi waktu eksekusi dan aplikasinya.

Apa itu Prosesor Superscalar?

Jenis mikroprosesor yang digunakan untuk mengimplementasikan jenis paralelisme yang dikenal sebagai paralelisme tingkat instruksi dalam satu prosesor untuk mengeksekusi lebih dari satu instruksi selama siklus CLK dengan mengirimkan berbagai instruksi secara bersamaan ke unit eksekusi khusus pada prosesor. SEBUAH prosesor skalar mengeksekusi instruksi tunggal untuk setiap siklus clock; prosesor superscalar dapat mengeksekusi lebih dari satu instruksi selama siklus clock.



Teknik desain superscalar biasanya terdiri dari penggantian nama register paralel, decoding instruksi paralel, eksekusi out-of-order & eksekusi spekulatif. Jadi metode ini biasanya digunakan dengan metode desain pelengkap seperti pipelining, prediksi cabang, caching & multi-core dalam desain mikroprosesor saat ini.

  Prosesor Superskalar
Prosesor Superskalar

Fitur

Fitur prosesor superscalar meliputi yang berikut ini.

  PCBWay
  • Arsitektur superscalar adalah teknik komputasi paralel yang digunakan di berbagai prosesor.
  • Di komputer superscalar, CPU mengelola beberapa jalur pipa instruksi untuk melakukan banyak instruksi secara bersamaan selama siklus clock.
  • Arsitektur superscalar mencakup semua perpipaan fitur meskipun ada beberapa instruksi yang dijalankan secara bersamaan dalam pipa yang sama.
  • Metode desain superscalar biasanya terdiri dari penggantian nama register paralel, decoding instruksi paralel, eksekusi spekulatif & eksekusi out-of-order. Jadi, metode ini biasanya digunakan dengan metode desain pelengkap seperti caching, pipelining, prediksi cabang & multi-core dalam desain mikroprosesor terkini.

Arsitektur Prosesor Superscalar

Kita tahu bahwa prosesor superscalar adalah CPU yang mengeksekusi di atas satu instruksi untuk setiap siklus CLK karena kecepatan pemrosesan hanya diukur dalam siklus CLK untuk setiap detik. Dibandingkan dengan prosesor skalar, prosesor ini sangat cepat.

Arsitektur prosesor superscalar terutama mencakup unit eksekusi paralel di mana unit ini dapat mengimplementasikan instruksi secara bersamaan. Pertama, arsitektur paralel ini diimplementasikan dalam prosesor RISC yang menggunakan instruksi sederhana & singkat untuk menjalankan perhitungan. Jadi karena kemampuan superscalar mereka, biasanya MEMPERTARUHKAN prosesor telah bekerja lebih baik dibandingkan dengan prosesor CISC yang berjalan pada megahertz yang sama. Tapi, kebanyakan CISC prosesor sekarang seperti Intel Pentium terdiri dari beberapa arsitektur RISC juga, yang memungkinkan mereka untuk melakukan instruksi secara paralel.

  Arsitektur Prosesor Superscalar
Arsitektur Prosesor Superscalar

Prosesor superscalar dilengkapi dengan beberapa unit pemrosesan untuk menangani berbagai instruksi secara paralel di setiap tahap pemrosesan. Dengan menggunakan arsitektur di atas, sejumlah instruksi memulai eksekusi dalam siklus jam yang serupa. Prosesor ini mampu memperoleh keluaran eksekusi instruksi dari satu instruksi di atas untuk setiap siklus.

Dalam diagram arsitektur di atas, sebuah prosesor digunakan dengan dua unit eksekusi di mana satu digunakan untuk integer & satu lagi digunakan untuk operasi floating point. Unit pengambilan instruksi (IFU) mampu membaca instruksi pada satu waktu & menyimpannya dalam antrian instruksi. Di setiap siklus, unit pengiriman mengambil & mendekode hingga 2 instruksi dari depan antrian. Jika ada satu bilangan bulat, instruksi floating point tunggal & tidak ada bahaya, maka kedua instruksi dikirim dalam siklus jam yang sama.

Perpipaan

Pipelining adalah prosedur memecah tugas menjadi sub-langkah & menjalankannya di dalam bagian prosesor yang berbeda. Dalam pipa superscalar berikut, dua instruksi dapat diambil dan dikirim sekaligus untuk menyelesaikan maksimal 2 instruksi per siklus. Arsitektur perpipaan dalam prosesor skalar dan prosesor superskalar ditunjukkan di bawah ini.

Instruksi dalam prosesor superscalar dikeluarkan dari aliran instruksi berurutan. Itu harus memungkinkan banyak instruksi untuk setiap siklus clock dan CPU harus memeriksa secara dinamis untuk ketergantungan data antar instruksi.

Dalam arsitektur pipa di bawah ini, F diambil, D didekodekan, E dieksekusi dan W adalah register write-back,. Dalam arsitektur pipa ini, I1, I2, I3 & I4 adalah instruksi.

Arsitektur pipeline prosesor skalar mencakup satu pipeline dan empat tahap pengambilan, dekode, eksekusi & hasil tulis kembali. Dalam prosesor skalar pipa tunggal, pipa dalam instruksi1 (I1) berfungsi sebagai; pada periode jam pertama I1 akan diambil, pada periode jam kedua akan didekode dan pada instruksi kedua, I2 akan diambil. Instruksi ketiga I3 pada periode clock ketiga akan diambil, I2 akan mendekode dan I1 akan mengeksekusi. Pada periode jam keempat, I4 akan mengambil, I3 akan mendekode, I2 akan mengeksekusi dan I1 akan menulis di memori. Jadi, dalam tujuh periode jam, itu akan mengeksekusi 4 instruksi dalam satu pipa.

  Perpipaan Skalar
Perpipaan Skalar

Arsitektur pipeline prosesor superscalar mencakup dua pipeline dan empat tahap pengambilan, dekode, eksekusi & hasil tulis kembali. Ini adalah prosesor superscalar 2-masalah yang berarti pada satu waktu dua instruksi akan mengambil, mendekode, mengeksekusi, dan menulis kembali hasilnya. Dua instruksi I1 & I2 akan mengambil, mendekode, mengeksekusi, dan menulis kembali pada setiap periode jam. Secara bersamaan pada periode jam berikutnya, dua instruksi I3 & I4 yang tersisa akan mengambil, mendekode, mengeksekusi, dan menulis kembali secara bersamaan. Jadi, dalam lima periode jam, itu akan mengeksekusi 4 instruksi dalam satu pipa.

  Perpipaan Superscalar
Perpipaan Superscalar

Dengan demikian, prosesor skalar mengeluarkan instruksi tunggal per siklus clock dan melakukan satu tahap pipa per siklus clock sedangkan prosesor superscalar, mengeluarkan dua instruksi per siklus clock dan mengeksekusi dua instance dari setiap tahap secara paralel. Jadi eksekusi instruksi dalam prosesor skalar membutuhkan lebih banyak waktu sedangkan dalam skalar super membutuhkan waktu lebih sedikit untuk mengeksekusi instruksi .

Jenis Prosesor Superscalar

Ini adalah berbagai jenis prosesor superscalar yang tersedia di pasaran yang dibahas di bawah ini.

Prosesor Intel Core i7

Intel core i7 adalah prosesor superscalar yang didasarkan pada arsitektur mikro Nehalem. Dalam desain Core i7 terdapat berbagai core prosesor dimana setiap core prosesor merupakan prosesor superscalar. Ini adalah versi tercepat dari prosesor Intel yang digunakan di komputer & perangkat konsumen akhir. Serupa dengan Intel Corei5, prosesor ini disematkan Intel Turbo Boost Technology. Prosesor ini tersedia dalam 2 hingga 6 jenis yang mendukung hingga 12 utas berbeda sekaligus.

  Prosesor Intel Core i7
Prosesor Intel Core i7

Prosesor Intel Pentium

Arsitektur pipelined superscalar prosesor Intel Pentium berarti CPU mengeksekusi minimal dua atau lebih instruksi untuk setiap siklus. Prosesor ini banyak digunakan di komputer pribadi. Perangkat prosesor Intel Pentium biasanya dibuat untuk penggunaan online, komputasi awan, & kolaborasi. Jadi prosesor ini bekerja dengan sempurna untuk tablet, dan Chromebook untuk memberikan performa lokal yang kuat & interaksi online yang efisien.

  Prosesor Intel Pentium
Prosesor Intel Pentium

IBM Daya PC601

Prosesor superscalar seperti IBM power PC601 berasal dari keluarga mikroprosesor PowerPC RISC. Prosesor ini mampu mengeluarkan serta menghentikan tiga instruksi untuk setiap jam dan satu untuk masing-masing dari 3 unit eksekusi. Instruksi benar-benar rusak untuk meningkatkan kinerja; tetapi, PC601 akan membuat eksekusi muncul secara berurutan.

  IBM Daya PC601
IBM Daya PC601

Prosesor power PC601 menyediakan alamat logis 32-bit, tipe data integer 8, 16 & 32 bit & tipe data floating-point 32 & 64 bit. Untuk implementasi PowerPC 64-bit, arsitektur prosesor ini menyediakan tipe data integer berbasis 64-bit, pengalamatan & fitur lain yang diperlukan untuk melengkapi arsitektur berbasis 64-bit.

MC 88110

MC 88110 adalah mikroprosesor RISC generasi kedua chip tunggal yang menggunakan metode canggih untuk mengeksploitasi paralelisme tingkat instruksi. Prosesor ini menggunakan beberapa cache on-chip, masalah instruksi superscalar, perekaman instruksi dinamis terbatas, dan eksekusi spekulatif, untuk mencapai performa maksimal sehingga idealnya digunakan sebagai prosesor pusat dalam PC & workstation berbiaya rendah.

  MC88000
MC88000

Intel i960

Intel i960 adalah prosesor superscalar yang mampu mengeksekusi & mengirimkan berbagai instruksi independen selama setiap siklus clock prosesor. Ini adalah mikroprosesor berbasis RISC yang menjadi sangat terkenal sebagai mikrokontroler tertanam pada awal 1990-an. Prosesor ini digunakan terus menerus dalam beberapa aplikasi militer.

  Intel i960
Intel i960

MIPS R

MIPS R adalah mikroprosesor dinamis & superskalar yang digunakan untuk menjalankan arsitektur set instruksi 4 MIPS 64-bit. Prosesor ini mengambil & mendekodekan 4 instruksi untuk setiap siklus & mengeluarkannya ke lima unit eksekusi dengan pipeline dan latensi rendah. Prosesor ini dirancang khusus untuk aplikasi berkinerja tinggi, besar, dan dunia nyata dengan lokalitas memori yang buruk. Dengan perkiraan eksekusi, itu hanya menghitung alamat memori. Prosesor MIPS terutama digunakan di berbagai perangkat seperti Nintendo Gamecube, lini produk SGI, Sony Playstation 2, router PSP & Cisco.

  MIPS R
MIPS R

Perbedaan B/W Superscalar Vs Pipelining

Perbedaan antara superscalar dan pipelining dibahas di bawah ini.

Skalar super

Perpipaan

Superscalar adalah CPU, yang digunakan untuk mengimplementasikan bentuk paralelisme yang disebut paralelisme tingkat instruksi dalam satu prosesor. Teknik implementasi seperti pipelining digunakan di mana beberapa instruksi tumpang tindih dalam eksekusi.
Arsitektur superscalar memulai beberapa instruksi secara bersamaan & mengeksekusinya secara terpisah. Arsitektur pipeline mengeksekusi satu tahap pipeline hanya untuk setiap siklus clock.

Prosesor ini bergantung pada paralelisme spasial. Itu tergantung pada paralelisme temporal.
Beberapa operasi berjalan secara bersamaan pada perangkat keras yang terpisah. Tumpang tindih beberapa operasi pada perangkat keras umum.
Ini dicapai dengan menduplikasi sumber daya perangkat keras seperti port file register & unit eksekusi. Hal ini dicapai dengan menyalurkan unit eksekusi lebih dalam dengan siklus CLK yang sangat cepat.

Karakteristik

Itu karakteristik prosesor superscalar termasuk berikut ini.

  • Prosesor superscalar adalah model super-pipeline di mana instruksi independen dilakukan secara serial tanpa situasi menunggu.
  • Prosesor superscalar mengambil & menerjemahkan beberapa instruksi dari aliran instruksi yang masuk sekaligus.
  • Arsitektur prosesor superscalar mengeksploitasi potensi paralelisme tingkat instruksi.
  • Prosesor superscalar terutama mengeluarkan instruksi tunggal di atas untuk setiap siklus.
  • Tidak. instruksi yang dikeluarkan terutama tergantung pada instruksi dalam aliran instruksi.
  • Instruksi sering disusun ulang agar lebih sesuai dengan arsitektur prosesor.
  • Metode superscalar biasanya dikaitkan dengan beberapa karakteristik pengenal. Instruksi biasanya dikeluarkan dari aliran instruksi berurutan.
  • CPU memeriksa secara dinamis untuk ketergantungan data di antara instruksi saat dijalankan.
  • CPU mengeksekusi beberapa instruksi untuk setiap siklus clock.

Keuntungan dan kerugian

Itu keuntungan dari prosesor superscalar termasuk berikut ini.

  • Prosesor superscalar mengimplementasikan paralelisme tingkat instruksi dalam satu prosesor.
  • Prosesor ini hanya dibuat untuk melakukan set instruksi apa pun.
  • Prosesor superscalar termasuk prediksi cabang eksekusi out-of-order & eksekusi spekulatif dapat dengan mudah menemukan paralelisme di atas beberapa blok dasar & iterasi loop.

Itu kerugian dari prosesor superscalar termasuk berikut ini.

  • Prosesor superscalar tidak banyak digunakan dalam sistem tertanam kecil karena penggunaan daya.
  • Masalah penjadwalan dapat terjadi pada arsitektur ini.
  • Prosesor superscalar meningkatkan tingkat kerumitan dalam perancangan perangkat keras.
  • Instruksi dalam prosesor ini diambil berdasarkan urutan program sekuensialnya, tetapi ini bukan urutan eksekusi terbaik.

Aplikasi Prosesor Superscalar

Aplikasi prosesor superscalar meliputi yang berikut ini.

  • Eksekusi superscalar sering digunakan oleh laptop atau desktop. Prosesor ini hanya memindai program dalam eksekusi untuk menemukan kumpulan instruksi yang dapat dijalankan sebagai satu kesatuan.
  • Prosesor superscalar menyertakan berbagai salinan perangkat keras jalur data yang menjalankan berbagai instruksi sekaligus.
  • Prosesor ini terutama dirancang untuk menghasilkan kecepatan implementasi di atas satu instruksi untuk setiap siklus clock untuk satu program berurutan.

Jadi, ini semua tentang gambaran umum tentang prosesor superscalar – arsitektur, tipe, dan aplikasi. Ini pertanyaan untuk Anda, apa itu prosesor skalar?