Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коспекты Лекций ВСС и Т.doc
Скачиваний:
9
Добавлен:
11.08.2019
Размер:
737.28 Кб
Скачать
  1. Прямая адресация

Адресный код прямо указывает номер ячейки памяти, к которой производится обращение. Исполнительный код совпадает с адресным кодом.

Недостатком являются ограниченные возможности при обращении к адресному пространству большого размера (в лучшем случае, адресует с помощью разрядов только 16 Мб памяти).

Достоинство: простота.

  1. Косвенная адресация

Адресный код формируется путем обращения в ячейку оперативной памяти с адресом Ак, считывания содержимого этой ячейки и повторного обращения к оперативной памяти по считанному адресу. В результате второго обращения из памяти считывается сам операнд.

Достоинство: возможность адресации большего объема памяти – 4 ГБ.

Недостаток: 2 обращения к оперативной памяти при считывании одного операнда.

  1. Регистровая адресация

Регистр общего назначения (РОН) – часть процессора; самая быстрая память. В данном случае его наличие позволяет сократить адресацию команды.

Достоинство: наивысшая скорость реализации.

Недостаток: ограниченные возможности связи с малым числом РОН в процессоре – 16.

  1. Косвенная регистровая адресация

Адресное поле указывает на регистр процессора (R – номер регистра), в котором содержится адрес операнда в оперативной памяти.

Самая сбалансированная адресация:

  • Большой объем (4Гб)

  • Достаточная скорость

  1. Относительная адресация (базирование)

Данная адресация предназначена для работы с последовательностями команд.

В регистре с адресом В содержится адрес первой ячейки массива данных. В остальных командах будет содержаться только смещение Ак относительно этой базовой ячейки.

Используется сумматор. Адрес базы, считывается из РОН, складывается со смещением, получается Аисп, по которому производится чтение операнда из оперативной памяти.

Достоинство: компактность записи команды (указывается не весь адрес, а только смещение).

Недостаток: использование сумматора значительно увеличивает время реализации адресации.

  1. Индексная адресация

Характерным для ВМ является цикличность вычислительных процессов: одна и та же операция выполняется многократно над различными операндами, которые расположены упорядоченно в памяти. Программирование значительно упростится (на понадобится модификация адресов внутри команд), если после каждого выполнения цикла будет обеспечиваться автоматическое изменение в соответствующих командах, их адресных частях.

При индексной адресации в команде выделяется регистр Х для указания индексного регистра. Индексная адресация является развитием метода базирования. Код команды при этом остается неизменным. В то же время одна и та же команда может выполняться многократно при соответствующем изменении индекса. При этом исполнительный адрес формируется как сумма трех составляющих: Аисп = Х + B + Ак.

Таким образом, индексная адресация представляет собой удобный механизм для организации циклических вычислений.

Цикл выполнения команды

В ВМ программа реализуется центральным процессором посредством последовательного исполнения образующих эту программу команд. Действие, требуемое для выборки, т.е. извлечения из памяти и выполнения команды, называется циклом команды. В общем случае цикл команды включает в себя несколько составляющих, этапов:

  1. выборка команды

  2. формирование адреса следующей команды

  3. декодирование команды

  4. вычисление адресов операндов

  5. выборка операндов

  6. исполнение операции

  7. формирование признака результата

  8. запись результата

Рассмотрим каждый из этих этапов:

  1. Цикл начинается со считывания из памяти по адресу, хранящемуся в счетчике команд, очередной команды. Двоичный код команды помещается в регистр команды и с этого момента начинается ее реализация.

  2. Для большинства ВМ характерно размещение соседних команд в смежных ячейках памяти. Если извлеченная команда не нарушает естественного порядка выполнения программы, т.е. не является командой условного или безусловного перехода, то для вычисления адреса следующей команды достаточно увеличить содержимое счетчика команд на длину текущей выполняющейся команды. Если извлеченная команда это команда перехода, условного или безусловного, то формирование адреса следующей команды переносится на этап исполнения операции.

  3. Декодирование команды – прежде всего декодирование кода операции.

    • Какие действия нужны для выполнения команды.

    • Если команда использует операнды, то откуда их взять: из регистра или оперативной памяти.

    • Если команда формирует результат, то куда его направить.

По результатам декодирования происходит подготовка схем ЭВМ к выполнению установленных действий.

  1. Если операнды находятся в ОП, то осуществляется вычисление их исполнительных адресов. При этом учитывается используемый способ адресации (самые сложные вычисления – для индексной адресации).

  2. Вычисление исполнительного адреса используется для считывания операндов из памяти и занесения их в определенные регистры процессора. Наиболее часто операнды предварительно заносятся в специальные вспомогательные регистры процессора, а их пересылка на вход АЛУ производится на этапе исполнения команды.

  3. Реализация указанной в программе операции.

  4. Определение признака результата операции. Результат может быть меньше, больше или равен нулю. Признак заносится в специальный регистр – регистр признака результата.

  5. Данный этап присутствует только в цикле команд, который предполагает получение результата.

Важным элементом выполнения команд является организация прерываний и приоритетов. При организации мультипрограммного режима существуют две проблемы:

  1. защита памяти

  2. прерывания и приоритеты

При одновременном выполнении программ обеспечивается более равномерная и эффективная загрузка ресурсов, прежде всего центрального процессора (например: считывание с жесткого диска – задержка единицы миллисекунды, что соответствует потере нескольких тактов процессора).

Прерывание выполнения программы более приоритетной должно обеспечивать:

  • Завершение выполнения команды прерывания команды (в этом случае достаточно запомнить адрес выполненной последней команды).

  • Возврат к прерванной программе, он выполняется по принципу программного управления, с учетом запомненного адреса выполненной команды.

  • Необходимая глубина прерывания (до 16 отстранений).

Передача управления при прерывании

Центральный процессор

I Обобщенная схема центрального процессора

