Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1




НазваниеКонспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1
страница1/41
Дата публикации03.03.2013
Размер5.22 Mb.
ТипКонспект
uchebilka.ru > Информатика > Конспект
  1   2   3   4   5   6   7   8   9   ...   41
Министерство образования и науки Украины

Луганский национальный университет имени Тараса Шевченко

Кафедра информационных технологий и систем

Конспект лекций по курсу

Системное программирвание



для специальности
Информатика


Лекция 1

Предмет курса.

Базовая архитектура

Процессоров Intel X86
Успешное применение языка ассемблера невозможно без знания архитектуры процессоров Intel. Процессоры Intel в настоящее время доминируют на рынке, и многие архитектурные решения, на основе которых они построены, в той или иной степени используются и другими производителями процессоров. Посколь­ку все современные процессоры Intel базируются на архитектуре 8086, то обычно говорят об архитектуре Intel x86.

Вкратце рассмотрим эволюцию процессоров фирмы Intel. В 1979 г. фирма Intel первой выпустила 16-разрядный микропроцессор 8086, возможности которого были близки к возможностям процессоров мини-компьютеров 70-х годов. Микро­процессор 8086 стал базовым для целого семейства процессоров, которое называ­ют семейством 80x86 или х86.

Чуть позже появился процессор 8088, архитектурно совместимый с процессо­ром 8086 и имеющий 16-разрядные регистры, но оперирующий с внешними дан­ными размером в 8 бит. В 1981 г. появились процессоры 80186/80188, наследую­щие базовую архитектуру процессоров 8086, но обладающие дополнительными возможностями. Это поколение включало дополнительные аппаратно-программ­ные компоненты: контроллер прямого доступа к памяти, счетчик/таймер и кон­троллер прерываний. Кроме того, система команд этих процессоров была рас­ширена. Несмотря на это, широкого распространения данные процессоры не получили.

Следующим этапом в разработке новых идей стал процессор 80286. В этой мо­дели были использованы новые подходы, которые применялись в микрокомпью­терах и больших компьютерах. Процессор 80286 мог работать в двух режимах: в режиме реальных адресов (эмуляция процессора 8086) и в защищенном режиме виртуальных адресов (protected virtual address mode), который предоставлял но­вые возможности для программистов. В этом режиме можно было работать с рас­ширенным адресным пространством памяти размером в 16 Мбайт, также поддер­живались виртуальная память и мультизадачность. Новый 32-разрядный процессор 80386 позволил успешно решить две основные задачи: он обеспечивал совместимость с предыдущими поколениями процессо­ров и одновременно повышал производительность выполнения программ. Совме­стимость с процессорами 8086 достигалась за счет включения в аппаратно-про­граммную архитектуру режима реальной адресации (real address mode).

В этом режиме процессор 80386 мог выполнять 16-разрядный программный код процессора 80286 без каких-либо ограничений. В этом же режиме он мог запускать 32-разрядные программы, что повышало производительность системы. В 32-разрядном режиме были реализованы новые возможности процессора 80386: масштабированная индексная адресация памяти, ортогональное использование регистров общего назначения, новые команды и средства отладки. Адресное про­странство памяти позволяло работать с 4 Гбайт данных.

По сравнению с предыдущими поколениями процессоров процессор 80386 обеспечивал большее быстродействие (3-4 миллиона операций в секунду) и воз­можность работы со страничной виртуальной памятью.

В 1989 г. фирма Intel выпустила процессор i486, содержащий более миллиона транзисторов в чипе. Являясь полностью программно совместимым с процессо­рами 386, он предоставлял новые возможности по обеспечению многозадачности систем и многоуровневого кэширования. Встроенная система тестирования по­зволяла проверять работоспособность аппаратной логики, кэш-памяти и аппа­ратного постраничного преобразования адресов памяти. Отладочные средства обеспечивали установку ловушек контрольных точек в исполняемом коде и во время доступа к данным. Процессор i486 имел встроенный аппаратный кэш для хранения 8 Кбайт команд и данных, что увеличивало быстродействие системы, одновременно уменьшая степень использования процессором внешней шины.

Следующим шагом в повышении производительности компьютерных сис­тем стало появление процессоров Intel Pentium. По сравнению с процессором i486 был добавлен второй конвейер команд, что дало более высокую скорость выполнения команд. Оба конвейера команд, обозначаемые и и v, при совместной работе обеспечивают выполнение двух инструкций процессора за один машин­ный цикл.

Размер встроенного кэша первого уровня увеличен в два раза, при этом для команд и данных используется по 8 Кбайт памяти. В процессоре применяются более эффективные по сравнению с i486 алгоритмы прямой (write-through) и об­ратной записи (write-back).

