
- •Основные понятия.
- •Понятие архитектуры и организации эвм.
- •Обобщенное понятие архитектуры.
- •Виды архитектуры эвм и их составные элементы.
- •Краткое представление основных элементов прикладной архитектуры компьютеров. Типы, форматы и способы представления данных, аппаратно поддерживаемых в эвм.
- •Для числовых данных необходимо представлять диапазон и точность. Программная модель (регистровая структура) процессора.
- •1) Полная специализация регистров, когда каждый регистр используется только по одному специальному назначению.
- •2) Полная универсализация, когда каждый регистр можно использовать по любому назначению.
- •Регистр ip (Instruction Pointer).
- •Регистр fr (Flag Register).
- •If (Interrupt Flag) – Флаг Прерывания
- •Адресная структура основной памяти и принципы размещения информации в ней. Принципы формирования физического адреса.
- •Режимы адресации.
- •Структура и форматы машинных команд.
- •Базовая система команд.
- •1. Поддержка защищённого режима (i286).
- •3. Включение в Pentium блока mmx (Multimedia Extension), система команд, которая содержит порядка 60 команд для поддержки принципа векторной обработки на уровне целочисленных данных.
- •Внедрение в кристалл процессора блока sse (sse2)
- •Cisc- и risc – архитектура.
- •Основные особенности risc – архитектуры.
- •Стремление к выполнению большинства машинных команд за 1 машинный такт (машинный цикл).
- •Широкое использование принципов суперскалярной и суперконвейерной обработки.
- •Команды загрузки и сохранения системных регистров.
- •Команды ввода/вывода: in/out, ins/outs.
- •Команда останова процессора - hlt.
- •Упрощенная структура компьютера (эвм).
- •1. Центральную;
- •2. Периферийную.
- •Организация ввода/вывода. Понятие, основные характеристики и уровни представления интерфейса.
- •1) Совокупность линий, шин, обеспечивающих обмен информацией между устройствами.
- •2) Алгоритм (протокол) обмена, определяющий последовательность организации передачи информации по линиям интерфейса.
- •3) Разделение интерфейса на ряд уровней представлений.
- •Основные характеристики интерфейса:
- •Пропускная способность определяется максимальным количеством бит или байт данных, передаваемых по интерфейсу за одну секунду.
- •Информационная ширина (количество бит или байт данных, передаваемых параллельно по шине данных, т.Е. Разрядность линии).
- •Максимально возможное удаление устройств, подключаемых к интерфейсу.
- •Шины (интерфейсы) персональных компьютеров на базе процессоров Pentium.
- •Основные аспекты организации ввода/вывода.
- •1.Структура компьютера в плане организации связей между ядром и периферийными устройствами:
- •2. Адресация к ву или пу. Основным аспектом, связанным с адресацией ву, является объединение или разделение адресных пространств памяти и ввода/вывода.
- •3.Способ организации ввода/вывода:
- •Адресация ву.
- •Способы адресации портов ввода/вывода и их сравнительный анализ.
- •Раздельное адресное пространство.
- •Единое адресное пространство.
- •Организация ввода/вывода с отображением на память обладает следующими достоинствами:
- •Недостатками использование совмещенного адресного пространства являются:
- •Способы организации ввода/вывода.
- •Ввод/вывод по прерыванию.
- •Прямой доступ к памяти – dma (Direct Memory Access).
- •2) Стандартные контроллеры dma позволяют реализацию следующих видов обмена:
- •В современных моделях пк для обмена с жесткими дисками наряду с dma также используется и pio. Канальный ввод/вывод (квв).
- •Основные функции квв:
- •Функции по установлению логической связи между ву и оп.
- •2) Функции, связанные с непосредственной передачей данных между ву и оп.
- •3) Функции, связанные с завершением обмена и разрушением логической связи между ву и оп.
- •Участие цп в организации квв сводится к выполнению следующих функций:
- •Классификация квв.
- •Сравнение Канального вв с pio и с dma.
- •Организация прерываний. Основные отличия организации прерываний в защищенном режиме по сравнению с реальным режимом.
- •Программируемый контроллер прерываний (pic i8259a).
- •Основные функции pic.
- •Внутренняя структура pic.
- •Шифратор выделенного запроса.
- •Основные режимы работы pic.
- •1) Fnm (Fully Nested Mode – Режим вложенных прерываний).
- •Взаимодействие между cpu и ведущим pic.
- •Основы программирования pic.
- •Приказы инициализации.
- •Icw1 имеет следующий формат:
- •Icw2 определяет базовый адрес последовательности векторов прерываний, размещаемых в таблице векторов прерываний. Собственно, под базовый адрес отводятся старшие 5 битов приказа(3-7).
- •Icw4 Наиболее важным битом приказа icw4 является бит 1, именуемый aeoi – Automatic End Of Interrupt.
- •Слова рабочих приказов.
- •Установка и отмена так называемого режима специального маскирования;
- •Установка и сброс режима опроса (полинга);
- •Разрешение чтения регистров irr и isr контроллера.
- •Организация центральных процессоров.
- •Как обрабатывающее устройство: цп осуществляет выполнение программ, связанных с какой-либо обработкой данных.
- •Как управляющее устройство: цп осуществляет координацию остальных устройств компьютера, а также связь компьютера с внешним миром.
- •Принципы построения и функционирования конвейеров команд.
- •Сравнение производительности последовательного процессора (без конвейера команд) и «параллельного» процессора (с конвейером команд).
- •Наличие в программах зависимостей по данным (конфликты по данным).
- •Использование различными блоками конвейера одного и того же ресурса (структурные конфликты).
- •Наличие при выполнении программы особых случаев, приводящих к прерыванию.
- •Различное время выполнения отдельных фаз машинных команд.
- •Большой разброс длительности фазы ех для различных машинных команд. Основные действия, выполняемые процессором на различных фазах (этапах) команды.
- •Санкт-Петербург
- •1. Принципы построения и функционирования компьютеров
- •1.1. Назначение компьютеров и принцип программного управления
- •1.2. Неймановский принцип программного управления
- •1.3. Структура компьютеров
- •1.4. Запоминающие устройства и организация памяти
- •1.5. Организация ввода-вывода данных
- •1.6. Принцип многоуровневой реализации функций
- •Программа
- •Аппаратура компьютера
- •2. Характеристики и классификация компьютеров
- •2.1. Характеристики компьютеров
- •2.2. Программно-аппаратный интерфейс и интерфейс прикладных программ
- •2.3. Быстродействие и производительность компьютеров
- •2.4. Емкость памяти
- •2.5. Надежность компьютеров
- •2.6. Стоимость компьютеров
- •2.7. Классификация компьютеров
- •Оглавление Предисловие 3
- •Принципы построения и функционирования компьютеров 7
- •Характеристики и классификация компьютеров 25
- •3.Архитектура компьютеров
- •3.1.Машинные слова и байты
- •3.2.Коды с обнаружением и исправлением ошибок
- •3.3. Представление данных в компьютерах
- •3.4. Способы адресации данных
- •3.5. Операции, выполняемые компьютерами
- •3.6. Системы команд компьютеров
- •3.7. Режимы работы компьютеров
- •3.8. Средства мультипрограммирования
- •3.10. Привилегированные операции и состояния процессора
- •3.11. Организация прерывания программ
- •3.12. Средства защиты памяти
- •4. Структура операционных устройств компьютера
- •4.1. Принцип микропрограммного управления операционными устройствами
- •4.2. Каноническая структура процессора
- •4.3. Конвейерные процессоры
- •5. Организация памяти компьютеров
- •5.1. Организация виртуальной памяти
- •5.2. Организация кэш-памяти
- •5.3. Организация raid – массивов
Санкт-Петербург
2003 год
Предисловие
Все компьютеры от самых маленьких стоимостью в один доллар до очень больших суперкомпьютеров стоимостью десятки миллионов долларов представляют собой технические системы, состоящие из аппаратуры и программ. Аппаратура компьютера – это одна или много полупроводниковых интегральных схем и устройств ввода-вывода, связанных в одну систему и способную выполнять десятки и сотни команд. Каждая из команд реализует простое действие: сложить, умножить, разделить одно число на другое и т. д. И только программы настраивают компьютеры на решение заданных людьми совокупностей задач: научных и технических, медицинских и биологических, коммерческих и социальных и т. д., т.е. любых разрешимых задач, относящихся к любой сфере человеческой деятельности.
Первый вопрос, который возникает перед человеком, какой компьютер можно использовать для решения конкретной задачи. Мир компьютеров весьма широк: компьютеры для научно-технических и коммерческих применений – персональные компьютеры, многопроцессорные серверы для подразделений, предприятий и корпораций и суперкомпьютеры, объединяющие в себе сотни и многие тысячи высокопроизводительных процессоров, а так же компьютеры специального применения, встраиваемые в технические объекты для управления ракетами, самолетами, автомобилями, прокатными станами, металлообрабатывающими станками и т. д. Мир задач, для решения которых используются компьютеры, значительно шире мира компьютеров. Ясно, то существует многомиллиардная разница между задачей управления стиральной машиной и задачей составления прогноза погоды для континента и Земли в целом. Для управления стиральной машиной требуется одна полупроводниковая интегральная схема, а для прогнозирования погоды может потребоваться большая компьютерная система, содержащая сотни мощных компьютеров, способных выполнять сотни миллиардов операций в секунду.
Основное представление о назначении компьютера дает архитектура компьютера, которая характеризует состав операций, выполняемых компьютером, производительность компьютера, определяемую количеством вычислительной работы, выполняемой компьютером за секунду, и, возможно, стоимость компьютера. Архитектура компьютера предопределяет совокупность задач, которые способен решать компьютер за приемлемое время. Так, производительность персонального компьютера должна быть согласована с производительностью человека, работающего с компьютером: персональный компьютер должен обеспечивать ввод символа текста и его отображение на экране монитора за доли секунды, выполнение простых функций за секунды и реализацию сложных задач за минуты и часы. Если сотни и тысячи людей могут в течение одной минуты обращаться с запросами к компьютеру, то вычислительная мощность персонального компьютера оказывается недостаточной для обслуживания всех поступающих запросов и приходиться использовать более мощные многопроцессорные серверы и даже суперкомпьютеры.
Архитектура больших компьютерных систем – серверов и суперкомпьютеров, значительно сложнее архитектуры персональных компьютеров, поскольку они рассчитаны для обслуживания массы пользователей – сотрудников подразделений, предприятий, корпораций и отраслей, работающих с персональными компьютерами. Серверы и суперкомпьютеры объединяют в себе десятки, сотни и тысячи процессоров, параллельно во времени обрабатывающих команды многих программ. Чтобы соединить между собой все процессы в единую систему, используется коммуникационная сеть, состоящая из коммутаторов, способных пересылать сообщения на заданные каналы связи. За счет коммуникационной сети все процессоры объединяются между собой в одну систему, имеющую высокую производительность, в десятки, сотни и тысячи раз превосходящую производительность ординарного процессора.
Крайне важная составляющая архитектуры компьютера – состав команд, выполняемых аппаратурой компьютера. Состав команд компьютера определяет: типы данных, которые способен обрабатывать компьютер, – целые числа, числа с плавающей запятой (точкой), логические значения, строки текстовых символов разной длины и т. д.; способы адресации данных, определяющие местоположение данных в памяти компьютера; состав операций, реализуемых аппаратурой компьютера, и способы их кодирования; структуру команд компьютера, определяющую местоположение в командах кодов операций и адресов операндов, и т. д. Ныне в разных компьютерах, производимых многими компаниями, используются различные системы команд, существенно влияющие на эффективность применения компьютеров для решения разных классов задач.
Уже говорилось, что не аппаратура компьютера определяет его функцию, а именно программы настраивают компьютер на выполнение заданных людьми функций. Стоит изменить состав программ, компьютер начинает реализовывать новый набор функций, т.е. решает новый набор задач. Этот принцип называется принципом программного управления компьютером.
Основу программного обеспечения компьютеров оставляет операционная система – комплекс программ, обеспечивающий управление устройствами компьютера и процессами выполнения программ. Операционная система вводит достаточно широкий набор макроопераций – программ управления устройствами и процессами, которые обеспечивают возможность создания различных систем программирования (языков программирования), систем управления данными и систем контроля работоспособности устройств компьютера, программ и данных. Благодаря операционной системе, т.е. ее программам, интеллект аппаратуры компьютера значительно расширяется, и становиться достаточным для создания многочисленных инструментальных систем и различных прикладных программ, определяющих конечное назначение компьютера. Таким образом, аппаратура компьютера и операционная система сливаются в единую систему, способную выполнять широкий набор операций и называемую компьютерной платформой, на основе которой строится все остальное программное обеспечение компьютера.
При изложении принципов построения и функционирования компьютеров используются понятия, относящиеся к общей теории систем. В общей теории систем такие понятия в силу их общности трактуются не всегда однозначно. Чтобы достичь однозначности в понимании последующего материала, определим эти понятия применительно к компьютерным системам.
Элемент – это минимальный неделимый объект. Свойства элемента – это его свойства как целого. Элемент можно использовать только как целое, поэтому недопустимо говорить о половине или четверти элемента. Неделимость элемента – это прежде всего удобное понятие, но не физическое свойство. Оперируя понятием элемент, исследователь оставляет за собой право перейти на другой уровень рассмотрения вопросов и говорить о том, из чего состоит элемент, а это свидетельствует о физической разложимости последнего. Таким образом, объекты называются элементами по соглашению, принимаемому с целью дать ответ на определенные вопросы, стоящие перед исследователями. Изменение вопросов может потребовать разложения элементов на составные части или объединения нескольких элементов в один.
Система – это совокупность связанных элементов, объединенных в одно целое для достижения определенной цели. Здесь под целью понимается совокупность результатов, определяемых назначением системы. Наличие цели и заставляет связывать элементы в систему. Целостность – наиболее важное свойство системы. Элемент принадлежит системе потому, что он связан с другими ее элементами, так что множество элементов, составляющих систему, невозможно разбить на два или более несвязанных подмножества. Удаление из системы элемента или совокупности элементов непременно изменяют ее свойства в направлении, отличном от цели. Искусственные (инженерные) системы описывают путем определения их функций и структур.
Функция системы – это правило получения результатов, предписанных целью (назначением) системы. Определяя функцию системы, ее поведение описывают с использованием некоторой системы понятий – отношений между переменными, векторами, множествами и т. д. Функция устанавливает, что делает система для достижения поставленной цели безотносительно к физическим средствам (элементам, связям), составляющим саму систему, и не определяет, как устроена система. Системы изучают на разных уровнях абстракции, с использованием различных подходов, каждый из которых дат ответ на определенные вопросы. В связи с этим функции системы могут описываться с разной степенью детализации. Для описания функций систем используются теории множеств, алгоритмов, случайных процессов, информации и т. д. Функционировать – значит реализовать функцию, т. е. получать результаты, предписанные назначением системы.
Структура системы – это фиксированная совокупность элементов и связей между ними. В общей теории систем под структурой принято понимать только множество связей между элементами, т. е. структура понимается как картина, отображающая только конфигурацию безотносительно к составляющим ее элементам. Такое толкование этого понятия удобно при структурном подходе к изучению свойств различных систем – систем с параллельными, последовательными, иерархическими структурами, обратными связями и т.п. На практике в понятие структура включают не только множество связей, но и множество элементов, между которыми существуют связи. Этот смысл отражен в данном определении структуры. Наиболее часто структура системы изображается в виде графа: элементы системы представляются вершинами графа, а связи – дугами (ребрами) графа. Граф – это математическая форма отображения структур. Инженерной формой изображения структур систем являются схемы. Схема и граф – понятия адекватные по содержанию, но различные по форме. В схемах элементы и связи обозначаются любыми фигурами, удобными для инженерных (производственных) применений.
Организация – это способ объединения элементов с целью осуществления определенных функций в системах, состоящий из элементов. Обычно к одной и той же цели можно прийти различными способами, исходя из различных принципов организации систем. Каждый принцип организации задает определенный способ построения множества систем, аналогичных по назначению, но различных по функциям и структурам. Конкретная система представляет собой лишь пример реализации некоторого способа реализации. Например, подавляющее большинство компьютеров строится на основе одного принципа организации – принципа программного управления реализацией алгоритма на основе команд, имеющих операционно-адресную структуру. Таким образом, организация – понятие более высокого ранга, чем функция и структура; организация – это модель, на основе которой могут строиться многие конкретные системы.
Если речь идет о способе порождения функций, достаточных для достижения определенной цели (определенных результатов), то используется термин функциональная организация системы, или архитектура системы. Если же речь идет о наборе элементов и способе их соединения в структуру, обеспечивающую реализацию функций определенного класса, то используется термин структурная организация системы. Определяя некоторый способ функциональной организации, выявляют класс функций, присущих системам определенного назначения (безотносительно к средствам, необходимым для реализации этих функций), а определяя способ структурной организации, выявляют правило построения структур, реализующих некоторый класс функций, т. е. отвечающих некоторому назначению. Очевидно, что производительность и стоимость системы связаны со знанием принципа структурной организации системы.
Анализ – это процесс определения свойств, присущих системе. Типичная задача анализа состоит в следующем. Известны функции и характеристики элементов, входящих в состав системы, и определена структура системы. Необходимо определить функции или характеристики, присущие совокупности элементов в целом.
Синтез – это процесс порождения функций и структур, необходимых и достаточных для получения определенных результатов. Выявляя функции, реализуемые системой, определяют некоторую абстрактную систему, о которой известно только то, что она будет делать. В связи с этим этап синтеза функций называется абстрактным синтезом, а этап порождения структуры, реализующей заданные функции, – структурным синтезом.
Эффективность – это степень соответствия системы своему назначению. Из двух систем более эффективной считается та, которая лучше соответствует своему назначению. Оценка эффективности системы – одна из задач анализа систем.
Показатель эффективности (качества) – это мера одного свойства (характеристики) системы. Показатель эффективности всегда имеет количественный смысл, т.е. является измерением некоторого свойства. По этой причине использование некоторого показателя эффективности предполагает наличие способа измерения (оценки) значения этого показателя. Для оценок эффективности систем могут применяться, например, такие показатели, как производительность, стоимость, надежность, габариты и т. п.
Критерий эффективности – это мера эффективности системы. Критерий эффективности имеет количественный смысл и измеряет степень эффективности системы, обобщая все ее свойства в одной оценке – значении критерия эффективности. Эффективность систем, создаваемых для одной цели, оценивается на основе одного критерия, общего для этого класса систем. Различия в назначениях систем предполагает, что для оценки эффективности таких систем используются различные критерии. Если при увеличении эффективности значение критерия возрастает, то критерий называется прямым; если значение критерия уменьшается, то инверсным. Из двух систем более эффектной считается та, которой соответствует большее значение прямого критерия (меньшее значение инверсного критерия).
Оптимальная система - это система, которой соответствует максимальное (минимальное) значение прямого (инверсного) критерия эффективности на множестве мыслимых вариантов построения систем.