Superscalar processor (original) (raw)
Processador superescalar, un processador és de tipus superescalar si tracta diverses dades alhora. D'altra banda, un processador és escalar si pot tractar només una dada a la vegada. En la taxonomia de Flynn, hi ha la classificació dels diferents tipus de processadors superescalars.
Property | Value |
---|---|
dbo:abstract | Superskalární architektura (superskalarita) je v informatice jedním ze způsobů zvyšování výkonu procesoru. Superskalarita umožňuje v jednom taktu zpracovat více strojových instrukcí zároveň, protože některé části procesoru jsou duplikovány, například matematický koprocesor (FPU) nebo aritmeticko-logická jednotka (ALU). Od vícejádrových procesorů se superskalarita liší tím, že je zvětšen počet pouze některých částí procesoru. Po přečtení strojové instrukce a jejího dekódování rozhodne řídící jednotka, zda je možné provést následující strojovou instrukci paralelně k právě zpracovávané předchozí strojové instrukci. Pokud ano, je jejím vykonáním pověřena v tu chvíli nepoužitá duplikovaná část procesoru (například druhý matematický koprocesor). Paralelní zpracování není možné, pokud následující instrukce pracuje s výsledkem předcházející strojové instrukce, protože v takovém případě je nutné počkat, až je předchozí strojová instrukce dokončena. O maximalizaci efektu superskalarity se stará překladač, který v rámci optimalizace poskládá strojové instrukce ve vhodném pořadí (reorganizaci může však provádět i sám procesor) tak, aby nebylo nutné čekat. U superskalárního procesoru dochází k paralelizaci na úrovni (proudu) strojových instrukcí, které za sebou následují (to je odlišnost od vícejádrových procesorů, které zpracovávají současně instrukce z několika samostatných procesů či vláken). Superskalární procesory obvykle používají i pipelining, avšak obě techniky jsou navzájem odlišné a nezávislé. (cs) Processador superescalar, un processador és de tipus superescalar si tracta diverses dades alhora. D'altra banda, un processador és escalar si pot tractar només una dada a la vegada. En la taxonomia de Flynn, hi ha la classificació dels diferents tipus de processadors superescalars. (ca) تقوم هندسة وحدة المعالجة المركزية من النوع المعالج العددي الفائق بتنفيذ شكل من الموازاة يسمى موازاة مستوى التعليمات داخل المعالج الفردي. وهو الذي يسمح بتسريع إنتاجية وحدة المعالجة بنفس معدل الساعة المعطاة. وتقوم الوحدة السلمية الفائقة بتنفيذ عدد من التعليمات في الدورة على مدار الساعة وذلك عن طريق إرسال فوري لمعلومات متعددة إلى وحدات وظيفية زائدة على المعالج. وكل وحدة علاجية ليست معزولة أو مفصولة عن أساس الوحدة العلاجية المركزية ولكنها مصدر تنفيذي داخل الوحدة العلاجية المركزية المفردة مثل الوحدة المنطقية الحسابية أو بيت شيفتر أو وحدة المضاعفة. وفي تصنيف فلين، يُصَنّف معالج الوحدة السلمية الفائقة أحادي النواة على أنه معالج (أس أي أس دي) (أحادي التعليمات، أحادي البيانات)، بينما يٌصَنّف معالج الوحدة السلمية الفائقة متعدد النواة على انه معالج (أم أي أم دي) ( متعدد التعليمات, متعدد البيانات). وتمر وحدة المعالجة المركزية الوحدة السلمية الفائقة أيضًا عبر خط أنابيب، وتعتبر الهندسة المعمارية لكل من الأنابيب والوحدة السلمية الفائقة تقنيات مختلفة لتعزيز وتطوير الأداء. وترتبط تقنية الوحدة السلمية الفائقة بشكل تلقيدي مع العديد من الخصائص المحددة ( داخل نواة وحدة المعالجة المركزية المعطاة): * تم إصدار التعليمات من قبل تيار التعليمات المتتابعة. * يقوم جهاز وحدة المعالجة المركزية بالفحص الحيوي لاعتمادات البيانات بين التعليمات في وقت التشغيل (ويقوم برنامج التحويل البرمجي بالفحص في وقت التصنيف). * تقبل وحدة المعالجة المركزية التعليمات المتعددة بمعدل دورة على مدار الساعة (ar) Ένας υπερβαθμωτός (superscalar) επεξεργαστής χρησιμοποιεί πολλές ανεξάρτητες διοχετεύσεις εντολών επιτυγχάνοντας παραλληλισμό στην εκτέλεση των εντολών. Έτσι μια χρονική στιγμή σε κάθε διοχέτευση μπορεί να εκτελείται και διαφορετική εντολή. Ένας υπερβαθμωτός (superscalar) επεξεργαστής εκτελεί περισσότερες από μια εντολές κατά την διάρκεια ενός κύκλου ρολογιού, εκδίδοντας ταυτόχρονα πολλαπλές εντολές σε πολλαπλά δομικά στοιχεία (functional units) του επεξεργαστή.Ο επεξεργαστής μπορεί να εκτελέσει παράλληλα πολλές, ανεξάρτητες μεταξύ τους εντολές μηχανής, ενώ εντολές που επηρεάζουν η μία την άλλη εκτελούνται ακολουθιακά. Κάθε δομικό στοιχείο δεν βρίσκεται σε διαφορετικό πυρήνα επεξεργαστή. Υπάρχουν πολλαπλά δομικά στοιχεία (functional units) σε έναν επεξεργαστή Συνήθως ένας επεξεργαστής είναι ταυτόχρονα υπερβαθμωτός (superscalar) αλλά χρησιμοποιεί και αρχιτεκτονική διοχέτευσης. Παρόλα αυτά η διοχέτευση και η υπερβάθμβωση θεωρούνται διαφορετικές τεχνικές βελτίωσης της απόδοσης. Το μείζον πρόβλημα της εκτέλεσης πολλαπλών εντολών μηχανής σε μια υπερβαθμωτή αρχιτεκτονική, είναι ο χειρισμός των εξαρτήσεων δεδομένων. Αν δεν γίνει αποτελεσματικός χειρισμός των εξαρτήσεων, είναι δύσκολο να επιτευχθεί εκτέλεση περισσότερων από μία εντολή ανά κύκλο ρολογιού. Τα βασικά χαρακτηριστικά ενός επεξεργαστή υπερβαθμωτής αρχιτεκτονικής είναι τα παρακάτω: * window size (ο αριθμός των εντολών μηχανής που βρίσκονται σε αναμονή, από τις οποίες αυτές που είναι έτοιμες επιλέγονται για έκδοση) * dispatch/issue width (ο αριθμός των εντολών μηχανής που μπορούν να αποσταλούν για εκτέλεση σε κάθε κύκλο μηχανής). (el) Unter Superskalarität versteht man die Fähigkeit eines Prozessors, zwei oder mehr skalare Befehle eines Befehlsstroms gleichzeitig mit Hilfe mehreren parallel arbeitenden Funktionseinheiten auszuführen. Es handelt sich dabei um eine Nebenläufigkeit bei der Ausführung einzelner Maschinenanweisungen. Dazu müssen die parallel abgearbeiten Befehle voneinander unabhängig sein und der Prozessor muss mindestens zwei parallel betreibbare Ausführungseinheiten besitzen.Da (implizite) Superskalartechnik nicht den Befehlssatz der Architektur und nicht die Semantik verändert, wird auch von einer Mikroarchitektur gesprochen. Im Englischen wird ein superskalarer Prozessor auch als dual-issue processor (2 Ausführungseinheiten) bzw. multiple-issue processor (mehr als 2) bezeichnet.Superskalarität ermöglicht es, mehr als eine Maschinenanweisung pro Takt zu bearbeiten, während Pipelining die maximal mögliche Taktfrequenz erhöht. Im Bereich von Smartphones, Tablets und PCs ist Superskalarität seit vielen Jahren Standard. Im Bereich der Mikrocontroller ist Superskalarität nicht sehr verbreitet. ARM adressierte diesen Mangel 2014 mit den Cortex M7 Microcontrollern. Das Grundprinzip des statischen superskalaren Ansatzes ist bereits im Jahr 1964 bei der Firma Control Data Corporation (CDC) aufgekommen, die den ersten Supercomputer (CDC 6600) entwickelte. Die Rechnerarchitektur des CDC 6600 beinhaltete bereits damals mehrere parallel arbeitende Funktionseinheiten für unterschiedliche mathematische Operationen.Dynamisches Scheduling wurde 1967 bei IBM entwickelt und wurde 1968 erstmalig in einer IBM System/360 Model 91 umgesetzt. Es werden folgende Arten von Superskalarität unterschieden: * Es wird zur Compile-Zeit festgelegt, welche Befehle parallel ausgeführt werden könnten. Im Befehlsdatenstrom ist explizit kodiert, welche Befehle parallel ausgeführt werden können. * VLIW-Prozessoren (Very Long Instruction Word): Diese Architekturen benutzen deutlich längere Befehle, in denen die parallel auszuführenden Befehle vorgegeben werden. Bei der IA-64-Architektur wird dies auch EPIC genannt. * Es wird zur Laufzeit-Zeit festgelegt, welche Befehle parallel ausgeführt werden können. Im Befehlsdatenstrom ist nicht kodiert, welche Befehle parallel ausgeführt werden können, dies muss während der Laufzeit von der CPU analysiert werden. * Superskalare Prozessoren mit : Die Reihenfolge der Befehle ist vom Compiler vorgegeben (In-order execution), die CPU kann entscheiden, wie viele Befehle sie parallel abarbeitet. Der erste Vertreter dieser Art im PC-Bereich war der Intel Pentium (1993), der bis zu zwei Befehle in zwei Ausführungseinheiten (U- und V-Pipeline) abarbeiten konnte. * Superskalare Prozessoren mit dynamischem Scheduling: Die CPU darf Befehle parallel und in anderer Reihenfolge ausführen, solange sich dadurch das Ergebnis nicht ändert. Dieses Umstellen der Reihenfolge nennt man Out-of-order execution. Der erste Vertreter dieser Art im PC-Bereich war der Intel Pentium Pro (1995). Mit Hilfe superskalarer Prozessoren kann die Anzahl der pro Takteinheit ausgeführten Befehle (Instructions per Cycle, IPC) erhöht werden. Grund dafür ist, dass das Laden von Befehlen und Operanden üblicherweise deutlich weniger Takteinheiten in Anspruch nimmt als die Ausführung der Befehle. Letzteres hängt zudem von der Art der Befehle (Addition, Multiplikation, Division etc.) ab. Der Begriff superskalar ist eine Modifikation des Begriffs Skalar. Skalarprozessoren können maximal einen Befehl pro Taktzyklus ausführen. Superskalare Prozessoren dagegen können mehr als einen Befehl pro Taktzyklus ausführen. (de) Superescalar es el término utilizado para designar un tipo de microarquitectura de procesador capaz de ejecutar más de una instrucción por ciclo de reloj. El término se emplea por oposición a la que sólo es capaz de ejecutar una instrucción por ciclo de reloj. En la clasificación de Flynn, un procesador (mononúcleo) escalar es un procesador de tipo SISD, en cambio un procesador (multinúcleo) superescalar es un procesador de tipo MIMD. (es) Un processeur est dit superscalaire s'il est capable d'exécuter plusieurs instructions simultanément parmi une suite d'instructions. Pour cela, il comporte plusieurs unités de calcul, et est capable de détecter l'absence de dépendances entre instructions. (fr) 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 . 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 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 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. 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. Prosesor 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, dari Intel Corporation; keluarga AMD K5, AMD K6, AMD Athlon, AMD Athlon 64, dan 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. [1] 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 menjalankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tetapi pada umumnya RISC. [1] 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] 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] Organisasi Superscalar secara umum Alasan desain Superscalar Sebagian besar operasi menggunakan besaran/nilai skalarOperasi 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 registerMekanisme untuk mengkomunikasikan nilai tersebut.Mekanisme untuk menginisialisasi instruksi paralel.Tersedianya sumber untuk eksekusi paralel dari beberapa instruksi.Mekanisme processing instruksi dengan urutan yg sesuai. [1] (in) A superscalar processor is a CPU that implements a form of parallelism called instruction-level parallelism within a single processor. In contrast to a scalar processor, which can execute at most one single instruction per clock cycle, a superscalar processor can execute more than one instruction during a clock cycle by simultaneously dispatching multiple instructions to different execution units on the processor. It therefore allows more throughput (the number of instructions that can be executed in a unit of time) than would otherwise be possible at a given clock rate. Each execution unit is not a separate processor (or a core if the processor is a multi-core processor), but an execution resource within a single CPU such as an arithmetic logic unit. In Flynn's taxonomy, a single-core superscalar processor is classified as an SISD processor (single instruction stream, single data stream), though a single-core superscalar processor that supports short vector operations could be classified as SIMD (single instruction stream, multiple data streams). A multi-core superscalar processor is classified as an MIMD processor (multiple instruction streams, multiple data streams). While a superscalar CPU is typically also pipelined, superscalar and pipelining execution are considered different performance enhancement techniques. The former executes multiple instructions in parallel by using multiple execution units, whereas the latter executes multiple instructions in the same execution unit in parallel by dividing the execution unit into different phases. The superscalar technique is traditionally associated with several identifying characteristics (within a given CPU): * Instructions are issued from a sequential instruction stream * The CPU dynamically checks for data dependencies between instructions at run time (versus software checking at compile time) * The CPU can execute multiple instructions per clock cycle (en) 슈퍼스칼라(superscalar)는 CPU 내에 파이프라인을 여러 개 두어 명령어를 동시에 실행하는 기술이다. ILP를 최대한 적용하여 실행하면 CPU 처리 속도가 빨라진다. 파이프라인이 하나라면 클럭당 하나의 명령어만 완료할 수 있었다 (다시 말해 IPC가 1이다). 이 값을 높이려면 파이프라인을 여러 개 두어 명령어를 동시에 실행시켜야 한다. 파이프라인이 2개라면 이상적으론 클럭마다 최대 2 개의 명령어를 처리할 수 있어 IPC=2가 된다. 보통 슈퍼스칼라 프로세서는 동시에 처리(투입/완료)가 가능한 명령어 개수에 따라 N-이슈, N-와이드(wide), N-웨이(way) 슈퍼스칼라라고 표현한다. 이상적으로는 N개의 명령어를 읽어 파이프 라인에 넣을 수 있지만(fetch), 실제로는 명령어 캐시의 제약, 명령어 사이의 의존성, 분기문 때문에 N개보다 작은 명령어만 넣을 수 있을 때가 일반적이다. 명령어 사이에 데이터 의존성, 자원 의존성, 프로시저 의존성이 존재하는 경우에는 동시실행에 제한이 있다. (ko) スーパースカラー(superscalar,スーパースケーラ)とは、プロセッサのマイクロアーキテクチャにおける用語で、複数の命令を同時にフェッチし、複数の同種のあるいは異種の実行ユニットを並列に動作させ、プログラムの持つ命令レベルの並列性を利用して性能の向上を図るアーキテクチャである。 (ja) Superskalarność (ang. superscalar) – cecha mikroprocesorów oznaczająca możliwość jednoczesnego wykonywania kilku rozkazów maszynowych, realizowana poprzez zwielokrotnienie skalarnych jednostek wykonawczych. Pierwszym procesorem Intela z rodziny x86 wykorzystującym fragmentaryczną superskalarność był procesor Pentium, który miał dwie jednostki wykonawcze, z czego jedną zubożoną, mogącą wykonywać tylko proste instrukcje; Pentium Pro posiadał już 3 jednostki wykonawcze. Większość procesorów superskalarnych nie ma w pełni zduplikowanych jednostek wykonawczych kodu, jednak mogą mieć one wiele ALU, jednostek zmiennopozycyjnych itp., wobec czego pewne instrukcje będą wykonywane znacznie szybciej, a inne znów wolniej. Pełne wykorzystanie wszystkich jednostek wykonawczych zależy od tego, czy w programie nie występują zależności między kolejnymi instrukcjami – tj. czy kolejna instrukcja jako argumentu nie potrzebuje wyników poprzedniej. Np. instrukcje: a = b + 5c = a + 10 nie będą mogły zostać wykonane równolegle, ponieważ wartość c zależy od wyliczanej wcześniej a. Jeśliby jednak usunąć zależność i napisać równoważnie: a = b + 5c = b + 15 realizacja superskalarna tych instrukcji będzie możliwa. Minimalizacja zależności jest kluczowa, aby możliwe było pełne użycie dostępnych zasobów mikroprocesora – o właściwe rozmieszczenie instrukcji dba programista lub kompilator. Ponadto współczesne procesory, np. Pentium Pro i nowsze, mogą zmieniać kolejność wykonywanych instrukcji zachowując jednak zależności między nimi – aby w pełni wykorzystać jednostki wykonawcze odpowiednie mechanizmy wyszukują instrukcje niezależne od siebie i wykonują je równolegle. (pl) L'architettura neo-scalare contemporanea (in ambiente anglosassone si utilizza il prefisso super-) permette il calcolo parallelo su un singolo chip. Ha prestazioni molto superiori a parità di frequenza di clock. Le unità centrali di elaborazione più versatili prodotte dal 1998 hanno in effetti proprio questa architettura. (it) Een superscalaire processor is een processor die meerdere instructies tegelijkertijd kan uitvoeren. Hierbij gaat de processor een groep van instructies ophalen om vervolgens te kijken welke afzonderlijk uitgevoerd kunnen worden. Niet elke instructie kan immers zomaar parallel uitgevoerd worden (bijvoorbeeld de uitkomst van de ene instructie is een parameter voor een andere instructie). Veel van dit soort van problemen kunnen echter relatief gemakkelijk opgelost worden door gebruik te maken van bijkomende registers (dupliceren van bronnen) of de referenties naar bepaalde registers te wijzigen. Het parallel uitvoeren van instructies gebeurt via een aantal functionele eenheden. In de praktijk zal men deze eenheden verder uitvoeren met pipelines om de doorvoer van instructies verder te verhogen. Het superscalaire ontwerp gaat goed samen met zowel een RISC- als een CISC-architectuur. (nl) Processadores superescalares exploram paralelismo em nível de instruções de maneira a capacitar a execução de mais de uma instrução por ciclo de clock. Este tipo de processador decodifica múltiplas instruções de uma vez e o resultado de instruções de desvio condicional são geralmente preditas antecipadamente, durante a fase de busca, para assegurar um fluxo ininterrupto. (pt) Суперскалярный процессор (англ. superscalar processor) — процессор, поддерживающий так называемый параллелизм на уровне инструкций (то есть, процессор, способный выполнять несколько инструкций одновременно) за счёт включения в состав его вычислительного ядра нескольких одинаковых функциональных узлов (таких как АЛУ, FPU, умножитель (integer multiplier), сдвигающее устройство (integer shifter) и другие устройства). Планирование исполнения потока инструкций осуществляется динамически вычислительным ядром (не статически компилятором). Способы увеличения производительности, которые могут использоваться совместно: * Использование конвейера (англ. pipelining) * увеличение количества функциональных узлов процессора (суперскалярность) * увеличение количества ядер (многоядерность) * увеличение количества процессоров (многопроцессорность) При использовании конвейера количество узлов остаётся прежним; увеличение производительности достигается за счёт одновременной работы узлов, ответственных за разные стадии обработки инструкций одного потока. При использовании суперскалярности увеличение производительности достигается за счёт одновременной работы большего количества одинаковых узлов, независимо обрабатывающих инструкции одного потока (в том числе, и большего количества конвейеров). При использовании нескольких ядер каждое ядро выполняет инструкции отдельного потока, причем каждое из них может быть суперскалярным и/или конвейерным. При использовании нескольких процессоров каждый процессор может быть многоядерным. В суперскалярном процессоре инструкция извлекается из потока инструкций (находящегося в памяти), определяется наличие или отсутствие зависимости инструкции по данным от других инструкций, затем инструкция выполняется. Одновременно, в течение одного такта, может выполняться несколько независимых инструкций. По классификации Флинна одноядерные суперскалярные процессоры относят к группе процессоров SISD (англ. single instruction stream, single data stream — один поток инструкций, один поток данных). Подобные процессоры, поддерживающие инструкции для работы с короткими векторами, могут быть отнесены к группе SIMD (англ. single instruction stream, multiple data streams — один поток инструкций, несколько потоков данных). Многоядерные суперскалярные процессоры относят к группе MIMD (англ. multiple instruction streams, multiple data streams — несколько потоков инструкций, несколько потоков данных). (ru) 超純量(superscalar)CPU架構是指在一顆处理器内核中实行了指令级並行的一类並行運算。这种技术能够在相同的CPU主频下实现更高的CPU流量(throughput)。处理器的内核中一般有多个执行单元(或称功能单元),如算术逻辑单元、位移单元、乘法器等等。未实现超純量体系结构时,CPU在每个时钟周期仅执行单条指令,因此仅有一个执行单元在工作,其它执行单元空闲。超純量体系结构的CPU在一个时钟周期可以同时分派(dispatching)多条指令在不同的执行单元中被执行,这就实现了指令级的并行。超純量体系结构可以视作多指令流多數據流。 超純量体系结构的CPU一般也都实现了指令流水化。但是一般认为这二者是增强CPU性能的不同的技术。 (zh) Суперскалярність — архітектура обчислювального ядра, що використовує кілька декодерів команд, які можуть навантажувати роботою декілька виконавчих блоків. Планування виконання потоку команд є динамічним і здійснюється самим обчислювальним ядром. Якщо в процесі роботи команди, що обробляються конвеєром, не суперечать одна одній, і одна не залежить від результату іншої, то такий пристрій може здійснити паралельне виконання команд. У суперскалярних системах рішення про запуск інструкції на виконання приймає сам обчислювальний модуль, що вимагає багато ресурсів. У пізніших системах, таких як Ельбрус і Itanium, використовується статпланування, тобто паралельні інструкції об'єднуються компілятором в довгу команду, в якій наперед відомо, що всі інструкції паралельні (архітектура VLIW). Суперскалярна архітектура ЦП втілює форму паралелізму відому як паралелізм рівня інструкцій на одному процесорі. (uk) |
dbo:thumbnail | wiki-commons:Special:FilePath/Superscalarpipeline.svg?width=300 |
dbo:wikiPageExternalLink | http://www.cs.clemson.edu/~mark/eager.html |
dbo:wikiPageID | 51702 (xsd:integer) |
dbo:wikiPageLength | 12131 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1107661073 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Scalar_(mathematics) dbr:PowerPC_970 dbr:Battery_(electricity) dbr:Pentium_(brand) dbr:Register_renaming dbr:Cycles_per_instruction dbr:Cyrix_6x86 dbr:EUROMICRO dbr:Instruction_pipelining dbr:Intel_i960 dbr:Nx586 dbr:Pentium_Pro dbr:Compiler dbr:Low-power_electronics dbr:Out-of-order_execution dbr:Arithmetic_logic_unit dbr:MC88100 dbr:Steven_McGeady dbr:Clock_rate dbr:Compile_time dbr:Complex_instruction_set_computer dbr:Embedded_system dbr:Microarchitecture dbr:Speculative_execution dbr:Microcode dbr:CDC_6600 dbr:CPU_power_dissipation dbr:Throughput dbr:Software_lockout dbr:Execution_unit dbr:P5_(microarchitecture) dbr:P6_(microarchitecture) dbr:Central_processing_unit dbr:Floating-point_unit dbr:Flynn's_taxonomy dbr:Multi-core_processor dbr:Semiconductor_device_fabrication dbc:Classes_of_computers dbr:Hyper-threading dbr:Vector_processor dbr:Assembly_line dbr:AMD_K5 dbc:Parallel_computing dbc:Superscalar_microprocessors dbc:Computer_architecture dbr:Binary_multiplier dbr:Super-threading dbr:Data_dependencies dbr:Instruction-level_parallelism dbr:Instruction_pipeline dbr:Integer_(computer_science) dbr:Seymour_Cray dbr:X86 dbr:Single_instruction,_single_data dbr:Explicitly_parallel_instruction_computing dbr:IBM_System/360_Model_91 dbr:Very_long_instruction_word dbr:Multi-core dbr:Scalar_processor dbr:Multiple_instruction,_multiple_data dbr:Simultaneous_multithreading dbr:Single_instruction,_multiple_data dbr:Shelving_buffer dbr:RISC dbr:Micro-op dbr:Hardware_logic dbr:Parallel_computer dbr:Floating_point_unit dbr:William_Michael_(Mike)_Johnson_(technologist) dbr:AMD_29000 dbr:Multiprocessor dbr:Eager_execution dbr:Multi-core_(computing) dbr:File:Superscalarpipeline.svg dbr:File:Processor_board_cray-2_hg.jpg |
dbp:wikiPageUsesTemplate | dbt:CPU_technologies dbt:ISBN dbt:More_footnotes dbt:Redirect dbt:Reflist dbt:Short_description dbt:Parallel_computing |
dcterms:subject | dbc:Classes_of_computers dbc:Parallel_computing dbc:Superscalar_microprocessors dbc:Computer_architecture |
gold:hypernym | dbr:CPU |
rdf:type | yago:WikicatMicroprocessors yago:Artifact100021939 yago:Chip103020034 yago:Conductor103088707 yago:Device103183080 yago:Instrumentality103575240 yago:Microprocessor103760310 yago:Object100002684 yago:PhysicalEntity100001930 yago:SemiconductorDevice104171831 yago:Whole100003553 |
rdfs:comment | Processador superescalar, un processador és de tipus superescalar si tracta diverses dades alhora. D'altra banda, un processador és escalar si pot tractar només una dada a la vegada. En la taxonomia de Flynn, hi ha la classificació dels diferents tipus de processadors superescalars. (ca) Superescalar es el término utilizado para designar un tipo de microarquitectura de procesador capaz de ejecutar más de una instrucción por ciclo de reloj. El término se emplea por oposición a la que sólo es capaz de ejecutar una instrucción por ciclo de reloj. En la clasificación de Flynn, un procesador (mononúcleo) escalar es un procesador de tipo SISD, en cambio un procesador (multinúcleo) superescalar es un procesador de tipo MIMD. (es) Un processeur est dit superscalaire s'il est capable d'exécuter plusieurs instructions simultanément parmi une suite d'instructions. Pour cela, il comporte plusieurs unités de calcul, et est capable de détecter l'absence de dépendances entre instructions. (fr) 슈퍼스칼라(superscalar)는 CPU 내에 파이프라인을 여러 개 두어 명령어를 동시에 실행하는 기술이다. ILP를 최대한 적용하여 실행하면 CPU 처리 속도가 빨라진다. 파이프라인이 하나라면 클럭당 하나의 명령어만 완료할 수 있었다 (다시 말해 IPC가 1이다). 이 값을 높이려면 파이프라인을 여러 개 두어 명령어를 동시에 실행시켜야 한다. 파이프라인이 2개라면 이상적으론 클럭마다 최대 2 개의 명령어를 처리할 수 있어 IPC=2가 된다. 보통 슈퍼스칼라 프로세서는 동시에 처리(투입/완료)가 가능한 명령어 개수에 따라 N-이슈, N-와이드(wide), N-웨이(way) 슈퍼스칼라라고 표현한다. 이상적으로는 N개의 명령어를 읽어 파이프 라인에 넣을 수 있지만(fetch), 실제로는 명령어 캐시의 제약, 명령어 사이의 의존성, 분기문 때문에 N개보다 작은 명령어만 넣을 수 있을 때가 일반적이다. 명령어 사이에 데이터 의존성, 자원 의존성, 프로시저 의존성이 존재하는 경우에는 동시실행에 제한이 있다. (ko) スーパースカラー(superscalar,スーパースケーラ)とは、プロセッサのマイクロアーキテクチャにおける用語で、複数の命令を同時にフェッチし、複数の同種のあるいは異種の実行ユニットを並列に動作させ、プログラムの持つ命令レベルの並列性を利用して性能の向上を図るアーキテクチャである。 (ja) L'architettura neo-scalare contemporanea (in ambiente anglosassone si utilizza il prefisso super-) permette il calcolo parallelo su un singolo chip. Ha prestazioni molto superiori a parità di frequenza di clock. Le unità centrali di elaborazione più versatili prodotte dal 1998 hanno in effetti proprio questa architettura. (it) Processadores superescalares exploram paralelismo em nível de instruções de maneira a capacitar a execução de mais de uma instrução por ciclo de clock. Este tipo de processador decodifica múltiplas instruções de uma vez e o resultado de instruções de desvio condicional são geralmente preditas antecipadamente, durante a fase de busca, para assegurar um fluxo ininterrupto. (pt) 超純量(superscalar)CPU架構是指在一顆处理器内核中实行了指令级並行的一类並行運算。这种技术能够在相同的CPU主频下实现更高的CPU流量(throughput)。处理器的内核中一般有多个执行单元(或称功能单元),如算术逻辑单元、位移单元、乘法器等等。未实现超純量体系结构时,CPU在每个时钟周期仅执行单条指令,因此仅有一个执行单元在工作,其它执行单元空闲。超純量体系结构的CPU在一个时钟周期可以同时分派(dispatching)多条指令在不同的执行单元中被执行,这就实现了指令级的并行。超純量体系结构可以视作多指令流多數據流。 超純量体系结构的CPU一般也都实现了指令流水化。但是一般认为这二者是增强CPU性能的不同的技术。 (zh) تقوم هندسة وحدة المعالجة المركزية من النوع المعالج العددي الفائق بتنفيذ شكل من الموازاة يسمى موازاة مستوى التعليمات داخل المعالج الفردي. وهو الذي يسمح بتسريع إنتاجية وحدة المعالجة بنفس معدل الساعة المعطاة. وتقوم الوحدة السلمية الفائقة بتنفيذ عدد من التعليمات في الدورة على مدار الساعة وذلك عن طريق إرسال فوري لمعلومات متعددة إلى وحدات وظيفية زائدة على المعالج. وكل وحدة علاجية ليست معزولة أو مفصولة عن أساس الوحدة العلاجية المركزية ولكنها مصدر تنفيذي داخل الوحدة العلاجية المركزية المفردة مثل الوحدة المنطقية الحسابية أو بيت شيفتر أو وحدة المضاعفة. (ar) Superskalární architektura (superskalarita) je v informatice jedním ze způsobů zvyšování výkonu procesoru. Superskalarita umožňuje v jednom taktu zpracovat více strojových instrukcí zároveň, protože některé části procesoru jsou duplikovány, například matematický koprocesor (FPU) nebo aritmeticko-logická jednotka (ALU). Od vícejádrových procesorů se superskalarita liší tím, že je zvětšen počet pouze některých částí procesoru. Superskalární procesory obvykle používají i pipelining, avšak obě techniky jsou navzájem odlišné a nezávislé. (cs) Unter Superskalarität versteht man die Fähigkeit eines Prozessors, zwei oder mehr skalare Befehle eines Befehlsstroms gleichzeitig mit Hilfe mehreren parallel arbeitenden Funktionseinheiten auszuführen. Es handelt sich dabei um eine Nebenläufigkeit bei der Ausführung einzelner Maschinenanweisungen. Dazu müssen die parallel abgearbeiten Befehle voneinander unabhängig sein und der Prozessor muss mindestens zwei parallel betreibbare Ausführungseinheiten besitzen.Da (implizite) Superskalartechnik nicht den Befehlssatz der Architektur und nicht die Semantik verändert, wird auch von einer Mikroarchitektur gesprochen. (de) Ένας υπερβαθμωτός (superscalar) επεξεργαστής χρησιμοποιεί πολλές ανεξάρτητες διοχετεύσεις εντολών επιτυγχάνοντας παραλληλισμό στην εκτέλεση των εντολών. Έτσι μια χρονική στιγμή σε κάθε διοχέτευση μπορεί να εκτελείται και διαφορετική εντολή. Ένας υπερβαθμωτός (superscalar) επεξεργαστής εκτελεί περισσότερες από μια εντολές κατά την διάρκεια ενός κύκλου ρολογιού, εκδίδοντας ταυτόχρονα πολλαπλές εντολές σε πολλαπλά δομικά στοιχεία (functional units) του επεξεργαστή.Ο επεξεργαστής μπορεί να εκτελέσει παράλληλα πολλές, ανεξάρτητες μεταξύ τους εντολές μηχανής, ενώ εντολές που επηρεάζουν η μία την άλλη εκτελούνται ακολουθιακά. Κάθε δομικό στοιχείο δεν βρίσκεται σε διαφορετικό πυρήνα επεξεργαστή. Υπάρχουν πολλαπλά δομικά στοιχεία (functional units) σε έναν επεξεργαστή (el) 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 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. (in) A superscalar processor is a CPU that implements a form of parallelism called instruction-level parallelism within a single processor. In contrast to a scalar processor, which can execute at most one single instruction per clock cycle, a superscalar processor can execute more than one instruction during a clock cycle by simultaneously dispatching multiple instructions to different execution units on the processor. It therefore allows more throughput (the number of instructions that can be executed in a unit of time) than would otherwise be possible at a given clock rate. Each execution unit is not a separate processor (or a core if the processor is a multi-core processor), but an execution resource within a single CPU such as an arithmetic logic unit. (en) Een superscalaire processor is een processor die meerdere instructies tegelijkertijd kan uitvoeren. Hierbij gaat de processor een groep van instructies ophalen om vervolgens te kijken welke afzonderlijk uitgevoerd kunnen worden. Niet elke instructie kan immers zomaar parallel uitgevoerd worden (bijvoorbeeld de uitkomst van de ene instructie is een parameter voor een andere instructie). Veel van dit soort van problemen kunnen echter relatief gemakkelijk opgelost worden door gebruik te maken van bijkomende registers (dupliceren van bronnen) of de referenties naar bepaalde registers te wijzigen. (nl) Суперскалярный процессор (англ. superscalar processor) — процессор, поддерживающий так называемый параллелизм на уровне инструкций (то есть, процессор, способный выполнять несколько инструкций одновременно) за счёт включения в состав его вычислительного ядра нескольких одинаковых функциональных узлов (таких как АЛУ, FPU, умножитель (integer multiplier), сдвигающее устройство (integer shifter) и другие устройства). Планирование исполнения потока инструкций осуществляется динамически вычислительным ядром (не статически компилятором). (ru) Superskalarność (ang. superscalar) – cecha mikroprocesorów oznaczająca możliwość jednoczesnego wykonywania kilku rozkazów maszynowych, realizowana poprzez zwielokrotnienie skalarnych jednostek wykonawczych. Pełne wykorzystanie wszystkich jednostek wykonawczych zależy od tego, czy w programie nie występują zależności między kolejnymi instrukcjami – tj. czy kolejna instrukcja jako argumentu nie potrzebuje wyników poprzedniej. Np. instrukcje: a = b + 5c = a + 10 a = b + 5c = b + 15 realizacja superskalarna tych instrukcji będzie możliwa. (pl) Суперскалярність — архітектура обчислювального ядра, що використовує кілька декодерів команд, які можуть навантажувати роботою декілька виконавчих блоків. Планування виконання потоку команд є динамічним і здійснюється самим обчислювальним ядром. Суперскалярна архітектура ЦП втілює форму паралелізму відому як паралелізм рівня інструкцій на одному процесорі. (uk) |
rdfs:label | معالج عددي فائق (ar) Processador superescalar (ca) Superskalární architektura (cs) Superskalarität (de) Υπερβαθμωτός επεξεργαστής (el) Superescalar (es) Superskalar (in) Processeur superscalaire (fr) Microprocessore superscalare (it) スーパースカラー (ja) 슈퍼스칼라 (ko) Superscalaire processor (nl) Superskalarność (pl) Superscalar processor (en) Superescalar (pt) Суперскалярность (ru) Суперскалярність (uk) 超純量 (zh) |
owl:sameAs | freebase:Superscalar processor yago-res:Superscalar processor wikidata:Superscalar processor dbpedia-ar:Superscalar processor dbpedia-ca:Superscalar processor dbpedia-cs:Superscalar processor dbpedia-de:Superscalar processor dbpedia-el:Superscalar processor dbpedia-es:Superscalar processor dbpedia-fa:Superscalar processor dbpedia-fi:Superscalar processor dbpedia-fr:Superscalar processor dbpedia-id:Superscalar processor dbpedia-it:Superscalar processor dbpedia-ja:Superscalar processor dbpedia-ko:Superscalar processor dbpedia-nl:Superscalar processor dbpedia-no:Superscalar processor dbpedia-pl:Superscalar processor dbpedia-pt:Superscalar processor dbpedia-ru:Superscalar processor dbpedia-simple:Superscalar processor dbpedia-sk:Superscalar processor dbpedia-sr:Superscalar processor dbpedia-uk:Superscalar processor dbpedia-zh:Superscalar processor https://global.dbpedia.org/id/7zf5 |
prov:wasDerivedFrom | wikipedia-en:Superscalar_processor?oldid=1107661073&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/Superscalarpipeline.svg wiki-commons:Special:FilePath/Processor_board_cray-2_hg.jpg |
foaf:isPrimaryTopicOf | wikipedia-en:Superscalar_processor |
is dbo:wikiPageRedirects of | dbr:Superscalar dbr:Super-scalar_architecture dbr:Superscalar_architecture dbr:Superscalar_execution dbr:Superscaler |
is dbo:wikiPageWikiLink of | dbr:Processor_(computing) dbr:Apple_A12X dbr:Instruction_window dbr:Out-of-order_execution dbr:Branch_predictor dbr:Multithreading_(computer_architecture) dbr:Apple_A11 dbr:Apple_A12 dbr:Apple_silicon dbr:Rosa_Badia dbr:Permuted_congruential_generator dbr:Michael_Shebanow dbr:Microparallelism dbr:CDC_6600 dbr:AMD_K6 dbr:ARM_Cortex-A53 dbr:History_of_computing_in_the_Soviet_Union dbr:Multi-core_processor dbr:List_of_Intel_CPU_microarchitectures dbr:Itanium dbr:Hyper-threading dbr:Vector_processor dbr:Asynchronous_circuit dbr:AMD_Am29000 dbr:ARM_Cortex-A8 dbr:LAPACK dbr:Trace_cache dbr:IBM_System/390 dbr:Loongson dbr:Single_instruction,_single_data dbr:SHAKTI_(microprocessor) dbr:Explicitly_parallel_instruction_computing dbr:IBM_801 dbr:IEEE_Rebooting_Computing dbr:Single_instruction,_multiple_data dbr:Parallel_programming_model dbr:Shelving_buffer dbr:Superscalar dbr:Super-scalar_architecture dbr:Superscalar_architecture dbr:Superscalar_execution dbr:Superscaler |
is foaf:primaryTopic of | wikipedia-en:Superscalar_processor |