- •Глава 1. Основные понятия 9
- •Глава 8. Организация виртуальной памяти 227
- •Глава 9. Организация кэш-памяти 246
- •Глава1. Основные понятия
- •1.1. Система программно-аппаратных средств обработки информации
- •1.2.Традиционная классификация эвм
- •1.3. Структуры эвм
- •1.4. Многомашинные комплексы и многопроцессорные системы
- •1.5. Эволюция режимов работы эвм
- •1.5. Особенности построения и эксплуатации современных многопроцессорные и многомашинных комплексов.
- •Глава 2. Программная модель процессора
- •2.1. Общие понятия
- •2.2. Виды используемых структур памяти по принципам размещения и поиска информации
- •2.3. Организация оперативной памяти
- •2.3.1. Оперативная память и адресные пространства процессора
- •2.3.2. Адресация многобайтовых объектов в оперативной памяти
- •2.3.3. Структура и типы команд
- •2.4. Режимы адресации
- •2.5. Типы машинных арифметик
- •2.6. Управление потоком команд.
- •2.7. Контекст программы
- •2.8. Команды cisc- и risc-архитектуры
- •Глава 3. Программная модель мп Intel
- •3.1. Режимы работы
- •3.2. Программная модель 16-ти битового микропроцессора мп ia-16
- •3.2.1. Модель памяти
- •3.2.2. Порты ввода/вывода
- •2.2.3. Регистровый файл
- •3.2.4. Структура команд
- •3.3. Программная модель 32-битового микропроцессора
- •3.3.1. Основные особенности организации
- •3.3.2. Модель памяти
- •3.3.3. Регистровый файл
- •3.3.4. Структура команд и режимы адресации
- •3.3.5. Структура данных
- •Глава 4. Программные модели мп корпорации dec
- •4.1. Программная модель процессоров семейства pdp-11
- •4.2. Программная модель процессоров эвм vax-11 (см 1700)
- •Глава 5. Система прерывания
- •5.1.Функции системы прерывания и общие решения по реализации
- •5.2. Система прерывания в мп intel
- •5.2.1. Система прерывания в мп ia-16
- •5.2.2. Особенности системы прерывания в мп ia-32
- •5.2.3. Организация системы прерывания в pdp 11
- •Глава 6. Организация ввода-вывода
- •6.1. Система ввод/вывода
- •6.2.Теоретические основы операций ввода/вывода
- •6.3. Синхронизация передачи данных при вводе/выводе
- •6.3.1. Ввод/вывод с проверкой готовности
- •6.3.2. Ввод/вывод с использованием системы прерывания
- •6.3.3. Ввод/вывод с использованием устройств прямого доступа к памяти
- •Глава 7. Шинные интерфейсы
- •7.1. Общие положения
- •7.2. Асинхронный системный интерфейс "Общая шина"
- •7.3. Системные интерфейсы мп ia
- •7.4. Локальный интерфейс микропроцессора i80386
- •7.4.1. Особенности локального интерфейса i80386
- •7.4.2. Диаграммы работы локального интерфейса мп i80386
- •7.4.3. Модель функционирования локального интерфейса мп i80386. (интерфейс с конвейерной передачей данных)
- •7.4.4. Специальные циклы
- •7.5. Локальный интерфейс микропроцессора i486 (интерфейс с пакетной передачей данных)
- •7.5.1. Особенности локального интерфейса i486
- •7.5.2. Диаграммы работы локального интерфейса мп i486
- •7.5.3. Модель функционирования локального интерфейса мп i486
- •7.6. Локальный интерфейс мп Pentium (интерфейс с пакетной передачей данных и конвейеризацией передачи адреса)
- •7.7. Интерфейсы с расщепленными транзакциями
- •Глава 8. Организация виртуальной памяти
- •8.2. Основные задачи виртуальной памяти
- •8.3. Страничная организации виртуальной памяти
- •8.3.1. Страничная организация памяти
- •8.3.2. Виртуальная память на основе таблицы математических страниц
- •8.3.3. Упрощенная схема виртуальной памяти на основе таблицы физических страниц
- •8.3.4. Схема виртуальной памяти на основе таблицы физических страниц.
- •Глава 9. Организация кэш-памяти
- •9.1. Назначение и общая схема подключения кэш-памяти
- •9.2. Системы адресации кэш-памяти
- •9.3. Режимы работы кэш-памяти
- •9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
- •9.5. Организация когерентности системы кэш-памяти в многопроцессорных системах с общей оперативной памятью.
- •Основные переходы. При запросах на чтение (r):
- •Чтение (sr2):e в s. При запросах на запись (w):
- •Глава 10. Организация системы памяти на жестких дисках
- •10.1.Дисковые массивы и уровни raid
- •125Стр. Из 292
Глава1. Основные понятия
1.1. Система программно-аппаратных средств обработки информации
ЭВМ (компьютеры) в настоящее время являются основными средствами реализации информационных технологий. При помощи ЭВМ осуществляют сбор, обработку, хранение и передачу информации, представленной в дискретной форме. Очень часто информационные технологии, ориентированные на обработку данных в дискретной форме, называют компьютерными технологиями.
Последовательности обработки данных на ЭВМ задаются пользовательскими программами. Программы этого типа были единственными для первых ЭВМ. Но развитие ЭВМ и опыт их эксплуатации выявили полезность применения программ другого типа, предназначенных для повышения "интеллектуальных" способностей ЭВМ и упрощающих управление устройствами ЭВМ. Это системные программы, поставляемые изготовителями как компоненты ЭВМ.
Структурно ЭВМ представляет собой взаимодействующую совокупность двух компонентов: системы аппаратных средств (hardware) и системы программного обеспечения (software). Указанные системы в определенных рамках независимы, так что в ЭВМ можно по отдельности модернизировать (с некоторыми ограничениями) как аппаратные средства, так и программное обеспечение.
Для предусмотренного функционирования ЭВМ в ней должны протекать определенные процессы. Управление этими процессами может быть реализовано как аппаратными, так и программными средствами.
Как правило, для управления ЭВМ используется иерархическая система аппаратно-программных решений. При этом на самом нижнем уровне управления используются аппаратные средства, на верхних уровнях – программные.
Основой системы программного обеспечения является операционная система (ОС). ОС может наращиваться программными инструментальными средствами, сервисными программами (утилитами) и другими системными программами.
Аппаратные решения, как правило, приводят к уменьшению временных затрат, но программные решения более динамичны в реализации. Поэтому в эволюции современных ЭВМ развитие программных средств опережает развитие аппаратных, и суммарная доля стоимости разработки программных средств значительно превосходит долю стоимости разработки аппаратных средств.
Развитие программных средств требует непрерывного увеличения объема памяти ЭВМ и существенного увеличения быстродействия как памяти, так и процессора, стимулируя непрерывное совершенствование аппаратных средств.
Для уменьшения временных затрат часть программных решений заменяется на аппаратные, поэтому граница "полномочий" программных и аппаратных средств в разных моделях ЭВМ может не совпадать.
Развитие аппаратных средств происходит чаще путем увеличения быстродействия элементной базы, реализации идей по распараллеливанию процедур управления процессором и памятью, реже – путем аппаратных реализаций процедур программного обеспечения.
Программная совместимость ЭВМ
Центральным устройством ЭВМ является процессор. Процессор - это программно-управляемое устройство обработки информации. Обработка информации производится в соответствии с алгоритмом обработки.
Алгоритм - это точное предписание, определяющее порядок действий для достижения результата. Программа - это алгоритм обработки информации в грамматике конкретного языка программирования. Программирование заключается в декомпозиции процедуры обработки информации во множество операций. Языки программирования являются средствами создания программ.
В зависимости от назначения и степени декомпозиции языки программирования разделяются по уровням. Программы, написанные на этих языках высокого уровня, содержат укрупненные операторы, например сложные многооперандные (многоаргументные) арифметические или логические выражения.
Программу, написанную на машинном языке, называют исполняемой программой или машинным кодом. Среди языков программирования имеется язык программирования, ориентированный на человека, но максимально приближенный к машинному языку. Это язык ассемблера или ассемблер (assembler). Программа на языке ассемблера пишется в форме более удобной для чтения и понимания человеком, в ней используют символьные имена операций и операндов и более простую структуру полей.
Программы в машинных кодах получают путем трансляции (перекодировки) соответствующих программ, написанных на языках высокого уровня или на ассемблере. Трансляция производится специальными программами – компиляторами или интерпретаторами. Компиляторы выполняют перекодировку команд языка высокого уровня в машинные исполняемые коды до выполнения программы. Интерпретаторы используются реже. В этом случае перекодировка команд языка высокого уровня в машинные команды производится с использованием аппаратуры процессора в процессе выполнения программы.
В начальный период своего развития ЗВМ использовали процессоры с уникальными машинными кодами. Программы, написанные для одних ЭВМ, не могли использоваться на других ЭВМ даже в пределах одной фирмы. Отчасти это было обусловлено поисками оптимальных конфигураций процессоров и ориентацией их на разные области применений.
Современные ЭВМ выпускаются в виде семейств, или серий программно-совместимых моделей. Программная совместимость обеспечивает корректное исполнение программы в машинных кодах на всех ЭВМ определенного семейства, или серии. Теоретически путем моделирования работы одной ЭВМ на другой, все программы могут исполняться на всех ЭВМ, но наиболее эффективно программы исполняются в машинных кодах на соответствующих им процессорах.
Обычно программная совместимость сочетается с конструктивной совместимостью. Конструктивная совместимость обеспечивает стыковку конструктивных компонентов ЭВМ и обеспечивается соглашениями по конструкциям и размерам блоков и элементов ЭВМ: разъемов, панелей и т.д. Кроме этого, в ЭВМ могут использоваться и другие соглашения, например по интерфейсам. Интерфейс (interface) - термин многозначный. Здесь термином интерфейс обозначается совокупность средств и правил, обеспечивающих взаимодействие физических компонентов, или программ. Но указанные соглашения не определяют программную совместимость. В пределах одной серии ЭВМ могут использоваться различные конструктивные решения и разные интерфейсы. С другой стороны, в программно несовместимых ЭВМ могут использоваться одинаковые стандарты на конструкции и интерфейсы.
Соблюдение программной совместимости усложняет модификацию и эволюцию ЭВМ, удорожает модели семейства, но ее придерживаются в силу сложности разработки программ. Разработка программного обеспечения является достаточно трудоемкой работой, а ее результаты легко копируемыми и сохраняемыми. Программная совместимость при разработке новых моделей в серии (ряд программно совместимых поколений моделей ЭВМ) позволяет разработчикам использовать в новых моделях ЭВМ той же серии прежние наработки по программному обеспечению. Это позволяет значительно сократить затраты на разработку программного обеспечения.
Конечные пользователи при программной совместимости ЭВМ могут использовать старые прикладные программы в новых, более быстродействующих моделях. Это очень полезно при обновлении аппаратных средств вычислительных систем, в которых сложные прикладные программы используются для настройки системы на определенный вид долговременной работы. Примером могут служить системы прогноза погоды, продажи авиа- или железнодорожных билетов и т.д.
Семейство ЭВМ - это ряд программно совместимых моделей ЭВМ различной производительности и стоимости. Программная совместимость позволяет всем моделям семейства использовать общее программное обеспечение и пакеты прикладных (пользовательских) программ. Обычно, кроме программной совместимости, для всех моделей семейства соблюдается и конструктивная совместимость. Это позволяет всем моделям семейства использовать и общий парк периферийных устройств. Наличие семейства ЭВМ с разной стоимостью и производительностью расширяет рынок сбыта и, в конечном итоге, повышает рентабельность производства.
Программно-совместимые ЭВМ могут выпускаться не только одной фирмой. Например фирмы AMD и Cyrix выпускают микропроцессоры (МП) программно-совместимые с МП фирмы Intel. Программно-совместимые МП одного поколения, но разных фирм часто называют клонами.
Практика показала, что затраты на полную совместимость не оправдывают себя. В современных семействах и сериях ЭВМ, как правило, поддерживается совместимость в одну сторону: от младших моделей в семействах к старшим (например в семействе VAX-11 фирмы DEC) или от ранних моделей к последующим в сериях (например в сериях РС на основе МП Intel).
По словам разработчиков первого семейства программно-совместимых моделей IBM/360, создание семейства стало возможным благодаря осознанию того, что в ЭВМ полезно различать две независимые структуры: физическую и логическую.
Логическая структура - это структура ЭВМ с точки зрения пользователя и программного обеспечения. Это набор и структура команд, форматы данных, регистры и т.д.
Физическая структура - это то, что видит в ЭВМ инженер по электронике, разработчик микросхем.
Логическая и физическая структуры ЭВМ могут не совпадать. Многие особенности физической структуры прозрачны (невидимы) для программного обеспечения, если они не влияют на корректность выполнения программы и не требуют программного управления. Например, в МП Intel, начиная с Pentium Pro, используется внутренняя перекодировка программы и выполнение команд в новой структуре, но для программного обеспечения это невидимо.
Осознание возможности независимости логической и физической структур позволило специалистам IBM в рамках единой логической структуры создать ряд моделей ЭВМ с различной производительностью и физической структурой, что и обеспечивало их программную совместимость.
В настоящее время часто вместо терминов логическая и физическая структуры используют термины, соответственно, архитектура и микроархитектура.
Многоплатформенность программных продуктов
Платформой называется сочетание аппаратных средств ЭВМ и операционной системы. Многоплатформенность означает наличие программных продуктов, идентичных на уровне исходных текстов для разных программно-несовместимых ЭВМ.
Многоплатформенность программных продуктов направлена на решение проблем программной несовместимости при организации сложных многомашинных информационных систем, допускающих наращивание вычислительной мощности.
Многоплатформенность программных продуктов позволяет конечным пользователям выбирать их без учета особенностей своих ЭВМ. Но это не означает, что на всех ЭВМ будут использоваться одни и те же машинные коды. При приобретении программного продукта пользователь должен учитывать модель своей ЭВМ и используемую на ней ОС. При этом приобретаемые продукты для любых платформ будут совместимы на уровне исходных текстов (программ на языках высокого уровня) и иметь один и тот же пользовательский и программный интерфейс (форма взаимодействия с пользователем и сопряжение с другими программами).
Вопросы для самопроверки:
1. Назначение системных программ.
2. Причины опережения развития программных средств над аппаратными средствами ЭВМ.
3. Взаимное влияние эволюции аппаратных и программных средств ЭВМ.
4. Программная совместимость ЭВМ.
5. Причины появления программно совместимых ЭВМ.
6. Физическая структура ЭВМ.
8. Семейства ЭВМ, представители семейства ЭВМ.
9. Серии ЭВМ, представители серии ЭВМ.