Часть процессора которая выполняет команды называется: Логическая схема (принцип работы) компьютера. Основные компоненты компьютера.

Содержание

Решение:

ДЕ-2.Технические средства реализации информационных процессов.

2.1.Понятие и основные виды архитектуры ЭВМ. Принципы работы вычислительной системы.

1.Процессоры на основе x86 команд, вплоть до Pentium 4, имели _________ архитектуру.

CISC

2.Принципами фон Неймана функционирования компьютера являются следующие …

Укажите не менее двух вариантов ответа

каждая ячейка памяти имеет уникальный адрес

данные и программы хранятся в одной памяти в двоичном виде

3.Архитектура процессора, основанная на концепции «более компактные и простые инструкции выполняются быстрее», – это  ________ архитектура.

4.Гарвардская архитектура вычислительной системы отличается от принстонской …

раздельной памятью для команд и данных

5.К электронному виду памяти персонального компьютера относятся …

Укажите не менее двух вариантов ответа

флеш-карта

модули оперативной памяти

кэш-память

6.Конвейерной обработке данных наиболее соответствует архитектура ЭВМ …

MISD – множественный поток команд и одиночный поток данных

7. Согласно классификации параллельных архитектур по Флинну ЭВМ, построенные по принципам фон Неймана, относят к типу …

SISD – один поток команд, один поток данных

8. В фон-неймановской архитектуре компьютера часть процессора, которая выполняет команды, называется…

арифметико-логическим устройством (АЛУ)

Большинство современных компьютеров основано на общих логических принципах, сформулированных Джоном фон Нейманом.

Основные устройства такого компьютера: — память (запоминающее устройство), — процессор (включает в себя арифметико-логическое устройство и устройство управления), — устройства ввода и вывода. Эти устройства соединены каналами связи (или шинами), по которым передается информация. Арифметико-логическое устройство (АЛУ) занимается выполнением команд и вычислениями, устройство управления (УУ) выполняет функции управления устройствами. К функциям памяти относятся: прием информации из других устройств, запоминание информации, выдача информации по запросу в другие устройства машины.  Устройство ввода предназначено для ввода информации от внешних устройств компьютера.

9. Определите, какому из перечисленных критериев классификации соответствуют приведенные виды компьютеров: 1) по функциональному назначению 2) по специализации 3) по совместимости

Решение:

По критерию «функциональное назначение» различают суперкомпьютеры, мэйн-фраймы (большие ЭВМ), миникомпьютеры и микрокомпьютеры. По критерию «специализация» выделяют универсальные и специализированные компьютеры. По критерию «совместимость» различают персональные компьютеры IBM и Macintosh как несовместимые по программному обеспечению. Поэтому правильными являются следующие соответствия: по функциональному назначению – суперкомпьютеры; по специализации – универсальные, по совместимости – Macintosh. Карманные компьютеры, мобильные и настольные компьютеры разделяются по критерию «типоразмер микрокомпьютера».

10. К принципам работы вычислительной системы, сформулированным Джоном фон Нейманом, не относится принцип…

разделения памяти программ и данных

Решение:

Основными принципами построения компьютеров фон-неймановской архитектуры являются: – принцип программного управления (программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности), – принцип однородности памяти (программы и данные хранятся в одной и той же памяти), – принцип адресности (структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка). Принципы построения не-фон-неймановских компьютеров несколько отличаются. Например, в гарвардской архитектуре память программ и данных разделена, что позволяет распараллелить выборку данных из памяти.

11. В фон-неймановской архитектуре компьютера часть процессора, которая выполняет команды, называется…

арифметико-логическим устройством (АЛУ)

2.2. Состав и назначение основных элементов ПК, их характеристики. Центральный процессор. Системные шины. Слоты расширения.

1.COM-порты компьютера обеспечивают …

побитовую передачу данных

2.В слоты расширения могут подключаться…

Укажите не менее двух вариантов ответа

звуковые адаптеры

видеокарты

3.Минимальный перечень устройств, необходимых для работы каждой ЭВМ архитектуры Джона фон Неймана, обязательно включает в себя …

Укажите не менее двух вариантов ответа

устройства ввода-вывода

процессор

оперативную память

4.Электронные схемы для управления внешними устройствами – это …

5.К основным характеристикам центрального процессора относятся…

Укажите не менее двух вариантов ответа

разрядность

тактовая частота

объем встроенной кэш-памяти

6.Системная шина компьютера включает в себя…

Укажите

не менее двух вариантов ответа

шину управления

шину адреса

шину данных

шину заземления

Как работает процессор?

Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.

Чарльз Бэббидж

Компьютер тоже можно назвать машиной, только вместо паровой силы здесь электричество. Но программирование сделало компьютер таким же простым, как любой инструмент.

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

Два основных компонента процессора

Устройство управления

Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.

Существует два типа реализации УУ:

  • УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
  • УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.

УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.

Арифметико-логическое устройство

Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.

Большинство логических элементов имеют два входа и один выход.

Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).

Схема арифметического полусумматора

Хранение информации — регистры и память

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

Регистры

Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.

Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.

По функциональному назначению триггеры делятся на несколько групп:

  • RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
  • JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
  • T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
  • D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.

Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.

Принцип действия RS-триггера

Память (ОЗУ)

ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.

Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.

