Skip to main content

В чем разница между скалярным и суперскалярным процессорами?

Существуют различные типы центральных процессоров (ЦП), доступных для компьютеров. Эти типы процессоров на самом деле не отличаются с точки зрения аппаратного обеспечения и архитектуры. Большинство из них выполняют базовые задачи ЦП, такие как чтение и запись данных, базовая арифметика и переход по адресу. Однако они могут отличаться размерами шины и архитектурой процессора. Доступно несколько типов компьютерных процессоров, два из которых - скалярные и суперскалярные процессоры.

Процессор, который выполняет скалярные данные, называется скалярным процессором. Используя операнды с фиксированной запятой, целочисленные инструкции выполняются скалярными процессорами даже в их простейшем состоянии. Более мощные скалярные процессоры обычно выполняют операции как с плавающей запятой, так и целочисленные. Недавно выпущенные скалярные процессоры содержат как единицу с плавающей запятой, так и целочисленную единицу, все на одном чипе ЦП. Большинство этих современных скалярных процессоров используют инструкции 32-битного типа.

Суперскалярный процессор, с другой стороны, выполняет несколько инструкций за раз из-за своего множественного числа конвейеров. Эта структура ЦП реализует параллелизм на уровне команд, который является формой параллелизма в компьютерном оборудовании, внутри одного компьютерного процессора. Это означает, что он может обеспечить высокую пропускную способность ЦП, которая даже удаленно невозможна в других процессорах, которые не реализуют параллелизм на уровне команд. Вместо выполнения одной команды за раз суперскалярный процессор использует свои избыточные функциональные блоки при выполнении нескольких команд. Эти функциональные блоки являются не отдельными ядрами ЦП, а ресурсами расширения одного ЦП, такими как множители, битовые переключатели и арифметико-логические блоки (АЛУ).

Различия между скалярными и суперскалярными процессорами обычно сводятся к количеству и скорости. Скалярный процессор, который считается самым простым из всех процессоров, работает с одним или двумя компьютерными элементами данных в определенный момент времени. Суперскалярный процессор работает одновременно с несколькими командами и несколькими группами из нескольких элементов данных. Скалярные и суперскалярные процессоры работают одинаково с точки зрения того, как они манипулируют данными, но их различие заключается в том, сколько манипуляций и элементов данных они могут обработать в данный момент времени. Суперскалярные процессоры могут обрабатывать несколько инструкций и элементов данных, в то время как скалярный процессор просто не может, поэтому делает первый процессор более мощным, чем последний.

Скалярные и суперскалярные процессоры имеют некоторое сходство с векторными процессорами. Подобно скалярному процессору, векторный процессор также выполняет одну инструкцию за раз, но вместо того, чтобы просто манипулировать одним элементом данных, его единственная инструкция может получить доступ к нескольким элементам данных. Подобно суперскалярному процессору, векторный процессор имеет несколько избыточных функциональных блоков, которые позволяют ему манипулировать несколькими элементами данных, но он может работать только с одной инструкцией за раз. По сути, суперскалярный процессор представляет собой комбинацию скалярного процессора и векторного процессора.