Основные понятия вычислительной техники и принципы построения вычислительных машин

Вид материалаДокументы

Содержание


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


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

Предмет исследования информатики – информационные технологии, а вычислительной техники – ВМ, вычислительные комплекты (ВК), ВС, сети.

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

Система – это совокупность элементов или устройств, соединенных между собой для достижения определенной цели. Среди систем выделяют сложные системы. Это качественное понятие. Перечислим основные отличительные признаки сложных систем. Большая размерность – большое число элементов: сотни, тысячи. Разнородность элементов и узлов, как следствие этого – отсутствие единого математического аппарата для описания поведения этих элементов и узлов. Многокритериальность при оптимизации выбора вариантов построения системы.

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

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

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

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

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

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

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

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

Существуют два типа ВМ: аналоговые (АВМ) и цифровые (ЦВМ). В АВМ для представления информации используются непрерывные физические величины, чаще всего напряжение. В ЦВМ информация представлена двоичными кодами. При этом каждый разряд принимает два значения из набора {0, 1}. Для представления двоичной переменной используется дискретный сигнал. ЦВМ являются более универсальным средством обработки информации и по ряду наиболее важных общетехнических показателей превосходят АВМ. Поэтому они получили более широкое распространение.


Способы представления информации в вычислительных машинах


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

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

В настоящее время подавляющее большинство преобразователей информации представляют собой электронные схемы, содержащие соединенные определенным образом между собой электронные ключи – вентили. Эти электронные схемы реализуются и использованием технологий современной микроэлектроники в виде ИС. ИС может содержать от нескольких единиц до нескольких миллионов вентилей. Для работы ИС к ней подводится напряжение питания. При этом сигналы в ИС представлены уровнем напряжения. Для представления сигналов приняты всего два непересекающихся уровней диапазона уровней напряжения. При напряжении питания 5 В: диапазон 0 – 0.4 В, соответствующий логическому значению сигнала «0», и диапазон 5 – 2.4 В, соответствующий значению сигнала «1».

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

Элементы данных имеют различные типы.

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

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

Информация в ВМ представлена в виде кодов определенной фиксированной длины (машинных слов). Представленную таким образом информацию называют данными.


Основные принципы организации вычислительных машин и систем.


Принципы организации вычислительного процесса, используемые и в большинстве современных ВМ, базируется на концепции Дж.фон Неймана, выдвинутой им во второй половите 40-х гг. ХХ в. Согласно этой концепции определена автономно работающая ВМ, содержащая устройство управления, арифметико-логическое устройство (АЛУ), память и устройства ввода-вывода. (рис. 1)


Для организации ВМ предложены следующие принципы:
  1. Двоичное кодирование информации, разделение ее на слова фиксированной разрядности.
  2. Линейно-адресная организация памяти (N ячеек по n разрядов). Аппаратные средства для записи, хранения и чтения слова из n двоичных разрядов называют ячейкой памяти. Ячейки пронумерованы по порядку (0, 1, … , N-1). Номер ячейки – адрес. В командах программы адрес является именем (идентификатором) переменной, хранящейся в соответствующей ячейке.
  3. Представление алгоритма программой, состоящей из команд. Команда является предписанием, определяющим шаг процесса выполнения программы. Она содержит код операции, адреса операндов и другие служебные коды.
  4. Хранение команд и данных в одной памяти. Различие их заключается только в способе использования и интерпретации считанного из памяти слова.
  5. Вычислительный процесс организуется как последовательное выполнение команд в порядке, определяемом программой.
  6. Жесткость архитектуры – неизменность в процессе работы ВМ, ее структуры, списка команд, методов кодирования данных.




При работе ВМ наиболее интенсивное взаимодействие осуществляется между АЛУ и устройством направления. С развитием элементной базы в целях повышения производительности за счет уменьшения задержек в связях эти устройства объединили в один блок, называемый процессором.

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

Устройство для ввода преобразует входные сигналы в сигналы, принятые для представления данных на шине, соединяющей устройство ввода с АЛУ.

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

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

Выборка команды из памяти и ее выполнение циклически повторяются. Цикл включает следующие фазы: выборку, дешифрацию и исполнение.

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


Базовая функциональная схема компьютера PC


Базовая функциональная схема компьютера PC (рис. 2) содержит четыре основных функциональных устройства: процессор, основную память, устройства ввода-вывода (УВВ или периферийные устройства), системную шину (СШ). СШ содержит три группы соединительных линий, которые называются шиной адреса (ША), шиной данных (ШД) и шиной управления (ШУ). Разрядность ША, ШД, ШУ, порядок взаимодействия устройств, уровни и последовательности сигналов в СШ стандартизированы.

К основным УВВ относятся: клавиатура, мышь, монитор (дисплей), винчестер – накопитель на жестком магнитном диске (НЖМД или ЖД) Hard Disk Drive (HDD), дисковод для гибких магнитных дисков Floppy Disk Drive (FDD), принтер.



Компьютеры PC построены с использованием основных принципов Дж.фон Неймана, изложенных выше. Управление вычислительным процессом осуществляет процессор – Central Processing Unit (CPU). ОП имеет линейно-адресную организацию. Адреса являются именами данных, которые используются в командах программ. Множество адресов, используемых в командах, образует адресное пространство (АП). Обмен информацией между устройствами по СШ называют внутримашинным обменом. В любом обмене участвуют как минимум два устройства: активное (источник) и пассивное (приемник). В PC для организации внутримашинных обменов используют два адресных пространства: АП ОП и АП УВВ.

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

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

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

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

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

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


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

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

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

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

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

Для организации информационного обмена с периферийными устройствами используются три способа:
  1. программный опрос, в этом случае инициатором обмена выступает процессор, который при необходимости обращается к регистрам периферийных устройств (портам) по соответствующим адресам;
  2. обмен с прерыванием программы (он реализуется с помощью механизма аппаратных прерываний, который обеспечивает реакцию компьютера на асинхронные события по запросам периферийных устройств);
  3. передача информации в режиме прямого доступа к памяти – Direct Memory Access (DMA).

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


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


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



Для описания, проектирования и организации управления в ВС используется иерархический подход. Рассмотрим уровни организации вычислительных процессов (рис. 3) в ВМ и ВС, а также категории специалистов, использующие соответствующие уровни представления в своей профессиональной деятельности, и процессы, реализующие взаимодействие уровней.

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

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

На уровне машинных команд обеспечивается связь программных и аппаратных средств. На этом уровне разрабатывается список команд, определяются способы кодирования операций и адресов, число адресных полей в команде и другие параметры, заложенные в структуру ВМ. Перевод программы с языка высокого уровня в машинные коды осуществляет специальная программа – компилятор. Для одной программы, написанной на языке высокого уровня, можно породить много программ на уровне машинных команд, которые по выполняемым функциям эквивалентны, но различаются по использованию ресурсов ВМ (памяти, процессорного времени). Поэтому актуальна задача построения оптимизирующего компилятора. Чем ближе состав операторов языка высокого уровня к списку команд ВМ, тем проще компилятор и эффективнее полученная для исполнения программа. При программировании часто используют язык Ассемблера. Ассемблер – машинно-зависимый язык программирования. Представление задачи на языке Ассемблера занимает промежуточное положение в иерархии представлений между языками высокого уровня и машинными командами. Язык Ассемблера используют при написании системных программ, кратность исполнения которых существенно выше, чем у прикладных программ, например для МК (микроконтроллеров), ресурсы которых ограничены, а прикладные программы для них - это, как правило, программы управления оборудованием, которые также исполняются многократно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Программы BIOS записаны на энергонезависимой памяти (ROM или FLASH). В компьютерах PC соответствующая микросхема энергонезависимой памяти с записанными на ней программами устанавливается на материнской плате. В ней хранятся тестовые, загрузочные программы, базовая система ввода-вывода. Использование флэш-памяти для хранения BIOS позволяет обновлять версию. Перечислим основные функции BIOS в компьютерах PC:
  • инициализация и начальное тестирование аппаратных средств, эти функции выполняет программа POST – Power On Self Test;
  • настройка и конфигурирование аппаратных средств и системных ресурсов – BIOS Setup;
  • загрузка ОС с дискового носителя – Bootstrap Loader;
  • обслуживание аппаратных прерываний – BIOS Hardware Interrupts;
  • отработка базовых функций программных обращений (сервисов) к системным устройствам – ROM BIOS Services.


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


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


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

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

Наиболее сильное влияние на ВС оказывают технологии производства трех типов средств: МП, СБИС динамической памяти (DRAM) и внешних запоминающих устройств на магнитных дисках

Развитие микропроцессоров непосредственно связано с успехами технологии производства ИС. Число вентилей на кристалле увеличивается ежегодно на 60-80%. Это связано с совершенствованием технологии изготовления ИС и развитием технологии выращивания кристаллов полупроводников.

Скорость переключения вентилей возрастает примерно в том же темпе, что и плотность их размещения. Но из-за задержек в связях и увеличения связей по мере роста степени интеграции СБИС длительность такта (регистровой передачи) снижается медленнее.

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

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

Рост быстродействия происходит существенно медленнее из-за увеличения длины связей ЗЭ с внешним выводом СБИС по мере роста информационной емкости матрицы ЗЭ. Рост быстродействия характеризуется следующим показателем: время доступа уменьшается на 30% за 10 лет.

Прогресс в области внешней памяти на магнитных дисках характеризуется следующими данными. Плотность размещения информации на носителе и информационный объем увеличиваются в среднем в 4 раза за 3 года. Время доступа уменьшается в 1 — 3 раза за 10 лет.

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


Введение в функциональную организацию процессора


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





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

Уже первые использования МП определили два основных направления их применения: использование МП в качестве центральных процессоров — ВМ и реализация на базе МП встраиваемых систем управления различными объектами.

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

Операционный блок. Предназначен для выполнения некоторого функционально полного набора логических и арифметических операций. Как правило, в его состав входят АЛУ, буферные регистры операндов, регистр результата (аккумулятор), регистр признаков и блок регистров общего назначения (РОН). Комбинационная схема, являющаяся основой АЛУ, содержит двоичный сумматор и набор логических схем. В АЛУ выполняются несколько простейших арифметических (сложение, вычитание) и поразрядных логических (И, ИЛИ, НЕ и др.) операций. В многоуровневой организации вычислительного процесса указанные операции реализуются на уровне регистровых передач между источниками операндов и приемником результата. Операции по обработке данных, для которых в ОБ отсутствуют аппаратные средства, выполняют программно с помощью процедур. Такие процедуры реализуются в виде последовательности простых операций ОБ, т.е. выполняются на более высоком уровне организации вычислительного процесса, чем уровень регистровых передач.

Кроме универсального АЛУ МП может содержать одно или несколько специализированных АЛУ: блоки аппаратного умножения и деления. А также блоки для выполнения операций с плавающей точкой.

Важной соствавляющей ОБ современных МП является блок внутренней памяти, реализованный в виде набора программно доступных регистров, разываемых регистрами общего назначения (РОН). Время обращения к РОН меньше, чем к любым другим устройствам памяти, поэтому память на РОН называется сверхоперативной, а устройство, в виде которого она реализована — сверхоперативным запоминающим устройством. (СОЗУ). Число РОН в МП невелико (6 — 16), тем не менее их наличие существенно ускоряет выполнение операций. При наличии блока РОН операнды команд могут размещаться в одной из двух запоминающих сред — основной памяти или СОЗУ. Использование СОЗУ позволяет исключить значительную часть обращений МП к ОП через общую системную шину. С одной стороны, это повышает производительность за счет более быстрого обращения к СОЗУ, с другой стороны, появляется возможность параллельно с работой МП использовать системную шину для обмена информацией между другими устройствами ВМ. Используя специальные команды, пользователь может либо записывать информацию в РОН, либо считывать ее из РОН при выполнении различных арифметических и логических операций.

Число, назначение и разрядность регистров блока РОН в различных МП могут существенно отличаться. В использовании РОН имеются два крайних подхода. При первом подходе, реализуемом в МП компании Motorola, почти все регистры МП выполняют абсолютно одинаковые функции, т.е. Являются универсальными и взаимозаменяемыми. При втором подходе, характерном для МП компании Intel, многие регистры наряду с возможностью использования в качестве универсальных в некоторых командах могут выполнять специфические функции, закрепленные за этими регистрами. Специализация регистров при выполнении наиболее часто используемых операций позволяет в соответствующих командах не указывать их адреса, что обеспечивает уменьшение необходимой для управления информации и более компактное кодирование команд. В частности, конкретные регистры МП Pentium используются в командах умножения и деления. Управления циклами, ввода-вывода, при табличных преобразованиях, в стековых и сдвиговых операциях.

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

Функциональные возможности ОБ, содержащего аккумулятор (рис. 4), достаточно широки. Рассмотрим основные микрооперации.

Содержимое любого РОН или ячейки памяти по внутренней шине данных может быть передано через аккумулятор в буферный регистр или напрямую в регистр-сдвигатель. АЛУ обеспечивает выполнение арифметических и логических операций над содержимым регистра-сдвигателя и буферного регистра с записью результата в аккумулятор, а признаков — в регистр признаков. Из аккумулятора результат операции может быть передан в любой РОН или ячейку памяти. Операция сдвига содержимого любого РОН выполняется последовательно передачей слова из РОН в сдвигающий регистр, сдвига этого слова и последующей записи преобразованного слова в тот же регистр РОН.

Операции над словами с повышенной разрядностью реализуются путем программно последовательной обработки отдельных частей многоразрядных слов. Для обеспечения возможности обработки данных с разрядностью, превышающей разрядность АЛУ и регистров, в структуре ОБ, предусмотрены два дополнительных триггера: Tr1 и Tr2. С их помощью осуществляется запоминание сигналов арифметического переноса из АЛУ и выходного бита переноса регистра сдвига. Например, с помощью 8-разрядного МП сравнительно просто осуществляется арифметическая обработка 24-разрядных слов. Для этого выполняют три цикла обработки 8-разрядных частей этих слов.

Признаки операций АЛУ (флаги), характеризующие результаты вычислений, запоминаются в одноименных флагах регистра признаков. Типичными признаками являются: нулевой результат, наличие переноса, переполнение, четность, знак и некоторые другие.

Флаг нулевого результата ZF (Zero Flag) устанавливается в «1» при нулевом значении результата. При ненулевом результате ZF = 0.

Флаг переноса CF (Carry Flag) запоминает значение переноса (заема) при сложении (вычитании) операндов. В некоторых МП флаг CF также используется для запоминания выдвигаемого бита при сдвиге операнда.

Флаг переполнения OF (Overflow Flag) фиксирует переполнение разрядной сетки результата при выполнении операции со знаковыми числами. Переполнение происходит только тогда, когда коды слагаемых имеют одинаковые значения знаковых разрядов, а код суммы имеет другое значение знакового разряда. Для определения переполнение OVR используют логическую операцию XOR (исключающее ИЛИ) над значениями переносов в знаковый разряд Cs-1 из знакового разряда Cs

В соответствии с этим выражением переполнение возникает, если перенос в знаковый разряд Cs-1 не совпадает со значением переноса из знакового разряда Cs

Флаг четности или паритета PF (Parity Flag) фиксирует наличие четного числа единичных разрядов в младшем байте результата операции. Флаг четности часто используют при контроле правильности передачи данных.

Флаг знака SF (Sign Flag) дублирует значение старшего бита результата. Флаг SF при использовании дополнительного кода соответствует знаку числа.

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

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

Блок управления. В процессе выполнения программы блок управления (рис. 4) координирует работу всех блоков МП и микропроцессорной системы в целом. С помощью блока управления формируются управляющие сигналы, необходимые для организации обмена информацией с внешними устройствами, и обеспечивается выборка команд программы из памяти. В целом блок управления выполняет следующие действия:
  • считывает и запоминает текущую команду;
  • формирует адрес следующей команды;
  • реализует выполнение по тактам алгоритма поступившей команды;
  • управляет обменом информацией с внешними устройствами по системной шине.

Блок управления состоит из регистра команд (РгК), дешифратора команд (ДшК) и блока формирования управляющих сигналов (БФУС). Управляющие сигналы с выходов БФУС поступают на управляющие входы других блоков МП, настраивая их на выполнение определенных микроопераций. В состав блока управления также включают программно доступные счетчик команд PC (Program Counter) и указатель стека (Stack Pointer). Счетчик PC предназначен для адресации команд программы. После выборки из памяти очередной команды в регистре IP формируется адрес следующей по порядку команды. В командах условных и безусловных переходов, вызова подпрограмм и возврата из подпрограмм в регистр IP непосредственно загружается адрес перехода.

Выполнение любой команды реализуется как последовательность трех фаз: выборка, декодирование и выполнение. Фаза выборки обеспечивает считывание очередной команды из памяти и пересылку ее в МП. Адрес считываемой команды определяется содержимым программного счетчика РС. Любая команда всегда содержит всю необходимую информацию о выполняемой операции и об ее операндах.

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

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

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

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

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

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

Основным достоинством МПА с «жесткой» логикой управления является его быстродействие.

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

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

Интерфейсный блок. Предназначен для организации взаимодействия МП (рис. 4) с памятью и устройствами ввода-вывода, расположенными на системной шине процессора, а также для обмена данными между ОБ и внутренними устройствами МП. Непосредственное подсоединение устройств ввода-вывода к МП осуществляется с помощью специальных схем сопряжения, которые называются интерфейсом ввода-вывода. В общем случае интерфейсный блок процессора должен выполнять следующие функции:
  • формировать выходные сигналы на шинах адреса, данных и управления в режиме вывода;
  • формировать выходные сигналы адреса и управления и считывать сигналы с шины данных в режиме ввода;
  • Синхронизировать процессы внутри процессора и на системной шине;
  • реализовывать стандартный для системной шины протокол обмена.

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

Электрические спецификации сигналов, действующих на линиях СШ, определяют гарантированные уровни электрических напряжений, идентифицирующих логические состояния «0» и «1», и их нагрузочную способность. Одной из особенностей компонентов ВМ, обеспечивающей возможность их электрического сопряжения друг с другом, является TTL-совместимость. Выбор такого стандарта для интерфейса определяется широким распространением разнообразных устройств на TTL-схемах. Выходные сигналы МП являются маломощными (их нагрузочная способность эквивалентна одному входу TTL-схем). Для согласования выходных сигналов МП с нагрузочными входами внешних устройств используют специальные усилители, в частности шинные формирователи.

Взаимодействие по шине (регистровая пересылка между одним из регистров ОБ процессора и ячейкой ОП либо портом периферийного устройства) осуществляется за цикл шины. Длительность цикла шины может изменяться в зависимости от быстродействия внешних устройств. Для согласования по быстродействию взаимодействующих при обмене по шине устройств используется принцип квитирования. Суть его в том, что процессор, управляющий обменом, в каждом цикле ждет уведомления (квитанции) о том, что устройство на шине выполнило операции, связанные с обменом, т.е. Выставило на шину данные при вводе либо восприняло данные с шины при выводе. Для уведомления используется сигнал «Готовность» (Ready), передаваемый от внешнего устройства в процессор по одной из линий шины управления. Управление обменом осуществляет автомат, входящий в состав интерфейсного блока процессора.