Команды (инструкции)

Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:

  • Арифметические: сложение, вычитание, умножение и т. д.
  • Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
  • Информационные: move, input, outptut, load и store.
  • Команды перехода: goto, if ... goto, call и return.
  • Команда останова: halt.

Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.

Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.

В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.

Группу инструкций принято называть набором команд (англ. instruction set).

Тактирование процессора

Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.

Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.

Чтобы уменьшить время выполнения программы, нужно либо оптимизировать (уменьшить) её, либо увеличить тактовую частоту. У части процессоров есть возможность увеличить частоту (разогнать процессор), однако такие действия физически влияют на процессор и нередко вызывают перегрев и выход из строя.

Выполнение инструкций

Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.

Ниже рассмотрен пример набора команд, который суммирует два числа:

  1. LOAD_A 8. Это команда сохраняет в ОЗУ данные, скажем, <1100 1000>. Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A.
  2. LOAD_B 2. Ситуация, аналогичная прошлой. Здесь помещается число 2 (0010) в регистр B.
  3. ADD B A. Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A.
  4. STORE_A 23. Сохраняем значение регистра A в ячейку памяти с адресом 23.

Вот такие операции нужны, чтобы сложить два числа.

Шина

Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.

Кэш

У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.

Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).

Поток инструкций

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

Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.

Если процессор многоядерный, это означает, что фактически в нём находятся несколько отдельных процессоров с некоторыми общими ресурсами, например кэшем.

Если хотите узнать о процессорах больше, посмотрите, какие бывают популярные архитектуры: CISC, RISC, MISC и другие и виды.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Перевод статьи «How does a CPU work?»

Понятие процессора компьютера (CPU), архитектура, характеристики и принцип работы

Содержание:

Процессор для компьютера (CPU)

Процессор (микропроцессор, CPU, центральный процессор, разг. – камень, проц и др.) – можно сказать, сердце компьютера, мозг, его основная часть. Он обрабатывает информацию, выполняет все команды пользователя и управляет остальными устройствами системного блока. От мощности процессора зависит, насколько быстро будет работать компьютер.

Процессор крепится на материнской плате и помещается в специальный разъем, который называется разъёмом центрального процессора (сокет, англ. — socket). Существует много видов сокетов, в каждый из них можно установить «камень» только своего определенного типа. Установка в сокет материнской платы должна производиться очень аккуратно, иначе можно повредить контакты и «проц» будет испорчен.

Защита от перегрева процессора

Система охлаждения

Во время работы компьютера (особенно в современных играх или при работе ресурсоёмких программ) процессор очень сильно нагревается. Для того, чтобы он не вышел из строя из-за банального перегрева, к нему крепится система охлаждения. Она состоит из радиатора и вентилятора (кулера) для рассеивания тепла.

Верхняя часть процессора выполнена в виде металлической крышки, которая предназначена для отвода тепла. Для максимального отвода тепла радиатор системы охлаждения должен максимально плотно прилегать к CPU. Это достигается путем использования термопасты – специальной пасты с высокой теплопроводностью. Без хорошей системы охлаждения процессор будет быстро нагреваться.

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

Основные производители CPU

В настоящее время уже в течении многих лет на рынке господствуют и конкурируют две компании, занимающиеся производством процессоров. Эти компании называются Intel и AMD. Есть и другие производители, но их доля на рынке слишком мала. Intel и AMD находятся в постоянной борьбе за лидерство в производстве все более мощных и производительных CPU. Это соперничество является важным фактором, который благоприятно сказывается на развитии отрасли и удешевлении стоимости устройств.

Логотипы компаний Intel и AMD

Процессор представляет собой полупроводниковый кристалл кремния, который выращен в специальных условиях и по специальной технологии. Внешне он выглядит как небольшая плата (размером примерно 5х5 см.) с большим количеством контактов с одной стороны и металлической крышкой с другой.

Внутри же находится очень сложная структура, которая включает в себя сотни миллионов транзисторов. Они занимаются обработкой данных и производят арифметические вычисления, которые основываются на математических действиях с числами. Именно в них происходит преобразование всей поступающей информации.

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

Рассмотрим основные понятия из архитектуры процессора и принцип его работы

1.  Может показаться удивительным, но основной материал, из которого изготавливают процессоры — песок, но, если быть точнее, то кремний. Его очищают по специальной технологии и изготавливают монокристалл в форме цилиндра, который потом разрезают поперек, получая пластинки в форме блинов, толщина которых всего около 1 мм. Потом, используя технологию фотолитографии, в «блинах» создают специальные полупроводниковые структуры, которые будут использоваться в будущих «камнях»

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

Сегодня такая технология производства позволяет изготавливать транзисторы размером менее 32 нанометров (можете сравнить – толщина обычного человеческого волоса равна 50.000 нм). Логично, что чем тоньше техпроцесс, тем большее количество транзисторов поместится в один процессор, соответственно, тем он будет более мощным и энергоэффективным.

Процесс фотолитографии при производстве процессоров

2. В ходе своего развития полупроводниковые структуры постоянно эволюционируют. Поэтому принципы построения процессоров, количество входящих в их состав элементов, то, как организовано их взаимодействие, постоянно изменяются. Таким образом, CPU с одинаковыми основными принципами строения, принято называть процессорами одной архитектуры. А сами такие принципы называют архитектурой процессора (или микроархитектурой).

Несмотря на это, внутри одной и той же архитектуры некоторые процессоры могут довольно сильно отличаться друг от друга — частотами системной шины, техпроцессом производства, структурой и размером внутренней памяти и т.д.

