Дудко алексей львович захаров валерий николаевич




НазваниеДудко алексей львович захаров валерий николаевич
страница4/22
Дата26.12.2012
Размер3.11 Mb.
ТипДокументы
1   2   3   4   5   6   7   8   9   ...   22

4.2. ОСНОВНЫЕ СВЯЗИ И СТРУКТУРА ШИН


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




Рис. 4.2. Упрощенная архитектура ЭВМ с тремя шинами


Типовые связи в архитектуре ЭВМ с тремя шинами в общем случае будут иметь вид, представленный на рис. 4.2, если в ка­честве основных функциональных блоков машины использовать микропроцессорный блок (МБ), ОЗУ, ПЗУ и порты ввода/вы­вода. Линии шин адреса (ША) и управления (ШУ) являются однонаправленными [Здесь не рассматривается режим прямого доступа к памяти]. В них сигналы протекают в одном направ­лении — от центрального процессорного элемента ко всем остальным блокам. Шина адреса является 16-разрядной. Число линий шины управления определяется составом сигналов, фор­мируемых системным контроллером.

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

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

Естественно, что в каждый момент времени данные могут передаваться лишь в одном направлении, определяемом режи­мом работы микропроцессора. К основным режимам работы МП можно отнести: запись данных в память машины; чтение данных из памяти машины; пересылку данных в устройство ввода/вы­вода; чтение данных с устройства ввода/вывода; выполнение операций с содержимым внутренних регистров микропроцес­сора.

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

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

1. Микропроцессор формирует адрес, по которому хранится код операции команды, переводя в соответствующее состояние шину адреса.

2. Код операции считывается из памяти по сформированному адресу и пересылается в микропроцессор.

3. Команда дешифрируется (идентифицируется) микропро­цессором.

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

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

Перейдем теперь к окончательному оформлению функ­циональной схемы ПМ-ЭВМ.


4.3. ОБЩАЯ ФУНКЦИОНАЛЬНАЯ СХЕМА ПМ-ЭВМ


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

Управление работой ПМ-ЭВМ осуществляется двумя блока­ми: схемой пошагового выполнения программы и схемой си­стемного контроллера. Первая схема полезна для анализа испол­нения вводимых команд программы. Системный контроллер необходим для организации трактов передачи информации при реализации основных режимов работы микропроцессора. Ис­пользуемый в ПМ-ЭВМ микропроцессор КР580ИК80А имеет шины адреса и данных, а также некоторые управляющие сигна­лы. Сигналы шины управления формируются системным кон­троллером вне микропроцессора из управляющих сигналов МП. К ним относятся: ЧТЕНИЕ, ЗАПИСЬ, ВЫВОД НА ВНЕШНЕЕ УСТРОЙСТВО, ВВОД С ВНЕШНЕГО УСТРОЙСТВА (см. § 6.3).

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

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



Рис. 4.3. Схема основных функциональных узлов ПМ-ЭВМ и связей между ними:

ДАЗУ, ДАУВВ - дешифраторы адреса ЗУ и УВВ; ДБШД - двунаправленный буфер ШД; КЛ - клавиатура; СД - све-тодиоды; СК — системный контроллер; СПИП — схема пошагового исполнения программы; 0, 1,2,3 — порты вывода; 3' - порт ввода


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

Работа всех приведенных на рис. 4.3 блоков в отдельности описывается в гл. 6 и 7. Перейдем к рассмотрению функцио­нальной схемы микропроцессора и организации его работы.


4.4. ФУНКЦИОНАЛЬНАЯ СХЕМА МИКРОПРОЦЕССОРА


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

Как уже говорилось, под регистром подразумевается спе­циальное запоминающее устройство, состоящее из элементов (триггеров) с двумя устойчивыми состояниями. Число элемен­тов (восемь) соответствует одному байту. Большинство ре­гистров микропроцессора 8-разрядные и лишь некоторые 16-разрядные. Все регистры разбиты на группы и отличаются различным функциональным назначением.

Основными блоками МП (рис. 4.4) являются: блок регист­ров общего назначения со схемой выборки регистров, регистр команд с дешифратором команд и формирователем машинных циклов, арифметическо-логическое устройство (АЛУ) с ре­гистром А (аккумулятором), выполняющее арифметические и логические операции, регистр временного хранения данных W и Z (РВХД), флаговый регистр, устройство управления и син­хронизации, буферы шины данных (БШД) и адреса (БША), буфер аккумулятора (БА), схема приращения и уменьшения (СПИУ).




Рис. 4.4. Схема ЦПЭ на базе микропроцессора КР580ИК80А:

СГ - сигналы генератора тактовых импульсов; СС — сигнапы синхронизации


Доступными программисту являются следующие регистры: шесть 8-разрядных регистров, адресуемых по одному или пара­ми (регистры В, С, D, E, H, L); один 8-разрядный регистр А, называемый аккумулятором; один 16-разрядный регистр, называемый указателем стека; один 16-разрядный регистр, на­зываемый счетчиком команд, или программным счетчиком.