II Устройство управления

III Арифметико-логическое устройство

IV Процессоры с полным и сокращенным набором команд (CICS и RISC процессоры)

Обобщенная схема центрального процессора

Процессором называется функциональная часть ЭВМ, предназначенная для непосредственного осуществления процесса преобразования информации и управления этим процессом.

Процессор – это совокупность арифметико-логического устройства (АЛУ) и устройства управления (УУ).

Структура процессора

  • РА – регистр адреса – предназначен для хранения адреса ячейки ОП до завершения операции считывания или записи.

  • УкС – указатель стека

Стек – структура данных, организованная в виде ячеек памяти.

Стек организуется в оперативной памяти и запись (заполнение стека) происходит в сторону уменьшения адресов ячеек памяти, при этом вершина стека будет ячейкой, куда была произведена последняя по времени запись.

Именно в указателе стека хранится адрес его вершины, т.е. адрес ячейки, в которую будет физически в данный момент производиться запись. При записи в стек значение УкС уменьшается на единицу. При считывании из стека считывание производится из ячейки, на которую указывает адрес. При считывании значение УкС увеличивается на единицу после каждой операции.

  • СК – счетчик команд – двоичный счетчик, в котором хранится и модифицируется адрес очередной команды.

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

  • РК – регистр команд.

Команда извлекается из памяти и размещается при своем выполнении в РК. Этот этап носит название выборки команды. В РК команда хранится в течение всего времени своего выполнения.

  • РОН – регистры общего назначения - самый быстрый и минимальный по емкости тип памяти, называемый также иногда сверхоперативным запоминающим устройством. РОН служат для временного хранения операндов и результатов вычислений.

  • ИР – индексные регистры – служат для формирования адресов операндов при реализации циклических участков программ.

  • РПР – регистры признака результата – предназначены для фиксации и хранения признака, характеризующего результат выполнения арифметической или логической операции.

Содержимое РПР используется УУ для реализации условных переходов по результатам операций АЛУ.

  • Акк – аккумулятор – регистр с разнообразными функциями.

В нем может находиться один из операндов, участвующих в операции. В Акк может храниться результат предыдущей команды. Через Акк может производиться операция ввода/вывода.

Акк может быть отнесен как к АЛУ, так и к УУ. Также может рассматриваться как один из регистров.

  • Буферы: буфер данных (БД), буфер адреса (БА).

Буфер в общем предназначен для компенсации разницы в быстродействии взаимодействующих через буфер устройств.

БД и БА служат для согласования быстрого процессора и медленной памяти. В БД заносятся операнды при передаче в или из памяти. БА служит для передачи адресов ячеек оперативной памяти.

Устройство управления (УУ)

Процесс функционирования ВМ состоит из последовательности элементарных действий в ее узлах. Такие элементарные преобразования информации в течении одного такта сигнала синхронизации называются микрооперациями или элементарными операциями. Совокупность управляющих сигналов, вызывающих одновременно выполняемые элементарные операции образуют микрокоманду. Последовательность микрокоманд принято называть микропрограммой.

Управляющие сигналы вырабатываются УУ, а точнее микропрограммным аппаратом (МПА).

В структуре УУ выделяют две части:

  • управляющая часть (УЧ)

  • адресная часть (АЧ)

Рассмотрим каждую часть отдельно.

  1. УЧ – предназначена для координирования работы операционного блока АЛУ, АЧ УУ, ОП; также УУ вырабатывает управляющие сигналы (УС).

УЧ состоит из:

  • РК (регистр команд) – предназначен для приема очередной команды из памяти запоминающего устройства.

  • МПА – на основании расшифрованного КОП и СА вырабатывает определенную последовательность микрокоманд, обеспечивающих выполнение заданной операции.

Различают два вида МПА:

  • С жесткой (аппаратной) памятью

  • С программируемой логикой

  • УПП – узел прерываний и приоритетов – позволяет реагировать на различные ситуации, связанные с выполнением рабочих программ.

  1. АЧ состоит из:

    • ОППУ – операционный узел УУ (узел индексной арифметики) – обрабатывает адресные части команд и формирует исполнительные адреса операндов, а также адреса следующих команд.

    • РА – регистр адреса – хранит исполнительные адреса операндов

    • СК – счетчик команд – хранит адреса команд

МПА с жесткой логикой

Исходной информацией для УУ служат:

  • Содержимое РК

  • Флаги

  • Тактовые импульсы

  • Сигналы, поступающие с ШУ

КОП, хранящийся в РК определяет какие УС и в какой последовательности должны выполняться. Машинный цикл выполнения любой команды состоит из нескольких тактов. УС, по которым выполняется каждая микрооперация, должны вырабатываться в строго определенные моменты времени. Поэтому все УС «привязаны» к одним из тактовых периодов в рамках машинного цикла.

Дополнительным фактором, влияющим на формирование УС, является состояние флагов, отражающих ход вычислений.

Чтобы определить способ реализации МПА и жесткой логикой, необходимо описать внутреннюю логику (структуру) УУ, формирующую выходные УС, как булевую функцию входных сигналов.

МПА с программируемой логикой

Отличительная черта данного автомата – хранение микрокоманд в виде кодов в специализированном запоминающем устройстве, а именно в памяти микрокоманды. Каждой команде в этом запоминающем устройстве соответствует микропрограмма. Именно поэтому такой автомат называется автоматом с программируемой логикой или микропрограммным автоматом.

В составе данного МПА присутствуют:

  • Память микрокоманды

  • Регистр адреса микрокоманды

  • Дешифратор микрооперации (ДШМО)

  • Преобразователь кода операции

  • Формирователь адреса следующей микрокоманды

  • Формирователь синхроимпульсов.

