Arvutid_II_eksam_moni_teooria 607KB Jan 12 2009 01:59:34 PM

advertisement
ARVUTID 2
КУРС МОЛОДОГО БОЙЦА
(Официальный Материал)
Составитель: De-Kay, Maks-Aan
Перевод: De-Kay, Maks-Aan
ВНИМАНИЕ:
Целью данного учебного материала является – подготовка к экзамену по
предмету – “ARVUTID 2”. Не следует наивно предполагать, что данный
материал является шпоргалкой и поможет вам списать экзамен!
22 декабря 2008 года , Таллинн, Эстония.
Вопрос №1:
Опишите механические аспекты проектирования дигитальных устройств (и\или электронных)?
Ответ:
Электронные аспекты:
Правила расположения элементов схемы на её площади (Pinnalaotuse Reeglid):

Размер технологии

Слои

Ширина провода

Расстояния между проводами

Правила контактов (как правильно расположить и объединить контакты)

Маштаб площади (Pinnalaotuse Samm)
Синтез развёртки площади (Pinnalaotuse Süüntes):

Нарезка

Планирование площади

Размещение

Маршрутизация (Трассирование):
1.
Преодоление Лабиринта
2.
Необходимость большого колличества памяти
3.
Поиск двух направлений
4.
Многослойная маршрутизация
Оптимизация развёртки площади (Pinnalaotuse Optimeerimine):

Проверка развёртки площади

DRC (Design Rule Check)
Механические аспекты:






Размещение компонентов
Выбор способа соединения между различными устройствами
Шины не должны располагаться по соседству с элементами создающими электрические помехи
Допустимая ширина соединительных дорожек на микросхеме - 0.25mm
Наименьший промежуток между полигоном и дорожками - 0.25mm
Маркировка не должна залезать на запайку: точность ~ 0.5mm
Вопрос №2:
Конвеерные устройства (какие ограничения, принцип работы и т.д.)?
Ответ:
Конвеерные устройства – это набор элементов для обработки информации, объединённых между собой таким образом,
что выход одного элемента подаётся на вход другого. Элементы конвеерных устройств часто работают либо параллельно
либо с временными промежутками. В таком случае, между элементами помещают буффер хранения информации, для
сохранения промежуточных результатов. Такая организация обеспечивает достаточно быстрое исполнение требуемых
команд.
Классификация:
Инструкционные (командные) конвеерные устройства – классический RISC конвеер, который используется в
процессорах для выполнения одной или нескольких последовательных команд из номинального потока. Здесь, элементы
обработки информации являются логическими кругами, позволяющими выполнять различные уровни команд, таких как address decoding и cache lookup и тд.
Графические конвеерные устройства – находятся в большинстве графических карт ПК. Снабжены несколькими
арифметическими блоками или же полным центральным процессором. Графические конвеерные устройства нужны
видеокарте для выполнения воспроизведения и типичных графических операций - window clipping, color and light
calculation и тд.
Програмные конвеерные устройства – состоят из множества процессов, спланированных таким образом, что выходной
поток одного процесса мгновенно и автоматически подаётся на вход другого процесса.
Конвеерные устройства Unix – Классические пятиуровневые конвеерные устройства, со следующими уровнями:
Выбор команды, Декодирование команды и выбор регистра, Исполнение, Доступ к памяти , Запись в регистр.
Принцип работы:
«КБ» - командный блок – выбирает «Команду-1» и посылает её в «БД» - блок декодера (Между «КБ» и «БД»
располагается буфер сортировки и хранения промежуточных результатов - «ФИ-ФО» для сортировки команд). В то
время как «Команда-1» поступила в «БД» - блок декодера, на втором такте – «Тк-2» - «Команда-2» выбирается «КБ» командным блоком. Далее на первом такте – «Тк-1» «Команда-1» поступает в «ИБ» - исполнительный блок (Между «БД»
и «ИБ» также располагается буфер сортировки и хранения промежуточных результатов - «ФИ-ФО») где и исполняется. А
в это время на «Тк-2» - втором такте – «Команда-2» поступает в «БД» - блок декодера, а на третьем такте – «Тк-3»
«Команда-3» выбирается «КБ» - командным блоком. После исполнения «Команды-1» на первом такте, результаты
исполнения записываются в «БС» - блок сохранения. «Команда-2» и «Команда-3» на втором и третьем тактах
продвигаются по блокам по аналогии.
Ограничения:


Зависимые потоки должны быть как можно дальше друг от друга по «конвейеру»
Сначала выбрать данные, необходимые для расчётов, а только потом производить расчёт и именно в том порядке,
в котором производилась присвоение значений переменным.
Тактовый период конвеерного шага должен быть выбран в сравнении с продолжительностью других шагов.
Выходные сигналы блоков должны сохраняться во время ожидания, для этого необходимо добавить к выходам
блоков – регистр с параллельным входом и выходом.


Вопрос №3:
Realajasüsteemid (реализация, типы, классификация)?
Ответ:
Определение:
Система, реагирующая в предсказуемое время на непредсказуемое появление внешних событий – называется системой
реального времени.
Система, в которой успешность работы любой программы зависит не только от её логической правильности, но и от
времени, за которое она получила результат. Если система не может удовлетворить временным ограничениям, должен
быть зафиксирован сбой в её работе.
Система у которой реакция на внешнее воздействие должна происходить в то же время, что и само внешнее воздействие.
Системное время должно быть измеримо в тех же единицах что и общественное время.
Классификация:
Системы реального времени бывают двух типов - системы жесткого реального времени и системы мягкого реального
времени.
Системы жёсткого реального времени - не допускают задержек реакции системы, так как это может привести к:



Потере актуальности результатов
Большим финансовым потерям
Авариям и катастрофам
Если не выполняется обработка критических ситуаций либо она происходит недостаточно быстро, система жёсткого
реального времени прерывает операцию и блокирует её, чтобы не пострадала надёжность и готовность остальной части
системы. Примерами систем жёсткого реального времени могут быть - системы управления бортового оборудования,
системы аварийной защиты, регистраторы аварийных событий.
Системы мягкого реального времени - характеризуются возможностью задержки реакции, что может привести к
увеличению стоимости результатов и снижению производительности системы в целом.
Для подобных систем характерно:



Гарантированное время реакции на внешние события
Жёсткая подсистема планирования процессов (высокоприоритетные задачи не должны вытесняться
низкоприоритетными, за некоторыми исключениями)
Повышенные требования к времени реакции на внешние события или реактивности
Примером систем мягкого реального времени служит - работа компьютерной сети. Если система не успела обработать
очередной принятый пакет, это приведет к остановке на передающей стороне и повторной посылке (в зависимости от
протокола, конечно). Данные при этом не теряются, но производительность сети снижается.
Отличие:
Система жёсткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени - не
должна опаздывать с реакцией на событие.
Алгоритмы планирования:
Прерывное планирование


Некоторые задания должны иметь более длительное время выполнения
Реагирование на внешние события должно быть минимальным
Непрерывное планирование


Все задания выполняются до тех пор пока не будут выполнены
Реагирование на внешние события может занимать длительное время
Реализация:
На низком уровне:

Генераторы кода, компиляторы, генераторы тестов, симуляторы,
эмуляторы, средства синтеза
На высоком уровне:

Система CAD
Вопрос №4:
Программируемая логика (классификация и технологии, плюсы минусы, требования к прогр. элем.)?
Ответ:
Классификация:
SPLD - Простые программируемые логические устройства (ROM, PAL, PLA и GAL)
CPLD - Сложные программируемые логические устройства (Строительными кирпичами являются – макро-ячейки)
FPGA – Field programmable gate array – логическая матрица с полем программирования
MPGA - Mask Programmable Gate Array – логическая матрица с программируемой маской
Технологии:
Static RAM Cells – статические тригеры с переменной памятью
Anti-fuse – технология обратная технологии fuse
EPROM - Erasable Programmable Read Only Memory
EEPROM - Electrically Programmable Read Only Memory
Flash – управляемые элементы основной памяти с плавающей точкой
Плюсы и минусы:

Доступность

Большое колличество производителей и широкая сеть продаж.

Низкая стоимость компонентов

Легко проектировать, так как доступ к технологии – прямой

Реализация, внесение изменений и дальнейшее расширение – очень просты

Отличное программное обеспечение

Фирмы проводят обучение по соответствующей технологии
Требования к программируемым элементам:

Маленькая площадь кристалла

Во включенном состоянии (ON) маленькое сопротивление

В выключенном состоянии (OFF) большое сопротивление

Маленькая энергоёмкость

Возможность реализавать элемент посредствам той же технологии что и другие элементы
Вопрос №5:
Выполнение команд?
Ответ:
Выполнение команд:
Команда является одной операцией выполняемой процессором и определяемой архитектурой набора команд. Команда
является байтовым кодом.
Полная команда машинного кода состоит из: операционного кода и и одной или более операнд – определяющих какую
команду и над какой информацией совершить. Некоторые команды имеют мнимые операнды, или же вообще не имеют
таковых.
Определители операнд могут иметь режимы адрессации, в зависимости от их значения или могут быть
зафиксированными.
Базовыми командами являются:





Арифметические, например «сложения» и «вычитания»
Битовые, например «логическое и», «логическое или» и «логическое не»
Присваивание данных, например «переместить», «загрузить», «выгрузить»
Ввод-вывод, для обмена данными с внешними устройствами
Управляющие инструкции, например «переход», «условный переход», «вызов подпрограммы»
Алгоритм выполнения команд:
Вопрос №6:
Сети Петри?
Ответ:
Сеть Петри представляет собой двудольный ориентированный граф, состоящий из вершин двух типов — позиций и
переходов, соединённых между собой дугами, вершины одного типа не могут быть соединены непосредственно. В
позициях могут размещаться метки (маркеры), способные перемещаться по сети.
Состояние системы: Описывается маркерами позиций (число маркеров в каждом узле)
Событием называют срабатывание перехода, при котором метки из входных позиций этого перехода перемещаются в
выходные позиции.
Классификация:
Временная сеть Петри — переходы обладают весом, определяющим продолжительность срабатывания (задержку).
Стохастическая сеть Петри — задержки являются случайными величинами.
Функциональная сеть Петри — задержки определяются как функции некоторых аргументов.
Цветная сеть Петри — метки могут быть различных типов, обозначаемых цветами, тип метки может быть использован
как аргумент в функциональных сетях.
Ингибиторная сеть Петри — возможны ингибиторные дуги, запрещающие срабатывания перехода, если во входной
позиции, связанной с переходом ингибиторной дугой, находится метка.
Иерархическая сеть — содержит немгновенные переходы, в которые вложены другие, возможно, также иерархические,
сети.
Сети Петри позволяют контролировать следующие свойства системы:
Ограниченность — число меток в любой позиции сети не может превысить некоторого значения K
Безопасность — частный случай ограниченности, K=1
Сохраняемость — постоянство загрузки ресурсов,
весовой коэффициент
постоянна. Где Ni — число маркеров в i-той позиции, Ai —
Достижимость — возможность перехода сети из одного заданного состояния (характеризуемого распределением меток) в
другое
Живость — возможность срабатывания любого перехода при функционировании моделируемого объекта.
Вопрос №7:
П6 Микроархитектура (CISC, RISC)?
Ответ:
RISC (Reduced Instruction Set Computing):
Архитектура проектирования процессоров, которая позволяет следующий принцип: более компактные и простые
инструкции выполняются быстрее. Простая архитектура позволяет удешевить процессор, поднять тактовую частоту, а
также распараллелить исполнение команд между несколькими блоками исполнения.
Первые RISС-процессоры были разработаны в начале 1980-х годов в Стэнфордском и Калифорнийском университетах
США. Они выполняли небольшой (50 − 100) набор команд.
Характерные особенности RISC-процессоров:





Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды
Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитатьизменить-записать» отсутствуют. Любые операции "изменить" выполняются только над содержимым регистров
Большое количество регистров общего назначения (32 и более)
Отсутствие поддержки операций вида "изменить" над укороченными типами данных - байт, 16битное слово.
Отсутствие микропрограмм внутри самого процессора. То, что в CISC процессоре исполняется
микропрограммами, в RISC процессоре исполняется как обыкновенный машинной код, не отличающийся
принципиально от кода ядра ОС и приложений.
Архитектурные решения, типичные для RISC:


Суперскалярная архитектура
VLIW архитектура
RISC-архитектуры позволяют получить большую производительность, чем CISC, за счет использования суперскалярного
и VLIW подхода, а также за счет возможности серьезного повышения тактовой частоты DEC Alpha и за счет упрощения
кристалла с высвобождением площади под кэш-память, могущую достигнуть огромных размеров. Также RISCархитектуры позволили сильно снизить энергопотребление процессора за счет уменьшения числа транзисторов (ARM).
В настоящее время многие архитектуры процессоров являются RISC-подобными, к примеру, ARM, DEC Alpha, SPARC,
AVR, MIPS, POWER и PowerPC.
CISC (Complex Instruction Set Computing):
Архитектура проектирования процессоров, которая характеризуется следующим набором свойств:



Нефиксированным значением длины команды.
Исполнение операций, таких, как загрузка в память, арифметические действия, кодируется в одной инструкции.
Обладает небольшим числом регистров, каждый из которых выполняет строго определённую функцию.
Типичными представителями являются процессоры на основе x86 команд (исключая современные Intel Pentium 4, Pentium
D, Core, AMD Athlon, Phenom которые являются гибридными).
Наиболее распространённая архитектура современных настольных, серверных и мобильных процессоров построена по
архитектуре Intel x86 (или х86-64 в случае 64-разрядных процессоров). Формально, все х86-процессоры являлись CISCпроцессорами, однако новые процессоры, начиная с Intel486DX, являются CISC-процессорами с RISC-ядром. Они
непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних
инструкций RISC.
В микропроцессор встраивается аппаратный транслятор, превращающий команды x86 в команды внутреннего RISCпроцессора. При этом одна команда x86 может порождать несколько RISC-команд(в случае процессоров типа P6-до 4-х
RISC комманд в большинстве случаев). Исполнение команд происходит на суперскалярном конвейере одновременно по
несколько штук.
Вопрос №8:
Уменьшение энергопотребления?
Ответ:
Основные возможности:




Уменьшение напряжения питания
Уменьшения числа переключателей
Уменьшение электроёмкости
Уменьшение числа циклов
На уровне схемы:


Перераспределение транзисторов (влияет на электроёмкость)
Размеры транзисторов
На уровне логики:





“Не волнует” (X) оптимизация чтобы сократить число переключателей
Соединение технологий
Подходящее программирование состояний, для уменьшения числа переключателей при смене состояния
Программирование, чтобы уменьшить количество переключателей на шине или же ALU
Gated clocks
На уровне поведения:


Планирование и связывание заданий так, чтобы уменьшить число циклов (больше действий за один такт) >меньше рабочая скорость ->меньше напряжение питания
Захват и деление модулей так, чтобы мощность была меньше
На уровне Архитектуры:


Специальная командная, часть данных и структура регистров, которые отвечают соответствующей архитектуре, с
целью уменьшения мощности
Уменьшение мощности шины
Оптимизация структуры памяти
Вопрос №9:
Иерархия Памяти?
Ответ:
Такую многоуровневую схему используют следующим образом - информация, которая находится в памяти верхнего
уровня, обычно хранится также на уровнях с большими номерами. Если процессор не обнаруживает нужную информацию
на i-м уровне, он начинает искать ее на следующих уровнях. Когда нужная информация найдена, она переносится в более
быстрые уровни. При таком способе организации по мере снижения скорости доступа к уровню памяти снижается также и
частота обращений к нему.
Память делят на:
Основную память - представляет собой упорядоченный массив однобайтовых ячеек, каждая из которых имеет свой
уникальный адрес (номер). Процессор извлекает команду из основной памяти, декодирует и выполняет ее. Для
выполнения команды могут потребоваться обращения еще к нескольким ячейкам основной памяти. Обычно основная
память изготавливается с применением полупроводниковых технологий и теряет свое содержимое при отключении
питания.
Вторичную память - (это главным образом диски) также можно рассматривать как одномерное линейное адресное
пространство, состоящее из последовательности байтов. В отличие от оперативной памяти, она является
энергонезависимой, имеет существенно большую емкость и используется в качестве расширения основной памяти.
Требования к современной архитектуре памяти:
Два наиболее важных требования, выдвигаемых к компьютерной памяти – вместимость большого объёма данных и по
возможности высокая скорость обработки. При увеличении объёма памяти уменьшается скорость обработки и передачи,.
Для избежания задержек сигналов и понижения тем самым скорости, необходимо физически уменьшить размер памяти.
Вопрос №10:
Andmeflow mudelid - модели передачи данных?
Ответ:
Системы описаны как направленные графы, где:



Узлы выполняют вычисления
Дуги выполняют полностью упорядоченную передачу данных
От семантики передачи данных зависит выбор различных
вычислительных моделей:
Kahni protsessivõrgud (Kahn Process Networks)
Andmevoo protsessivõrgud (Dataflow process networks)
Sünkroonne andmevoog (Synchronous dataflow)
Модели передачи данных очень подходят для обработки сигналов:



Кодирования-декодирования, фильтрирования, упаковки данных
Периодического чтение данных
Обычно обработка сигналов представлена в виде – блок-диаграммы, которая хорошо подходит под семантику
передачи данных
Внутреннюю обработку данных процесса, вохможно описать на произвольном языке програмирования (например С) Так
называемй основной язык (host language)
Вопрос №11:
FPGA - логические блоки, ресурсы соединений, вход, выход, структура?
Ответ:
FPGA (field-programmable gate array) - используются для обработки сигналов, имеют больше логических элементов и
более гибкую архитектуру, чем CPLD применяются также, как ускорители универсальных процессоров в
суперкомпьютерах (например: Cray -XD1, SGI - Проект RASC).
Содержат блоки умножения - суммирования (DSP), которые широко применяются при обработке сигналов, а также
логические элементы и их блоки коммутации.
Программа для FPGA хранится в распределённой памяти, которая может быть выполнена как на основе энергозависимых
ячеек статического ОЗУ - в этом случае программа не сохраняется при исчезновении электропитания микросхемы, так и
на основе энергонезависимых ячеек Flash-памяти или перемычек Аntifuse - в этих случаях программа сохраняется при
исчезновении электропитания.
FPGA структура:
Логические Блоки




На базе памяти (LUT – Lookup Table) Xilinx
На базе мультиплексоров (Multiplexers) Actel
На базе PAL/PLA (PAL - Programmable Array Logic, PLA – Programmable Logic Array) Altera
Транзисторные пары (Transistor Pairs )
Функциональность – различное число булевых функций, которые позволяет реализовать логический блок
Ресурсы внутренних срединений (Interconnection Resources)

В симметричном FPGA (Symmetrical)
1)
2)
3)
4)

Длинные линии через всю матрицу
Линии сигнала такта (clk) через всю матрицу
Универсальный ресурс соединения
Прямые соединения между соседями
Рядовые FPGA (Row Based)
1) Sea-of-gates тип FPGA
2) Иерархические FPGA (Hierarchical, CPLD)
Блоки Входа-Выхода (I/O Cell)
Возможности программирования :





Входа (Input)
Выхода (Output)
Двух направлений (Bidirectional)
Буферизация триггера
Скорость Управления (Slew Rate)
От архитектуры логического блока зависит:




Необходимая площадь кристалла (Chip Area)
Скорость работы (Speed Performance)
Необходимость рессурсов трассирования (Routing Resources)
Ресурсам трассирования принадлежит 70-90% площади микросхемы
При росте функциональности :


Значительно уменьшается число логических блоков (больше логики реализируется в одном блоке)
Растёт площадь блока
Влияние роста функциональности на трассирование:



Значительно растёт число внешних выводов логического блока
Действительно уменьшается число соединений между блоками
По причине уменьшения числа логических блоков меняется длинна соединений
Вопрос №12:
Спецификационная техника, её функции, спецефикационный язык?
Ответ:
Спецификационная техника:
Описание поведение системы и других свойств:

Проектировщик знает изначално входы схемы и на основе их создаёт продукт (имплементацию).
Продукт совершенствуется пошагово (refinement steps).
Спецификация должна охватывать:
1.
2.
Предусмотренное поведение системы:

Алгоритм

Взаимотношение между входами и выходами
Прочие требования (mittefunktsionaalsed):

Временые ограничения

Мощность/энергопотребление

Безопасность

Среда

Цена, вес, и т.д.
Языки спецификации должны:
1.
Быть понятными, чтобы выражать свойства и различные аспкты главной системы ясно и ёмко.
2.
Подходить для проверки требований и синтеза имплементации (желательно автоматически).
3.
Всегда необходимо выбирать язык, который подходит для данной системы лучше всего.
Языки спецификации бывают:
1.
Графические
2.
Текстовые
Языки спецификации бывают:
1.
Обычный язык програмирования (С, С++)
2.
Язык описания железа (VHDL, Verilog)
3.
Специальные языки, которые исползуют в разных сферах спецификаций систем. Часто базирующихся
на различных компьютерных моделях (model of computation).
Вопрос №13:
Модели рассчёта, применение?
Ответ:
Модель вычисления - (англ. Model of computation) - позволяет определить множество допустимых операций,
использованных для вычисления, но также и относительные издержки их применения, охарактеризовать необходимые
вычислительные ресурсы - время выполнения, объём памяти, а также ограничения алгоритмов.
Модель вычислений и её выбор дают ответ на вопрос, как ведёт себя система в целом, если известно поведение её
отдельных частей.
При асимптотической оценке сложности вычислений модель вычислений определяется через допустимые примитивные
операции, для каждой из которых известна её цена.
Классификация:


Абстрактные машины (абстрактные вычислители), используемые для доказательства вычислимости и получения
верхней границы вычислительной сложности алгоритма
Модели принятия решений, используемые для получения нижней границы сложности вычислений для
алгоритмических задач.
Вопрос №14:
Кэш, 3 уровня Кэша, пропуск?
Ответ:
Кэш — промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с
менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в кэше идёт
быстрее, чем выборка исходных данных из медленной памяти или их перевычисление, что делает среднее время доступа
короче.
Кэш-память позволяет обращаться к часто требуемым данным
быстрее, чем это происходило бы без её использования. Процесс
организации доступа через кэш-память называется кэшированием,
а та память, которая кэшируется, называется основной памятью.
Тактовая частота для кеш-памяти обычно не намного меньше
частоты ЦП.
Ячейки ОЗУ жестко привязываются к строкам кэш-памяти
(в каждой строке могут быть данные из фиксированного набора
адресов), что значительно сокращает время поиска
Три уровня Кэша:
1 уровень на кристале процессора такт. частота та же
2 уровень, либо на кристале процессора либо отдельно, частота по
меньше, но всеравно больше чем у оперативрой памяти. Можно
отключить без потери работоспособности процессора
3 уровень. Расположен отдельно. Размер может быть внушительным.
Эффективность кэша (miss/hit)*100[%]
Хит – требуемые данные есть в кэше
Мисс - требуемых данных нет в кэше
Вопрос №15:
Языки программирования?
Ответ:
8.3 Programmeerimiskeeled
Communication/
local computations
Shared
memory
Communicating
finite state
machines
Data flow model
Von Neumann
model
StateCharts
Discrete event
(DE) model
VHDL,
Verilog,
SystemC
Not useful
C, C++,
Java
Message passing
Synchronous | Asynchronous
SDL
Kahn process networks
C, C++, Java with libraries
CSP, ADA |
Only experimental systems, e.g. distributed DE in
Ptolemy
Выбор языка связан с методом моделлирования.



Асинхронные автоматы состояний с возможностью коммуникации: SDL, Lotos
Синхронные системы: Esterel, StateCharts
Рассчёты неприрывного потока данных: Matlab, Lustre, Silage
Обычные языки программирования:
• Императивные: C, C++, Java, Ada
• Функциональные: Lisp, Scheme, Haskell
• Логические: Prolog
Языки для описания железа:
• VHDL, Verilog, SystemC
Вопрос №17:
Суперскалярная архитектура на примере Pentium (зависимость от данных и регистров)?
Ответ:
Суперскалярная CPU архитектура – представляет собой архитектуру параллельности выполнения команд, называемую
«instruction-level parallelism» в пределах одного процессора. Она позволяет быструю пропускную способность CPU при
той же тактовой частоте процессора. Суперскалярный процессор выполняет более чем одну команду за один такт с
помощью одновременной отправки нескольких команд в дополнительные функциональные блоки процессора. Каждый
функциональный блок не является отдельным ядром CPU, но является исполнительной единицей в пределах одного CPU
такой как арифметическо-логический блок, сместитель битов, или же умножитель.
Суперскалярные CPU также имеют конвеерную архитектуру, но в то же время возможна и не конвеерная архитектура.
Харрактеристика:



Команды связаны с последовательным потоком команд
CPU динамически проверяет зависимость информации между командами во время их исполнения
Позволяет выполнение нескольких команд за один такт
Ограничения:


Степень внутренней параллельности в потоке команд – огранниченное число параллельно выполняемых команд
Сложность и стоимость времени диспетчера и связанная с этим необходимость проверки логики
Суперскалярная архитектура на примере Intel Pentium:
Суперскалярная архитектура Pentium - процессора представляет собой двухконвеерную архитектуру, позволяющую
процессору достигать новых уровней производительности посредством выполнения более, чем одной команды за один
период тактовой частоты. Термин "суперскалярная" обозначает микропроцессорную архитектуру, которая содержит более
одного вычислительного блока. Эти вычислительные блоки, или конвееры, являются узлами, где происходят все
основные процессы обработки данных и команд.
Pentium процессор - имеет два конвеера, которые могут выполнять две инструкции одновременно. Двойной конвеер
выполняет простую команду за пять этапов: предварительная подготовка, первое декодирование ( декодирование
команды ), второе декодирование (генерация адреса ), выполнение и обратная выгрузка. Это позволяет нескольким
командам находиться в различных стадиях выполнения, увеличивя тем самым вычислительную производительность.
Каждый конвеер имеет свое арифметическо-логическое устройство (ALU), совокупность устройств генерации адреса и
интерфейс кэширования данных. Pentium - использует аппаратное выполнение команд, заменяющее множество
микрокоманд, используемых в предыдуших семействах микропроцессоров. Эти инструкции включают загрузки,
запоминания и простые операции АЛУ, которые могут выполняться аппаратными средствами процессора, без
использования микрокода. Это повышает производительность без затрагивания совместимости. В случае выполнения
более сложных команд, для дополнительного ускорения производительности выполнения расширенного микрокода
Pentium процессора для выполнения команд используются оба конвеера суперскалярной архитектуры.
Одно исполнительное устpойство заменено на два - U и V, каждое - со своим собственным конвейеpом. Оба паpаллельно
ведут выбоpку, pасшифpовку и выполнение команд. Устpойство U является основным и может выполнять все команды,
устpойство V - вспомогательным и выполняет только наиболее часто встpечающиеся типы команд.
Вопрос №18:
Потребление мощности?
Ответ:
На уровне электроники:
 Тактовая частота и напряжения взаимозависимы
 Чем выше частота тем выше напряжение – а следовательно и энерго потребление
 ½ скорости соответствует ¼ мощности

Команды, которые позволяют преостановить работу любой части системы или же поставить в режим ожидания

Команды, команды которые позволяют влиять динамически на напряжение питания
На уровне системы:
Статическая техника, которая применяется в ходе дизайна:
 Компилирование для меньшего энергопотребления: выбор команд, распределение данных в памяти,
распределение регистров
 Дизайн алгоритма: Найти такой алгоритм, который является самым энергоэффективным
 Связь задач и планирование
Динамическая техника, которая используется в ходе дизайна:

Такая техника используется для систем, чтобы максимально использовать как режим ожидания так и периоды с
низким уровнем нагрузки.
Вопрос №19.1:
VLIW и Itanium
Ответ:
Itanium — микропроцессор, с архитектурой IA-64, разработанный совместно компаниями Intel и HP.
Технические приемущества:
Itanium - был разработан для предоставления очень высокого уровня в параллельных вычислениях, высокой
производительности без увеличения частот. Ключевые преимущества архитектуры Itanium:


Выполнение до 6 инструкций за 1 цикл
Увеличенные вычислительные ресурсы ядра: 256 регистров (128 целочисленных, 128 вещественных) и 64
предикатных регистра
 Большой кэш: 24 МБ у двухядерной версии (по 12 МБ на ядро) предоставляющий данные каждому ядру со
скоростью до 48 ГБ/с
 Большое адресное пространство: 50-битная адресация физической памяти / 64-битная адресация виртуальной
памяти
 Маленькое, энергоэффективное ядро: с тех пор как функции распараллеливания передали от Itanium к
компилятору, в ядре уменьшили количество транзисторов
 Использует простые инструкции с фиксированной длинной, связанные в группу из трех инструкций и
выполняет их паралелльно
 Реорганизует и оптимизирует поток команд во время компиляции
 Выполняет инструкции в обоих направлениях ветвления, ненужный резултат отвергается
 Загружает данные до необходимости и пытается найти данные вначале в кэше
Технические недостатки:
Главным структурным недостатком первых версий Itanium были большие задержки (латентность) кеш-памяти 3-го
уровня. Инженеры Intel вероятно надеялись, что большая пропускная способность шины нового процессора
скомпенсирует этот недостаток, но задержки были настолько велики, что это действительно замедляло работу кеша
вплоть до уровня когда он был немногим быстрее ОЗУ. Из-за относительно небольшого размера кеша 1-го и 2-го уровней
(32 КБ и 96 КБ соответственно) это могло привести к повышенной нагрузке на системную шину.
VLIW:
VLIW (Very long instruction word — «очень длинная машинная команда») — архитектура процессоров с несколькими
вычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций,
которые должны выполняться параллельно. В процессорах VLIW задача распределения решается во время компиляции и
в инструкциях явно указано, какое вычислительное устройство должно выполнять какую команду. В инструкции явно
указывается, что именно должен делать каждый модуль процессора. Из-за этого длина инструкции может достигать 128
или даже 256 бит.
Работа:
Рассмотрим работу модельного VLIW-процессора с двумя арифметико-логическими устройствами (АЛУ). Пусть нам надо
сложить четыре числа, находящиеся в регистрах R1, R2, R3 и R4. Тогда псевдокод может выглядеть так:
R5=R1+R2, R6=R3+R4; каждое АЛУ складывает свою пару чисел
R0=R5+R6, NOP; первое АЛУ находит сумму, второе простаивает
Приемущества и недостатки:

VLIW сильно упрощает архитектуру процессора, перекладывая задачу распределения вычислительных устройств
на компилятор.
Поскольку отсутствуют большие и сложные узлы, сильно снижается энергопотребление.
Из-за большого количества пустых инструкций для простаивающих устройств программы для VLIW-процессоров
могут быть гораздо длиннее.
Из-за сложных внутренних зависимостей кода, программирование на уровне машинных кодов для VLIWархитектур практически невозможно вручную.



Процессор Itanium на основе VLIW:
Intel воплотила некоторые идеи VLIW в линейке процессоров Itanium. Но значительного повышения производительности
и скорости вычислений в системах на базе этих процессоров по отношению к существующим классическим «RISC-inside
CISC-outside» архитектурам можно добиться лишь путем переноса интеллектуальных функций из аппаратного
обеспечения в программное (компилятор). Таким образом, успех Itanium/Itanium2 определяется в основном
программными средствами — именно в этом и состоит проблема. Причем довольно сдержанное отношение индустрии к
сравнительно давно существующему Itanium только подтвердило факт ее наличия.
Вопрос №19.2:
Возможности реализации железа (сравнение реализации, сферы использования?)
Ответ:
Дигитальная схема – строится на основе небольших блоков, называемых – логическими матрицами (logic gates). Каждая
логическая матрица представляет собой булеву функцию. Логическая матрица – это система переключателей,
контролируемых электрически. На выходе логической матрицы –электронный поток или напряжение, которое позволяет
контролировать другие логические матрицы. Логические матрицы используют как можно меньшее число транзисторов
чтобы сохранять относительно небольшие размеры, экономить энергопотребление и цену продукта, и повышать его
надёжность.
Используются во всех:
Дигитальных электроприборах – Компьютерах, фото-видеокамерах, телефонах, телевизорах, синтезаторах и тд.
Интегральная схема – менее дорогой способ создания логических матриц в большом колличестве. Электронная схема
произвольной сложности, изготовленная на полупроводниковом кристалле (или плёнке) и помещённая в неразборный
корпус. Создаются инженерами, при помощи ПО автоматического дизайна. Используется при создании архитектуры
компьютера, аналоговых синтезаторов, и другой электрической техники.
Широко используется в:
Аналоговых схемах:




Операционные усилители
Генераторы сигналов
Фильтры (в том числе на пьезоэффекте)
Аналоговые умножители
Цифровых схемах:



Логические элементы
Триггеры
Счётчики

Регистры
Программируемые элементы – выполняют те же функции что и схемы построенные на логических матрицах, но могут
быть легко перепрограммированны не меняя колличество и располажение проводов. Поэтому при производстве
небольших серий – предпочитают использовать программируемые элементы. Создаются инженерами, при помощи ПО
автоматического дизайна. Когда схема слишком большая, устанавливается запрограммированный микроконтроллер,
который уменьшает время работы логических матриц представленных в виде программируемых элементов.
Широко используется при:
Цифровой обработки сигнала (ЦОС), цифровой видео-аудио аппаратуре, высокоскоростной передачи данных,
криптографии, проектировании ASIC.
Вопрос №19.3:
Планирование?
Ответ:
Задача планирования:
Какие условия и связи прийдётся выполнить, с помощью каких ресурсов и как распланировать время, чтобы задача
былавыполнена в срок?
Для этого:
Планирование должно выполнять следующие требования:




Ресурсы, зависимость, временные ограничения
Планирование прийдётся осуществлять несколько раз в течении создания системы
Известное колличество задания можно спланировать (schedulable), если используемый метод планирования
позволяет выполнить все ограничения (что означает – решение планирования проблемы - найдено)
Для систем жёсткого реального времени, планирование прийдётся осуществлять в режиме off-line, до того как
система начнёт свою работу.
Классификация:






Hard deadline/soft deadline
Переодичное планирование - выполняются за каждый - T промежуток времени. Каждый порядок выполнения
задания называется – работой (job)
Прерывные (preemptive) планирования: используются, если некоторые задачи с длительным временем
выполнения, или реагирование на внешнее воздействие должно быть минимальным
Непрерывные (non-preemptive) планирования: Все задачи выполняются до своего конца. Реагирование на
внешние действия могут быть длительными.
Динамичное/online планирование: Разделение времени процессов происходит достаточно быстро, до тех пор пока
информация не будет получена.
Статическое/offline планирование: Планирование, где используется a priori знания для получения информации, с
учётом времени выполнения, и сроком выполнения.
Вопрос №20:
Технологии изготовления микросхем, виды микросхем?
Ответ:
По технологическому исполнению микросхемы делятся на полупроводниковые и гибридно-пленочные.
Полупроводниковые микросхемы - имеют в своей основе монокристалл полупроводникового материала (обычно
кремния), в поверхностном слое которого методами литографии и избирательного легирования создаются транзисторы,
диоды, резисторы и (иногда) конденсаторы, а соединения между ними формируются по поверхности кристалла с
помощью тонкоплёночной технологии. Полупроводниковые микросхемы могут быть однокристальными (монолитными)
и многокристальными (микросборками). При изготовлении микросхемы может быть использована как тонкоплёночная,
так и толстоплёночная технологии.
Гибридно-плёночные микросхемы - включают в себя плёночные пассивные элементы (резисторы и конденсаторы),
коммутационные проводники, нанесённые непосредственно на подложку из изоляционного материала, и бескорпусные
полупроводниковые кристаллы (транзисторы, диоды, диодные матрицы, несложные микросхемы), монтируемые на той
же подложке. Пассивные элементы и проводники могут быть выполнены по тонкоплёночной или толстоплёночной
технологии.
Изготовление микросхем:



Маски - проявление
разъедание / дополнение
упаковка
Физические требования и ограничения:


Размеры, связи
Износостойкость - пыль, вибрация
Требование к температуре и ограничения:


Интервал рабочей температуры
Охлаждение/ подогрев
Электрические требования и ограничения:


Электропитание
Защита – предельное напряжение
Эргономические требования и ограничения:


Внешний вид, связь с пользователем, шум
Тестирование
Download