Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

АРХИТЕКТУРА СОКРАЩЕННОГО НАБОРА КОМАНД CISC И RISC  .




По дисциплине

«Вычислительные системы»

Специальность «Компьютерные системы и сети»

2012г.

 

1. Основные понятия, архитектура и структурная организация вычислительных систем (ВС).

2. Структура ВС. Верхний уровень декомпозиции.

3. Общие принципы и фазы обработки команд.

4. Прерывания в ВС.

5. Структурная организация одношинного процессора.

6. Структурная организация трехшинного процессора.

7. Принципы выполнения команд пересылки данных и работы с памятью.

8. Принципы выполнения команд условных и безусловных переходов.

9. Построение устройств управления процессором на жесткой логике.

10. Микропрограммные устройства управления процессором.

11. Оценка производительности ВС. MIPS, FLOPS.

12. Оценка производительности ВС. Тестовые оценки производительности..

13. Повышение производительности ВС. Основные принципы конвейерной обработки команд.

14. Конфликты при конвейерной обработке.

15. Предсказание переходов при выполнении программ.

16. Принципы CISC архитектуры процессоров. Достоинства и недостатки.

17. Принципы RISC архитектуры процессоров. Достоинства и недостатки.

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

19. Принципы параллелизма выполнения команд.

20. Виды конфликтов и зависимостей при параллельном выполнении команд.

21. Процессоры с разнесенной архитектурой.

22. Суперскалярные процессоры. Узел извлечения и расшифровки команд. Узел фиксации результата.

23. Суперскалярные процессоры. Схема переупорядочения. Узел диспетчеризации / выполнения.

24. Базовые принципы, структурная организация и формат команд архитектуры IA-64.

25. Опережающее выполнение ветвящегося потока команд.

26. Классификация параллельных ВС. Архитектура типа MISD.

27. Классификация параллельных ВС. Архитектура типа SIMD.

28. Классификация параллельных ВС. Архитектура типа MIMD.

29. Понятие о систолических структурах и алгоритмах.

30. Масштабируемые параллельные ВС.

31. Симметричные многопроцессорные системы (SMP). Основные принципы.

32. SMP системы с общей магистралью.

33. SMP системы с совместной КЭШ-памятью.

34. SMP системы с коммутатором.

35. Когерентность КЭШ. Принципы протокола MESI.

36. Порядок действий протокола MESI при чтении.

37. Порядок действий протокола MESI при записи.

38. Примеры промышленных SMP систем.

39. Особенности систем с переменным временем обращения к памяти (NUMA).

40. Основные принципы протокола согласования кэширования SCI.

41. Особенности систем с распределённой памятью.

42. Распределенная общая память (DSM).

43. Алгоритмы и реализации DSM.

44. Конструкторские решения DSM систем.

45. Принципы кластерных ВС.

46. Типы и средства построения кластеров.

47. Коммуникационные сети. Основные параметры сетей.

48. Основные типы топологии сетей, их сравнение.

49. Виды и основные особенности сетевых коммутаторов.

50. Основные алгоритмы маршрутизации.

 

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

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

2)    В простом варианте на верхнем (первом) уровне декомпозиции структура ЭВМ содержит четыре основных компонента:

Процессор (ПР), выполняющий функции обработки данных и управляющий работой всей системы;

Основная (или оперативная) память (ОП), хранящая исходные, промежуточные и выходные данные, а также программу;

Устройства ввода-вывода (УВВ), передающие данные между ЭВМ и окружающей средой в обе стороны;

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

На втором уровне декомпозиции рассмотрим сначала структуры основной памяти и процессора и их взаимодействие.

Совокупность линий связи между процессором и основной памятью называется системной шиной или системной магистралью.

3) Фаза извлечения команды. В счетчике команд содержится число 0104 H - адрес первой команды. Этот адрес передается в регистр адреса (РгА), который связан с регистром адреса основной памяти

Фаза расшифровки (декодирования) команды. С регистром команд связаны блоки, разделяющие код команды на код операции - КОП, номер регистра общего назначения - РОН и адрес ячейки основной памяти - Адр_ОП.

Фаза выборки операнда. Адрес операнда, хранящегося в основной памяти, выделяется из разрядов 0 ¸ 15 регистра команд

Фаза вычисления адреса команды. Во время выполнения команды найдется интервал времени, в течение которого можно содержимое счетчика команд увеличить на длину команды

Фаза обработки данных. В нашем примере в этой фазе производится сложение операндов, результат (число 0005) запоминается в Рг_Z.

Фаза сохранения результата. В этой фазе число из Рг_Z пересылается в Рг_01.

 

 

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

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

Линии данных системной шины соединены с внутренней шиной процессора через регистр данных (Рг_Д). Этот регистр имеет два входа и два выхода. Через один из входов данные с системной шины поступают в Рг_Д. Через другой вход в Рг_Д поступают данные с внутренней шины процессора.

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

Дальше рассмотрим трехшинную схему соединения регистров и АЛУ процессора. Все регистры общего назначения объединены в единый блок, названный регистровым файлом. В технологии СБИС самый эффективный способ реализации большого массива регистров заключается в объединении их в матрицу запоминающих ячеек, подобную матрице памяти с произвольным доступом (RAM). Регистровый файл имеет три порта. Первые два - это выходы, позволяющие одновременно обращаться к двум разным регистрам и помещать их содержимое на шины A и B. Третий порт дает возможность на том же такте процессора загрузить данные с шины С в третий регистр.

Шины А и В используются для пересылки операндов на входы А и В АЛУ, где над ними производятся арифметические и логические операции. Результат пересылается в регистр назначения по шине С. Регистры Рг_Y и Рг_Z при трехшинной организации не нужны.

Второй особенностью схемы является наличие инкрементатора, используемого для увеличения содержимого счетчика команд. Инкрементатор освобождает АЛУ от регулярного выполнения этой операции. Но источник константы 4 для мультиплексора по-прежнему нужен. Он может использоваться для приращения других адресов, например адресов памяти в командах групповой загрузки и сохранения.

 

 

7) За помещение содержимого регистра на шину и загрузку данных с шины в регистр отвечают два сигнала. Вход и выход регистра Рг_i соединяются с шиной через ключи, управляемые сигналами Рг_i_вх и Рг_i_вых. Когда Рг_i_вх устанавливается в 1, находящиеся на шине данные загружаются в регистр Рг_i. Когда Рг_i_вых устанавливается в 1, данные из регистра Рг_i помещаются на шину. Если Рг_i_вых = 0, выход регистра Рг_i отключается от шины и не мешает другому регистру “выставить” на шине свои данные.

Предположим, что нужно переслать содержимое регистра Рг_1 в регистр Рг_4. Это можно сделать в два этапа:

-установить Рг_1_вых = 1, в результате чего содержимое Рг_1 будет помещено на шину процессора;

-установить Рг_4_вх = 1, что вызовет загрузку данных с шины процессора в регистр Рг_4.

8) Команда перехода заменяет содержимое регистра Сч_К целевым адресом перехода. Этот адрес обычно получают добавлением смещения, заданного в команде перехода, к обновленному значению регистра Сч_К. управляющая последовательность, реализующая команду безусловного перехода Jmp Смещение.

Теперь рассмотрим условный переход Jg(переход, если больше нуля). Перед загрузкой нового значения в счетчик команд нужно проверить состояние кодов условий. Если команда такова, что при N = 0 переход делать не нужно, а при N = 1 нужно.

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

Предположим, что каждая команда выполняется за четыре следующих фазы:

И - извлечение команды из памяти;

Д - декодирование команды и выборка ее операндов;

В - выполнение заданной в команде операции;

З - запись результата по целевому адресу.

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

 

 

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

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

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

Структурные конфликты возникают, когда двум командам требуется одновременный доступ к одному аппаратному ресурсу. Они наиболее вероятны при обращении к памяти.

АРХИТЕКТУРА СОКРАЩЕННОГО НАБОРА КОМАНД CISC И RISC  .

CISC-

1. Упрощение компиляторов для CISC

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

2. Уменьшение размера машинной программы для CISC.

3) Сокращение времени выполнения программы

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

 

RISC

В современных компьютерах используется множество различных архитектурных приемов для повышения производительности, но существуют особенности, присущие всем компьютерам RISC- архитектуры:

- выполнение команды за машинный цикл;

- преобладание операции типа "регистр-регистр";

- использование простых видов адресации;

- простой формат команд.

Поясним каждую из этих особенностей.

Первой особенностью RISC является выполнение команды за машинный цикл. За машинный цикл процессор извлекает из регистров два операнда, выполняет над ними определенную операцию в АЛУ и записывает результат в регистр. Следовательно, машинная команда RISC-процессора не может быть более сложной, чем выполняемый в машинном цикле набор операций.

Вторая особенность – преобладание операций типа "регистр-регистр". Для обращения к оперативной памяти используются специальные команды. Такая структура набора команд значительно упрощает формат команд, а соответственно, и узел управления, что повышает производительность.

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

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

 

 










Последнее изменение этой страницы: 2018-05-31; просмотров: 203.

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