Арифметические основы вычислительных машин

Автор работы: Пользователь скрыл имя, 04 Сентября 2014 в 13:43, реферат

Описание работы

Все компьютеры используют для хранения информации двоичную систему. Это значит, что каждый элемент хранимой информации может иметь только два состояния. Эти состояния обозначаются как «включен» и «выключен», «истина» и «ложь», или «1» и «0». Как правило, компьютер использует эти значения в виде уровней напряжения.
Из-за двоичного представления данных компьютеры используют в своих вычислениях арифметику с двоичным основанием. Используя простейшие числа 0 и 1, можно выполнять очень сложные вычисления.

Файлы: 1 файл

Архитектура компьютера и принципы его работы.doc

— 1.02 Мб (Скачать файл)



Рисунок Работа параллельной шины, сигналы на линии данных



 

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

Шина адреса — вторая по важности шина, которая определяет максимально возможную сложность микропроцессорной системы, то есть допустимый объем памяти и, следовательно, максимально возможный размер программы и максимально возможный объем запоминаемых данных. Количество адресов, обеспечиваемых шиной адреса, определяется как N =2I , где I, – количество разрядов. Разрядность шины адреса обычно кратна 4 и может достигать 64. Шина адреса может быть однонаправленной (когда магистралью всегда управляет только процессор) или двунаправленной (когда процессор может временно передавать управление магистралью другому устройству).

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

Шина управления — это вспомогательная шина, управляющие сигналы на которой обеспечивают согласование работы процессора (или другого хозяина магистрали, задатчика, master) с работой памяти или устройства ввода/вывода (устройства-исполнителя, slave).

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

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

 

Самые главные управляющие сигналы — это стробы обмена, то есть сигналы, формируемые процессором и определяющие моменты времени, в которые производится пересылка данных по шине данных, обмен данными.

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

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

  • При синхронном обмене процессор заканчивает обмен данными самостоятельно, через раз и навсегда установленный временной интервал выдержки (tвыд), то есть без учета интересов устройства-исполнителя;
  • При асинхронном обмене процессор заканчивает обмен только тогда, когда устройство-исполнитель подтверждает выполнение операции специальным сигналом (так называемый режим handshake — рукопожатие).

Достоинства синхронного обмена – более простой протокол обмена, меньшее количество управляющих сигналов. Недостатки — отсутствие гарантии, что исполнитель выполнил требуемую операцию, а также высокие требования к быстродействию исполнителя, при синхронном обмене приходится искусственно увеличивать длительность строба обмена для соответствия требованиям большего числа исполнителей, чтобы они успевали обмениваться информацией в темпе процессора.

Рисунок Синхронный и асинхронный обмен.

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

Линии шины управления могут быть как однонаправленными, так и двунаправленными.

В последовательных шинах используется одна сигнальная линия (возможно использование двух отдельных каналов для разделения потоков приёма-передачи). Соответственно, информационные биты здесь передаются последовательно. Данные для передачи через последовательную шину облекаются в пакеты (пакет – единица информации, передаваемая как целое между двумя устройствами), в которые, помимо собственно полезных данных, включается некоторое количество служебной информации: старт-биты, заголовки пакетов, синхросигналы, биты чётности или контрольные суммы, стоп-биты и т. п.

В качестве примера приведем описание обмена для последовательного интерфейса RS-232.

Данные передаются пакетами по одному байту (8 бит). Вначале передаётся стартовый бит, противоположной полярности состоянию незанятой линии, после чего передаётся непосредственно кадр полезной информации – 8 бит. Увидев стартовый бит, приемник выжидает интервал T1 и считывает первый бит, потом через интервалы T2 считывает остальные информационные биты. Последний бит — стоповый бит, говорящий о том, что передача завершена. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение - не более 10%.

Рисунок Работа последовательной шины, формат данных RS-232

Последовательные шины – не обязательно значит «однобитные», здесь возможны и 2, и 8, и 32 бит ширины при сохранении присущей последовательным шинам пакетной передачи данных, то есть в пакете импульсов данные, адрес, другая служебная информация разделены на логическом уровне.

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

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

Прерывания

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

Для того чтобы устройство могло сообщить процессору о наступлении события, на шине управления присутствуют специальные линии прерывания – IRQ (Interrupt ReQuest - запрос прерывания). Каждое устройство, которое желает иметь возможность «обращать на себя внимание» процессора, должно быть связано с одной из линий прерывания на шине. 

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

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

Область памяти, куда происходит сохранение счетчика содержания команд и текущее состояние регистра флагов называется стеком. Доступ к стеку организован по принципу «последним пришёл — первым вышел» (LIFO, англ. last in — first out). Адрес текущего места для доступа к стеку хранится в специальном регистре - указателе стека.

С каждой из линий IRQ связан адрес программы обработки называемый вектор прерывания (или адрес вектор). О местоположении векторов прерывания будет рассказано в разделе посвященном памяти.

Первое поколение процессоров использовало 8 линий прерывания, а начиная со второго 15 линий. Эти линии обозначаются как IRQ – IRQ15.

Посмотреть с какой из линий IRQ связано то или иное устройство в сиcтеме Windows можно при помощи диспетчера устройств (Рис …).

Рисунок Ресурсы устройства «последовательный порт»

Несколько устройств могут использовать одно IRQ совместно. При совместном  использовании несколькими устройствами одной линии возможен конфликт прерываний. Если два устройства находятся на одной линии прерываний, то операционная система может их спутать и переслать исполняемый кусок программы не тому «железке». Например, сетевая плата и звуковая карта находятся на 10 прерывании. Сетевая карта получает пакет из локальной сети с запросом на получение файла и отправляет запрос на прерывание центральному процессору.

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

Чтобы избежать такого конфликта иногда приходится переназначать прерывания для устройств вручную.

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

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

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

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

Прямой доступ к памяти (DMA)

До сих пор мы рассматривали шину как магистраль, обеспечивающую связь процессора со всеми остальными устройствами компьютера. Однако, возможен режим при котором обмен по шине идет без участия процессора.  Такой режим обмена данными между устройствами или же между устройством и памятью (RAM), без участия процессора называется прямой доступ к памяти (Direct Memory Access, DMA). В результате скорость передачи увеличивается, так как данные не пересылаются в процессор и обратно.

В упрощенном виде использование этого режима выглядит так: Внешнее устройство, требующее обслуживания, сигнализирует процессору (для этого используется специальная линия в шине управления), что режим прямого доступа к памяти необходим, в ответ на это процессор заканчивает выполнение текущей команды и отключается от шины, сигнализируя запросившему устройству, что обмен в режиме  DMA можно начинать. (Говорят, что устройство осуществило захват шины - bus mastering) Устройство, успешно осуществившее захват шины, самостоятельно выставляет на шину сигналы адреса и управления, и исполняет в течение какого-то времени ту же ведущую роль на шине, что и процессор. Доступ процессора к шине при этом кратковременно блокируется.

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

Классификация шин по назначению

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

  • шины расширения (Expansion Bus) предназначены для подключения различных устройств, расширяющих возможности компьютера. Шины расширения конструктивно оформляются в виде щелевых разъемов (слотов, англ. slot – щель, паз) для установки плат адаптеров.
  • внешние шины и порты ввода-вывода предназначенные для подключения к компьютеру периферийных (располагаемых вне корпуса) устройств.

Информация о работе Арифметические основы вычислительных машин