В процессорах Intel Pentium впервые был использован так называемый ал­горитм прогнозирования программных ветвлений и циклов (branch prediction). С помощью такого алгоритма обеспечивается более эффективное управление пото­ком команд программы. Адреса прогнозируемых переходов хранятся в аппаратно реализованной таблице ветвлений. Кроме этого, в Intel Pentium были внесены аппаратные расширения, позволяющие более эффективно работать в режиме виртуального процессора 8086 с адресным пространством в 4 Мбайт и размером страницы 4 Кбайт.

Основные регистры процессора остались 32-разрядными, но были добавлены внутренние шины передачи данных размерностью в 128 и 256 бит, что обеспечивает более быстрый обмен данными внутри процессора. Кроме того, внешняя шина данных в процессоре позволяет работать с 64-разрядными данными.

В процессоре Intel Pentium сочетаются высокая производительность, совме­стимость, интеграция данных и наращиваемость. Это достигается за счет того, что процессор обладает:

  • суперскалярной архитектурой;

  • раздельным кэшированием программного кода и данных;

  • блоком прогнозирования адреса перехода;

  • высокопроизводительным блоком операций с плавающей точкой;

  • расширенной 64-разрядной шиной данных;

  • поддержкой многопроцессорного режима работы;

  • средствами задания размера страницы памяти;

  • средствами обнаружения ошибок и функциональной избыточности;

  • возможностями для управления производительностью.

Совместимая только с Intel суперскалярная двухконвейерная промышленная архитектура процессора Intel Pentium позволяет ему достичь нового уровня про­изводительности посредством выполнения более чем одной команды за один такт. Термин «суперскалярная» обозначает процессорную архитектуру, которая содержит более одного вычислительного блока. Все эти вычислительные блоки, или конвейеры, являются узлами, где происходят все основные процессы обра­ботки данных и команд. Они позволяют выполнить значительно большее число команд за одно и то же процессорное время по сравнению с предыдущими поко­лениями процессоров.

Появление суперскалярной архитектуры процессора Intel Pentium представ­ляет собой естественное развитие предыдущего семейства процессоров с 32-раз­рядной архитектурой фирмы Intel. Например, процессор i486 способен выпол­нять несколько своих команд за один такт, в то время как предыдущие семейства процессоров фирмы Intel требовали множества циклов тактовой частоты для вы­полнения одной команды.

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

Раздельное кэширование позволяет выполнять несколько команд одновремен­но. Кэш-память программного кода и данных процессора Pentium содержит по 8 Кбайт информации и организована как набор двухканального ассоциативного кэша. Такая кэш-память предназначена для записи только предварительно про­смотренного 32-байтового сегмента, причем работает быстрее, чем внешний кэш. Все это потребовало использования 64-разрядной внутренней шины данных, которая обеспечивает возможность двойного кэширования и суперскалярной конвейерной обработки одновременно с загрузкой последующих данных.

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

Блок прогнозирования адреса перехода позволяет повысить производитель­ность, предварительно определив правильный набор выполняемых команд и пол­ностью заполнив ими конвейеры.

Процессор Intel Pentium дает возможность выполнять математические вы­числения на более высоком уровне благодаря использованию усовершенствован­ного встроенного блока операций с плавающей точкой, который включает в себя 8-тактовый конвейер и аппаратную реализацию основных математических функ­ций. 4-тактовые конвейерные команды для операций с плавающей точкой до­полняют 4-тактовую целочисленную конвейеризацию. Большая часть команд, оперирующих данными с плавающей точкой, может выполняться в одном цело­численном конвейере, после чего помещается в конвейер операций с плавающей точкой. Обычные операции с плавающей точкой, такие, как сложение, умножение и деление, реализованы аппаратно для ускорения процесса вычислений.

В результате этих усовершенствований процессор Intel Pentium выполняет команды для операций с плавающей точкой в пять раз быстрее, чем работающий на частоте 33 МГц процессор i486, оптимизируя их для высокоскоростных вы­числений в мультимедийных приложениях, а также в 3D- и С AD/C AM-прило­жениях.

К числу аппаратных нововведений следует отнести и более совершенный про­граммируемый контроллер прерываний (Advanced Programmable Interrupt Cont­roller, APIC), позволяющий создавать системы с несколькими процессорами Intel Pentium. Но самым радикальным усовершенствованием процессоров Intel Pentium стало внедрение технологии ММХ (MultiMedia extensions — мультимедийные расширения). В технологии ММХ для организации параллельных вычислений над упакованными 64-разрядными целыми числами используется модель SIMD (Single Instruction, Multiple Data — одна команда, много данных). Параллельная обработка целочисленных данных не требует дополнительных регистров про­цессора — задействуются регистры математического сопроцессора. Технология ММХ позволила существенно повысить производительность мультимедийных приложений, программ обработки звука и изображений, программ криптографии и сжатия данных.

Для аппаратуры компьютера процессор Intel Pentium представляет собой 32-разрядное устройство. Внешняя шина данных к памяти является 64-разряд­ной, что обеспечивает передачу удвоенного объема данных за один цикл шины. Процессор поддерживает несколько типов циклов, включая цикл пакетного ре­жима, в течение которого в кэш данных передается 256-разрядный пакет данных. Шина данных является главной магистралью, которая передает информацию между процессором и подсистемой памяти. Благодаря 64-разрядной шине дан­ных процессор Intel Pentium существенно повысил скорость передачи — до 528 Мбайт/с для 66 МГц по сравнению со 160 Мбайт/с для 50 МГц процессора i486. Эта расширенная шина данных поддерживает высокоскоростные вычисле­ния за счет одновременной загрузки командами и данными процессорного блока, благодаря чему достигается еще большая общая производительность процессора Intel Pentium по сравнению с процессором i486.

Первые модели процессора Intel Pentium работали на частоте 60 и 66 МГц и об­менивались данными с внешней кэш-памятью второго уровня по 64-разрядной шине данных, работающей на тактовой частоте процессорного ядра. Однако здесь есть некоторые сложности. При возрастании скорости процессора Intel Pentium все сложнее становится и дороже обходится его согласование с электронным интерфейсом на материнской плате.

По этой причине быстрые процессоры Intel Pentium используют делитель частоты для синхронизации внешней шины путем задания меньшей частоты. На­пример, у процессора Intel Pentium с частотой 100 МГц внешняя шина работает на частоте 66 МГц, а у процессора с частотой 90 МГц — на частоте 60 МГц. Про­цессор задействует одну и ту же шину для доступа к основной памяти и к пери­ферийным подсистемам, таким, как шина PCI.

Дальнейшим усовершенствованием процессоров Intel Pentium стала модель Р6, выпущенная в 1995 г. Это поколение процессоров базировалось на суперскаляр­ной архитектуре, что позволило без перехода на другую технологию изготовле­ния кристалла значительно повысить производительность. Первым процессором семейства Р6 стал Intel Pentium Pro. Далее были разработаны более совершенные процессоры этой линейки, известные как Intel Pentium II, Intel Pentium II Xeon, Intel Celeron, Intel Pentium III и Intel Pentium HI Xeon.

Появление процессора Pentium Pro ознаменовало собой значительный шаг вперед по сравнению с Intel Pentium. Несмотря на то что в процессоре Intel Pentium впервые была реализована суперскалярная форма архитектуры х86, она имела определенные ограничения. В этой архитектуре имеется всего два целочислен­ных конвейера, которые могут обрабатывать две команды параллельно, но только если они следуют друг за другом — здесь отсутствует алгоритм, позволяющий предсказывать ветвления в программе.

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

Суперскалярная архитектура процессора Pentium Pro позволяет выполнять максимум три машинные команды в течение одного цикла. Кроме того, в процессо­ре используется концепция динамического выполнения команд (изменение по­рядка выполнения команд, улучшенный алгоритм прогнозирования ветвлений и опережающего выполнения команд). Суперскалярная архитектура реализована с помощью трех блоков декодирования команд, работающих параллельно. Ко­манды разбиваются на так называемые микрооперации, которые выполняются параллельно в пяти исполнительных модулях: двух целочисленных, двух FPU (Floating-Point Unit) и одном модуле интерфейса памяти.

В программно-аппаратную архитектуру процессора входит и специальный модуль отложенных операций (retirement unit), позволяющий выполнять после­довательность микроопераций в нужном порядке даже при наличии ветвлений.

По сравнению с процессором Intel Pentium, в Pentium Pro был увеличен раз­мер кэша второго уровня (2"a-level cache) до 256 Кбайт. Процессор Pentium Pro имеет 36-разрядную адресную шину, позволяющую расширить пространство фи­зических адресов до 64 Гбайт.

В процессоры Pentium Pro встроена вторичная кэш-память, соединенная с цен­тральным процессором отдельной шиной. Эта кэш-память, представляющая со­бой статическое (static) оперативное запоминающее устройство (Random Access Memory, RAM) емкостью 256 или 512 Кбайт, значительно повышает производи­тельность вычислительных систем на основе Pentium Pro.

В процессоры Intel Pentium II семейства Р6 была включена поддержка техно­логии ММХ. Что касается процессоров Pentium II Хеоп, то в них были скон­центрированы все преимущества предыдущих поколений процессоров Intel. Это поколение процессоров было разработано с 4- и 8-кратной масштабируемостью, а также с кэшем второго уровня, имеющим размер 2 Мбайт. Этот процессор предназначается в основном для высокопроизводительных серверов и рабочих станций.

Еще один представитель линейки — процессор Intel Celeron — базируется на архитектуре IA-32 и предназначен для применения в настольных компьюте­рах. К особенностям этого процессора следует отнести наличие встроенного кэша второго уровня размером 128 Кбайт, а также низкую стоимость.

Значительный шаг вперед был сделан при разработке процессора Intel Penti­um III, в котором была реализована технология SSE (Streaming SIMD Extensions — потоковые SIMD-расширения). Эта технология является дальнейшим развитием технологии ММХ. В ней используются 128-разрядные регистры для выполнения параллельных операций с упакованными числами с плавающей точкой. Кроме того, в процессорах Pentium III Xeon для повышения производительности имеет­ся улучшенный кэш передачи данных (advanced transfer cache).

Процессор Intel Pentium 4 является последним в линейке процессоров фирмы Intel, базирующихся на архитектуре IA-32, причем здесь была использована мик­роархитектура NetBurst. В основе этой микроархитектуры лежит оригинальная разработка Intel, позволяющая процессору функционировать на более высокой тактовой частоте, что значительно повышает производительность Pentium 4 по сравнению с предыдущими поколениями процессоров. Микроархитектура NetBurst имеет следующие особенности:

  • улучшенное схемотехническое и конструктивное исполнение, обеспечиваю­щее высокую производительность операций (rapid execution engine);

  • поддержка технологии Hyper Pipelined;

  • поддержка технологии Advanced Dynamic Execution;

  • принципиально новая система кэширования команд-данных;

  • поддержка технологии SSE2 (Streaming SIMD Extensions 2), которая обес­печивает расширение возможностей технологий ММХ и SSE фирмы Intel за счет включения в систему команд 128-разрядной целочисленной ариф­метики и 128-разрядной арифметики чисел с плавающей точкой двойной точности;

  • гибкая система управления кэшированием данных и памятью.


Аппаратно микроархитектура NetBurst реализована в виде быстродействую­щей (400 МГц) системной шины, обладающей впечатляющими возможностями по обработке данных:

  • производительность операций — до 3,2 Гбайт/с, что более чем в 3 раза пре­вышает производительность Pentium III;

  • тактовая частота шины — 100 МГц с возможностью учетверения скорости (400 МГц);

  • высокая степень конвейеризации транзакций;

  • возможность доступа к 128-разрядным данным посредством 64-разрядных элементов;

  • совместимость с существующим программным обеспечением и операцион­ными системами, разработанными для архитектуры IA-32.
  1   2   3   4   5   6   7   8   9   ...   41

Добавить документ в свой блог или на сайт

Похожие:

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций для студентов заочной формы обучения направления 080201 (Информатика)
Предлагаемый конспект лекций представляет собой пособие по предмету “Теория информации”, который читается в Сумском государственном...

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций 2007 Экология. Конспект лекций. Для студентов специальностей...
Экология. Конспект лекций. Для студентов специальностей 080201 «Информатика», 090220 «Оборудование химических производств и предприятий...

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций по дисциплине информационные и телекоммуникационные...

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций по дисциплине “
«Компьютерная инженерия», специальности 091501 «Компьютерные сети и системы», 091502 «Системное программирование»

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций по курсу Выбранные вопросы информатики (часть 2)...
Точно так же как художник может выбирать для рисования различные инструменты, программист, создающий аплет Java, может выбирать различные...

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций по дисциплине “Статистика в машиностроении ” для студентов специальности
Конспект лекций предназначен для самостоятельного изучения студентами теоретической части курса “ Статистика в машиностроении ” (для...

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций по дисциплине “ основы защиты информации” для направления...
Министерство образования и науки украины восточноукраинский государственный университеТ

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций по курсу Начертательная геометрия
Конспект лекций по курсу начертательная геометрия (для студентов заочной формы обучения всех специальностей академии). Сост. Лусь...

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций и методические указания к выполнению контрольной работы к изучению курса
Конспект лекций и методические указания к выполнению контрольной работы по курсу “Проектирование специальных станочных и контрольных...

Конспект лекций по курсу Системное программирвание для специальности Информатика Лекция 1 iconКонспект лекций по курсу «Организация производства»
Конспект лекций по курсу «Организация производства» (для студентов и слушателей заочной формы обучения фпоизо специальностей 050100...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<