3. Ни в коем случае нельзя судить о микропроцессоре только по такому показателю, как частота тактового сигнала, которая измеряется мега или гигагерцами. Иногда «проц», у которого тактовая частота меньше, может оказаться более продуктивным. Очень важными являются такие показатели как: количество тактов, которые необходимы для выполнения команды, количество команд, которые он может выполнять одновременно и др. 

Оценка возможностей процессора (характеристики)

В быту, при оценке возможностей процессора необходимо обращать внимание на следующие показатели (как правило они указаны на упаковке устройства или в прайс-листе или каталоге магазина):

  • количество ядер. Многоядерные CPU содержат на одном кристалле (в одном корпусе) 2, 4 и т.д. вычислительных ядра. Увеличение количества ядер – один из самых эффективных способов значительного повышения мощности процессоров. Но необходимо учитывать, что программы, которые не поддерживают многоядерность (как правило это старые программы), на многоядерных процессорах быстрее работать не будут, т.к. не умеют использовать более одного ядра;
  • размер кеша. Кеш — очень быстрая внутренняя память процессора, используемая им в качестве своеобразного буфера в случае необходимости компенсации «перебоев» во время работы с оперативной памятью. Логично, что, чем больше кеш, тем лучше.
  • количество потоков – пропускная способность системы. Количество потоков часто не совпадает с количеством ядер. Например, четырехядерный Intel Core i7 работает в 8 потоков и по своей производительности опережает многие шестиядерные процессоры;
  • тактовая частота – величина, которая показывает, сколько операций (тактов) в единицу времени может произвести процессор. Логично, что, чем больше частота, тем больше операций он может выполнить, т.е. тем производительнее получается.
  • скорость шины, при помощи которой CPU соединен с системным контроллером, находящимся на материнской плате. 
  • техпроцесс – чем он мельче, тем меньше энергии процессор потребляет и, значит, меньше греется.

Современные процессоры

Выводы

Выбирая процессор, безусловно, необходимо учитывать те задачи, которые планируется решать при помощи компьютера. Если новый компьютер нужен для работы в интернете, просмотра фильмов и прослушивания музыки, то вполне хватит двухъядерного процессора. А вот если вы планируете работать с видеомонтажом, трехмерной графикой, обработкой больших объемов данных, то в этом случае лучше купить как минимум четырехъядерный.

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

Если у вас возникли трудности с выбором процессора, не можете определиться, какой будет больше соответствовать нуждам, то вы всегда можете обратиться за помощью в компьютерный сервис Комполайф. Наши специалисты помогут с выбором и заменой любого процессора, независимо от производителя и его мощности. Кроме этого, у нас можно заказать установку нового «проца» в системный блок.

Еще больше интересной и полезной информации

  • В этой статье мы дадим некоторые советы, как выбрать процессор…

  • Одним из самых важных компонентов компьютера, безусловно, можно…

  • Блок питания компьютера (БП) – это электронное устройство, формирующее…

  • Как только пользователи не называют системный блок: и процессором,…

Комментарии (0)

Оставить комментарий

Что такое процессор (ЦП)? Определение с сайта WhatIs.com

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

Термин процессор используется взаимозаменяемо с термином центральный процессор (ЦП), хотя, строго говоря, ЦП — не единственный процессор в компьютере.Графический процессор (графический процессор) является наиболее ярким примером, но жесткий диск и другие устройства в компьютере также выполняют некоторую обработку независимо. Тем не менее, термин процессор обычно понимается как ЦП.

Процессоры

можно найти в ПК, смартфонах, планшетах и ​​других компьютерах. Двумя основными конкурентами на рынке процессоров являются Intel и AMD.

Основные элементы процессора

В состав базовых элементов процессора входят:

  • Арифметико-логический блок (АЛУ), который выполняет арифметические и логические операции над операндами в командах.
  • Блок с плавающей запятой (FPU), также известный как математический сопроцессор или числовой сопроцессор, специализированный сопроцессор, который манипулирует числами быстрее, чем это может сделать базовая схема микропроцессора.
  • Регистры, в которых хранятся инструкции и другие данные. Регистры поставляют операнды в ALU и сохраняют результаты операций.
  • кэш-память L1 и L2. Их включение в ЦП экономит время по сравнению с необходимостью получать данные из оперативной памяти (ОЗУ).

Операции ЦП

Четыре основных функции процессора — выборка, декодирование, выполнение и обратная запись.

  • Fetch — это операция, которая получает инструкции из памяти программ из системной RAM.
  • Decode — это место, где инструкция преобразуется, чтобы понять, какие другие части ЦП необходимы для продолжения операции. Это выполняется декодером команд
  • .
  • Execute — это место, где выполняется операция. Каждая необходимая часть ЦП активируется для выполнения инструкций.

Компоненты и принцип работы ЦП

Основными компонентами ЦП являются АЛУ, регистры и блок управления.Основные функции ALU и регистра обозначены в приведенных выше «основных элементах секции процессора». Блок управления — это то, что выполняет выборку и выполнение инструкций.

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

Типы

Большинство современных процессоров являются многоядерными, что означает, что ИС содержит два или более процессора для повышения производительности, снижения энергопотребления и более эффективной одновременной обработки нескольких задач (s ee: параллельная обработка). Многоядерные конфигурации аналогичны установке нескольких отдельных процессоров на одном компьютере, но поскольку процессоры фактически подключены к одному и тому же разъему, соединение между ними происходит быстрее.