Запуск микропрограммы выполнения операции осуществляется путем передачи КОП из РК на вход преобразователя КОП. В нем КОП преобразуется в начальный (первый) адрес микропрограммы. Этот адрес соответствует адресу первой микрокоманды в этой микропрограмме. Этот адрес через формирователь адреса микрокоманды поступает в регистр адреса микрокоманды. Выбранная по указанному адресу из памяти микрокоманда помещается в регистр микрокоманд.

Каждая микрокоманда содержит адресную часть (АЧ) и микрооперационную часть (МО):

  • МО – поступает на ДШМО, на выходе которого формируются УС.

  • АЧ – используется для формирования нового адреса; поступает на формирователь адреса микрокоманды. Адрес может зависеть на выходе преобразователя кода операции от исполнительных устройств. Этот адрес также зависит от флагов и привязки к конкретному синхросигналу.

Основным недостатком такого МПО является затрата времени на многократные обращения к памяти микрокоманд в процессе выполнения операции (команды).

Однако, такой МПО позволяет:

  • Реализовать очень сложные алгоритмы выполнения операции

  • Допускает их модификацию.

Арифметико-логическое устройство (АЛУ)

АЛУ предназначено для арифметической и логической обработки данных.

Функциональная схема АЛУ

Операционный блок (ОБ) выполняет арифметические и логические операции над операндами, подаваемыми на входные регистры А и В. Выбор операции, проводимой ОБ, определяется кодом команды, находящейся в данный момент в РК.

ОБ современных АЛУ строятся как комбинационные схемы, т.е. не обладают внутренней памятью, входные операнды должны сохраняться во входных регистрах до конца выполнения операции.

Операционный блок

  • ФК – формирователь кодов – в зависимости от знака операнда они формируют либо прямой код (если операнд положительный), либо дополнительный (если операнд отрицательный или является вычитаемым).

  • СМ – сумматор – выполняет микрооперации арифметического сложения, сложение по модулю 2 (XOR), логическое сложение, логическое умножение.

  • ФПР – формирователь признака результата – формирует флаги.

Процессоры с полным и сокращенным набором команд (CICS и RISC процессоры)

RISC – reduced instruction set computer

CISC – complex instruction set computer

ВМ, которые используют универсальный набор команд, относятся к классу CISC. К этому типу относится преобладающая часть ВМ, выпускаемых в настоящее время.

Существует семантический разрыв между современными технологиями программирования на языках высокого уровня и возможностями ВМ, построенных по схеме фон Неймана. Для машин CISC разрешение семантического разрыва ведет к усложнению архитектуры ВМ, главным образом к усложнению УУ, что сказывается на производительности машины в целом; в машинах типа CISC очень трудно организовать эффективный конвейер команд.

С другой стороны, анализ программ, полученных после компиляции с языков высокого уровня, позволяет сделать следующие выводы:

  • Реализация сложных команд требует увеличения емкости управляющей памяти (памяти МПА). Такие сложные команды могут занимать до 60% управляющей памяти в то время, как их доля в общем объеме программы как правило составляет 0,2%.

  • В откомпилированной программе операторы языка высокого уровня реализуются в виде процедур (подпрограмм), которые нужно вызывать. Поэтому на действия, связанные с вызовом процедуры и возвратом от нее, тратится в общем объеме 15-45% вычислительной нагрузки.

  • При вызове процедуры передаются аргументы, не более 6 в 98%. В 80% эти аргументы – локальные, т.е. при выходе они удаляются.

  • Половину операций в ходе вычислений составляют операции присваивания.

Исходя из этого, определяются требования к специализированным ВМ с сокращенным набором команд (RISC).

Направления при разработке систем RISC:

  • Эффективный конвейер команд, т.е. все команды должны выполняться примерно за одно время.

  • Идеальным признается вариант, при котором любой этап цикла команды выполняется в течение одного тактового периода.

  • Команды должны быть одинаковой длины и иметь простую систему декодирования; в сокращенном списке команд должны оставаться только те, которые используются наиболее часто.

Исследования показали, что на долю 20% команд приходится 80% затрат машинного времени – принцип Парето.

Вывод: RISC-процессоры характеризуются следующим образом:

  1. Все операции, кроме операций чтения и записи, имеют тип «регистр-регистр», т.е. все операции допускают взаимодействие только между регистром и регистром. Именно поэтому для RISC общее количество РОНов – 32 (минимум).

  2. Выполнение практически всех команд за один цикл.

  3. Стандартная однословная длина всех команд, равная длине слова операнда и одновременно равная ширине ШД.

  4. Малое количество команд (примерно 70-80, иногда >128).

  5. Малое количество форматов команд (не более 4).

  6. Не более четырех способов адресации.

  7. УУ, как правило, с жесткой логикой.

Достоинства:

  • Быстродействие (сокращение набора команд, унификация набора команд, их размера и длительности выполнения способствует эффективной конвейерной обработке)

  • Простая структура УУ (для RISC структура занимает не более 10% от площади кристалла, что увеличивает свободное место для дополнительных устройств: КЭШ-память, порты ввода/вывода, оперативная память)

Недостатки:

  • Сокращенный набор команд

Приходится тратить для выполнения ряда функций несколько команд в RISC вместо одной в CISC, это удлиняет код программы, а следовательно, увеличивает загрузку памяти и напряжение взаимодействия (трафик команд) между памятью и центральным процессором. В результате, средняя длина программы на RISC-процессоре на 30% больше, чем на CISC.

  • Большое число регистров

Это приводит к сложности декодирования номера регистра.

  • Жесткая логика

Затрудняется поиск и устранение ошибок при создании программы; сложная реализация при выполнении сложных команд.

Память компьютера

I Характеристики памяти

II Иерархия системы памяти компьютера

III Управление памятью компьютера

Характеристики памяти

В любой ВМ программы и данные хранятся в памяти того или иного вида. Функции памяти обеспечиваются запоминающими устройствами (ЗУ). ЗУ предназначены для фиксации, хранения и выдачи информации в процессе работы ВМ. Процесс фиксации – запись, процесс выдачи – чтение.