В некоторых специальных случаях могут быть доступными данные следующих двух регистров: регистра команд (8-разряд­ного) ; флагового регистра (5-разрядного).

Программно недоступными пользователю являются регист­ры W и Z. Они используются для временного хранения данных при выполнении команд микропроцессором.

Регистры общего назначения. Эти регистры раз­мерностью в один байт обозначаются В, С, D, E, H, L. Они ис­пользуются для хранения данных и промежуточных результатов вычислений, выполняемых с помощью арифметическо-логиче-ского устройства. При обработке 16-разрядных слов возможно обращение к парам регистров (В, С); (D, E); (H, L).

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

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

Счетчик команд — двухбайтовый (16-разрядный) ре­гистр, обозначаемый PC, или программный счетчик. Этот регистр хранит адрес следующей команды, которая должна быть выполнена вслед за предыдущей. Счетчик команд автоматически получает приращение хранимого в нем адреса в зависимости от того, какую по длительности команду (в один, два или три бай­та) микропроцессор считывает из памяти, указывая всегда на 1-й байт следующей команды. На содержимое этого регистра пользователь может повлиять только с помощью команд, изме­няющих последовательное выполнение программы (например, команд безусловного перехода), а также с помощью некоторых специальных команд.

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

Флаговый регистр- регистр, содержащий 5 двоич­ных разрядов, называемых флагами, по числу хранимых в нем специальных признаков результатов некоторых операций. Иногда он называется регистром признаков или флаговым ре­гистром битов условий. Значение флага указывает на резуль­тат выполнения какой-либо операции. Микропроцессор КР580ИК80А содержит флаговый регистр, состоящий из сле­дующих флагов: флага нуля (Z - zero), флага переноса (С -carry), флага знака (S - sign), флага четности (Р -parity), флага дополнительного переноса (АС - auxiliary carry). Флаги всегда устанавливаются или сбрасываются автоматически после вы­полнения очередной команды, влияющей на флаги, в зависи­мости от результата операции. При этом флаг считается уста­новленным, если флаговый разряд принимает значение 1, и сброшенным, если значение разряда 0. Состояния флагов использу­ются в командах условного перехода. Результаты выполнения арифметических и логических операций над содержимым акку­мулятора, регистров общего назначения или содержимым ячеек памяти оказывают влияние на флаги следующим образом.

Флаг нуля устанавливается в состояние 1, если после выпол­нения какой-либо команды получен нулевой результат, и сбра­сывается в 0 в случае ненулевого результата.

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

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

Флаг четности устанавливается в 1, если после выполнения операций сумма единиц в байте данных, подсчитываемых с по­мощью операции сложения по модулю 2, четна (значение суммы по модулю 2 равно 0), и сбрасывается в 0 в противном случае (число единиц — нечетное).

Флаг дополнительного переноса устанавливается в 1, если в результате выполнения команды появляется сигнал переноса из третьего разряда в четвертый в байте данных результата. Если такого переноса нет, флаг дополнительного переноса сбрасывается в 0. Сигнал этого флага используется во многих схемах вычислений, однако он особенно необходим при сложе­нии чисел в двоично-десятичной форме.

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


4.5. КАК МИКРОПРОЦЕССОР ВЫПОЛНЯЕТ КОМАНДУ?


В ПМ-ЭВМ используется микро­процессор КР580ИК80А, структурная схема которого приведе­на на рис. 4.4. Микропроцессор содержит 16-разрядную шину адреса и 8-разрядную шину данных, способную к передаче сообщений в двух возможных направлениях. Единовременно передаваемая порция информации соответствует одному байту (8 двоичных разрядов). В самом общем случае возможны сле­дующие передачи сообщений: 1) пересылка байта данных от устройства ввода; 2) пересылка байта данных к устройству вывода; 3) считывание байта данных из памяти или запись в память; 4) генерирование в шину данных специального байта, называемого управляющим словом и предназначенного для установления правильного схемного соединения.

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

Таким образом, выполнение каждой считанной ЦПЭ команды программы пользователя осуществляется в строго определен­ной последовательности, задаваемой кодом команды. При этом выполнение отдельных микроопераций синхронизируется во времени сигналами Ф1 и Ф2 тактового генератора. Одним из важнейших понятий всего процесса выполнения команд про­граммы является понятие машинного цикла.

В микропроцессоре КР580ИК80А процесс выполнения каж­дой команды можно разбить на ряд основных операций. Время, отведенное на выполнение операции обращения к памяти или к устройству вывода, составляет машинный цикл. Таким обра­зом, процесс выполнения команды состоит из стольких машин­ных циклов, сколько обращений к памяти или к устройствам ввода/вывода требуется для ее исполнения. Машинный цикл в свою очередь состоит из нескольких машинных тактов.

