В.А. Фисун - Прикладное программирование в задачах математической физики. Архитектурные принципы построения ЭВМ (doc) (1127760)
Текст из файла
70
Пособие 17.09.09РОССИЙСКАЯ АКАДЕМИЯ НАУК
Ордена Ленина Институт прикладной математики
им. М.В. Келдыша
В. А. Фисун
Прикладное программирование
в задачах математической физики
Архитектурные принципы построения ЭВМ
Учебное пособие
Москва - 2007
Аннотация
Первая часть двухсеместрового курса лекций по дисциплине “Прикладное программирование в задачах математической физики” В этом курсе рассмотрены общие вопросы машинных вычислений, связанные с решением задач математической физики: структура и программное обеспечение микропроцессоров, архитектура современных мультипроцессорных ЭВМ, функциональные принципы организации ЭВМ.
V.A. Fisun
Application programming for mathematics physics problem.
Abstract
The first part of two-semester lecture courts on discipline “Application programming for mathematics physics problem physics”. In the course computer organization and architecture are presented.
Предисловие 4
Введение 6
1. Глава 1 8
Информатика 8
1.1. Бинарные коды и информация 8
1.2. Измерение информации 10
1.3. Основные виды ЭВМ 12
1.4. Эволюционная классификация ЭВМ 13
2. Глава 2 15
Принципы фон-Неймана 15
2.1. Классическая ЭВМ 15
2.1.1. Принцип программного управления вычислениями 16
2.1.2. Принцип условного перехода. 16
2.1.3. Принцип хранимой программы 17
2.1.4. Принцип использования двоичной системы счисления 17
2.2. Принципы фон Неймана и проблемы программирования 19
3. Глава 3 20
Архитектура памяти ЭВМ 20
3.1. Виды запоминающих устройств 20
3.2. Адресная и ассоциативная память 26
3.3. Виртуальная память 28
3.4. Иерархическая структура оперативной памяти 32
3.5. Кэш-память. 34
4. Глава 4 37
Конвейерные технологии 37
4.1. Параллелизм конвейерных работ 37
4.2. Ускорение арифметических вычислений 38
4.3. Векторно-конвейерные вычисления 42
4.4. Конвейеризация команд 45
5. Глава 5 51
Архитектура ЭВМ 51
5.1. Системы команд 51
5.2. Суперскалярные микропроцессоры 54
5.3. Сверхдлинные команды 56
5.4. Современные микропроцессоры. 58
5.5. Поставщики микропроцессоров 60
6. Глава 6 62
Производительность ЭВМ 62
6.1. Оценка вычислительных систем 62
6.2. Производительность вычислительных систем 63
6.3. Измерение реальной производительности 67
6.4. Рейтинг ТОР500 68
Список литературы 69
Предисловие
При современном состоянии математической физики машинный эксперимент как виртуальная модель изучаемых явлений является исключительно важным инструментом познавания мира, а в некоторых областях и единственным способом изучения реальных процессов и явлений. Характерным примером достижений в области вычислительной математики может служить многолетний мораторий на проведение ядерных испытаний: “взрывы ” на ЭВМ оказываются адекватными полигонным экспериментам. Однако, необходимость учета более тонких физических эффектов, расширение круга изучаемых явлений потребовали резко увеличить объем машинных вычислений, а усложнение вычислительных алгоритмов и увеличение размерностей задач математической физики привело к необходимости повысить требования к методам программирования. Поэтому в учебных планах технических университетов организации научных вычислений на ЭВМ уделяется большое внимание.
В настоящее время технология конструирования и производства аппаратного оборудования реализуется индустриальными методами, обеспечивая, в соответствии с законом Мура, удвоение числа элементов на кристалле – чипе и соответствующее увеличение производительности компьютеров каждые полтора года.
“Персональные компьютеры так быстро устаревают, что их нужно постоянно достраивать и обновлять. Компьютер открыт в будущее. У него нет набора неизменных качеств и свойств. Мы не знаем, на что он окажется способным завтра, более того, мы даже не знаем, на что он будет похож. Поэтому мы вынуждены описывать компьютер не как вещь, а как процесс”. /20/
В основе каждой области науки и техники лежат принципиальные законы: сохранения, переноса, Ома, Фарадея и т.д., правила: Лопиталя, правило левой руки для определения направления силы Ампера или, по крайней мере, правило буравчика. Выбор архитектурных решений при конструировании ЭВМ также основывается на ряде принципов, которые не зависят от технологических новаций, например, принципов фон Неймана, локальности вычислений Деннинга, конвейерной, параллельной, потоковой обработки информации. В вычислительной технике действуют законы Мура, Гроша, Амдала, учитываются постулаты Минского, аномалии Биледи и т.д. Технология машинных вычислений базируется на результатах широкого круга научных открытий и инженерных решений.
Особенностью данного курса является комплексное рассмотрение вопросов научных вычислений, связанных с численным решением задач математической физики: архитектура современных микропроцессоров и мультипроцессорных супер-ЭВМ, реализация параллельных алгоритмов и программ, средства программирования для задач математической физики, методы оптимального использования ресурсов персональных компьютеров.
Отбор материала для включения в курс лекций “Прикладное программирование в задачах математической физики” произведен с учетом предметной области. Ссылки на используемые материалы приводятся только при текстуальном цитировании, авторы других материалов перечислены в списке литературы.
Данная работа является конспектом лекций со всеми особенностями статуса данного материала. Так, некоторые разделы приводятся конспективно, без объяснений и аргументации. Это связано с ограниченностью объема материала, а также с прямым умыслом. Конспект, по мнению автора, не должен заменять лекции, он только предоставляет студенту исходный материал, который студент должен затем усвоить на занятиях и самостоятельно с помощью других источников знаний.
В процессе прохождения занятий по курсу студенты выполняют ряд лабораторных работ. Для контроля процесса обучения студенты получают задания для самостоятельного изучения характеристик и особенностей программирования современных вычислительных систем и готовят рефераты по заданным темам.
Автор выражает глубокую благодарность М.П. Галанину за большую помощь при написании данной работы.
Введение
В первой части курса “Прикладное программирование в задачах математической физики” излагаются основные архитектурные принципы конструирования ЭВМ и их влияние на эффективность научных вычислений. Содержание каждой главы курса состоит из описания отдельного этапа выполнения программ на ЭВМ, в курсе содержатся также сведения по истории вопроса, тенденции развития и ссылки на литературу для углубленного изучения материала.
В первой главе рассматриваются общие вопросы информатики: информация и средства ее обработки. Приводятся простейшие метрики, примеры измерения количества информации для определения объема памяти при кодировании и передаче информации. Перечисляются теоретические проблемы оценки информации. За основные виды ЭВМ принимаются аналоговые вычислительные машины и цифровые вычислительные машины. Эволюционная классификация ЭВМ используется для иллюстрации истории развития отечественной вычислительной техники и программирования.
Вторая глава посвящена принципам классификации ЭВМ. Перечисляются принципы фон-Неймана, являющиеся основой архитектур всех современных компьютеров. Реализация ЭВМ традиционной фон-неймановской архитектуры позволяет повышать производительность микропроцессоров в два раза каждые полтора года, однако такие узкие места этой архитектуры, как программное управление вычислениями, ограничивают возможность выполнения распределенных вычислений. Обсуждаются вопросы влияния архитектуры ЭВМ на программирование приложений.
В третьей главе рассматриваются номенклатура запоминающих устройств, физические принципы методов хранения информации. Память ЭВМ представляется в виде многоуровневой пирамиды, вверху которой располагаются сверхоперативная, затем оперативная память, внизу массовая память. Оперативная память является одним из важных факторов эффективности вычислений, так как для реализации одной арифметической или логической команды могут потребоваться четыре обращения к оперативной памяти. Поэтому детально рассматриваются различные схемы ускорения выборки данных и команд такие, как расслоение памяти и механизмы кэш-памяти. Виртуальная память служит для организации мультипрограммной работы ЭВМ, а также для облегчения программирования приложений.
Четвертая глава описывает один из важных методов повышения быстродействия ЭВМ – конвейеризацию работ и учет особенностей совмещенного по времени выполнения команд. Приводятся оценки повышения производительности вычислений для конвейерных арифметико-логических устройств, параметры векторно-конвейерных вычислителей. Рассматриваются статический и динамический механизмы предсказания переходов для конвейеризации потока команд и их влияние на эффективность выполнения вычислений.
В пятой главе классифицируются наборы команд различных процессоров: сокращенный и полный наборы команд, многофункциональные и сверхдлинные команды. Рассматриваются скалярные, суперскалярные вычислители, особенности и достоинства архитектуры современных микропроцессоров - EPIC с гибкими сверхдлинными командами и особенности выполнения программ для различных архитектур микропроцессоров. Описывается эволюция микропроцессоров серии Intel, приводится перечень микропроцессоров современных серий.
В шестой главе описываются метрики измерения производительности ЭВМ. Приводятся методы оценки пиковой и реальной производительности вычислительных систем, перечисляются стандартные пакеты для измерения производительности. Описывается структура топ-листа рейтинга наиболее производительных ЭВМ.
-
Глава 1
Информатика
-
Бинарные коды и информация
Одно из самых распространенных определений ЭВМ как устройства для обработки информации есть заблуждение или, по крайней мере, сильное преувеличение. Электронная вычислительная машина – это просто оборудование для хранения и переработки текстов. Текст – это последовательность символов в некотором алфавите. В вычислительной технике чаще всего используется символы бинарного алфавита. Наименьшая единица этого текста - элемент двухсимвольного алфавита - в вычислительной технике называется бит – bit. Термин является аббревиатурой выражения "binary digit" (двоичный разряд) и представляется сочетанием чисел – 0 и 1 (символов ‘0’ или ‘1’, ‘+’ или ‘-‘, слов 'да' или 'нет'). Для измерения бинарного текста используется обычно его объем, выраженный в байтах. Байт – единица измерения текстов, равная 8 битам. Такая разметка кодирует текст символами алфавита, состоящего из 256 (28) кодов. В вычислительной технике принято измерять объемы текстов при их хранении в двоичной системе счисления, т.е. Килобайт – это 210 , Мегабайт – это 220 , Гигабайт – 230 байтов и т.д.
Для измерений в цифровых коммуникационных системах - например скорости передачи текстов - используются такие же метрики. Бит в секунду – bits per second, bps – единица измерения скорости передачи (компьютерной обработки) текстов с учетом всех передаваемых битов данных, как содержательных, так и служебных. Для измерения скорости передачи только полезной информации используется показатель "символы в секунду" (characters per second, cps). Для указания объемов текстов в телекоммуникациях используется уже десятичная система.
Электронному тексту или его фрагментам может быть определена семантика, придающая тексту новые качества. Так, разметка текста на 32-битовые элементы и принятие соответствующих соглашений об интерпретации разрядов в элементе могут означать запись массива вещественных чисел. ‘‘Машинное слово’’ – квант кода, считываемый из оперативной памяти одной операцией, в ряде ЭВМ может трактоваться как команда или как ее аргумент. Байтовая разметка текста широко используется для кодировки алфавитно-цифрового текста, причем каждому символу текста отводится байт целиком (стандарт ANSII). В один Гигабайт текста может быть переписано содержимое грузовика книг, в десять Терабайтов – книжный фонд большой библиотеки.
К текстам, которым придается семантика, может относиться понятие ‘‘информация’’(information).
В прикладном, телекоммуникационном аспекте информация трактуется как сведения, разъяснение, информирование, изложение, сбор и обработка, хранение, прием и передача сигналов и сообщений. Толковый словарь компьютерных терминов А. Синклера определяет информацию как данные, организованные таким образом, что имеют смысл для имеющего с ними дело человека. Понятие информации нельзя считать лишь техническим термином. Информация - это фундаментальная философская категория. Вот некоторые концепции данной области знаний.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.