Перечень основных характеристик ЗУ:

  1. Расположение

ЗУ:

  • Процессорные

Наиболее быстрые виды памяти: регистры, КЭШ-память первого уровня – обычно размещаются на одном кристалле с центральным процессором; регистры общего назначения – часть центрального процессора.

  • Внутренние

ЗУ, расположенные на системной плате: ОП, КЭШ-память второго и последующих уровней.

  • Внешние

Медленные ЗУ большой емкости, подключающиеся к ядру ВМ аналогично устройствам ввода/вывода: магнитные диски.

  1. Емкость

Характеризуется числом битов или байтов, которые могут храниться в ЗУ.

  1. Единица пересылки

Для ОП единица пересылки определяется шириной ШД. Обычно единица пересылки равна длине слова, реализованного в ВМ. Применительно к внешней памяти, данные часто передаются единицами, превышающими длину (размер) слова, это либо страницы, либо блоки.

  1. Методы доступа

  • Последовательный

ЗУ ориентированны на хранение информации в виде последовательных блоков данных, называющихся записями.

Проблема: для доступа к каждому элементу необходимо прочитать все предшествующие ему данные. Таким образом, время доступа зависит не столько от физических характеристик ЗУ, сколько от расположения элемента внутри данной записи.

  • Прямой

Каждая запись имеет уникальный адрес, отражающий ее физическое размещение на носителе информации. Обращение осуществляется как адресный доступ к началу записи с последующим последовательным доступом к определенной единице информации внутри записи. Время доступа также является переменной величиной.

  • Произвольный

Каждая ячейка памяти имеет уникальный физический адрес. Обращение к любой ячейке занимает одно и то же время и может производиться в произвольной очередности. Примером такого ЗУ служит ОП.

  • Ассоциативный

Это нечасто используемый вариант доступа. Он позволяет выполнять поиск ячеек, содержащих такую информацию, в которой значения отдельных битов совпадает со значениями битов в заданном образце. Такая память реализует сравнение ячеек параллельно и независимо от ее емкости. По ассоциативному принципу построены некоторые блоки КЭШ-памяти.

  1. Быстродействие

Определяет один из важнейших показателей памяти.

Для количественной оценки используются три параметра:

  • Время доступа – интервал времени от поступления запроса до момента, когда данные становятся доступными.

  • Длительность цикла памяти (период обращения) – включает в себя время доступа и дополнительное время, которое требуется для затухания сигнала в линиях, в некоторых случаях – для восстановления считанной информации.

  • Скорость передачи – скорость, с которой информация передается из памяти в память.

  1. Физический тип

    • Полупроводниковая память

    • Память с магнитными носителями

    • Оптические носители

  1. Физические особенности ЗУ

  • Энергозависимая память - после снятия напряжения данные не сохраняются (например: полупроводниковая)

  • Энергонезависимая память - после снятия напряжения данные сохраняются (например: магнитная и оптическая)

  1. Стоимость

Оценивается отношением общей стоимости ЗУ к его емкости в байтах.

Иерархия системы памяти компьютера

Память считают узким местом ВМ из-за серьезного отставания по быстродействию от процессора.

Самый быстрый, но минимальный по объему уровень – регистры (сверхоперативные ЗУ). Как правило количество регистров не велико, но, например, в RISC-процессорах их много (32-500).

Основная память (ОП) значительно большей емкости располагается несколькими уровнями ниже.

Между ОП и регистрами – КЭШ-память, которая по емкости существенно проигрывает ОП, но существенно превосходит ее по быстродействию. В современных ВМ КЭШ-памяти несколько. Каждый ее последующий уровень имеет большую емкость и худшее быстродействие. КЭШ-память предназначена для временного хранения данных; она предугадывает пожелания процессора, что потребует процессор в следующую микросекунду. ОС подставляет в КЭШ данные, которые могут понадобиться процессору далее. Искусство ОС – предугадать желания процессора.

Долговременное хранение больших объемов информации обеспечивается внешними запоминающими устройствами – внешняя память.

ОП представляет собой вид памяти, к которой центральный процессор (ЦП) может обращаться непосредственно. Информация, хранящаяся на внешних ЗУ, становится доступной для процессора, когда она будет переписана в ОП.

ОП образована ЗУ с произвольным доступом (обращение к ячейкам занимает одно и то же время, обращение производится в любой последовательности).

ОП может включать в себя два типа устройств:

  • Оперативные ЗУ (ОЗУ)

  • Постоянные ЗУ (ПЗУ)

ОЗУ – образуют преимущественную долю памяти. ОЗУ допускают как чтение, так и запись информации. Для большинства ОЗУ характерна энергозависимость.

ПЗУ – специализируются на чтении (считывании) информации, не допускают ее изменения. ПЗУ энергонезависимы.

Структура адресной памяти

  • Запись → информация направляется в память

Начальное состояние:

ША: куда

ШУ: команда записи

ШД: записываемое слово

После дешифрации выбирается требуемая ячейка и записываемое слово через усилители записи заносится в выбранную ячейку.

  • Считывание

Начальное состояние:

ША: откуда (адрес ячейки)

ШУ: команда чтения

ШД: ―

Выбор после дешифрации заданной ячейки. Через усилители считывания занесение в регистр данных считанной информации. Данные поступают на ШД.

Управление памятью компьютера

Под управлением памятью понимается организация взаимодействия между уровнями иерархии памяти, а также обеспечение псевдопараллельного обращения в ОП. При этом возникают следующие проблемы:

  1. Многоабонентность ОП в современных ВМ, т.е. к ОП обращается не один процессор, а еще кто-то. Обычно эта проблема решается путем построения сложного блока управления памятью.

  2. Уменьшение реального времени обращения к памяти. Для этого используются косвенные методы, т.к. характеристики уже существующих элементов памяти нельзя изменить. Такими методами являются:

  • Модульная (блочная) организация ОП, приводящая к так называемому расслоению памяти;

  • Использование КЭШ-памяти.

  1. Организация мультипрограммных режимов работы ВМ (внутри ОП одновременно находятся программные коды и данные нескольких программ). Данная проблема решается путем организации защиты памяти.

  2. Для мультипрограммных режимов характерно постоянное и неизбежное обращение к внешним ЗУ. Отсюда возникает необходимость сократить количество этих обращений и объем информации, участвующей в этом обмене.

Модульная организация памяти

Емкость ОП слишком велика, чтобы ее (емкость) можно было реализовать на базе единственной интегральной схемы. Поэтому необходимо объединить несколько интегральных схем. Необходимость такого объединения возникает также, когда разрядность ячеек в микросхеме ЗУ меньше разрядности слов ВМ.

Увеличение разрядности памяти

D 0

Представленная совокупность интегральных микросхем – модуль памяти. Один или несколько модулей образуют банк памяти. В общем случае ОП ВМ всегда имеет блочную структуру, т.е. содержит несколько банков.

При использовании блочной памяти, состоящей из некоторого количества банков, n-адрес ячейки А преобразуется в пару А=(b;W), где b – номер банка (b = ), W – адрес ячейки внутри банка. Имеются три схемы распределения разрядов адреса А между b и W:

  1. блочная схема

  2. схема с чередованием адресов (расслоение памяти)

  3. блочно-циклическая схема (комбинация двух первых схем)

  • Структура блочной схемы

В данном случае дешифрация адресов осуществляется быстро, обращение к банкам данных - медленно. Это дает возможность параллельной работы при обращениях к банкам данных.

Схема функционирует следующим образом:

  • разряды А7 и А8 позволяют выбрать только тот банк, в который требуется обращение;

  • разряды А6..А0 поступают одновременно во все банки; происходит одновременное обращение к одинаковым номерам ячеек в каждом банке.

В функциональном отношении такая ОП может рассматриваться как единое ЗУ, емкость которого равна суммарной емкости составляющих ее банков, а быстродействие – быстродействию отдельного банка.

  • Схема с чередованием адресов (расслоение памяти)

Расслоение заключается в расположении ячеек по возрастанию их адресов не последовательно (внутри банка), а слоями (в соседних банках). Образуется горизонтальный слой ячеек (0, 1, 2, 3). В результате, обеспечивается высокая вероятность того, что последовательные обращения процессора в ОП будут производиться к различным банкам, а не к одному, как было ранее. Это позволяет обеспечить параллельные обращения к нескольким банкам данных.

Прием чередования адресов базируется на свойстве локальности по обращению, т.е. свойстве, согласно которому, доступ в память обычно производится к ячейкам, имеющим смежные адреса.

  • Блочно-циклическая схема

Каждый банк состоит из нескольких модулей, адресуемых по круговой схеме (как в схеме с чередованием адресов). Адреса между банками распределены по блочной схеме. Таким образом, адрес ячейки разбивается на три части. Старшие биты определяют номер банка, следующая группа разрядов адреса указывает на ячейку в модуле, а младшие биты адреса выбирают модуль в банке.

Эффективность данного приема зависит от частоты независимых обращений к разным банкам. Лучшего результата можно ожидать при большом числе банков, что уменьшает вероятность последовательных обращений к одному и тому же банку памяти.

Виртуальная память

Необходимо учитывать два обстоятельства:

  1. вся программа целиком не умещается в ОП из-за ее большого размера

  2. в каждый момент времени в ЭВМ происходит работа только с достаточно небольшим участком программы.

Следовательно, можно применить виртуализацию памяти.

Под виртуальной памятью понимается метод автоматического управления иерархической памятью, при котором программисту кажется, что он имеет дело с единой памятью большого объема и высокого быстродействия.

В рамках идеи виртуализации памяти ОП рассматривается как протяженное пространство адресов, называемое линейным пространством. Для задачи, в которой требуется число ячеек ОП большее, чем может предоставить ОП, организуется замена при обращении в ОП ячеек ОП на аналогичные ячейки, находящиеся как бы в ОП, а на самом деле – на жестком диске.

Таким образом, различают адреса физические и виртуальные. Физические адреса формируются на основании виртуальных адресов, а виртуальные адреса могут перекрывать все пространство ОП для каждой программы, находящейся в ОП на исполнении.

Очевидно, что при реализации виртуальной памяти, необходима «подкачка» из ВЗУ жесткого диска в ОП, если произошло указание на виртуальный адрес.

Существует два класса систем виртуальной памяти:

  1. системы с фиксированным размером блоков обмена (страничная адресация)

  2. системы с переменным размером блоков (сегментная адресация)

Программное обеспечение компьютера

I Классификация программного обеспечения

II Операционные системы

III Концепция потоков

IV Режимы работы компьютера

Классификация программного обеспечения

Программа – упорядоченная последовательность команд, которая выполняется компьютером для решения той или иной задачи.

Документы – материалы, содержащие описания и инструкции пользователя.

Программное обеспечение (ПО) – совокупность программ обработки данных и документов, необходимых для их эксплуатации.

По функциональной предназначенности различают два класса программных продуктов:

  1. системное ПО (общее);

  2. прикладное ПО (специальное).

  • Системное (общее) ПО

Программы, относящиеся к этому классу, предназначены для управления работой аппаратной части компьютеров или компьютерных систем. Они не решают конкретных задач пользователя, но создают условия для их решения.

Эти программы обеспечивают решения следующих задач:

  • Обеспечение устойчивой работы компьютера и сети;

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

  • Диагностика аппаратной части компьютера;

  • Выполнение вспомогательных технологических операций (резервное копирование, архивирование, восстановление файлов).

Общее ПО включает в себя:

  • ОС - операционная система

  • САП – средства автоматизации программирования

  • ППос – пакеты программ, дополняющие возможности ОС; программные оболочки

  • КПТО – комплекс программ технического обслуживания

  • СД – системы документации

  • ОС служит для управления вычислительным процессом путем обеспечения его необходимыми ресурсами.

  • САП

Трансляторы:

  1. Транслятор-интерпретатор

осуществляет перевод и выполнение данной программы покомандно

  1. Транслятор-компилятор (более быстрый, более сложный)

преобразует весь модуль целиком

Редактор – объединяет программные блоки в единую программу.

Загрузчик – обеспечивает вызов готовых к решению программ в ОП и их активизацию.

Библиотекарь – управляет размещением, идентификацией и выборкой.

  • ППос предназначены для автоматизации и работы с файлами и каталогами. Когда прямое использование команд ОС затруднительно, их заменяют оболочками (пример: Norton).

  • КПТО (сервисное ПО) предназначен для проверки работоспособности вычислительного комплекса. К сервисному ПО относят программы как входящие в состав самой ОС, так и устанавливаемые дополнительно.

По функциональному признаку выделяют:

  1. программы диагностики работоспособности компьютера

  2. программы обслуживания дисков, обеспечивающих контроль качества поверхности магнитных дисков, контроль сохранности файловой системы;

программы сжатия дисков;

программы резервных копий;

программы резервирования данных на внешних носителях.

  1. антивирусные программы

  2. программы архивирования данных

  3. программы обслуживания сети

  4. системы документации (СД) – определяют порядок и правила использования программных средств, а также правила разработки новых программных компонентов.

  • Специальное ПО

Содержит пакеты прикладных программ пользователя, которые обеспечивают специфическое применение компьютеров и ВС.

Прикладной программой называется программный продукт для решения конкретных задач пользователя. Программы объединяются в пакеты (например: Microsoft Office).

Операционные системы

ОС – главный компонент ПО; она занимает центральное место в системе ПО.

ОС – совокупность программных средств, осуществляющих и обеспечивающих:

  • Управление ресурсами компьютера;

  • Запуск прикладных программ (ПП) и их взаимодействие с внешними устройствами и другими программами;

  • Диалог пользователя с компьютером.

ОС классифицируются по следующим признакам:

  1. количество одновременно работающих пользователей:

  • однопользовательские

  • многопользовательские

  1. по числу процессов, одновременно выполняющихся под управлением системы:

  • однозадачные

  • многозадачные

  1. по количеству поддерживаемых процессоров:

  • однопроцессорные

  • многопроцессорные

  1. разрядность кода ОС:

  • 32

  • 64

  1. тип интерфейса:

  • командные (текстовые)

  • объектноориентированные (графические)

  1. тип доступа пользователя к ПК:

  • ОС с пакетной обработкой, разделением времени

  • ОС с реальным временем

  1. тип использующихся ресурсов:

  • сетевые ресурсы

  • локальные ресурсы

Операционная среда – набор функций и сервисов ОС и правила обращения с ними; также набор интерфейсов, необходимых программам и пользователям для обращения к ОС с целью получения определенного сервиса.

Среда отличается от системы тем, что:

    • ОС в общем случае может содержать несколько операционных сред;

    • Операционная среда может содержать несколько интерфейсов;

    • Операционная среда предоставляет системное программное окружение, в котором могут выполняться программы, созданные по правилам работы этой среды.

Компонентный состав ОС

ОС

Задание – требование пользователя выполнения определенного набора вычислительных работ.

Каждое задание реализуется как определенная последовательность программ – задач.

  1. Управление заданиями

ОС осуществляет предварительное (статичное) планирование потока заданий для выполнения и такое же распределение ресурсов между одновременно выполняемыми заданиями. Такое планирование производится на этапе инициации, т.е. на этапе подготовки выполнения.

Ресурсы:

  • Память (вся);

  • Устройства монопольного использования.

Такие ресурсы (статические) закрепляются с момента инициации до момента завершения.

Управление статическими ресурсами – мониторинг.

Программы, осуществляющие управление - мониторы.

  1. Управление задачами

ОС осуществляет динамическое распределение ресурсов между несколькими задачами, решаемыми одновременно в мультипрограммном режиме.

Выполняет динамическое управление – супервизор (планировщик).

  1. Управление данными

ОС обеспечивает все операции ввода/вывода на физическом и логическом уровне.

  • Организация необходимых информационных структур, таблиц;

  • Управление файловыми системами, каталогами;

  • Управление прямым доступом к памяти;

  • Обработка ошибок ввода/вывода.

  1. Управление восстановлениями

ОС регистрирует машинные сбои и отказы, восстанавливает работоспособность системы.

Основные аппаратные ресурсы, подлежащие распределению ОС:

  • Время работы процессора;

  • Адресное пространство ОП;

  • Оборудование ввода/вывода;

  • Файлы во внешней памяти.

Характеристика ОС Windows XP:

    • Многопользовательская;

    • Многозадачная;

    • Сетевая;

    • С графическим интерфейсом;

    • 32-х разрядная;

    • Вытесняющая многозадачность (операционная система может временно прервать текущий процесс без какой-либо помощи с его стороны);

    • Многопоточность;

    • Возможность подключения внешних устройств по технологии Plug&Play («включил и играй (работай)» — технология, предназначенная для быстрого определения и конфигурирования устройств в компьютере и других технических устройствах);

    • Совместимость с ранее созданными программными продуктами;

    • Наличие коммуникационных программ;

    • Используется возможность реализации виртуальной памяти.

Концепция потоков

Процесс – выполняемая программа (программа в стадии выполнения); целенаправленный акт обработки данных.

При выполнении программ различают следующие состояния процесса:

  • Порождение → подготавливаются условия для первого выполнения на процессоре;

  • Готовность → программа исполняется, все ресурсы предоставлены, кроме одного – процессорного времени;

  • Активное → программа выполняется;

  • Ожидание → программа не выполняется на процессоре по причине занятости какого-либо требуемого ресурса;

  • Окончание → нормальное или аварийное окончание программы;

После окончания ни процессорное время, ни ресурсы не предоставляются.

С каждым процессом связывается его адресное пространство, содержащее саму программу и данные к ней. С помощью набора процессов мы будем представлять функционирование ПО.

Располагая одними и теми же аппаратными ресурсами, но управляя разными ОС, компьютер работает с разной эффективностью. Наибольшие сложности в управлении возникают в отношении ресурсов в мультипрограммных режимах.

Мультипрограммный режим (мультипрограммность, мультиздачность) – такой способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняется несколько программ. Чтобы поддерживать мультипрограммирование, ОС должна определить внутренние единицы работы, между которыми будет разделяться процессорное время и другие ресурсы.

Принято выделять три типа единиц работы:

  1. крупные работы (процесс или задача)

  2. менее крупные работы (поток или нить)

  3. более крупные работы (задание или Job) - наборы из одного или нескольких процессов, управляемые как единое целое.

В частности с каждым заданием ассоциированы квоты и лимиты ресурсов. Квоты и лимиты включают себя:

  • максимальное количество процессов;

  • суммарное время центрального процессора и задания;

  • максимальное количество используемой памяти для процесса и всего задания.

Процессы рассматриваются ОС как контейнеры для всех видов ресурсов кроме процессорного времени. Процессорное время распределяется между другими единицами – потоками. Потоки представляют собой последовательности команд. Каждый процесс начинается с одного потока, а новые потоки могут порождаться динамическим процессом. В простейшем случае процесс состоит из одного пока. Процесс завершается по завершению последнего активного его потока.

Взаимосвязь между заданиями, процессами и потоками

Между потоками осуществляется переключение, на которое в ОС затрачивается довольно много времени, т.к. в этом режиме происходит переход из режима пользователя в режим ядра и обратно. Для облегченного параллелизма, т.е. для ликвидации перехода из режима пользователя в режим ядра и обратно используются волокна (fiber). Они подобны потокам, но планируются в пространстве пользователя. У каждого потока может быть несколько волокон. Когда одно волокно блокируется, то оно помещается в очередь блокированных волокон, после чего для работы выбирается другое волокно в пределах (контексте) того же потока. При этом ОС не догадывается о смене волокон. Для нее ничего не меняется, т.к. тот же поток продолжает работу.

Иерархия рабочих единиц

Любая работа ВС заключается в выполнении некоторой программы. Поэтому и с процессом, и с потоком связан определенный программный код, который оформляется в виде исполняемого модуля. Процессы общаются между собой через ОС, она является для них посредником. Это долго и трудно, поэтому необходимо распараллеливать работу в пределах одной задачи. Для этого задача (приложение) разделяется на несколько процессов. В этом случае при использовании стандартных средств ОС не учитывается:

  • процессы решают единую задачу;

  • работают с одними и теми же данными;

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

При этом ОС рассматривает такие связанные процессы как обыкновенные процессы и изолирует их друг от друга.

На создание каждого процесса ОС тратит системные ресурсы, которые неоправданно дублируются: у каждого процесса собственное адресное пространство, физическая память, закрепленные устройства ввода/вывода. Выход из этого положения – многопоточная обработка. В этом случае учитываются тесные связи между потоками одного приложения.

Режимы работы компьютера

Под режимом работы понимают принципы структурной и функциональной организации аппаратных и программных средств. Обычно режимы использования ЭВМ подразделяют на однопрограммные и многопрограммные.

  1. Однопрограммные режимы.

При их реализации все основные ресурсы ВМ (время работы процессора, оперативная память и т.д.) полностью отдаются в монопольное владение пользователя. Однопрограммный режим имеет две модификации:

  • В режиме непосредственного доступа пользователь получает ЭВМ в полное распоряжение: он сам готовит ее к работе, загружает задания и т.д. По окончании работ одного пользователя все ресурсы ВМ передаются в распоряжение другого пользователя.

Недостатки: низкая полезная загрузка технических средств из-за затраты времени на подготовку ЭВМ к работе и большого времени реакции пользователя.

  • В режиме косвенного доступа пользователь не имеет прямого контакта с ВМ. Из подготовленных заданий пользователей составляется пакет заданий. Процессор обслуживает программы пользователей строго в порядке их следования в пакете. Доступ пользователя к ресурсам ЭВМ осуществляется косвенно средствами ОС, организующими автоматический переход от обслуживания одного задания пользователя к другому.

Достоинство: повышение производительности ВМ за счет параллельной работы устройств ввода-вывода и процессора.

Недостатки:

  • неэффективность работы ВМ (при необеспеченности очередной программы данными, процессор простаивает; когда обрабатываемые программы загружают процессор на длительное время, остальные программы пакета остаются без обслуживания);

  • у ВМ отсутствуют средства разрешения таких проблем как, например, невозможность выхода программы по каким-либо причинам на завершение.

  1. Многопользовательский, многопрограммный режим работы ВМ позволяет одновременно обслуживать несколько программ пользователей.

Различают следующие виды многопрограммной работы:

  • Режим классического мультипрограммирования или пакетной обработки применительно к однопроцессорным ЭВМ является основой для построения всех других видов многопрограммной работы.

Пакет заданий упорядочивается в соответствии с приоритетами заданий, и обслуживание программ ведется в порядке очередности. Если при обслуживании наиболее приоритетной программы создается ситуация, что вычисления не могут быть продолжены, то управление передается следующей по приоритетности программе. Но как только условия, препятствующие продолжению наиболее приоритетной задачи, отпадут, процессор вновь возвращается к продолжению решения ранее прерванной программы.

Достоинства:

  • прерывания и передачи управления могут многократно наслаиваться

друг на друга, что позволяет до минимума сократить простои процессора;

  • параллельная работа процессора и устройств ввода-вывода обеспечивает сокращение времени обслуживания.

Недостатки:

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

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

  • Режим разделения времени.

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

Условием прерывания текущей программы является либо истечение выделенного кванта времени, либо естественное завершение (окончание) решения, либо прерывания по вводу/выводу.

  • Более сложной формой разделения времени является режим реального времени. Этот режим имеет специфические особенности:

    • поток заявок от абонентов носит случайный характер;

    • потери поступающих на вход ВМ заявок и данных к ним не допускаются,

поскольку их не всегда можно восстановить;

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

i-той задачи должно удовлетворять жестким ограничениям.

Специфические особенности режима реального времени требуют наиболее сложных операционных систем. Именно на базе этого режима строятся так называемые диалоговые системы, обеспечивающие одновременную работу нескольких пользователей с ЭВМ.

Вычислительные системы

I Основные понятия и определения

II Архитектурные принципы организации обработки данных в ВС

III Классификация ВС

IV ВС класса SIMD

V ВС класса MIMD

Основные понятия и определения

Существуют разные подходы к классификации ВС и ВМ. Наиболее удобным принципом разделения ВМ и ВС является принцип множественности, и, следовательно, признак параллельной обработки.

ВМ – комплекс технических и программных средств, предназначенных для автоматизации, подготовки и решения задач пользователей.

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

Архитектура ВМ – логическое построение ВМ, т.е. такое представление, какое соответствует образу ВМ в голове программиста, разрабатывающего программу на языке низкого уровня (машинно-ориентированном языке).

В это «узкое» понятие архитектуры входят следующие позиции:

  • перечень и формат команд

  • форма представления данных

  • механизмы ввода/вывода

  • способы адресации памяти

  • назначение и состав РОН

Применительно к ВС мы вынуждены говорить о другом понятии архитектуры:

Архитектура ВС – совокупность характеристик и параметров, определяющих функционально-логическую и структурную организацию системы и затрагивающих, в основном, уровень параллельно работающих вычислителей.

Понятие архитектуры ВС охватывает общие принципы построения и функционирования, наиболее существенные для пользователя.

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

Архитектурные принципы организации обработки данных в ВС

Выделяют три основные архитектурных принципа организации и обработки данных:

  1. принцип потока управления

  2. принцип потока данных

  3. принцип потока запроса

  • Принцип потока управления: очередная команда получает возможность выполнения сразу после того, как ей будет передано управление от предыдущей команды.

  • Принцип потока данных: команда получает возможность управления, как только будут готовы ее операнды.

  • Принцип потока запроса: команда имеет возможность выполнения сразу после того, когда появится необходимость в результате ее выполнения.

  1. Схема потока управления

Характеристика:

  • Данные располагаются между командами не непосредственно, а через ячейки общей памяти при помощи обращения к ней;

  • Операнды могут храниться как в памяти, так и в самих командах;

  • Поток управления по своей сути является последовательным, и только специальные средства позволяют реализовать параллелизм;

  • Схема предусматривает синхронизацию (внешнюю) при выполнении команд.

  1. Схема потока данных

Характеристика:

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

  • Операнды могут находиться внутри команд;

  • Отсутствует традиционная концепция общей памяти;

  • Ограничения по последовательности выполнения вычислительных действий определяются только зависимостями между самими данными, это позволяет реализовать естественный параллелизм;

  • Управление вычислениями децентрализовано, синхронизация не нужна.

Пример: граф потока операндов

4

2

c

  1. Схема потока запросов

Характеристика:

  • В схеме все программные структуры, команды и аргументы являются выражениями;

  • Не используется обычная концепция памяти для данных;

  • Нет никаких дополнительных ограничений по последовательности выполнения вычислительной деятельности сверх присущих запросам на операнды.

Классификация ВС

Систематика Флинна: базовый критерий – признак множественности команд и данных. Множественным считается поток команд или данных (операндов), если в наиболее «узком» отрезке обрабатываемой цепочки одновременно выполняется несколько команд или операндов.

В соответствии с этой классификацией выделяются следующие четыре класса ВС:

  1. SISD (Single Instruction Single Data stream — одиночный поток команд и одиночный поток данных);

  2. MISD (Multiple Instruction Single Data — множественный поток команд и одиночный поток данных);

  3. SIMD (Single Instruction Multiple Data — одиночный поток команд и множественный поток данных);

  4. MIMD (Multiple Instruction Multiple Data — множественный поток команд и множественный поток данных).

SISD

MISD

SIMD

MIMD

Класс MIMD включает большое количество различных мультипроцессорных систем.

Классификация Флинна обладает и недостатками:

    • Некоторые архитектуры, в частности, поток данных, не вписываются в данную классификацию;

    • Чрезмерная перенаселенность класса MIMD: в этот класс попадают совершенно разные ВС как по числу процессоров, так и по природе и топологии связей между ними и по способу организации памяти.

При этом класс MISD практически пуст.

ВС класса SIMD

SIMD (ОКМД) – системы которые были первыми ВС, состоящими из большого числа процессоров. Именно на них, этих системах, впервые была достигнута производительность выше одного гигафлопса.

Флопс- операция, которая выполняется в формате плавающей точке

Гигафлопс – один миллиард операций с плавающей точкой в секунду.

Число с фиксированной точкой – дробное число, в котором запятая (дробная часть) всегда располагается в одном и том же месте.

Число с плавающей точкой – форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени; состоит из мантиссы, знака мантиссы, порядка, выражающего степень основания числа, на которое умножается мантисса, знака порядка:

А = M*dp , 0,1<M<1;

там, где у обыкновенной операции одно действие, у операции с плавающей точкой будет значительно больше действий (чтобы сложить два числа, нужно выровнять порядки, выполнить собственно сложение, нормализовать число).