Большинство компьютеров могут иметь от двух до четырех ядер; однако это число может увеличиться, например, до 12 ядер. Если ЦП может обрабатывать только один набор инструкций одновременно, то он считается одноядерным процессором. Если ЦП может обрабатывать два набора инструкций одновременно, он называется двухъядерным процессором; четыре набора будут считаться четырехъядерным процессором. Чем больше ядер, тем больше инструкций может обрабатывать компьютер за раз.

Некоторые процессоры используют многопоточность, в которой используются виртуализированные ядра процессора.Виртуализированные ядра процессора называются vCPU. Они не так мощны, как физические ядра, но могут использоваться для повышения производительности виртуальных машин (ВМ). Однако добавление ненужных виртуальных ЦП может снизить коэффициенты консолидации, поэтому на физическое ядро ​​должно приходиться около четырех-шести виртуальных ЦП.

Цикл выборка-выполнение — ЦП и цикл выборка-выполнение — KS3 Computer Science Revision

Основная операция компьютера называется циклом «выборка-выполнение». ЦП предназначен для понимания набора инструкций — набора инструкций.Он извлекает инструкции из основной памяти и выполняет их. Это происходит неоднократно, начиная с загрузки компьютера и заканчивая его выключением.

  1. ЦП загружает инструкции по одной из основной памяти в регистры. Один регистр — это программный счетчик (ПК). ПК хранит в памяти адрес следующей инструкции, которая должна быть извлечена из основной памяти.
  2. CPU декодирует инструкцию.
  3. CPU выполняет инструкцию.
  4. Повторяйте, пока не исчезнут инструкции.

Для одного фрагмента программного кода может потребоваться несколько инструкций. Посмотрите на этот код Python (3.x):

area = length * width

Во-первых, компьютеру необходимо загрузить значение переменной length в хранилище немедленного доступа (регистры). Затем необходимо загрузить значение переменной width . Затем ему нужно перемножить два числа и, наконец, сохранить результат в переменной области .

Javanotes 6.0, раздел 1.1 — Цикл выборки и выполнения: машинный язык

Раздел 1.1

Цикл выборки и выполнения: машинный язык


Компьютер — это сложная система, состоящая из множества разные компоненты. Но в сердце — или, если хотите, в мозгу — компьютер — это отдельный компонент, который выполняет фактические вычисления. Это Центральный процессор или ЦП. В современном настольного компьютера, ЦП представляет собой единую «микросхему» размером порядка одного квадратного дюйма в размер.Задача ЦП — выполнять программы.

Программа — это просто список однозначных инструкции, предназначенные для механического выполнения компьютером. Компьютер — это построен для выполнения инструкций, написанных на очень простом типе язык, называемый машинным языком. Каждый тип компьютер имеет собственный машинный язык, и компьютер может напрямую выполнять программу только если программа написана на этом языке. (Он может выполнять программы, написанные на другие языки, если они сначала переведены на машинный язык.)

Когда ЦП выполняет программу, эта программа сохраняется в компьютерной основная память (также называемая ОЗУ или произвольный доступ объем памяти). В дополнение к программе в памяти также могут храниться данные, которые используются или обрабатываются программой. Основная память состоит из последовательности локации. Эти места пронумерованы, а порядковый номер места называется его адресом. Адрес позволяет выбрать один конкретная информация из миллионов, хранящихся в памяти.Когда ЦП должен получить доступ к программной инструкции или данным в конкретном местоположение, он отправляет адрес этой информации в качестве сигнала в память; память отвечает, отправляя обратно данные, содержащиеся в указанном место нахождения. ЦП также может хранить информацию в памяти, указав информация, которая будет храниться, и адрес места, где она должна быть хранится.

На уровне машинного языка работа ЦП вполне удовлетворительна. прямолинейно (хотя в деталях очень сложно).ЦП выполняет программа, которая хранится как последовательность инструкций машинного языка в главном объем памяти. Он делает это путем многократного чтения или извлечения, инструкция по памяти с последующим выполнением, или выполнение этой инструкции. Этот процесс — выборка инструкцию, выполнить ее, получить другую инструкцию, выполнить ее и т. д. навсегда — называется циклом выборки и выполнения. За одним исключением, которое будет рассмотрено в следующем разделе, это все, что делает процессор.

Детали цикла выборки и выполнения не так уж и важны, но вам следует знать несколько основных вещей.ЦП содержит несколько внутренних регистры, которые представляют собой небольшие блоки памяти, способные с одним числом или инструкцией на машинном языке. ЦП использует один из эти регистры — счетчик программ или ПК — для отслеживать, где он находится в выполняемой программе. ПК хранит адрес следующей инструкции, которую должен выполнить ЦП. В начале каждого цикла выборки и выполнения ЦП проверяет ПК, чтобы определить, какая инструкция он должен принести. В течение цикла выборки и выполнения число в ПК обновляется, чтобы указать инструкцию, которая должна быть выполнена в следующий цикл.(Обычно, но не всегда, это просто инструкция, последовательно следует за текущей инструкцией в программе.)


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

