KursLek110 (1276646), страница 2
Текст из файла (страница 2)
ЭтивычислительныесистемыобладаютсверхвысокойПроизводительность имеет измерительную единицупредставления чисел в форме с плавающей запятой).производительностью.Flops = 1 операция/c. (дляРассмотрим далеко неполный список воплощенных идей усовершенствованияархитектуры неймановских машин:1)совмещение работы процессора с работой внешних устройств,2)режим многопрограммной работы (мультипрограммирование),3)одновременное выполнение команд (“перекрытие команд”)4)разделение ОЗУ на модули,5)конвейеризация,6)использование КЭШ-памяти,7)развитие машинного языка,8)многопроцессорные вычислительные системы.01 . Совмещение работы процессора с работой внешних устройств. Абсолютноеповышение скорости функционирования отдельных компонент вычислительнойсистемы хотя и повышает производительность вычислительной системы, в целомможет и не дать желаемого эффекта, т.к.
в конечном счёте производительность можетопределяться самым медленным устройством. Поскольку самым медленнымустройствами вычислительной системы является внешние устройства (ВУ), тоиспользование совмещения работы процессора с ВУ даёт значительный резерв вповышении производительности вычислительной системы. Фрагмент архитектурыиллюстрирующий совмещение работы процессора с работой ВУ приведён на рис. В.7.Получив команду ввода/вывода, УУ передаёт управление по выполнениюкоманды ввода/вывода УО, а само переходит к выполнению следующей команды.Пока УО выполняет команду ввода/вывода, УУ может продвигаться дальше ввыполнении программы. Такое продвижение выполняется до тех пор, пока непонадобятся результаты выполнения команды ввода или не потребуется изменитьпамять, используемую при выполнении команды вывода.
Если к этому временикоманда ввода/вывода не завершилась, то возникает ожидание.Дляэффективногоиспользованиясовмещениянеобходимоввода/вывода применять в программе заранее, т.е. до того,каккомандыпонадобятсярезультаты их выполнения. Если время решения задачи в процессоре меньше, чемвремя ввода/вывода, то совмещение не даёт эффекта:проц < вв/вывотсутствие эффекта,где проц - время решения задачи (процессорное время),вв/выв - время ввода/вывода.ВУ1. ...
. .АЛУNУОУУОЗУУО – устройство обмена,УУ управляет работой УО.Рис. В.7. Совмещение работы процессора и внешних устройств02 . Режим многопрограммной работы или мультипрограммированиеИдея состоит в том, что в ЭВМ помещается не одна, а пакет из несколькихпрограмм. Каждая программа выполняется до первой команды ввода/вывода. Кактолько процессор дойдёт до такой команды, она передаётся УО, программапрерывается, пока выполняется команда ввода/вывода, процессор начинает выполнятьновую программу или одну из прерванных ранее.
При этом возникает ряд проблем.Важные из них – проблемы разделения ресурсов и защиты.Разные программы могут пользоваться одними и теми же ресурсами: УВВ,наборамиданных,областямивОЗУ.Поэтомуорганизуютсяочередииобеспечиваются их прохождение.Проблема защиты возникает из-за того, что в некоторых программах могут бытьошибки, которые могут воздействовать на информацию, обрабатываемую другойпрограммой. Это может привести к ошибкам.Таким образом, алгоритм управления многопрограммной работы - сложный и,как правило, реализуется операционной системой.03 .
«Перекрытие команд». Ускорение работы ЭВМ можно обнаружить,анализируя алгоритм её работы (см. рис. В.6). Если текущая команда не являетсяусловным переходом, то адрес следующей команды определён после фазы выборкипредыдущей. При выполнении фазы выполнения текущей команды можно выполнятьфазу выборки из ОЗУ следующей команды. Если текущая команда является условнымпереходом,выполнениекомандпроисходитпоследовательно,т.к.долженвыработаться признак условия перехода.04 . Разделение ОЗУ на модули. Быстродействие ЭВМ можно получить, если ОЗУразделить на несколько отдельных модулей, которые могут работать параллельно.Если команда и данное расположены в разных модулях, то обращение к памяти можетосуществляться параллельно.
Ускорение работы имеет смысл лишь при условии, чтовремя обращения к ОЗУ меньше времени выполнения команд.05 . Конвейеризация. Основным методом ускорения выполнения команд являетсяконвейеризация. Обычно выполнение операций в операционном блоке ОБ происходитза время T (рис. В.8.).ТОперац. блок(ОБ)Рис. В.8. Операционный блокПри конвейерной обработке ОБ разбивается на n частей (n-звенный конвейер).Каждая часть выполняет свою операцию.
Каждая операция последовательновыполняется, начиная с 1-ой и заканчивая n-ю. Как только одна операция заканчиваетвыполнение на некоторой части ОБ, то эта часть начинает выполнять операцию надобъектом (данными), переданным предыдущей части. Таким образом, все части ОБработают одновременно и выполняют n операций (иллюстрация на рис.
В.9).Такой операционный блок (рис.В.9) называется конвейером.NТ/4T/412T/4T/434Рис. В.9. КонвейерПусть: T - время выполнения всех операций,n - число операций (n-звенный конвейер),N - число использования конвейера.Тогда на обработку N объектов потребуется время( + ) ∗ /.А на обработку одного изделия потребуется времени( + ) ∗ /( ∗ )Если отношение N/n достаточно велико, то это время приближается к /, т.е.скорость вычислений возрастёт в n раз по сравнению со случаем без разбиения ОБ начасти. Проиллюстрируем работу конвейера на рис.
В.10, на котором заштрихованныечасти указывают на выполнение операции (операций). Выход первого готовогопродукта происходит через время = ( + 1) ∗ (/). А на обработку N объектовпотребовалось времени = ( + 1) ∗ (/). Это подтверждает ранее высказанныеутверждения.06 . Использование КЭШ-памяти. Кэш-память ( cash) – это память с объёмом меньшим,чем ОЗУ, но более быстродействующая.
Кэш-память является промежуточнойпамятью между регистровой памятью и ОЗУ. После чтения очередной команды изОЗУ она помещается в КЭШ и остаётся там, пока не будет вытеснена другимикомандами или данными. Данные тоже помещаются в КЭШ на очередном этапе счёта.Примером эффективного использования КЭШ может служить многократноевыполнение коротких циклов.07 . Развитие машинного языка. Существенным недостатком неймановскоймашины является низкий уровень её языка и необходимость разбивки действия наN шт.=0......
= 1 ∗ (/)............ = ∗ (/) = ( + 1) ∗ (/)...... = ( + ) ∗ /.... . .N штукРис. В.10. Работа конвейерабольшое число элементарных шагов. Причём заключительная часть этих шаговсвязана с получением промежуточных результатов, их размещением в памяти иперемещением между ОЗУ и регистрами. При этом процессор “видит” в каждыймомент времени лишь одну команду без связи с контекстом её выполнения.Развитие машинного языка происходит несколькими путями.1)Укрупнение операций, выполняемых командами машины. Наиболееясный путь – это включение в систему команд векторных и матричныхопераций. В этом случае особенно эффективно работают конвейерныеустройства.2)Приближение машинного языка к языкам высокого уровня.
Важнымшагом при этом является включение в язык представления арифметическихвыражений.3)случаеВключение типов данных и их машинное представление. В этомпроцессордолженразличатьразличныевидыинформации,расположенной в соответствии с типами данных и структур данных, а такжеобнаруживать различного рода аварийных ситуаций, вызываемые ошибками впрограмме или сбоями в оборудовании.Одним из ранних, но очень удачных и сохранившихся до настоящего временипринципов введения в систему команд операций более высокого уровня являетсяпринцип микропрограммирования. Сложные операторы представляются в видепрограмм, состоящих из простых команд, которые назвали микрокомандами.
Самимикропрограммы хранятся не в ОЗУ, а в специальных постоянных запоминоющихустройствах (ПЗУ), которые работают быстрее ОЗУ. Система управления приведенана рис. В.11. В ОЗУ находится программа, написанная на макроязыке. Команды еёдешифруются в УУ, и дешифратор (Дш) запускает соответствующую микропрограммув ПЗУ.№ микропрограммы,соответствующеймакрокомандеДшПоследовательностьмикрокомандМикропрогр.АЛУматрицаКод операциимакрокомандыОЗУРис.
В.11. Микропрограммное управление08 . Многопроцессорные вычислительные системы.“Узким горлышком”архитектуры машины Неймана является последовательный обмен командами иданными между процессором и основной памятью. В связи с этим естественнымшагом в развитии архитектуры ЭВМ является переход к многопроцессорнымсистемам. Применение многопроцессорных систем является в настоящее времяосновным резервом повышения производительности ЭВМ, поскольку возможностиодного процессора близки к исчерпанию.Существующие многопроцессорныесистемы можно классифицировать в зависимости от решения 3-х основных задач,связанных с их организацией: управления, памяти, и связи.Проблема управления имеет два основных решения - централизованное ираспределённое.При централизованном управлении многопроцессорная система представляетсобой управляемую синхронизированную сеть из алгоритмических модулей, вкоторой управляющий модуль производит начальную установку всех процессоров вначале каждого сегмента синхронизации.
Примером может служит система, в которойвсе процессоры на одном этапе выполняют одну и ту же команду с разными данными(частный случай).Распределённоеуправлениеозначаетасинхронноефункционированиепроцессоров.Память ОЗУ может быть общей или распределённой.Связь между процессорами представляет собой наиболее сложную проблему иимеет много решений. Различают универсальные и специальные связи.Универсальная система позволяет осуществлять любые попарные соединениямежду процессорами.
В специальных системах связи каждый процессор можетвзаимодействовать лишь с ограниченным множеством других процессоров.1. СИСТЕМЫ СЧИСЛЕНИЯ И КОДЫ1.1. Основные понятияОпределение 1.1. Системой счисления (с/с) называется совокупность приёмови правил для представления чисел.Для записи чисел в с/с используется конечный алфавит = {а1 , а2 , … , а },элементы которого называются цифрами.Каждой цифре в записи числа сопоставляется количество, выражаемое этойцифрой. Это количество называется количественным эквивалентом данной цифры.Обозначения: – цифра,( ) – количественный эквивалент, сопоставляемый цифре , записанной вопределённом месте числа.Определение 1.2.