Реферат по предмету "Разное"


1 Эволюционная классификация ЭВМ

В.А. Фисун 14.12.2005 ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА ДАННЫХ Краткий курс Основные виды ЭВМ.Электронные Вычислительные Машины (ЭВМ) разделяются на аналоговые(непрерывные) и дискретные машины, реализующие цифровые вычисления. Так как для обозначения аналоговых электронных вычислительных машин используется сокращение (АВМ), то для электронных дискретных вычислительных машин используется сокращение от ЭЦВМ - ЭВМ. В АВМ информация может быть введена в виде физических величин и результаты могут выдаваться на самопишущие устройства или на экраны приборов. Схема такой машины строится в соответствии с математической моделью явления, описываемой изучаемый процесс. Спидометры и тахометры на щитке автомобиля - примеры тривиальных АВМ. Автопилоты самолетов создавались первоначально на принципах АВМ. Достоинство этой архитектуры в быстродействии (иногда в мгновенном срабатывании), в относительной дешевизне. К недостаткам следует отнести: низкую точность результатов, сложность программирования – настройки машины. Другой, наиболее распространенный тип ЭВМ - цифровые вычислительные машины (ЭЦВМ) или машины дискретного действия. В машинах такого типа вся информация представляется в виде цифровых кодов и они могут называться: "компьютер", "суперкомпьютер", ”персональный компьютер”, ”РС”, ”рабочая станция”, "вычислительная система", "вычислительная среда", "универсальная ЦВМ", "ЭВМ", "вычислительная платформа". Базовые элементы вычислительной техники, классические ЭВМ - это вычислительные машины фон-Нейманновской архитектуры (Von Neumann architecture). ВОПРОСЫ !! Но является ли ЭВМ, цифровая машиной с новыми принципами физической организации аппаратных средств, например с квантовыми. А как называть пневматическую дискретную вычислительную машину?^ 1.1. Эволюционная классификация ЭВМ Одна из форм классификации ЭВМ - по "поколениям" связана с эволюцией аппаратного и программного оборудования, причем основным классификационным параметром является технология производства. Классификация рассматривается на примерах из отечественной техники, что дает возможность перечислить хотя бы основных творцов отечественной информационной технологии. История отечественных исследований в данной области пока малоизвестна. Это связано с тем, что работы в данной области длительное время носили закрытый характер. В России (в СССР) начало эры вычислительной техники принято вести от 1946г., когда под руководством Сергея Алексеевича Лебедева закончен проект малой электронной счетной машины (МЭСМ - 50 оп./сек. ОЗУ на 63 команды и 31 константы) - фон Неймановская универсальная ЭВМ. В 1950/51 гг. она пущена в эксплуатацию. Далее, приводятся некоторые крупные отечественные достижения в области вычислительной техники.^ Первое поколение ЭВМ /1946-1957гг/ использовало в качестве основного элемента электронную лампу. Быстродействие их не превышало 2-3 т. оп./сек; емкость ОЗУ - 2-4 К слов. Это ЭВМ: БЭСМ-1 (В.А. Мельников,1955г.), Минск-1 (И.С. Брук 1952/59 гг.), Урал-4 (Б. И. Рамеев), Стрела (Ю.Я. Базилевский, 1953 г.), М-20 (М.К. Сулим 1860 г.). А.Н. Мямлиным была разработана и несколько лет успешно эксплуатировалась "самая большая в мире ЭВМ этого поколения" - машина Восток. Программирование для этих машин: однозадачный, пакетный режим, машинный язык, ассемблер. В ЭВМ второго поколения /1958-1964гг/ элементной базой служили транзисторы. Отечественные: Урал-14,Минск-22,БЭСМ-4,М-220,Мир-2,Наири и БЭСМ-6 (1 млн. оп./сек , 128К), Весна (В.С. Полин, В.К. Левин), М-10 (М.А. Карцев). ПС-2000,ПС-3000, УМШМ, АСВТ, Сетунь. Программирование: мультипрограммный режим, языки высокого уровня, библиотеки подпрограмм. Элементная база ЭВМ третьего поколения, /1965-1971гг/ интегральные схемы - логически законченный функциональный блок, выполненный печатным монтажом. Отечественные ЭВМ этого поколения ЭВМ ЕС (Единой Системы):ЕС-1010,ЕС-1020, ЕС-1066 (2 млн. оп./сек , 8192К) и др. Программирование: мультипрограммный, диалоговый режимы, ОС, виртуальная память. В 1996 г. в России работают 5 тысяч ЕС ЭВМ из 15 т., уставленных а СССР. НИИЦЭВТ на базе комплектующих IBM/390 разработал 23 модели производительностью от 1.5 до 167 Мфлоп (ЕС1270, ЕС1200, аналоги серверов 9672)). IBM предоставляет также лицензионные программные продукты (ОС-390). Используются в Росси для сохранения программного задела прикладных систем (проблема наследия ЕС ЭВМ). ЭВМ четвертого поколения /1972-1977гг/ базируются на "больших интегральных схемах"(БИС) и "микропроцессорах". Отечественные - проект "Эльбрус", ПК. Программирование: диалоговые режимы, сетевая архитектура, экспертные системы. ЭВМ пятого поколения /начиная с 1978г/ используют "сверхбольшие интегральные схемы" (СБИС). Выполненные по такой технологии процессорные элементы на одном кристалле могут быть основным компонентом различных платформ - серверов: от супер-ЭВМ (вычислительных серверов), до интеллектуальных коммутаторов в файл-серверах. На этом поколении технологические новации приостанавливаются и в восьмидесятые годы в ряде стран появляются проекты создания новых вычислительных систем на новых архитектурных принципах. Так, в 1982 японские разработчики приступили к проекту "компьютерные системы пятого поколения", ориентируясь на принципы искусственного интеллекта, но в 1991 японское министерство труда и промышленности принимает решение о прекращении программы по компьютерам пятого поколения; вместо этого запланировано приступить к разработке компьютеров шестого поколения на основе нейронных сетей. В СССР под руководством А.Н. Мямлина в рамках такого проекта велась разработка вычислительной системы, состоящей из специализированных процессоров: процессоров ввода/вывода, вычислительного, символьного, архивного процессоров. В настоящее время в России создаются мультисистемы на базе зарубежных микропроцессоров: вычислительные кластеры (НИИЦЭВТ), супер-ЭВМ МВС-1000 (В.К. Левин, А.В.Забродин). Под руководством Б.А.Бабаяна проектируется микропроцессор Мерсед-архитектектуры. В.С. Бурцев разрабатывает проект суперЭМВ на принципах потоковых машин. Эволюция отечественного программного обеспечения непосредственно связана с эволюцией архитектуры ЭВМ, первая Программирующая Программа ПП, Интерпретирующая Система- ИС создавались для М-20 (ИПМ). Для ЭВМ этого семейства были реализованы компиляторы с Алгола: ТА-1 (С.С.Лавров), ТФ-2 (М.Р.Шура-Бура), Альфа(А.П.Ершов). Для БЭСМ-6 создан ряд операционные системы: от Д-68 до ОС ИПМ (Л.Н. Королев, В.П. Иванников, А.Н. Томилин, В.Ф.Тюрин, Н.Н. Говорун, Э.З. Любимский). Под руководством С.С.Камынина и Э.З. Любимского был реализован проект Алмо: создание машинно-ориентированного языка и на его базе системы мобильных трансляторов. В.Ф.Турчин предложил функциональный язык Рефал, системы программирования на базе этого языка используются при создании систем символьной обработки и в исследованиях в области мета вычислений.2. Принципы фон-Неймана Основные архитектурные принципы построения цифровых (дискретных) вычислительных систем (ЦВМ) были разработаны и в 1946 г. опубликованы Дж. фон Нейманом (John Louis von Neumann), Г. Голдстайном (H.H Goldstine) и А. Берксом (A.W. Burks) в отчете: "Предварительное обсуждение логического конструирования электронного вычислительного устройства". Основные принципы. 2.1. Программное управление работой ЭВМ. Программа состоит из последовательности команд, хранимых в Оперативном Запоминающем Устройстве (ОЗУ); каждая команда задает единичный акт преобразования информации. ЭВМ поочередно выбирает команды программы и выполняет предписанные в них дискретные вычисления. В любой момент времени работы ЭВМ выполняется только одна команда программы. Так алгоритм вычисления площади трапеции с основаниями А и В, высотой Н {S=0.5*(А+В)*Н} можно представить в виде последовательности (шагов) элементарных вычислений - команд ЭВМ (трех-адресных): Команды Комментарий +, A, B,P1; Р1=А+В *, P1,H,P2; Р2=Р1*Н/,P2,’’0.5’’,S; S=R2/0.5. 2.2. Принцип условного перехода. Этот принцип дает возможность перехода в процессе вычислений на тот или иной участок программы в зависимости от промежуточных, получаемых в ходе вычислений результатов. Команда условного перехода могут нарушить последовательный порядок выборки команд программы и указать команду для последующего выполнения – L в случае выполнения условий заданного соотношения. (Команды безусловного перехода нарушает порядок выбора команд всегда). Так, определение максимального числа может быть выполнено программой: MАХ = B IF (A MAX =A L .............. Команды перехода позволяет реализовывать в программе циклы с автоматическим выходом из них. 2. 3. Принцип хранимой программы Принцип заключается в том, что команды представляются в числовой форме и хранятся в том же Оперативном Запоминающем Устройстве (ОЗУ), что и исходные данные. ОЗУ – структурно состоит из пронумерованных ячеек. Над программой можно производить арифметические действия, изменяя ее динамически. ВОПРОС? Как можно использовать для модификации программы команду %: %,А1,А2,А3; которая, передает управление команде, размещенной в ОЗУ по адресу А2, 2. пересылает содержимое слова ОЗУ А1 в А3 (А3=А1). 2.4. Использования двоичной системы счисления для представления информации в ЭВМ. Элементарной единицей информации является бит, принимающий одно из двух значений 0 или 1. В двоичной системе счисления представляются целые и вещественные числа над которыми ЭВМ производит вычисления, команды программ. ВОПРОСЫ? Почему числа - степень двойки предпочтительны для измерения параметров оборудования ЭВМ. Почему нумерация строк ОЗУ начинает с нуля. 3. Структура традиционных ЭВМ Классические (Von Neumann architecture) ЭВМ имеют следующую структуру: АЛУ + УУ - ОЗУ (Оперативное Запоминающего Устройства) - память для хранения программ и данных. Таблица, каждая строка которой содержит команду или данное в двоичной системе счисления. - АЛУ (Арифметико- Логическое Устройство, ALU – Arithmetic and Logic Unit), устройство, которое выполняет операции над данными: аргументы и результаты операции считываются и записываются из (в) ОЗУ. УУ (Устройства Управления), устройство, которое последовательно выбирает команды из ОЗУ, дешифрирует их и организует выполнение заданных операций в АЛУ. Совокупность АЛУ и УУ принято называть процессором (ЦПУ,CPU), резервируя слово ЭВМ (ПЭ) для полного вычислительного комплекса. (По словарю А. Синклера "processor" - блок компьютера, выполняющий вычислительные действия). В современных микропроцессорах, микросхема процессора размещается на одном кристалле (чипе) , это: УУ + АЛУ + набор регистров + кэш память. В приведенной схеме не отражены устройства ввода/вывода информации, массовая память для постоянного хранения информации. Все современные микропроцессоры имеют фон Неймановскую архитектуру. Для ускорения вычислений которых предложено ряд параллельных архитектур вычислительных машин, для классификации которых , можно использовать нотацию М. Флинна (М.Flynn).4. Классификация вычислительных машин по Флинну Данная классификация иллюстрируется схемами повышения производительности классического процессора путем увеличения количества функциональных устройств. Итак, исходная схема: АЛУ + УУ ОЗУ. Увеличив число АЛУ, получим схему: АЛУ + УУ ОЗУ АЛУ ОЗУ По такой схеме создавалась система Эллиак 4 (отечественный аналог - ПС-2000), суперскалярные микропроцессоры. Увеличив число УУ , то получим следующую схему: АЛУ + УУ ОЗУ УУ ОЗУ Некоторые исследователи отказывают данной схеме право на существование , другие, в качестве примера данной схемы приводят конвейерные АЛУ. (Например, сложение вещественных чисел можно реализовать последовательностью команд: выровнять мантиссы, сложить мантиссы, провести нормализацию результата.) Наконец, можно просто умножать исходную схему: АЛУ + УУ ОЗУ АЛУ + УУ ОЗУ По такой схеме реализуются все современные суперЭВМ Кроме функционального различия, схемы отличаются характером нагрузки на ОЗУ- плотностью потоков команд и данных. По Флинну эта особенность и является главной чертой и она характеризует архитектуры ЭВМ по структуре используемых потоков (Stream) команд (Instruction) и данных (Data), каждый из которых может быть одиночным и множественным. Множественный поток определяется как возможность одновременной обработки сразу нескольких элементов соответствующего потока. Комбинация признаков дает четыре вида архитектур. - ОКОД одиночный поток команд, одиночный поток данных, - ОКМД одиночный поток команд, множественный поток данных, - МКОД множественный поток команд, одиночный поток данных, - МКМД множественный поток команд, множественный поток данных. Обозначив поток команд как ‘-‘,’+’ , а поток данных ‘a,b’ , ‘c,d’ эту классификацию изобразить:+ -> ОКОД -> a+b + -> -> a+b а,b -> a,b -> ОКМД -> c+d c,d -> + -> -> a+b + -> -> a+b - -> МКОД -> a-b - -> МКМД -> c-d a,b -> a,b -> c,d ->5. Общие принципы потоковой обработки Потоковая архитектура (data-flow) вычислительных систем обеспечивает интерпретацию алгоритмов на графах, управляемых данными. Идеи потоковой обработки информации, организации вычислений, управляемых потоками данных можно рассмотреть на примере организации ввода и суммирования трех чисел. Традиционная схема вычислений может быть представлена так: ввод (а); ввод (в); ввод (с); s = a+b; s = s+c; Если ввод данных может быть производиться асинхронно, то организовать параллельное программирования данного алгоритма не просто. Параллельный алгоритм может быть записан в виде потока данных на графе: ввод (а) ввод (в) ввод (с) а+в а+с в+с (в+с)+а (а+с)+в (а+в)+с Здесь, начальные вершины - ввод, затем каждое введенное данное размножается на три и они передаются на вершины, обеспечивающие суммирование. Теперь, любом порядке поступления данных отсутствуют задержки вычислений для получения результата. Data-flow программы записываются в терминах графов. В вершинах графа находятся команды, состоящие, например, из оператора, двух операндов (для двуместных операций), возможно, литеральных, или шаблонов для заранее неизвестных данных и ссылки, определяющей команду - наследника и позицию аргумента в ней для результата. Для фрагмента программы, вычисляющего оператор: a=(b+1)*(b-c), команды могут иметь вид: L1:(+() “1” L3/1) L2:(-() () L3/2) L3:(*( ) ( ) ) Семантика выполнения команд следующая: операция команды Li выполняется, когда поступили все данные для их входных аргументов. Последний параметр у этих команд указывает кому и куда передавать полученные результаты (в примере это узел, команда L3, а - аргументы 1,2), в терминах графов содержит инструкцию для обмена данных. 5.1. Классическая архитектура потоковой ВС. Основными компонентами потоковой ВС являются: - память команд (ПК), - селекторная (арбитражная) сеть, - множество исполнительных (функциональных) устройств (ФУ), - распределительная сеть. _______________ |--------------->| ФУ |-----------------| | | ______________| | | | селекторная сеть распределительная сеть | ______________ | | |______________| Память команд состоит из "ячеек" активной памяти, каждая из которых может содержать одну команду вида : ,,..,,,..,, где адреса результатов являются адресами ячеек памяти. С каждой командой связан подсчитывающий элемент, непрерывно ожидающий прибытие аргументов, который пересылает команду на выполнение при наличии полного комплекта аргументов. Активных характер памяти заключается в том, что ячейка, обладающая полным набором операндов, переходит в возбужденное состояние и передает в селекторную сеть информационный пакет, содержащий необходимую числовую и связующую информацию о команде. Селекторная сеть обеспечивает маршрут от каждой командной ячейки к выбранному, в соответствии с кодом операции, исполнительному (функциональному) устройству из множества устройств. Пакет поступает на одно из исполнительных устройств, где соответствующая операция выполняется и результат подается в распределительную сеть. Распределительная сеть обрабатывает результирующий пакет, состоящий из результатов вычислений и адресов назначения. В зависимости от содержимого пакета, результат вычислений поступает в соответствующие ячейки памяти команд, создавая, тем самым, условия возможности их активизации. Потоковая архитектура (data-flow), как одна из альтернатив фон-неймановской, обладает следующими характерными чертами: - отсутствие памяти как пассивного устройства, хранящего потребляемую информацию, - отсутствие счетчика команд (и, следовательно, последовательной обработки команд программы, разветвлений по условию и т.д.). Потоковые вычислительные системы позволяют использовать параллелизм вычислительных алгоритмов различных уровней, потенциально достигать производительность, недоступную традиционным вычислительным системам. Основные проблемы, препятствующие развитию потоковых машин: 1. Не решена проблема создания активной памяти большого объема, допускающей одновременную активизацию большого количества операций. 2. Создание широкополосных распределительных и селекторных сетей потоковых машин и систем управления коммуникационной сетью является сложной задачей. 3. Обработка векторных регулярных структур через механизмы потока данных менее эффективна, чем традиционные решения. 4. Языки программирования для потоковых машин существуют, в основном, в виде графических языков машинного уровня. Языки типа SISAL, ориентируемые на описания потоковых алгоритмов, достаточно сложны для программистов.6. Ассоциативная память Оперативную память (ОП) можно представить в виде двумерной таблицы, строки которой хранят в двоичном коде команды и данные. Обращения за содержимом строки производится заданием номера (адреса) нужной строки. При записи, кроме адреса строки указывается регистр, содержимое которого следует записать в эту строку. Запись занимает больше времени, чем чтение. Пусть в памяти из трех строк хранятся номера телефонов. 1924021 9448304 3336167 Для получения номера телефона второго абонента следует обратиться: load (2) и получить в регистре ответа R = 9448304. Такой вид памяти, при котором необходимая информация определяется номером строки памяти, называется адресной. Другой вид оперативной памяти – ассоциативной можно рассматривать также как двумерную таблицу, но у каждой строки которой есть дополнительное поле, поле ключа. Например: Ключ Содержимое Иванов 1924021 Петров 9448304 Сидоров 3336167 После обращение к ассоциативной памяти с запросом : load (Петров) для данного примера получим ответ: R = 9448304. Здесь задание координаты строки памяти производится не по адресу, а по ключу. Но при состоянии ассоциативной памяти: Ключ Содержимое 1 1924021 2 9448304 3 3336167 можно получить номер телефона из второй строки запросом: load (2). Таким образом на ассоциативной памяти можно моделировать работу адресной. Ассоциативная память имеет очевидное преимущества перед адресной, однако, у нее есть большой недостаток - ее аппаратная реализация невозможна для памяти большого объема. ВОПРОС !!!! Предложите схему реализации модели ассоциативной памяти при помощи адресной.7. Адресация памяти Адресация памяти производится с точностью до байта, длина адреса, его разрядность, определяет пространство памяти, которое может быть доступно ("видимо") в программе. Так 32 рр. виртуальный адрес охватывает пространство в 4 Гбай­та. Это виртуальное пространство - математическая память программы мо­жет не совпадать с реальным, физическим пространством памяти ЭВМ. Адреса виртуального пространства памяти - виртуальные ад­реса, а адреса физического пространства - физические адреса. Механизм виртуальной памяти позволяет: - снять ограничения, связанные с объемом памяти, при раз­работки алгоритмов; - предоставлять программисту область памяти в виде логи­чески непрерывного пространства; способствовать более эффективному управлению физической памятью. Процесс преобразование виртуальных адресов в физические при выполнении программы называется трансляцией адресов, наи­более распространенный механизм для этого - страничная память. Механизмы виртуальной памяти реализуется путем разбиения памяти и виртуальной и физической на одинаковые страницы, обычно, раз­мером 4 Кбайта. Адрес разделяется на две части в соот­ветствии с принятой длиной страницы: номер страницы (а) и адрес внутри страницы - сдвиг, смещение (б ). Трансляция адреса Виртуальный адрес Физический адрес а б - > с б Аппаратно трансляция адресов производится при помощи таблицы страниц. Каждой страни­це виртуальной памяти соответствует строка в таблице страниц, объем которой соответствует числу страниц виртуальной памяти. В i строке таблицы хранится: N страницы (блока) физической па­мяти, которая соответствует данной виртуальной, статус доступа (чтение, запись), признак записи. Полный физический адрес получается добавлением к физи­ческому адресу, полученного из таблице страниц, смещения внутри страницы (б). Реальная структура таблицы страниц имеет более сложный вид.8 Чередование адресов(расслоение) памяти (interleaved memory) Расслоение памяти: память делится на М банков с автономным управлением так, что при последовательной выборки повторное обращение к одному банку произойдет через М обращений, поэтому возможно совмещение вре­мени выборки. Для банков одинаковой емкости:B1,B2,B3,..Bm-1 адрес i трансформируется в адрес d внутри банка Bb расчетом: i=d * m + b, где d=>0, 0 При расслоении на четыре распределение адресов в банках будет: Адреса в банках-b Банк 1 Банк 2 Банк 3 Банк 4 0 0 1 2 3 Распределение 1 4 5 6 7 адресов i 2 8 9 10 11 При конвейерном доступе при М-кратным расслоении и регулярной выборке доступ к памяти возможен в ин­тервале 1/М цикла памяти. Но возможны конфликты по доступу, если шаг регулярной выборки коррелируется с числом банков памяти.9. Назначение и структура кэш-памяти. Для ускорения доступа к оперативной памяти используется буферизация данных и объектного кода в памяти, скорость которой значительно выше основной. Если бы доступ к любым типам данных был случайным, то буферизация была бы бесполезным. Эффект от буферизации можно определить среднему времени выборки: t = t2*p+ t1*(1-p), где t1 - среднее время доступа к данным основной памяти, t2 - среднее время доступа к данным из буфера (t21. По каждому запросу процессора происходит поиск требуемого дан­ного в кэш памяти (места для записи генерируемого данного).2. Если данное (место) есть в кэше - кэш попадание (cache hit), то оно передается в процессор (из процессора).3. Если нужного данного нет в кэше - кэш промах (cache miss), данное из основной памяти пересылается в кэш память, и передаются также процессору. При переполнении кэша (нет места для записи), из него удаляются (модифицированные данные сохраняются в основной памяти) часть данных, обычно, наименее востребованные. Традиционным кэшем является "процессорный" кэш или кэш первого уровня (первичный) или кэш (L1 Cache), имеющийся на любом микропроцессоре. Это буферная память объемом от 4 Кбайт до 16 Мбайт, в которой размещаются все данные, адресуемые процессором, и из которой данные поставляются процессору. Эта память значительно быстрее основной, но меньшего объема, поэтому механизм кэширования обеспечивает обновление кэша, обычно, сохраняя в нем только наиболее часто употребляемые дан­ные. Обмен между основной и кэш памятями производится квантами, объ­емами 4 - 128 байт - копируются "строки кэша" (cache line), содержа­щие адресуемое данное. Обычно, программный код кэшируется через особый, I кэш память, отделенной от кэша данных D-кэша. Выборка данных из кэша (hit time) производится, обычно, за один такт синхронизации (оценки 1 - 4 такта), потери при кэш-промахе оцени­ваются в 8 - 32 такта синхронизации, доля промахов (miss rate) - 1% -20%. По определению, эффект кэширования основан на предположении о многократном использовании данных (Data reuse) из кэш-памяти. Принято различать две формы многократного использования данных кэша:- временное использование (temporal reuse). - пространственное использование (spatial reuse). Временное использование означает, что некоторое данное, загружен­ные в кэш, может использоваться, по крайней мере, более двух раз. Пространственное использование кэша предполагает возможность ис­пользовать некоторый пространственный набор данных - строки кэша. Архитектура кэш памяти: полностью ассоциативная, частично ассоциативная и кэш память с прямым отображением.10. Кэш память с прямым отображением. Архитектура кэш-памяти с прямым отображением (direct-map­ped) характеризуется на­личием явной зависимости между адресами буферной и оперативной памяти, причем каждому адресу кэша соответствует адреса оперативной памяти, кратные размеру кэш памяти. Память кэша состоит из памяти данных и памяти тэгов. Пусть, длина строки кэша равна 32 байтам, размер кэша – 4 Кбайт, тогда кэш-память для данных состоит из 128 строк. ОЗУ разделено на блоки, размером в 4Кбайт, каждый содержит 128 строк. В нулевой строке кэша может быть размещены 0 или 128, или .... строки ОЗУ, в первой – 1 или 129 или.. строки т и.д. Для каждой заполненной строки данных кэша известен тэг – номер блока ОЗУ, которому принадлежит строка. Тэги хранятся в специальной памяти - памяти тэгов, размер которой – 128 строк. Длина строки памяти тэгов зависит от размера ОЗУ. Если объем ОЗУ – 4 Гбайт, тогда полный адрес - 32 бита можно представить в виде полей: 20 рр – тэг (T), 7 рр – номер строки таблиц кэша (S), 5 рр – номер байта в строке (N). Поиск запрошенного байта (T-S-N) в кэше с прямым распределением производится так: 1.Из памяти данных и памяти тэгов кэша одновременно считываются S-ные строки. Если содержимое считанной строки памяти тэгов равно Т – кэш попадание, это значит, что считанная S строка памяти данных кэша содержит запрашиваемый байт и его номер в строке есть N. 3. Если содержимое считанной строки памяти тэгов не равно Т – кэш промах, и тогда T-S строка ОЗУ переписывается в S строку памяти данных кэша, а Т записывается в S строку памяти тэгов. Затем, см по п. 1.Кэш память Pentium III (Celeron). Кэш память процессоров данного типа состоит из кэшей 1и 2 уровней. Кэш первого уровня (L1) размером в 32 Кбайта разделен на кэш кода- I кэш память, и кеш данных – D кэш по 16 Кбайтов каждый. Каждый кэш (I и D) выполнен как частично ассоциативный с коэффициентом четыре (4-way). Строки кеша состоят из 32 байтов. Кэш (16 Кбайтов) поделен на четыре банка по 4 Кбайта (128 строк), каждый из которых есть кэш с прямым распределением, при этом, любой строке ОЗУ может соответствовать одна из четырех соответствующих строк банков кэша. Соответсвенно, имеются четыре памяти тегов по 128 строк. При запросе данного из процессора (T-S-N) одновременно считываются четыре S строки данных кэша и четыре S строки тэгов. Если содержимое одной из считанных строк тэга равно Т, кэш-попадание и запрашиваемый байт выбирается из S строки данных того банка кэша, у которого строка тегов совпала с Т. Если содержимое строк памяти тэгов не равно Т – кэш-промах. Тогда, по алгоритму LRU выбирается один из четырех банков кэша, и в него T-S строка ОЗУ переписывается в S строку памяти данных кэша, а Т записывается в S строку памяти тэгов. Для кэша второго уровня нет разделения на I кэш память, и кеш данных – D кэш. Размер кэша может быть для различных моделей процессора составлять 128,256,512, .. Кбайт, он также частично ассоциативный с коэффициентом четыре (4-way), при этом размер банков будет соответственно равен 32,64,128 Кбайт. Строки кэша 32 байта.11. Cтратегии обновления основной памяти. Cтратегии обновления основной памяти две: метод сквозной записи и метод обратной записи. Кэш-память с немедленной (сквозной) запиcью в ОЗУ (wri­te-through). Такой кэш при операции 'запись' данного в память всегда записывает данное в основную память и, возможно, в кэш, если он содержит отображение соответствующей ячейки памяти. Кэш-память с отстроченной запиcью в ОЗУ (write-back). При данной схеме записи данное записывается только в кэш (на соответствующее адресу основной памяти место). Обновление содержимого основной памяти производится при выталкивании строки кэша, при выборке данного по адресу другими абонентами, которым доступна память: вывод, другие процессоры. Естественно, при первом способе записи кэш-эффект отсутс­твует, но реализация второго способа дороже. 12. Конвейеризация вычислительных операций Длительность арифметической операции может быть уменьшена за счет временного перекрытия ее различных фаз, путем конвейеризации вычислительной работы. Для этого механизмы Арифметического Логического Устройства (АЛУ) выполняется по конвейерному принципу. Пусть, работа АЛУ - для сложении данных, разделена на три этапа, на три автономных блока Рi : Р1 - выравнивание порядков операндов, Р2 - операция сложения мантисс, Р3 - нормализация результата, каждый из ко­торых выполняется за один условный такт вычислителя. И пусть на таком АЛУ выполняются вычисления: A1 = B1+C1 A2 = B2+C2 A3 = B3+C3 A4 = B4+C4 Тогда временная диаграмма работы АЛУ имеет вид: Устройство 1 такт 2 такт 3 такт 4 такт 5 такт 6 такт P1 B1+C1 В2+C2 B3+C3 B4+C4 нет работы нет работы P2 нет работы B1+C1 B2+C2 B3+C3 B4+C4 нет работы P3 нет работы нет работы B1+C1 B2+C2 B3+C3 В4+С4 Вычисления будут выполнены за 6 тактов работы вычислителя, причем, здесь, только два такта работы оборудование было загружено полностью. ВОПРОС !!!! За сколько тактов будет выполнены эти вычисления, если АЛУ не конвейеризовано. Сокращает ли конвейеризация время выполнения отдельной операции? Оптимальную загрузку конвейерных АЛУ можно получить при работе с регулярными структурами, например, поэлементное сложение векторов. В общем случае, пусть работа операционного блока разбивается на n последовательных частей (стадий, выполняемые за одинаковое время), на которых вычислительные операции выполняются в конвейерном режиме. Тогда, если на выполнение одной операции сложения блоку требуется время T, то на обработку N операций сложения время: Tn = (n + N) * (Т / n). Следовательно, если n Фактором, снижающим производительность конвейеров, явля­ется конфликты по данным. Так вычисления: Вычисления другая форма этих вычислений A1 = B1+C1 A2 = A1+C2 A2 = (B1+C1)+ C2A3 = B3+C3 A3 = B3+C3 A4 = B4+C4 A4 = B4+C4для правильной работы будут выполняться на два такта дольше:Устр. 1такт 2такт 3такт 4такт 5такт 6такт 7такт 8тактP1 B1+C1 н/р н/р A1+C2 B3+C3 B4+C4 н/р н/рP2 н/р B1+C1 н/р н/р A1+C2 B3+C3 B4+C4 н/рP3 н/р н/р B1+C1 н/р н/р A1+C2 B3+C3 В4+С4 На этой диаграмме видно, что количество простаивающих тактов работы оборудования “н/р” – “конвейерных пузырей “ (pipeline bubble) стало больше. 13. Внеочередное выполнение команд Методы динамической оптимизации: неупорядоченное выполнение “out-of-order execution” , неупорядоченная выдача “out-of-order issue” основаны на изменении порядка вычислений. Так, пример вычислений из предыдущего раздела после его преобразования к виду:A1 = B1+C1A3 = B3+C3 A3 = B3+C3A4 = B4+C4 A4 = B4+C4 A2 = A1+C2 A2 = (B1+C1)+ C2 позволит проводить вычисления без пропуска рабочих тактов для ожидания вычисления. Оптимизационные преобразования последовательности вычисления могут проводиться динамически, аппаратурой АЛУ, а также, в ряде случаев и статически проводиться системами программирования. 14. Спекулятивное выполнение команд В конвейерных архитектурах устройство выборки команд является та­ким же конвейером, как и другие функциональные устройства. Так, для условного оператора: IF (A Тривиальное решение состоит в выборе кода, текстуально следующего за командой условного перехода. Для такого оборудования компиляторы могут формировать объектный код с размещением, наиболее вероятно выпол­няемым фрагменте программы непосредственно за командой условного пере­хода. Так, для циклических конструкций, вероятность перехода на повто­рение цикла выше вероятности выхода из него. Некоторые системы программирования дают возможность программисту указывать вероятность пере­хода по метке в условном переходе. Аппаратный механизм учета вероятности перехода состоит из блока предсказания переходов. Этот блок, кроме (вместо) статически определенных предпочтений для ветвлений, имеет таблицу переходов, в которой хранится история переходов для каждого (в рамках объема таблицы) перехода программы. Большинства современных микропроцессоров обещают точ­ность предсказаний переходов этим способом выше 90%. Причина повышенного внимания к этому вопросу обусловлена большими за­держками, возникающими при неверном предсказании переходов, что грозит существенной потерей производительности. Используемые в микропроцессо­рах методы предсказания переходов, как уже было сказано, бывают стати­ческие и динамические. Как динамический, так и статический подходы имеют свои преимущества и недостатки. Статические методы предсказания используются реже. Такие предска­зания делаются компилятором еще до момента выполнения программы. Соот­ветствующие действия компилятора можно считать оптимизацией программ. Такая оптимизация может основываться на сборе информации, получаемой при тестовом прогоне программы (Profile Based Optimisation, PBO) или на эвристических оценках. Результатом деятельности компилятора являются "советы о направлении перехода", помещаемые непосредственно в коды выполняемой программы. Эти советы использует затем аппаратура во время выполнения. В случае, когда переход происходит, или наоборот - как правило, не происходит, советы компилятора часто бывают весьма точны, что ведет к отличным результатам. Преимущество статического подхода - отсутствие необходимости интегрировать на чипе дополнительную аппаратуру предсказания переходов. Большинство производителей современных микропроцессоров снабжают их различными средствами динамического предсказания переходов, производимого на базе анализа "предыстории". Тогда аппаратура собирает статистику переходов, которая помещается в таблицу истории переходов BHT (Branch History Tab­le).В clock rate,). Любая операция в процессоре не может быть выполнена быстрее, чем за один такт (период) генератора. Итак, минимальное время исполнения одной логической операции (переключение транзистора) - один такт. Тактовая частота измеряется в Герцах – число тактов в секунду. 1 МГерц – миллион тактов в секунду, ГГерц – миллиард тактов в секунду. С наибольшей частотой работают элементы ПК, интегрированные на чипе – АЛУ, кэш-память, дешифратор команд, регистры, а частота синхронизации пересылки между кэшем и памятью (ОЗУ) ниже. Разрядность шины адреса для большинства процессоров –32 байта и она должна работать с частотой кэш памяти. Шины данных работает на частоте работы основной памяти. При этом частоты работы шины данных, например, равны 66, 66, 166 Мгц для микропроцессоров Pentium Pro-200, Power PC 604E-225, Alpha 21164-500, работающих на тактовых частотах 300, 225, 500 Мгц соответственно. При ширине шин 64, 64, 128 разрядов это обеспечивает пропускную способность интерфейса с основной памятью 512, 512, 2560 Мбайт/с, соответственно. Внутренняя архитектура процессора, как и тактовая частота, также влияет на работу процессора, поэтому два CPU с одинаковой тактовой частотой не обязательно будут работать одинаково. Кроме того, некоторые микропроцессоры являются суперс


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.