Каждая команда в зависимости от ее вида может занимать от одного до пяти машинных циклов. Микропроцессор КР580ИК80А имеет 10 типов машинных циклов, перечисленных в табл. 6.2, а каждый машинный цикл может состоять из 3 — 5 машинных тактов. Под машинным тактом подразумевается интервал времени, соответствующий одному периоду тактовых импульсов, подаваемых от синхрогенератора.



Рис. 4.5. Временная диаграмма для команды, требующей четыре машин­ных цикла


Для организации машинных циклов требуется формирование строго синхронизированной во времени последовательности управляющих сигналов, обеспечивающих правильные пути про­хождения данных в строго определенные моменты времени, и выполнение требуемых микроопераций. Как уже отмечалось, исходными данными для этого являются результаты дешифри­рования операционного кода команды. Выполнение команды всегда начинается с цикла обращения к памяти, в результате которого производится считывание кода, интерпретируемого МП как код операции. Будем обозначать машинные циклы од­ной команды символами Cl, C2 и т. д., а машинные такты од­ного цикла — символами Tl, T2 и т. д. Таким образом, машин­ный цикл С1 — это всегда цикл выборки команды. Его длитель­ность обычно — четыре или пять тактов. Последующие циклы С2 — С5 состоят обычно из трех тактов. Для простых операций, таких как арифметические, команды занимают четыре или пять тактов. Команды более сложных операций требуют для выполне­ния до 18 машинных тактов.

В качестве примера рассмотрим команду LDA (ЗАГРУЗИТЬ данные в аккумулятор), требующую для реализации четыре машинных цикла. На рис. 4.5 приведена временная диаграмма команды LDA. Эта команда переписывает в аккумулятор дан­ные, содержащиеся в определенной ячейке памяти.

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

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

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

В четвертом машинном цикле происходит окончательное вы­полнение команды: аккумулятор загружается данными из па­мяти по адресу, записанному в регистрах W и Z.

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

Перейдем теперь к рассмотрению системы команд микро­процессора КР580ИК80А и особенностей их работы.

1   2   3   4   5   6   7   8   9   ...   22

Похожие:

Дудко алексей львович захаров валерий николаевич iconРазвитие высших форм запоминания 1 Леонтьев Алексей Николаевич
Леонтьев Алексей Николаевич (5 февраля 1903 — 21 января 1979) — советский психолог, доктор психологических наук, профессор, академик...
Дудко алексей львович захаров валерий николаевич iconСвидетельство о государственной регистрации программы для ЭВМ регистрационный номер: 2011618 693 ( 08. 1 2011) Заявка: 2011616 954 ( 19. 0 2011)
Алексеевич, Липов Денис Игоревич, Петрик Алексей Николаевич, Лобанов Павел Сергеевич, Семенов Роман Александрович, Киселев Алексей...
Дудко алексей львович захаров валерий николаевич iconРеферат Авторы: Захаров Михаил Юрьевич, Виноградов Кирилл Евгеньевич, Кренев Александр Николаевич
Образования "Ярославский государственный университет имени П. Г. Демидова" 150000, г. Ярославль, ул. Советская, 14
Дудко алексей львович захаров валерий николаевич iconАлексей Николаевич Толстой Гиперболоид инженера Гарина
Этот роман написан в 1926–1927 годах. Переработан, со включением новых глав, в 1937 году
Дудко алексей львович захаров валерий николаевич iconЛекции по общей психологии
Алексей Николаевич Леонтьев (1903-1979) выдающийся советский психолог, действительный член апн рсфср, доктор педагогических наук,...
Дудко алексей львович захаров валерий николаевич iconРазработка принципов однопроходной прокатки изделий из волокнистых композиционных материалов
Мануйлов Виталий Федорович, Соколов Алексей Викторович, Нуждин Виталий Николаевич, Преображенский Евгений Владимирович
Дудко алексей львович захаров валерий николаевич iconВасилий Александрович Токарев П. Михайлов Игорь Львович Андреев Вячеслав Николаевич Козляков День народного единства: биография праздника
Книга посвящена драматичным событиям российской истории XVII в. – Смутному времени. На основе широкого круга источников и литературы...
Дудко алексей львович захаров валерий николаевич iconКонтрольная работа по литературе в 7 классе
Мать, Надежда Осиповна, была правнучкой Ганнибала. Александр Львович литературой не увлекался, а вот его брат, Сергей Львович,- был...
Дудко алексей львович захаров валерий николаевич iconПроисхождение Александра Сергеевича Пушкина
Сергей Львович (1767—1848), светский острослов и поэт-любитель, дядя по отцу, Василий Львович (1766—1830), был известным поэтом круга...
Дудко алексей львович захаров валерий николаевич iconАлексей Николаевич Толстой Гиперболоид инженера Гарина
«Аэлита. Гиперболоид инженера Гарина»: Гос уч пед из во Министерства просвещения бсср; Минск; 1959
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница