
Структура эвм с общей шиной
Структура ЭВМ на основе общей шины
При организации ЭВМ на основе общей шины (ОШ) взаимодействие междуее
устройствами осуществляется через общую шину, к которой подключены все
устройства, входящие в состав ЭВМ.
|
|
|
|
Рисунок 1.4.2- Структура ЭВМ на основе ОШ
Взаимодействие между всеми устройствами ЭВМ осуществляется в режиме
разделения времени общей шины (т.е. поочередно). Такой способ не обеспечивает
(принципиально) высокой пропускной способности, ввиду чего производительность
ЭВМ ниже, чем при наличии локальных шин между различными устройствами ЭВМ.
Однако простота реализации и возможность построения ОШ с высокой пропускной
способностью обеспечили широкое использования такой структуры в персональных
ЭВМ (ПК) и микропроцессорных системах (МПС).
При выполнении каждой команды ЭВМ проделывает определенные стандартные действия:
1) согласно содержимому счетчика адреса команд, считывается очередная команда программы (ее код обычно заносится на хранение в специальный регистр УУ, который носит название регистра команд);
2) счетчик команд автоматически изменяется так, чтобы в нем содержался адрес следующей команды (в простейшем случае для этой цели достаточно к текущему значению счетчика прибавить некоторую константу, определяющуюся длиной команды);
3) считанная в регистр команд операция расшифровывается, извлекаются необходимые данные и над ними выполняются требуемые действия
Процессор назначение устройство
Процессором называется устройство, непосредственно осуществляющее процесс обработки данных и программное управление этим процессом. Процессор дешифрирует и выполняет команды программы, организует обращения к оперативной памяти, в нужных случаях инициирует работу периферийных устройств, воспринимает и обрабатывает запросы, поступающие из устройств машины и из внешней среды (“запросы прерывания”).
Выполнение команды (машинной операции) разделено на более мелкие этапы — микрооперации (микрокоманды), во время которых выполняются определенные элементарные действия. Конкретный состав микроопераций определяется системой команд и логической структурой данной ЭЗМ. Последовательность микроопераций (микрокоманд), реализующих данную операцию (команду), образует микропрограмму операции.
Для определений временных соотношений между различными этапами операции используется понятие машинного такта. Машинный такт определяет интервал времени, в течение которого выполняется одна или одновременно несколько микроопераций.
Арифметическо-логическое устройство процессора выполняет логические и арифметические операции над данными. В общем случае в АЛУ выполняются логические преобразования над логическими кодами фиксированной и переменной длины (над отдельными битами, группами бит, байтами и их последовательностями) , арифметические операции над числами с фиксированной и плавающей точками, над десятичными числами, обработка алфавитно-цифровых слов переменной длины и др. Характер выполняемой АЛУ операции задается командой программы.
В процессоре может быть одно универсальное АЛУ для выполнения всех основных арифметических и логических преобразований или несколько специализированных для отдельных видов операций. В последнем случае увеличивается количество оборудования процессора, но повышается его быстродействие за счет специализации и упрощения схем выполнения отдельных операций.
Управляющее устройство (управляющий автомат) вырабатывает последовательность управляющих сигналов, инициирующих выполнение соответствующей последовательности микроопераций, обеспечивающей реализацию текущей команды.
Блок управляющих регистров предназначен для временного хранения управляющей информации. Он содержит регистры и счетчики, участвующие в управлении вычислительным процессом: регистры, хранящие информацию о состоянии процессора, регистр-счетчик адреса команды — счетчик команд (СчК), счетчики тактов, регистр запросов прерывания и др. К блоку управляющих регистров следует также отнести управляющие триггеры, фиксирующие режимы работы процессора.
Для повышения быстродействия и логических возможностей процессора и микропроцессора в их состав включают блок регистровой памяти (местную память) небольшой емкости, но более высокого, чем ОП, быстродействия. Регистры этого блока (или ячейки местной памяти) указываются в командах программы путем укороченной регистровой адресации и служат для хранения операндов, в качестве аккумуляторов (регистров результата операций), базовых и индексных регистров, указателя стека.
Местная память выполняется главным образом на быстродействующих полупроводниковых интегральных ЗУ.
Блок связи (интерфейс процессора) организует обмен информацией процессора с оперативной памятью и защиту участков ОП от недозволенных данной программе обращений, а также связь процессора с периферийными устройствами и внешним по отношению к ЭВМ оборудованием (другими ЭВМ и т.д.).
Рис 1.3 Блок-схема процессора Intel 80286
Функционирование процессоров в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует выполнению одной команды программы. Завершив рабочий цикл для текущей команды, процессор переходит к выполнению рабочего цикла для следующей команды программы.
В общем виде команды, выполняемые процессором, имеют следующий формат:
КОП |
Аk |
КОП - код операции, затребованной в команде, Аk - адресный код.
В зависимости от того, сколько полей содержит адресный код различают команды: безадресные, одноадресные, двухадресные и т.д.
Схема рабочего цикла процессора представлена на рисунке 1.4.
На схеме показаны варианты рабочего цикла для четырех групп команд:
основных (арифметические, логические и пересылочные операции)
передачи управления
ввода-вывода
системных (устанавливающих состояние процессора, маску прерывания, слово состояния программы и др.)
Рабочий цикл начинается с распознавания состояния процессора - "счет" или "ожидание". Далее производится проверка наличия немаскированных прерываний.
В состоянии "ожидание" никакие программы не выполняются - процессор ждет поступления прерывания, после чего управление передается прерывающей программе, переводящей процессор в состояние "счет".
В состоянии "счет" при наличии немаскированных прерываний происходит выход из нормального рабочего цикла и переход к процедуре обработки запросов прерывания.
При отсутствии прерываний в состоянии "счет" последовательно выполняются этапы рабочего цикла: выборка очередной команды и определение по коду операции ее группы, подготовка операндов (формирование исполнительных адресов и выборка операндов из памяти), обработка операндов в АЛУ и запоминание результата.
На этапе выборки очередной команды образуется согласно естественному порядку адрес следующей за ней команды (продвинутый адрес), при этом счетчик команд инкрементируется.
В процессе выполнения заданной командой операции формируется признак результата операции, используемый командами условного перехода при организации ветвлений в программах.
Указанная выше последовательность составляет основной вариант рабочего цикла, реализуемый при выполнении основных команд.
При выполнении команд передачи управления проверяется заданное условие. Если условие не выполняется, то следующую команду указывает продвинутый адрес, установленный ранее в СчК. Если условие выполняется, то в СчК передается адрес, заданный командой передачи управления.
Команды ввода-вывода инициируют в канале операцию обмена информацией между ядром ЭВМ (основной памятью) и периферийным устройством.
Системные команды осуществляют переключения состояния процессора (программы) путем загрузки нового слова в регистр состояния процессора.
АЛУ
Арифметико-логические устройства (АЛУ) служат для выполнения арифметических и логических преобразований над словами, называемыми в этом случае операндами.
Выполняемые в АЛУ операции можно разделить на следующие группы:
операции двоичной арифметики для чисел с фиксированной точкой;
операции двоичной (или шестнадцатеричной) арифметики для чисел с плавающей точкой;
операции десятичной арифметики;
операции индексной арифметики (при модификации адресов команд);
операции специальной арифметики;
операции над логическими кодами (логические операции);
операции над алфавитно-цифровыми полями.
Современные ЭВМ общего назначения обычно реализуют операции всех приведенных выше групп, а малые и микроЭВМ, микропроцессоры и специализированные ЭВМ часто не имеют аппаратуры арифметики чисел с плавающей точкой, десятичной арифметики и операций над алфавитно-цифровыми полями. В этом случае эти операции выполняются специальными подпрограммами или специализированными сопроцессорами.
Можно привести следующую классификацию АЛУ.
По способу действия над операндами АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами. В параллельных АЛУ операнды представляются параллельным кодом и операции совершаются параллельно во времени над всеми разрядами операндов.
По способу представления чисел различают АЛУ:
для чисел с фиксированной точкой;
для чисел с плавающей точкой;
для десятичных чисел.
По характеру использования элементов и узлов АЛУ делятся на блочные и многофункциональные. В блочном АЛУ операции над числами с фиксированной и плавающей точкой, десятичными числами и алфавитно-цифровыми полями выполняются в от дельных блоках, при этом повышается скорость работы, так как блоки могут параллельно выполнять соответствующие операции но значительно возрастают затраты оборудования. Вмногофункциональных АЛУ операции для всех форм представления чисел выполняются одними и теми же схемами, которые коммутируются нужным образом в зависимости от требуемого режима работы.
По своим функциям АЛУ является операционным блоком, выполняющим микрооперации, обеспечивающие прием из других устройств (например, памяти) операндов, их преобразование и выдачу результатов преобразования в другие устройства. Арифметическо-логическое устройство управляется управляющим блоком, генерирующим управляющие сигналы, инициирующие выполнение в АЛУ определенных микроопераций. Генерируемая управляющим блоком последовательность сигналов определяется кодом операции команды и оповещающими сигналами.
ПАМЯТЬ
Памятью ЭВМ называется совокупность устройств, служащих для запоминания, хранения и выдачи информации. Отдельные устройства, входящие в эту совокупность, называют запоминающими устройствами или памятями того или иного типа.
Оба эти термина в настоящее время стали почти синонимами. Однако термин “запоминающее устройство” (ЗУ) обычно употребляют, когда речь идет о принципе построения некоторого устройства памяти (например, полупроводниковые ЗУ, ЗУ на магнитных дисках и т.д.), а термин “память”—когда хотят подчеркнуть выполняемую устройством памяти логическую функцию или место расположения в составе оборудования ЭВМ (например, оперативная память, внешняя память и т.д.).
Производительность и вычислительные возможности ЭВМ в значительной степени определяются составом и характеристиками ее ЗУ. В составе ЭВМ используется одновременно несколько типов ЗУ (несколько типов памятей), отличающихся принципом действия, характеристиками и назначением.
Основными операциями в памяти в общем случае являются занесение информации в память — запись и выборка информации из памяти —считывание. Обе эти операции называются обращением к памяти, или, подробнее, обращением при считывании и обращением при записи.
При обращении к памяти производится считывание или запись некоторой единицы данных — различной для устройств разного типа. Такой единицей может быть, например, байт, машинное слово или блок данных.
Важнейшими характеристиками отдельных устройств памяти (запоминающих устройств) являются емкость памяти и быстродействие.
Емкость памяти определяется максимальным количеством данных, которые могут в ней храниться. Емкость измеряется в двоичных единицах (битах), машинных словах, но большей частью в байтах (1 байт=8 бит), при этом часто емкость памяти выражают через число К= 1024: Кбит (килобит), Кслов (кило-слов) или Кбайт (килобайт), при этом 1024 Кбайт обозначают как 1 Мбайт (мегабайт).
Быстродействие памяти определяется продолжительностью операции обращения, т. е. временем, затрачиваемым на поиск нужной единицы информации в памяти и на ее считывание (время обращения при считывании), или временем на поиск места в памяти, предназначаемого для хранения данной единицы информации, и на ее запись в память (время обращения при записи).
В некоторых устройствах памяти считывание информации сопровождается ее разрушением (стиранием). В таком случае цикл обращения должен содержать операцию восстановления (регенерации) считанной информации на прежнем месте в памяти.
В зависимости от реализуемых в памяти операций обращения различают:
а) память с произвольным обращением (возможны считывание и запись данных в память) - RAM; б) память только для считывания информации (“постоянная” или “односторонняя”) - ROM.
Запись информации в постоянную память производится в процессе ее изготовления или настройки.
По способу организации доступа различают устройства памяти:
с непосредственным (произвольным) доступом;
с прямым (циклическим) доступом;
с последовательным доступом.
В памяти с непосредственным (произвольным) доступом время доступа, а поэтому и цикл обращения не зависят от места расположения участка памяти, с которого производится считывание или в который записывается информация. В большинстве случаев непосредственный доступ реализуется при помощи электронных (полупроводниковых) ЗУ. Число разрядов, считываемых или записываемых в памяти с непосредственным доступом параллельно во времени за одну операцию обращения, называется шириной выборки.
В двух других типах памяти используются более медленные электромеханические процессы. В устройствах памяти с прямым доступом, к которым относятся дисковые устройства, благодаря непрерывному вращению носителя информации возможность обращения к некоторому участку носителя для считывания или записи циклически повторяется.
В памяти с последовательным доступом производится последовательный просмотр участков носителя информации, пока нужный участок носителя не займет некоторое исходное положение. Характерным примером является ЗУ на магнитных лентах. Время доступа может в неблагоприятных случаях расположения информации достигать нескольких минут.
Запоминающие устройства различаются также по выполняемым в ЭВМ функциям, зависящим в частности, от места расположения ЗУ в структуре ЭВМ.
Память ЭВМ организуется в виде иерархической структуры запоминающих устройств, обладающих различными быстродействием и емкостью. В общем случае ЭВМ содержит сверхоперативную память (СОП) или местную память,оперативную или основную память (ОП), память с прямым доступом на магнитных дисках, память с последовательным доступом на магнитных лентах. Порядок перечисления устройств соответствует убыванию их быстродействия и возрастанию емкости. Иерархическая структура памяти позволяет экономически эффективно сочетать хранение больших объемов информации с быстрым доступом к информации в процессе обработки.
Оперативной или основной памятью (ОП) называют устройство, которое служит для хранения информации (данных программ, промежуточных и конечных результатов обработки), непосредственно используемой в процессе выполнения операций в арифметическо-логическом устройстве и устройстве управления процессора.
В процессе обработки информации осуществляется тесное взаимодействие процессора и ОП. Из ОП в процессор поступают команды программы и операнды, над которыми производятся предусмотренные командой операции, а из процессора в ОП направляются для хранения промежуточные и конечные результаты обработки.
Характеристики ОП непосредственно влияют на основные показатели ЭВМ и в первую очередь на скорость ее работы.
В ряде случаев быстродействие ОП оказывается недостаточным, и в состав машины приходится включать быстродействующую СОП (буферную или кэш-память на несколько сотен или тысяч машинных слов). Такие СОП выполняются на быстродействующих интегральных микросхемах. Быстродействие СОП должно соответствовать скорости работы арифметическо-логических и управляющих устройств процессора. Сверхоперативная (буферная) память используется для промежуточного хранения считываемых процессором из ОП участков программы и групп данных, в качестве рабочих ячеек программы, индексных регистров, для хранения служебной информации, используемой при управлении вычислительным процессом. Она выполняет роль согласующего звена между быстродействующими логическими устройствами процессора и более медленной ОП.
Оперативная память вместе с СОП и некоторыми другими специализированными памятями процессора образуют внутреннюю памятьЭВМ.Электромеханические (оптические) ЗУ образуют внешнюю память и называются внешними запоминающими устройствами.
Система команд процессора
Несмотря на большое число разновидностей ЭВМ, на самом низком ("машинном") уровне системы их команд имеют много общего. Любая ЭВМ обязательно содержит следующие группы команд.
Команды передачи данных, копирующие информацию из одного места в другое.
Команды пересылки данных занимают очень важное место в системе команд любого процессора. Они выполняют следующие важнейшие функции:
загрузка (запись) содержимого во внутренние регистры процессора;
сохранение в памяти содержимого внутренних регистров процессора;
копирование содержимого из одной области памяти в другую;
запись в устройства ввода/вывода и чтение из устройств ввода/вывода.
Арифметические операции. Доля вычислительных действий в современном компьютере уменьшилась, но они по-прежнему играют в программах важную роль.
рифметические команды рассматривают коды операндов как числовые двоичные или двоично-десятичные коды. Эти команды могут быть разделены на пять основных групп:
команды операций с фиксированной запятой (сложение, вычитание, умножение, деление);
команды операций с плавающей запятой (сложение, вычитание, умножение, деление);
команды очистки;
команды инкремента и декремента;
команда сравнения.
Команды операций с фиксированной запятой работают с кодами в регистрах процессора или в памяти как с обычными двоичными кодами.
Команды операций с плавающей запятой (точкой) используют формат представления чисел с порядком и мантиссой (обычно эти числа занимают две последовательные ячейки памяти). В современных мощных процессорах набор команд с плавающей запятойне ограничивается только четырьмя арифметическими действиями, а содержит и множество других более сложных команд, например, вычисление тригонометрических функций, логарифмических функций, а также сложных функций, необходимых при обработке звука и изображения.
Команды очистки ( CLR ) предназначены для записи нулевого кода в регистр или ячейку памяти.
Команды инкремента (увеличения на единицу, INC ) и декремента (уменьшения на единицу, DEC )
Логические операции, позволяющие компьютеру производить анализ получаемой информации. Простейшими примерами команд рассматриваемой группы могут служить сравнение, а также известные логические операции И, ИЛИ, НЕ. Кроме того, к ним часто добавляют анализ отдельных битов кода, их сброс и установку.
логическое И, логическое ИЛИ, сложение по модулю 2 (Исключающее ИЛИ);
логические, арифметические и циклические сдвиги;
проверка битов и операндов;
установка и очистка битов (флагов) регистра состояния процессора ( PSW ).
Команды логических операций позволяют побитно вычислять основные логические функции от двух входных операндов.
4. Сдвиги двоичного кода влево и вправо. В некоторых частных случаях умножение и деление может быть заменено сдвигом.
5. Команды ввода и вывода информации для обмена с внешними устройствами.
6. Команды управления, к которым относятся все виды переходов. Операции по управлению процессором.
По устройству системы команд процессоры делятся на две большие группы: RISC и CISC Последние появились раньше, и для них характерен набор сложных команд неодинаковой длины с большим количеством методов адресации к памяти. Появившийся позднее RISC-подход предлагал менее сложные команды одинаковой длины с отказом от некоторых сложных методов адресации. Такое упрощение системы команд позволяет оптимизировать время их выполнения и существенно ускорить работу процессора. Что касается "отброшенных" при упрощении возможностей, то они могут быть реализованы программным путем.
Процессоры фирмы Intel относятся к CISC-группе. Чтобы наращивать быстродействие своих изделий, Intel широко применяет отдельные достижения RISC-архитектуры (в частности, таковым является конвейер).
RISC (Reduced Instruction Set Computer) – компьютер с уменьшенным набором команд.
CISC (Complex Instruction Set Computer) - компьютер с полным набором команд.
Исходно аббревиатура RISC расшифровывалась -RationalInstructionSetComputer(компьютер с рациональной системой команд). RISC-процессоры противопоставлялись процессорам с необязательно сложной (CISC - ComplexInstructionSetComputer, компьютер со сложной системой команд), но "иррациональной", исторически сложившейся архитектурой, в которой из-за требований бинарной и ассемблерной совместимости с предыдущими поколениями накопилось множество ненужных команд, специализированных регистров и концепций.
Быть "рациональными" в таком понимании могут лишь осваивающие новый рынок разработчики, которых не заботит та самая бинарная совместимость.