- •Предисловие
- •Глава 1. Общие сведения о микропроцессорах
- •1.1 Классификация микропроцессоров
- •1.2 Характеристики микропроцессоров
- •1.2.1 Тактовая частота
- •1.2.2 Архитектура процессора
- •1.2.3 Технологический процесс производства
- •1.2.4 Частота системной шины
- •1.2.5 Размер кэша
- •1.3 Типы архитектур микропроцессоров
- •1.4 Структурная схема микропроцессоров
- •1.4.1 Микропроцессор Фон-Неймана
- •1.4.2 Конвейер
- •1.4.3 Зависимость между частотой и количеством ступеней конвейера
- •1.5 Представление информации в эвм
- •1.5.1 Двоичное представление целых чисел
- •1.5.2 Представление символьной информации
- •Глава 2. Архитектура микропроцессоров ia-32
- •2.1 Состав и функции регистров
- •2.1.1 Основные регистры
- •2.1.2 Регистры дополнительных функциональных модулей
- •2.2 Типы адресации
- •2.3 Система команд
- •2.3.1 Классификация команд
- •2.3.2 Формат команды
- •2.3.3 Однобайтовые команды
- •2.3.4 Непосредственно заданные операнды
- •2.3.5 Команды с регистровыми операндами
- •2.3.7 Команды с операндами, расположенными в памяти
- •Глава 3. Организация многоуровневой памяти
- •3.1 Принцип построения многоуровневой памяти
- •3.2 Организация кэш-памяти
- •3.3 Протоколы когерентности памяти микропроцессоров
- •3.4 Страничная организация памяти
- •Глава 4. Режимы работы процессоров ia-32
- •4.1 Обзор режимов работы
- •4.2 Реальный режим адресации
- •4.3 Защищённый режим
- •4.3.1 Дескрипторные таблицы
- •4.3.2 Дескрипторные регистры
- •4.3.3 Дескриптор
- •4.3.4 Односегментная модель памяти
- •4.3.5 Многосегментная модель памяти
- •Глава 5. Страничная организация памяти в процессорах ia‑32
- •5.1 Каталог страниц
- •5.2 Таблица страниц
- •5.3 Страничная переадресация
- •5.4 Диспетчер виртуальных машин системы Microsoft Windows
- •Глава 6. Архитектура процессоров с параллелизмом уровня команд
- •6.1 Подходы к использованию ресурса транзисторов в микропроцессорах
- •6.2 Суперскалярные процессоры и процессоры с длинным командным словом
- •6.3 Зависимости между командами, препятствующие их параллельному исполнению
- •6.4 Предварительная выборка команд и предсказание переходов
- •6.5 Условное выполнение команд в vliw-процессорах
- •6.6 Декодирование команд, переименование ресурсов и диспетчеризация
- •6.7 Исполнение команд
- •6.8 Завершение выполнения команды
- •6.9 Направления развития архитектуры процессоров с параллелизмом уровня команд
- •Глава 7. Мультитредовые микропроцессоры
- •7.1 Основы мультитредовой архитектуры
- •7.2 Выявление тредов
- •7.3 Мультитредовые процессоры с тредами, выявляемыми путем анализа потоков управления программы
- •7.3.1 Мультитредовая модель выполнения программы
- •7.3.2 Мультитредовые программы
- •7.3.3 Аппаратные средства мультитредовой архитектуры
- •7.3.4 Преимущества мультитредовой архитектуры
- •7.4 Мультитредовые процессоры с тредами, выявляемыми путем анализа потоков данных программы
- •7.5 Специфика мультитредовых моделей распараллеливания
- •Глава 8. Модуль обработки вещественных чисел
- •8.1 Представление чисел с плавающей запятой
- •8.2 Состав модуля fpu
- •Глава 9. Основы 64-разрядной архитектуры
- •9.1 Состав и назначение регистров микропроцессора ia-64
- •9.2 Особенности архитектуры epic
- •9.3 Архитектура x86-64
- •9.4 Структура одноядерного процессора
- •9.5 Многоядерные процессоры
- •9.6 Зачем нужны “лишние” разряды?
- •Глава 10. Современные 64-разрядные микропроцессоры корпораций Intel и amd
- •10.1 Архитектура Intel Core 2
- •10.1.1 Intel Wide Dynamic Execution
- •10.1.2 Intel Intelligent Power Capability
- •10.1.3 Intel Advanced Smart Cache
- •10.1.4 Intel Smart Memory Access
- •10.1.5 Intel Advanced Digital Media Boost
- •10.1.6 Логическая схема процессора
- •10.2 Архитектура Intel Core i7
- •10.2.1 Технология Hyper-Threading в архитектуре Nehalem
- •10.2.2 Иерархия кэш-памяти в архитектуре Nehalem
- •10.3 Хронология развития семейств микропроцессоров с архитектурой Nehalem
- •10.4 Архитектура amd Athlon 64
- •10.4.1 Ядро процессора
- •10.4.3 Контроллер памяти
- •10.4.4 Контроллер HyperTransport
- •10.5 Архитектура amd k10
- •10.4.1 Технология amd Memory Optimizer Technology
- •10.5.2 Ядро процессора
- •10.5.3 Предвыборка данных и инструкций
- •10.5.4 Выборка из кэша
- •10.5.5 Предсказание переходов и ветвлений
- •10.5.6 Процесс декодирования
- •10.5.7 Диспетчеризация и переупорядочение микроопераций
- •10.5.8 Выполнение микроопераций
- •10.5.9 Технологии энергосбережения
- •10.5.10 Шина HyperTransport 3.0
- •10.5.11 Семейство процессоров Barcelona
- •10.5.12 Семейство процессоров Phenom
- •Глава 11. Технологии, поддерживаемые современными микропроцессорами
- •11.1 Технологии тепловой защиты
- •11.1.1 Технология Thermal Monitor
- •11.1.2 Технология Thermal Monitor 2
- •11.1.3 Режим аварийного отключения
- •11.2 Технологии энергосбережения
- •11.2.1 Технология Enhanced Intel SpeedStep
- •11.2.2 Технология Cool'n'Quiet
- •11.3 Технология расширенной памяти
- •11.4 Технология антивирусной защиты
- •11.5 Технология виртуализации
- •11.6 Реализация технологий в современных микроархитектурах
- •11.6.2 Em64t – NetBurst
- •11.6.3 Intel Core
- •11.6.4 Intel Atom
- •11.6.5 Nehalem
- •11.6.6 Xeon
- •Глава 12. Графические микропроцессоры
- •12.1 Основные термины и определения
- •12.2 Технологии построения трёхмерного изображения
- •12.2.1 Технологии повышения реалистичности трехмерного изображения
- •12.3 Шейдерный процессор
- •12.4 Особенности современных графических процессоров
- •Глава 13. Однокристальные микроконтроллеры
- •13.1 Общая характеристика микроконтроллеров
- •13.2 Микроконтроллеры семейства avr
- •Почему именно avr?
- •13.3 Общие сведения об омк avr
- •13.4 Характеристики avr-микроконтроллеров
- •Глава 14. Технология производства микропроцессоров
- •14.1 Особенности производства процессоров
- •14.2 Новые технологические решения
- •14.3 Технология производства сверхбольших интегральных схем
- •I. Выращивание кристалла кремния
- •II. Создание проводящих областей
- •III. Тестирование
- •IV. Изготовление корпуса
- •V. Доставка
- •14.4 Перспективы производства сбис
- •Англо-русский словарь терминов и аббревиатур
- •Библиографический список
- •Интернет-ссылки
- •350072. Краснодар, ул. Московская, 2, кор. А.
11.4 Технология антивирусной защиты
Многие современные процессоры Intel и AMD имеют встроенное средство аппаратной антивирусной защиты. В терминологии Intel данная технология получила название Execute Disable Bit, а в терминологии AMD – Enhanced Virus Protection (EVP). Несмотря на разные названия, суть данных технологий одинакова.
Появление аппаратной антивирусной защиты на уровне процессора обусловлено возросшим объемом вирусных атак и большим количеством пользователей, подключенных к Интернету дома и на работе. Высокую опасность представляют черви, внедряющиеся на ПК без участия пользователя. Вирусные инфекции, которые зависят от человеческого фактора, можно остановить с помощью антивирусных средств. Но черви распространяются самостоятельно, используя «дыры» в коде не только прикладных, но и системных программ, например драйверов сетевых карт. Проникший таким образом червь не может быть блокирован антивирусными средствами, поскольку он выполняется в том же кольце защиты, что и ядро системы.
Технология аппаратной антивирусной защиты на уровне процессора – это комплексное программно-аппаратное средство защиты, блокирующее код, внедренный через механизм переполнения буфера в системной программе. Такие «дыры» имеются во многих программах, так как они возникают часто по вине компиляторов исходного кода. Сегмент памяти, помеченный специальным битом, не может содержать исполнимого кода. При попытке перехода к выполнению кода из этого сегмента (а черви часто работают именно так) процессор генерирует специальное прерывание-исключение, которое будет обработано операционной системой, и пользователь будет оповещен о вирусной атаке. Конечно, существует ряд программ, которые используют такие переходы в своем коде, но они будут внесены в «белый» список и не будут блокироваться операционной системой.
Поддержка технологии антивирусной защиты имеется в операционных системах Windows ХР SP2, Windows 2003 Server SP1, Windows Vista, Windows 7 а также во всех текущих версиях ОС Linux.
11.5 Технология виртуализации
Вопросами поддержки виртуализации ведущие разработчики процессоров озаботились сравнительно недавно, в 2005 году. До этого развитие виртуальных машин проходило преимущественно в программном русле. Первой в этом деле была замечена компания VMware. В 1998 году она запатентовала свои наработки в области создания виртуальных машин и выпустила одноименный программный продукт.
Особой популярностью виртуальные машины пользовались у сторонников UNIX-платформ, так как позволяли запускать параллельно несколько операционных систем, включая Windows. Фактически эмулировалась работа нескольких компьютеров с собственными ОС.
Подобные возможности стали привлекательными для бизнес-сектора, когда стала очевидной экономия на оборудовании, инфраструктуре и обслуживании. Поэтому в скором времени появился ряд аналогичных продуктов и от других разработчиков. Даже софтверный гигант Microsoft успел обозначить свое присутствие в этом секторе, что являлось на тот момент дополнительным подтверждением перспективности данной задумки.
Поддержка виртуалицизации на аппаратном уровне является знаковым событием. В будущем это позволит решить проблему кроссплатформенности приложений и стереть границы между «родным» (для данной ОС) программным кодом и позаимствованным с другой платформы.
Примечание: операционная система или отдельные программы, выполняемые виртуальной машиной, называются гостевыми.
Гостевая операционная система (или приложение) может даже не догадываться, что работает не на отдельном физическом хосте, а всего лишь в режиме эмуляции.
Запуск программного обеспечения на виртуальных машинах имеет определенные преимущества с точки зрения безопасности, так как каждая задача работает в своем адресном пространстве и не имеет прямого доступа к данным других приложений.
В дополнение к обозначенным выше возможностям появляется еще и такое преимущество, как простота экспорта настроенных ОС или отдельных приложений с одного компьютера на другой. Это, в свою очередь, сокращает издержки обслуживания и настройки ПО.
Для небольших компаний использование технологий виртуализации станет существенным подспорьем в сокращении издержек при переходе с программно-аппаратной платформы на другую. Отпадает необходимость переписывать ПО заново. Оно сможет прекрасно работать в своей виртуальной среде, в то время как сидящий за компьютером человек для других нужд сможет использовать более современные программные средства.
Развитие технологий виртуализации особо интересно для хостинговых компаний, так как можно предоставить в распоряжение каждого клиента виртуальный сервер для размещения данных и ПО, при этом все данные будут физически размещаться и обрабатываться на одной высокопроизводительной машине. А сбой в одной из гостевых ОС в большинстве случаев не скажется на работе остальных.
Разработчики программ также оценят возможности запуска на одном хосте нескольких ОС. Это облегчит процедуры тестирования и отладки.
В то время как рынок средств виртуализации стал демонстрировать в последние годы тенденцию устойчивого роста, разработчики «железа» просто не могли оставаться в стороне. Именно поэтому как Intel, так и AMD разработали и внедрили две, по сути одинаковые, технологии – Intel Virtualization Technology (Intel VT) и AMD Virtualization (AMD-V).
Некоторые аналитики склоняются к тому, что вариант от AMD более прогрессивный, но пока обе компании находятся в поиске, так что точку в этом споре ставить рано.
Обе технологии сейчас уже используются в процессорах среднего и более высоких уровней. Изделия бюджетного сегмента данной возможности лишены.
Для того чтобы аппаратная виртуализация стала реальной, гостевым системам требовалось иметь прямой доступ к ресурсам процессора. Поэтому разработчикам процессорной логики пришлось изменить архитектуру ядер и ввести дополнительный набор инструкций.
В аппаратной реализации гостевые ОС контролируются специальной программой-менеджером «гипервизором». Отпадает необходимость запуска основной операционной системы, что экономит вычислительные ресурсы компьютера.
Режим виртуализации должен поддерживаться не только процессором, но и BIOS материнской платы. Это означает, что в случае ненадобности его можно отключить.