Команды машинного языка выражаются двоичными числами. Двоичный число состоит всего из двух возможных цифр: нуля и единицы. Итак, машина языковая инструкция — это просто последовательность нулей и единиц. Каждый конкретный последовательность кодирует некоторую конкретную инструкцию. Данные, которые компьютер Manages также кодируется как двоичные числа.Компьютер может работать напрямую с двоичными числами, потому что переключатели могут легко представлять такие числа: Поверните включите, чтобы обозначить единицу; выключите его, чтобы отобразить ноль. Машина языковые инструкции хранятся в памяти в виде шаблонов включенных или выключенный. Когда в ЦП загружается инструкция на машинном языке, все это бывает, что определенные переключатели включаются или выключаются по схеме, которая кодирует эту конкретную инструкцию. ЦП создан, чтобы реагировать на это шаблон, выполняя кодируемую им инструкцию; он делает это просто из-за как все остальные переключатели в ЦП соединены вместе.

Итак, вы должны понимать, как работают компьютеры: Основная память содержит программы и данные на машинном языке. Они закодированы как двоичные числа. ЦП извлекает инструкции машинного языка из памяти одну за другой и выполняет их. Он делает это механически, не задумываясь или понимание того, что он делает — и поэтому программа, которую он выполняет, должна быть идеальный, полный во всех деталях и недвусмысленный, потому что процессор может ничего, кроме как выполнить его точно так, как написано.Вот схематический вид этого первый этап понимания компьютера:

В центре внимания: цикл выполнения Fetch Decode

Центральный процессор (ЦП) — это мозг компьютера, потому что он принимает все решения и здесь выполняются все программы. ЦП предназначен для обработки данных. ЦП работает, следуя процессу, известному как «выборка, декодирование и выполнение». ЦП извлекает инструкцию из памяти, декодирует эту инструкцию и затем выполняет ее.ЦП выполняет этот цикл непрерывно, миллионы раз в секунду. Какое бы программное обеспечение ни использовалось на компьютерах, ЦП обрабатывает используемые данные.

Перед тем, как этот процесс может начаться, и программа, и данные загружаются операционной системой в оперативную память (RAM). Затем он загружается во временную область памяти внутри ЦП, называемую регистром адреса памяти (MAR). Теперь ЦП готов к выполнению цикла выполнения декодирования выборки.

ШАГ 1. Получите

Управляющий модуль отправляет сигнал в ОЗУ, чтобы получить программу и данные, которые затем сохраняются в одном из регистров ЦП. Для этого ЦП использует жизненно важный аппаратный путь, называемый «адресной шиной», по которому перемещаются программа и данные.

Затем блок управления увеличивает программный счетчик (ПК). ПК — важный регистр, который отслеживает порядок выполнения инструкций и показывает, какая инструкция в программе должна быть выполнена следующей.

Затем ЦП помещает адрес следующего элемента, который должен быть получен, на адресную шину. Затем данные с этого адреса перемещаются из основной памяти в ЦП по другому аппаратному пути, называемому «шиной данных».

ШАГ 2. Декодирование

«Набор команд» ЦП предназначен для понимания определенного набора команд, который служит для понимания инструкции, которую он только что получил. Этот процесс называется «декодированием».

Для одного фрагмента программного кода может потребоваться несколько инструкций.Например, посмотрите на этот код Python:

  площадь = длина * ширина  

Во-первых, компьютеру необходимо загрузить значение переменной длины в хранилище немедленного доступа (регистры). Затем необходимо загрузить значение переменной шириной .

ШАГ 3. Выполнить

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

По завершении этапа выполнения ЦП начинает цикл заново.

Родом из Англии, Уилл — координатор высшего начального образования, в настоящее время проживает в Бразилии. Он страстно желает максимально использовать технологии для обогащения образования студентов.

Fetch-decode-execute

Как компьютер переходит от набора сохраненных инструкций к их выполнению? В этом видео цикл Fetch-Decode-Execute объясняется Марком Скоттом.

Теперь вы собираетесь посмотреть, как ЦП может выполнять вычисления, используя процесс, известный как цикл выборки-декодирования-выполнения. Здесь у вас есть представление о ЦП и ОЗУ. Также показаны регистры, в которых можно временно хранить данные.

Получить

Счетчик программ (ПК) начинается с 0000. Это означает, что первый адрес в ОЗУ, по которому компьютер будет искать инструкцию, — это 0000. Компьютеру нужно где-то хранить текущий адрес в оперативной памяти, который он ищет.Для этого и предназначен регистр адреса памяти (MAR). Таким образом, адрес 0000 копируется в MAR. Теперь сигнал отправляется через адресную шину в ОЗУ. Блок управления отправляет сигнал чтения из памяти, и содержимое адреса 0000 копируется через шину данных в регистр данных памяти (MDR).Поскольку данные, полученные на этапе выборки, являются инструкциями, они копируются в регистр инструкций (IR). Поскольку первая инструкция была получена, система находится в конце этапа выборки цикла. Счетчик программы может быть увеличен на 1, чтобы система была готова прочитать следующую инструкцию, когда начнется следующий цикл выборки.

Декодировать

Теперь нужно расшифровать инструкцию. Он отправляется по шине данных в блок управления, где разделяется на две части. Первая часть — это код операции или код операции , который в этом примере CPU является первыми четырьмя битами.Это команда, которую будет выполнять компьютер. Вторая часть, в данном случае вторые четыре бита, — это операнд . Это адрес в ОЗУ, по которому будут считываться или записываться данные, в зависимости от операции. Блок управления может переводить коды операций в инструкции. Итак, здесь блок управления переводит код операции 0101 в команду ЗАГРУЗИТЬ ИЗ ОЗУ.

