Организация электронно-вычислительных машин, комплексов и систем

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

Рубрика Программирование, компьютеры и кибернетика
Вид курс лекций
Язык русский
Дата добавления 16.06.2013
Размер файла 510,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

17

Размещено на http://www.allbest.ru/

Организация электронно-вычислительных машин, комплексов и систем

Введение

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

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

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

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

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

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

17

Размещено на http://www.allbest.ru/

Рис.1. Многоуровневое представление машины

1. Прикладной уровень. На этом уровне реализованы различные пакеты прикладных программ (MS Office, MathCad, PhotoShop…), языки высокого уровня (C, C++, Pascal, Lisp…) и т.д. То есть этот уровень представляет собой профессиональную область, в которой решаются какие-то конкретные задачи.

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

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

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

5. Микроэлектронный уровень. Это уровень физиков.

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

Первый этап - это формализация задачи. То есть конкретизация задачи, сроков исполнения и установленных ограничений. Этот этап занимает от 10 до 30 процентов всего времени разработки продукта.

Второй этап - разработка алгоритма реализации задачи. Этот процесс занимает от 20 до 40 процентов времени и является наиболее емким этапом.

Третий этап - кодирование. Этот этап представляет собой собственно претворение алгоритма в жизнь. Например, при написании программного продукта - реализация алгоритма, разработанного на предыдущем этапе в процедурах и функциях используемого языка программирования. Этот этап - это 5-10 процентов всего времени.

Четвертым этапом разработки продукта является тестирование (отладка) реализованного алгоритма и исправление ошибок. В общей сложности этот этап занимает примерно 7,5% времени. Из них 5% - исправление синтаксических ошибок и 2,5% - исправление семантических ошибок.

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

2. Принципы структурной организации ЭВМ

2.1 Принцип программного управления

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

Информация кодируется в двоичной форме и разделяется на единицы (элементы) информации, наз. словами.

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

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

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

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

Первый пункт не требует комментариев.

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

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

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

2.2 Состав и порядок функционирования ЭВМ

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

17

Размещено на http://www.allbest.ru/

Фон Нейман впервые в 1946 году выделил 4 основные блока ЭВМ и назвал эти блоки:

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

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

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

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

АЛУ и УУ обычно объединяются в один блок, который наз. Процессором.

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

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

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

17

Размещено на http://www.allbest.ru/

Пульт управления

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

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

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

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

3. Элементы архитектуры ЭВМ

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

3.1 Представление данных в ЭВМ

К основным типам данных (информации), с которыми оперирует ЦВМ можно отнести:

- числа;

- символы;

- логические значения;

массивы (чисел, символьных строк, списочные);

графика;

звук;

видео.

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

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

В ЭВМ используются три вида чисел: двоичные числа с фиксированной запятой (точкой), с плавающей запятой и двоично-кодированные (восьмеричные, шестнадцатиричные, двоично-десятичные) числа

Во всех современных компьютерах важную роль играет представление данных группами по 8 бит называемых байтами. Байт содержит одну из 2 =256 комбинаций двоичных символов.

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

В подавляющем большинстве компьютеров (ЭВМ), принята нумерация битов в байте справа налево.

Единица данных, состоящая из 16 бит или двух байт, называется словом.

Слово может содержать любую из 2 = 65536 комбинаций. По аналогии с нумерацией бит, байты в слове также нумеруются справа налево, начиная с нуля: байт 0 называется младшим, а байт 1-старшим байтом.

Следующая единица данных состоит из 4-х байтов и называется двойным словом.

Число возможных комбинаций в двойном слове составляет 2 = 1048576.

Следующая из рассматриваемых единица данных состоит из 64 бит или 8 байт и называется квадро (длинное слово).

Еще одной единицей представления данных, применяемой в современных ЭВМ, является октослово. Октослово состоит из 16 байт.

Основная или базовая единица данных, с которой оперирует процессор (микропроцессор), называется машинным словом. Практически во всех современных процессорах длина машинного слова кратна байту. Длина слова является важнейшей характеристикой процессора и в соответствии с ней процессоры подразделяются на 8-, 16-, 32-, 64-, 128-битные.

3.2 Машинные операции

Машинные операции принято подразделять на следующие классы:

- арифметические и логические операции

- посылочные операции

- переходы управления

- операции ввода - вывода

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

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

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

Посылочные операции служат для передачи информации между процессором и ОП. Типичные посылочные операции - загрузить и записать. Операция загрузить обеспечивает передачу слова из ОП в П, а операция записать - из П в память.

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

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

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

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

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

3.3 Кодирование команд

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

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

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

А) к-ды арифметических операций для чисел с фиксированной и плавающей запятой;

Б) к-ды десятичной арифметики;

В) к-ды логических операций;

Г) к-ды передачи кодов;

Д) к-ды операций ввода-вывода;

Е) к-ды передачи управления;

Ж) к-ды задания режимов работы машины и др.

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

К-да в общем случае состоит из операционной и адресных частей

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

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

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

Структура к-ды определяется составом, назначением и расположением полей в к-де.

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

Для упрощения аппаратуры и повышения быстродействия ЭВМ длина формата к-ды должна быть согласована с длиной машинных слов (16-32 бита). Т.е. формат к-ды должен укладываться в машинное слово или полуслово, а для ЭВМ с коротким словом (8-16 бит) должен быть малократным машинному слову.

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

Классическая структура к-ды содержала в явном виде всю необходимую информацию и была 4-х адресной.

Содержала поле кода операции (КОП), два адреса операндов участвующих в операции (А1,А2) адрес ячейки, в которую помещался результат (А3) и ячейки содержащей след. Команду (А4). Такой порядок выборки команд наз. принудительным.

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

17

Размещено на http://www.allbest.ru/

первый и второй адреса операндов, а третий - адрес рез-та операции.

Операция, описываемая трехразрядной к-дой может символически представлена в виде

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

17

Размещено на http://www.allbest.ru/

Задающую операцию

Т.е. для рез-та используется подразумеваемый адрес.

В одноадресной к-де

17

Размещено на http://www.allbest.ru/

Задающей операцию

,

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

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

17

Размещено на http://www.allbest.ru/

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

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

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

17

Размещено на http://www.allbest.ru/

Здесь Р- совокупность полей, в которых размещаются признаки адресации, адреса внутренней памяти и т.п.; А- полноразрядный адрес, обеспечивающий доступ к любой ячейке ОП.

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

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

3.4 Способы и типы адресации информации

электронный вычислительный программный кодирование

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

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

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

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

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

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

Рассмотрим основные способы адресации информации, используемые в современных ЭВМ различных классов.

3.4.1 Непосредственная адресация

В команде содержится не адрес операнда, а непосредственно сам операнд. При непосредственной адресации не требуется обращение к памяти для выборки операнда.

Это способствует уменьшению времени выполнения программы и занимаемого ею объема памяти. Эта адресация удобна для хранения различного рода констант. При значениях констант от 0 до 63 эта адресация часто называется литеральной.

3.4.2 Прямая адресация

Прямая адресация - это основополагающий способ адресации в ЭВМ. В случае прямой адресации исполнительный адрес совпадает с адресной частью команды. Прямой адрес - это номер ячейки памяти, в которой хранится операнд. Прямой адрес представляется в команде m -разрядным полем, где m = log 2 E (E - емкость адресной памяти, исчисляемая в машинных элементах - словах или байтах).

Схема прямой адресации может быть представлена в следующем виде:

17

Размещено на http://www.allbest.ru/

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

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

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

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

На практике кратность не превышает 6 - 8, т.к. при большей кратности программирование значительно затрудняется. Частным случаем косвенной адресации с кратностью 0 может рассматриваться прямая адресация.

Наиболее распространена однократная косвенная адресация, схема которой может быть представлена в виде:

17

Размещено на http://www.allbest.ru/

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

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

Признак применения косвенной адресации указывается, как правило, в КОП коман- ды. При большой кратности адресации в некоторых ЭВМ адресные поля команды содержат разряд - указатель косвенной адресации (УА).

3.4.4 Относительная адресация

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

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

17

Размещено на http://www.allbest.ru/

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

Исполнительный адрес операнда определяется суммой

АИ = [B] + D , где

[B] - содержимое ячейки внутренней памяти с адресом В.

Схему относительной адресации можно представить в виде

17

Размещено на http://www.allbest.ru/

При использовании относительной адресации адреса операндов задаются значениями D = 0, 1,…, 2m-1 относительно произвольных базовых адресов, которые определяются только косвенно - адресами В = 0, 1, …, Q ячеек внутренней памяти, содержащих значения базовых адресов. Базовые адреса (начальные адреса программных модулей или массивов) загружаются в соответствующие ячейки внутренней памяти В при загрузке программы в основную память. При выполнении программы относительные адреса, указанные в командах, обрабатываются процессором путем выборки из внутренней памяти значения базового адреса [B] и сложения его со смещением D. При любом местоположении программы в памяти команды не изменяются, а изменяются лишь значения в ячейках внутренней памяти, отведенных для хранения базовых адресов.

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

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

3.4.5 Стековая адресация и польская инверсная запись

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

Механизм стековой адресации можно пояснить следующими рисунками

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

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

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

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

(k+l-m)(p-s)

Она имеет следующий вид

kl+m-ps-x

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

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

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

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

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

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

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

4. Принципы организации процессоров

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

Процессор в машине фон Неймана выполняет следующие функции:

1.Выбирает из памяти очередную команду.

2.Вычисляет адреса операндов, если они есть.

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

4.выбирает из памяти операнды по адресам, вычисленным в п.2.

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

6.Записывает результат операции.

7.Вычисляет адрес следующей команды.

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

9.Переходит к выполнению п.1.

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

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

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

Упрощенная схема процессора:

где: БУР - блок управляющих регистров

БС - блок сопряжения с интерфейсом

БРП - блок регистровой памяти

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

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

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

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

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

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

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

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

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

4.2 Принципы организации систем прерывания программ

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

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

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

Основными функциями системы прерываний являются:

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

восстановление состояний прерванной программы и возврат к ней.

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

Для оценки эффективности рассматриваемых систем используются следующие характеристики:

а) общее число запросов прерывания (входов в систему прерывания);

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

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

где: tр - время реакции,

tз - время запоминания состояния прерванной программы;

tв - время восстановления состояния прерванной программы.

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

tизд = tз + tв.

в) Глубина прерывания - max число программ, которые могут прерывать друг друга. Глубина равна m, если допускаемое прерывание до m программ.

4.3 Организация перехода к прерывающей программе

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

Каждому внутреннему прерывающему состоянию процессора и каждому ВУ соответствует свой вектор прерывания (ВП), способный инициализировать выполнение соответствующей прерывающей программы. Главное место в процедуре перехода к прерывающей программе занимает передача из соответствующего регистра процессора в память на сохранение текущего вектора состояния прерываемой программы и загрузка в регистр вектора прерывания прерывающей программы, к которой и переходит управление процессором. Эта процедура включает в себя и выделение из выставленных запросов такого, который имеет наибольший приоритет. Различают абсолютный и относительный приоритеты. Запрос с абсолютным приоритетом прерывает выполняемую программу. Запросы с относительным - является первым кандидатом на обслуживание после завершения текущей программы.

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

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

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

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

Второй способ реализации программно-управляемого приоритета проиллюстрируем схемой.

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

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

4.4 CISC , RISC и MISC архитектуры

Процессор с большим числом различных по формату и длине команд, сложной системой кодирования операций, с большим числом различных режимов адресации называют процессор с CISC-архитектурой. CISC (complex instruction set computer). CISC-архитектура используется с1964 года и дошла до наших дней, например, в таких современных мейнфреймах как IBM ES/9000.

Эта архитектура является практическим стандартом для рынка микрокомпьютеров серией x86 и Pentium.

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

Основное преимущество CISC архитектуры: облегчение отладки программ на ассемблере.

Иногда же достаточно иметь небольшое число основных команд, одинакового формата с простой кодировкой. Такие ЭВМ называют ЭВМ с RISC - архитектурой (reduced instruction set computer).

Основой архитектуры современных рабочих станций и серверов является именно эта архитектура. Упрощения архитектуры С. Крэй с успехом применил при создании широко известной серии суперкомпьютеров компании Cray Research.

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

Благодаря небольшому числу команд упрощаются аппаратные средства ЭВМ типа RISC, время выполнения команд примерно одинаково, увеличивается скорость выполнения команд. Однако отладка программ в RISC архитектурах более сложна.

Повышение степени интеграции при производстве процессоров создало возможность их реализации, обладающей преимуществами вышеуказанных архитектур. Это так называемая MISC-архитектура (multipurpose instruction set computer).

Элементная база состоит из двух частей, которые выполнены в отдельных корпусах либо объединены.Основная часть (host)- RISC процессор, расширяемый подключением второй части- ПЗУ микропрограммного управления. Основные команды работают на host, а для реализации сложных операций составляются микропрограммы (программы) на командах RISC -архитектуры, которые записываются в ПЗУ. Т.о. вторая часть становится эквивалентна процессору со сложным набором команд. И система приобретает свойства CISC.

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

При этом сама реализация по MISC -архитектуре значительно технологичнее.

Процессоры Intel с 8086 по 80486 и Pentium реализованы на CISC -архитектуре, а Pentium II и выше - на MISC -архитектуре.

4.5 Совмещение операций. Конвейеризация

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

Это совмещение производится как при обработке команд в УЦУ, так и при выполнении операций в АЛУ и может осуществляться на уровне команд, микрокоманд и схем.

Совмещение операций базируется на двух принципах:

А) Параллелизм. Делается несколько одинаковых устройств и все они работают одновременно, решая одну и ту же задачу или ее части.

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

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

Здесь, Фi - фиксаторы,

Стi - аппаратные средства i -ой ступени.

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

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

1) Вычисления функции должны быть относительно независимы.

2) Для вычисления каждой функции требуется один и тот же набор подфункций.

3) Все подфункции тесно связаны между собой.

4) Для вычисления каждой подфункции требуется одно и то же время.

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

4.5.1 Синхронный конвейер операций

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

t т. = max { ti }, i = 1, 2, ..., k (1)

ti + ti+1 t т., i = 1, 2, ..., k (2)

При этом в неравенстве (2) можем принять tk+1 = t1, т.к. работа конвейера циклична. Если для каких-либо смежных этапов условие (2) не выполняется, то их объединяют в один этап, либо наиболее длительный этап разбивают на несколько. В последнем случае заново выбирается tт. И вновь проверяется условие.

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

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

Скорость вычислений теоретически увеличивается в n раз. В действительности рост реальной производительности процессора ниже из-за простоев отдельных ступеней конвеера. По схеме синхронного конвейера реализуется операционное устройство в целом.

4.5.2 Асинхронный конвейер операций

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

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

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

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

Здесь N - команда.

Из диаграммы видно, что, начиная с момента выполняются одновременно три этапа цикла. А для данного примера момента из-за большой длительности в команде N+1 операции в АЛУ приостанавливается работа аппаратуры ступеней 1 и 2.

...

Подобные документы

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

    курсовая работа [797,5 K], добавлен 05.11.2011

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

    реферат [22,8 K], добавлен 15.03.2004

  • Ранние приспособления и устройства для счета. Появление перфокарт, первые программируемые машины, настольные калькуляторы. Работы Джона Фон Неймана по теории вычислительных машин. История создания и развития, поколения электронно-вычислительных машин.

    реферат [37,7 K], добавлен 01.04.2014

  • Микропроцессор как универсальное устройство для выполнения программной обработки информации. Функциональные возможности и архитектурные решения. Микроконтроллеры в системах управления и обработки информации. Классификация электронно-вычислительных машин.

    курсовая работа [189,6 K], добавлен 12.10.2015

  • История появления и развития первых вычислительных машин. Изучение характеристик электронно-вычислительной машины. Архитектура и классификация современных компьютеров. Особенности устройства персональных компьютеров, основные параметры микропроцессора.

    курсовая работа [48,6 K], добавлен 29.11.2016

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

    контрольная работа [35,7 K], добавлен 01.05.2009

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

    доклад [23,6 K], добавлен 20.12.2008

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

    презентация [282,5 K], добавлен 13.08.2013

  • Основная концепция СТР-К в отношении к защите информации, обрабатываемой средствами вычислительной техники. Защита информации при сетевом взаимодействии для автоматизированных рабочих мест на базе автономных персональных электронно-вычислительных машин.

    реферат [28,0 K], добавлен 11.10.2016

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

    презентация [523,1 K], добавлен 17.06.2016

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

    реферат [22,5 K], добавлен 16.03.2017

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

    реферат [120,1 K], добавлен 18.04.2004

  • Принципы программного управления компьютером. Модульная и функциональная организация, аппаратная реализация электронно-вычислительной машины. Назначение устройств ввода и вывода информации. Функции процессора; устройства внутренней и внешней памяти.

    презентация [2,2 M], добавлен 27.11.2013

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

    дипломная работа [11,8 M], добавлен 09.01.2011

  • История развития вычислительных машин. История развития IBM. Первые электронно-вычислительные машины. IBM-совместимые компьютеры. Как из яблока сделать макинтош. История создания первого персонального компьютера "Макинтош" (Macintosh).

    реферат [25,4 K], добавлен 09.10.2006

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

    реферат [29,2 K], добавлен 10.12.2012

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

    презентация [96,2 K], добавлен 01.04.2010

  • Поколения электронно-вычислительных машин. Устройства вывода информации: мониторы. Современный текстовый процессор Microsoft Word. Программы-переводчики и электронные словари. Современные графические пакеты, редакторы и программы, их возможности.

    контрольная работа [51,0 K], добавлен 04.05.2012

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

    шпаргалка [1,7 M], добавлен 04.06.2013

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

    презентация [947,7 K], добавлен 20.12.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.