Выполнить

Теперь команда будет выполнена. Операнд копируется в MAR, поскольку он предоставляет адрес данных для загрузки (в данном случае 0100).Затем данные по адресу 0100 извлекаются из ОЗУ и передаются по шине данных в видеорегистратор. Поскольку это не инструкция, а просто данные, они затем передаются в аккумулятор (Acc). Это полный цикл «выборка-декодирование-выполнение».

2-й цикл

Теперь вы пройдете оставшиеся два цикла программы. Теперь ПК содержит 0001, поэтому вы выбираете, декодируете и выполняете инструкцию по этому адресу.
  1. ПК находится по адресу 0001, так что это следующая инструкция, которую нужно выбрать.
  2. Код операции и адресный операнд помещаются в IR, и ПК снова увеличивается на 1.
  3. Инструкция декодируется, а адрес данных, над которыми нужно действовать, помещается в MAR. Оказывается, это инструкция ADD, которая складывает две части данных вместе.
  4. Новые данные извлекаются из адреса и в конечном итоге попадают в аккумулятор вместе с результатами предыдущего цикла.
  5. Чтобы завершить этот этап, два значения в аккумуляторе передаются в ALU, где их можно сложить вместе, как было указано в коде операции.
  6. Затем результат возвращается в аккумулятор.
Это второй цикл завершен.

3-й цикл

Последний цикл предназначен для инструкции 0010. Он использует код операции 0011, который является STORE, и операнд 0110, который является последним адресом в показанном RAM. Таким образом, этот цикл берет результаты сложения в сумматоре и сохраняет их обратно в ОЗУ по адресу 0110, как было запрошено. Напомним, наша программа использовала три инструкции для сложения двух чисел и сохранения результата в памяти:
  1. Первая инструкция ЗАГРУЗИЛА часть данных с указанного адреса.
  2. Второй Добавил это к данным, найденным по другому адресу.
  3. Последняя инструкция СОХРАНИЛА результат сложения обратно по указанному адресу в памяти.
Есть много информации, чтобы понять цикл выборки-декодирования-выполнения. Многие люди сбивают с толку, когда следят за ним впервые. Возможно, вам будет полезно повторить это задание во второй раз.

Компьютер с комплексным набором команд — обзор

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

2.2.1 Таксономия компьютерной архитектуры

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

Архитектуры фон Неймана

Блок-схема для одного типа компьютера показана на рисунке 2.1. Вычислительная система состоит из центрального процессора (ЦП) и памяти . Память хранит как данные, так и инструкции, и может быть прочитана или записана при задании адреса.Компьютер, в памяти которого хранятся как данные, так и инструкции, известен как машина von Neumann .

Рисунок 2.1. Компьютер с архитектурой фон Неймана.

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

Альтернативой стилю организации компьютеров фон Неймана является архитектура Гарварда , которая почти такая же старая, как архитектура фон Неймана. Как показано на рис. 2.2, машина Гарварда имеет отдельную память для данных и программы. Счетчик программ указывает на память программ, а не на память данных.В результате сложнее писать самомодифицирующиеся программы (программы, которые записывают значения данных, а затем используют эти значения в качестве инструкций) на машинах Гарварда.

Рисунок 2.2. Архитектура Гарварда.

Гарвардские архитектуры широко используются сегодня по одной очень простой причине — разделение памяти программ и данных обеспечивает более высокую производительность при цифровой обработке сигналов. Обработка сигналов в реальном времени создает большую нагрузку на систему доступа к данным по двум причинам: во-первых, большие объемы данных проходят через центральный процессор; и, во-вторых, эти данные должны обрабатываться через определенные промежутки времени, а не только тогда, когда к ним обращается ЦП.Наборы данных, которые поступают непрерывно и периодически, называются потоковыми данными . Наличие двух запоминающих устройств с отдельными портами обеспечивает более высокую пропускную способность памяти; отсутствие конкуренции между данными и памятью за один и тот же порт также упрощает перемещение данных в нужное время. DSP составляют значительную часть всех продаваемых сегодня микропроцессоров, и большинство из них — архитектуры Гарварда. Единственный пример показывает важность DSP: большинство телефонных звонков в мире проходят как минимум через два DSP, по одному на каждом конце телефонного разговора.

Другая ось, по которой мы можем организовать компьютерную архитектуру, связана с их инструкциями и тем, как они выполняются. Многие ранние компьютерные архитектуры представляли собой то, что сегодня известно как компьютеров со сложным набором команд (CISC) . Эти машины предоставляют множество инструкций, которые могут выполнять очень сложные задачи, такие как поиск строки; они также обычно использовали ряд различных форматов инструкций разной длины. Одним из достижений в разработке высокопроизводительных микропроцессоров была концепция компьютеров с сокращенным набором команд (RISC) .Эти компьютеры, как правило, давали несколько меньшее количество простых инструкций. RISC-машины обычно используют наборы команд загрузка / сохранение — операции не могут выполняться непосредственно в ячейках памяти, только в регистрах. Инструкции также были выбраны так, чтобы их можно было эффективно выполнять в конвейерных процессорах . Ранние проекты RISC значительно превосходили проекты CISC того периода. Как оказалось, мы можем использовать методы RISC для эффективного выполнения по крайней мере общего подмножества наборов инструкций CISC, поэтому разрыв в производительности между наборами инструкций, подобных RISC и CISC, несколько сократился.

Характеристики набора команд

Помимо базовой характеристики RISC / CISC, мы можем классифицировать компьютеры по нескольким характеристикам их наборов команд. Набор команд компьютера определяет интерфейс между программными модулями и базовым оборудованием; инструкции определяют, что оборудование будет делать при определенных обстоятельствах. Инструкции могут иметь множество характеристик, в том числе:

фиксированной и переменной длины;

режимов адресации;

номеров операндов;

Поддерживается

типов операций.

Мы часто характеризуем архитектуры по их длине слова: 4-битные, 8-битные, 16-битные, 32-битные и т. Д. В некоторых случаях длина слова данных, инструкции и адреса одинакова. В частности, для компьютеров, предназначенных для работы с более короткими словами, инструкции и адреса могут быть длиннее, чем основное слово данных.

Младший порядок байтов по сравнению с прямым порядком байтов

Одна тонкая, но важная характеристика архитектур — это способ нумерации битов, байтов и слов.Коэн [Coh81] ввел термины режим с прямым порядком байтов (с младшим байтом, находящимся в младших битах слова) и режим с прямым порядком байтов (младший байт хранится в старших битах слова). слово).

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

Набор регистров, доступных для использования программами, называется моделью программирования , также известной как модель программатора . (ЦП имеет много других регистров, которые используются для внутренних операций и недоступны для программистов.)

Архитектуры и реализации

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

ЦП — это только часть полной компьютерной системы. В дополнение к памяти нам также нужны устройства ввода-вывода для построения полезной системы. Мы можем построить компьютер из нескольких различных микросхем, но многие полезные компьютерные системы построены на одном чипе. Микроконтроллер — это одна из форм однокристального компьютера, который включает в себя процессор, память и устройства ввода-вывода.Термин микроконтроллер обычно используется для обозначения микросхемы компьютерной системы с относительно небольшим ЦП и микросхемы, которая включает некоторую постоянную память для хранения программ. Система на кристалле обычно относится к более крупному процессору, который включает в себя ОЗУ на кристалле, которое обычно дополняется памятью вне кристалла.

2.2.2 Языки ассемблера

На рис. 2.3 показан фрагмент ассемблерного кода ARM, чтобы напомнить нам об основных возможностях ассемблерных языков. Языки ассемблера обычно имеют одни и те же базовые функции:

одна инструкция появляется в каждой строке;

метки , которые дают имена ячейкам памяти, начинаются с первого столбца;

инструкции должны начинаться во втором столбце или после него, чтобы отличать их от меток;

комментария идут от некоторого обозначенного символа комментария (; в случае ARM) до конца строки.

Рисунок 2.3. Пример языка ассемблера ARM.

Язык ассемблера следует этой относительно структурированной форме, чтобы ассемблер мог легко проанализировать программу и рассмотреть большинство аспектов программы построчно. (Следует помнить, что ранние ассемблеры были написаны на языке ассемблера, чтобы уместиться в очень небольшом объеме памяти. Эти ранние ограничения по традиции перенесены в современные языки ассемблера.) На рисунке 2.4 показан формат инструкции обработки данных ARM, такой как ДОБАВИТЬ.Для инструкции

Рисунок 2.4. Формат инструкции обработки данных ARM.

ADDGT r0, r3, # 5

поле cond будет установлено в соответствии с условием GT (1100), поле кода операции будет установлено на двоичный код для инструкции ADD (0100), первый Операнд регистр Rn будет установлен на 3 для представления r3, регистр назначения Rd будет установлен на 0 для r0, а поле операнда 2 будет установлено на непосредственное значение 5.

Ассемблеры также должны предоставлять несколько псевдоопераций , чтобы помочь программистам создавать полные программы на языке ассемблера. Примером псевдооперации является тот, который позволяет загружать значения данных в ячейки памяти. Это позволяет, например, устанавливать константы в память. Пример псевдооперации выделения памяти для ARM:

BIGBLOCK% 10

Псевдооперация ARM% выделяет блок памяти размера, указанного операндом, и инициализирует эти ячейки нулями.

2.2.3 Процессоры VLIW

ЦП могут выполнять программы быстрее, если они могут выполнять более одной инструкции за раз. Если операнды одной инструкции зависят от результатов предыдущей инструкции, то ЦП не может запустить новую инструкцию до тех пор, пока предыдущая инструкция не завершится. Однако смежные инструкции могут не зависеть друг от друга напрямую. В этом случае CPU может выполнять несколько одновременно.

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

В современной терминологии набор инструкций объединяется в пакет VLIW , который представляет собой набор инструкций, которые могут выполняться вместе. Выполнение следующего пакета не начнется, пока все инструкции в текущем пакете не закончат выполнение.Компилятор идентифицирует пакеты, анализируя программу, чтобы определить наборы инструкций, которые всегда могут выполняться вместе.

Зависимости между инструкциями

Чтобы понять параллельное выполнение, давайте сначала разберемся, что ограничивает параллельное выполнение инструкций. Зависимость данных — это взаимосвязь между данными, с которыми работают инструкции. В примере на рис. 2.5 первая инструкция записывает в r0, а вторая — читает из него.В результате первая инструкция должна завершиться до того, как вторая команда сможет выполнить свое сложение. График зависимости данных показывает порядок, в котором эти операции должны выполняться.

Рисунок 2.5. Зависимости данных и порядок выполнения инструкций.

Филиалы также могут вводить управляющих зависимостей . Рассмотрим эту простую ветвь

bnz r3, foo

add r0, r1, r2

foo:…

Инструкция добавления выполняется только в том случае, если предшествующая ей инструкция ветвления не берет свое ответвление.

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

Рисунок 2.6. Инструкции без зависимостей данных.

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

VLIW и встроенные вычисления

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

RISC vs.CISC

Самый простой способ изучить преимущества и недостатки Архитектура RISC контрастирует со своим предшественником: CISC (сложный Набор команд Компьютеры) архитектура.

Умножение двух чисел в памяти
Справа диаграмма, представляющая схему хранения для универсальный компьютер. Основная память разделена на ячейки, пронумерованные от (строка) 1: (столбец) с 1 по (строка) 6: (столбец) 4. Блок выполнения — отвечает за выполнение всех вычислений.Однако исполнительный блок может работать только с данными, которые были загружены в один из шести регистров (A, B, C, D, E или F). Допустим, мы хотим найти произведение двух чисел. — один хранится в ячейке 2: 3, а другой — в ячейке 5: 2 — а затем верните продукт в место 2: 3.

Подход CISC
Основная цель архитектуры CISC — выполнить задачу в возможно несколько линий сборки. Это достигается за счет сборки процессора оборудование, способное понимать и выполнять серию операции.Для этой конкретной задачи будет подготовлен процессор CISC. с конкретной инструкцией (назовем ее «МУЛЬТ»). При исполнении это инструкция загружает два значения в отдельные регистры, умножает операндов в исполнительном блоке, а затем сохраняет продукт в соответствующий регистр. Таким образом, вся задача по умножению двух чисел может дополнить одной инструкцией:

МУЛЬТ 2: 3, 5: 2

MULT — это так называемая «сложная инструкция». Он действует непосредственно в банках памяти компьютера и не требует программирования для явного вызова любых функций загрузки или хранения.Он очень похож на владеть языком более высокого уровня. Например, если мы позволим «а» представить значение 2: 3 и «b» представляют значение 5: 2, тогда эта команда идентично заявлению C «a = a * b».

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

RISC-подход
RISC-процессоры используют только простые инструкции, которые можно выполняется за один такт. Таким образом, описанная выше команда «MULT» можно разделить на три отдельные команды: «ЗАГРУЗИТЬ», которая перемещает данные из банка памяти в регистр «PROD», который находит произведение двух операнды, расположенные в регистрах, и «STORE», который перемещает данные из зарегистрируйтесь в банках памяти. Чтобы выполнить точную серию шагов описанный в подходе CISC, программисту потребуется кодировать четыре строки сборки:

НАГРУЗКА A, 2: 3
НАГРУЗКА B, 5: 2
НАГРУЗКА A, B
МАГАЗИН 2: 3, A

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

CISC RISC
Акцент на оборудование Акцент на программное обеспечение
Включает в себя многочастотные
сложных инструкций
Одноканальный, только сокращенная инструкция
Память в память:
«ЗАГРУЗИТЬ» и «СОХРАНИТЬ»,
включены в инструкции.
Зарегистрируйтесь для регистрации:
«ЗАГРУЗИТЬ» и «СОХРАНИТЬ»
являются независимыми инструкциями.
Небольшие размеры кода,
высоких циклов в секунду
Низкое количество циклов в секунду,
больших размеров кода
Транзисторы, используемые для хранения
сложных инструкций
Тратит больше
транзисторов на регистры памяти
Однако стратегия RISC также приносит некоторые очень важные преимущества.Поскольку для каждой инструкции требуется только один тактовый цикл. выполнить, вся программа будет выполняться примерно в том же объеме времени как многоцикловая команда «MULT». Эти RISC «уменьшили инструкции «требуют меньше аппаратного пространства на транзисторах, чем сложные инструкции, оставляя больше места для регистров общего назначения. Потому что все инструкций выполняются за единый промежуток времени (т.е. за один такт), возможна конвейерная обработка.

Разделение инструкций «ЗАГРУЗИТЬ» и «СОХРАНИТЬ» фактически уменьшает объем работы, которую компьютер должен выполнить.После CISC-стиля «МУЛЬТ» команда выполняется, процессор автоматически стирает регистры. Если один из операндов должен использоваться для другого вычисления, процессор должен повторно загрузить данные из банка памяти в регистр. В RISC операнд останется в регистре до тех пор, пока в его место.

Уравнение производительности
Следующее уравнение обычно используется для выражения компьютерных исполнительская способность:

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

RISC Roadblocks
Несмотря на преимущества обработки на основе RISC, чипы RISC потребовалось более десяти лет, чтобы закрепиться в коммерческом мире. Это было во многом из-за отсутствия поддержки программного обеспечения.

Хотя в линейке Apple Power Macintosh использовались чипы на основе RISC, а Windows NT была Совместимость с RISC, Windows 3.1 и Windows 95 были разработаны с помощью CISC. в виду процессоры.Многие компании не хотели рисковать с новые технологии RISC. Без коммерческого интереса разработчики процессоров не могли производить чипы RISC в достаточно больших объемах, чтобы их цена конкурентоспособная.

Еще одной серьезной неудачей стало присутствие Intel. Хотя их Микросхемы CISC становились все более громоздкими и трудными в разработке, У Intel были ресурсы для разработки и создания мощных процессоры.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *