Студопедия — Краткие сведения. Микрокомпьютер «Е97» представляет собой учебную модель компьютеров чет­вертого поколения и предназначен для изучения основ функционирования совре­менных
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Краткие сведения. Микрокомпьютер «Е97» представляет собой учебную модель компьютеров чет­вертого поколения и предназначен для изучения основ функционирования совре­менных






Микрокомпьютер «Е97» представляет собой учебную модель компьютеров чет­вертого поколения и предназначен для изучения основ функционирования совре­менных персональных ЭВМ. Программа разработана Е. А. Ереминым в 1997 г.

В состав «Е97» (рис. 4.1) входят централь­ный процессор, оперативное и постоянное за­поминающие устройства (ОЗУ и ПЗУ), дисп­лей и клавиатура.

Основным устройством в «Е97», постро­енном на основе неймановской архитектуры, является шестнадцатиразрядный процессор «Е97». Его система команд позволяет обраба­тывать двухбайтовые машинные слова и от­дельные байты.

Процессор (рис. 4.2) содержит программ­но доступные регистры — четыре регистра об­щего назначения (КО—КЗ), указатель стека (8Р — §1аск рот1ег); служебные регистры — счетчик адреса команд (РС — рго§гатт сошйег), регистр состояния процессора (Р8); и программно недоступные (внутренние), ко­торые процессор использует в своих целях — регистр команд (РК), регистры операндов (Рг1, Рг2) и сумматор (См).

Счетчик адреса команд РС при работе программы всегда указывает на адрес оче­редной команды, выполняя которую, авто­матически изменяется согласно основному

Процессор «Е97» ОЗУ ПЗУ
А У 1 1
А У Ь А г 1 к г
Контроллер Контроллер
к \ 1 А Г л к г
Дисплей Клавиатура
Рис. 4.1. Состав учебной машины «Е97
1 |К0 1 |рс| 11 1РК
1 |К1 1 |5Р I 1 1 Рг1
1 1*2 1 ж Р5 i и 1 1 Рг2
1 |яз   1 1 1 См

алгоритму работы процессора. Регистры об- Рис- 4-2. Процессор «Е97»
щего назначения можно рассматривать как внутреннюю память процессора. Они используются для промежуточного сохранения данных и адресов данных.

Напомним основной алгоритм работы процессора:

1) считывается команда из оперативной памяти по адресу, указанному в счет­чике команд, и записывается в регистр команд;

2) счетчик команд автоматически увеличивается так, чтобы он содержал адрес следующей команды (в «Е97» автоматически увеличивается на2);

3) содержимое регистра команд дешифруется, из памяти выбираются значения операндов и размещаются в регистрах операндов, выполняется нужная команда; в случае необходимости результат записывается в ОЗУ;

4) осуществляется переход к п.1.

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

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

Регистр состояния процессора (точнее говоря, отдельные его биты) анализи-, руется при организации переходов, прерываний и т.д. Реально далее будут исполь­зованы только два бита: Ъ и N. Значения этих битов при возможных значениях результатов операций указаны ниже в таблице.

Результат Значение бита Ъ Результат Значение бита N
Нулевой (= 0)   Отрицательный (< 0)  
Ненулевой (< > 0)   Неотрицательный (=> 0)  

 

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

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

Минимальной адресуемой ячейкой памяти в микрокомпьютере «Е97», как и1 в любой современной персональной ЭВМ, является байт. Номера байтов (адреса) лежат в диапазоне от 0000(16) до РРРР(16). Гораздо чаще приходится работать с машинными словами (в «Е97» они двухбайтовые). Напомним, что это связано с разрядностью процессора. Адрес машинного слова совпадает с номером младшего байта, входящего в слово, поэтому адреса всех машинных слов четные. Для разме­щения программы и данных в распоряжении программиста существует ОЗУ (с ад­реса 0000 до адреса 00РЕ включительно). Программа и данные записываются в память «Е97» (в том числе и в регистры) в шестнадцатеричном коде. ПЗУ содержит полезные подпрограммы автора «Е97» и размещается с адреса 4000 по адрес 4106. Список этих подпрограмм — в лабораторной работе №5.

Рассмотрим два основных способа адресации данных в «Е97»: прямой регистро­вый — когда данные для обработки содержатся в регистрах, и косвенный регистро­вый — когда данные расположены в ОЗУ, а их адреса находятся в регистрах обще­го назначения. Указанные способы адресации кодируются следующим образом:

    Код операнда  
Регистр Регистровая адресация Косвенная адресация
КО      
К1      
К2      
КЗ      

 

Условным обозначением косвенной адресации, в отличие от регистровой, служит название (идентификатор) регистра, заключенное в круглые скобки. Например: (К2).

Кроме рассмотренных способов адресации имеется еще адресация по командно­му счетчику РС. Если в качестве операнда указано значение В, то соответствующий операнд входит непосредственно в команду и расположен в ОЗУ по следующему за командой адресу; если — Е, то по следующему за командой адресу указан адрес, где хранится величина. Более подрЪбно об этих способах адресации — в примерах.

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

Познакомимся с некоторыми командами процессора «Е97».Все их можно раз­делить на безадресные (без операндов), одноадресные (с одним операндом) и двухадресные (с двумя операндами).

Безадресная команда имеет формат

Третий полубайт (отсчет ведется справа налево), как и в других командах, за­нимает код операции (КОП) — то действие, которое необходимо выполнить. Дру­гие полубайты могут содержать все, что угодно, так как они не задействованы; по традиции туда записывают нули.

К безадресным относятся команды нет операции (0) и стоп (Р). Согласно приня­тым соглашениям в полной форме эти команды записываются так:

0000 (нет операции);

0Р00 (стоп).

Всякую программу обязательно должна завершать команда СТОП.

Двухадресная команда имеет формат

МОД | КОП | ОП1 | ОП2

На приведенной схеме модификатор (МОД) — некоторый вспомогательный код; ОП1 и ОП2 — операнды в команде.

Вот список таких команд:

Команда Код Команда Код
Переписать   Логическое И ^N0)  
Сложить   Логическое ИЛИ (ОЯ)  
Вычесть   Исключающее ИЛИ (ХОК)  
Сравнить   Ввести в порт А
Умножить   Вывести из порта В
Разделить      

 

Действия выполняются по схеме

ОП2 е ОП1-» ОП2,

где 0 — операция. Как видно из схемы, конечный результат операции всегда по­мещается во второй операнд.

Особое место занимает операция сравнения: при ее выполнении содержимое операндов не изменяется, а действие ОП2 — ОП1 выполняется лишь для установ­ления значений управляющих битов Ъ и N регистра состояния Р8.

В каждой из указанных здесь команд значение МОД (модификатора) равно нулю. Модификатор может быть отличен от нуля (об этом — позднее).

Приведем примеры использования команд:

1) 0123 — переслать содержимое регистра К2 в регистр КЗ, содержимое К2 сохраняется;

2) 0534 — умножить содержимое регистра КЗ на содержимое ячейки памяти, адрес которой указан в регистре КО, результат поместить в эту ячейку памяти.

Для реализации развилок и циклов в системе команд «Е97» есть две команды перехода — абсолютного и относительного.

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

Структура команды следующая:

| МОД |[ КОП | || ОП1

Код команды абсолютного перехода — С.

Команда относительного перехода имеет следующий формат:

МОД КОП Смещение

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

Значение модификатора в команде в большинстве случаев зависит от управля­ющих битов Ъ и N регистра состояния Р8. Следующая таблица показывает воз­можные значения модификатора:

МОД Условие перехода
  Возврат из подпрограммы
  Безусловный переход
  Результат неотрицателен ^ = 0)
  Результат отрицателен ^ = 1)
Ч Результат ненулевой (2 = 0)
  Результат нулевой (2=1)
  Результат неположительный ^ = 1 или 2=1)
  Результат положительный ^ = 0 или 2=0)
  Вызов подпрограммы

 

Код команды относительного перехода — Б.

Если переход осуществляется в сторону увеличения адресов, то смещение бу­дет положительным, в сторону уменьшения адресов — отрицательным. Смещение записывается в дополнительном коде.

Развилка может быть полной или неполной. Полная развилка имеет структуру

если < условие> то ссерия 1> иначе ссерия 2>

Здесь < условие> — это отношение между двумя величинами. Например, х< у; 1> 10. ссерия 1>, ссерия 2> — действия, которые необходимо осуществить со­ответственно в случае истинности или ложности условия. Например:

если а с Ь то Ш1п: = а иначе Ш1П: = Ь.

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

Неполная развилка имеет структуру

если сусловие> то ссерия 1>

В этом случае действия выполняются только в случае истинности условия, в про­тивном случае никаких действий выполнять не надо. Например:

если а с 0 то а: = -а.

В примере данное число а заменяется модулем.

При реализации развилки (как полной, так и неполной) с помощью системы команд «Е97» обычно используется несколько различных команд (в их числе в большинстве случаев должна быть команда сравнения для установки управляющих битов 2, N регистра состояния Р8; очень часто присутствуют команды условного и безусловного перехода).

При обращении к подпрограммам в «Е97» (и не только в ней) используется стек. Стек позволяет по окончанию работы подпрограммы обеспечить возврат в ту точку основной программы, которая следует сразу же за вызовом подпрограммы. При обращении к вспомогательному алгоритму адрес в указателе стека (8Р) умень­шается на 2, по вновь полученному адресу записывается адрес, следующий за вызовом подпрограммы. Подпрограмма исполняется и, когда встречается команда возврата (0Б00), в счетчик команд помещается адрес, на который указывает 8Р, значение 8Р увеличивается на 2. Так обеспечивается продолжение исполнения основной программы.

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

Удобным способом выполнения действия с константой, значение которой не превышает по абсолютной величине 15(10) (Р(16))> является операция с короткой константой. В этом случае место первого операнда (ОП1) в двухадресной команде занимает модуль константы. На знак константы указывает модификатор. Если его значение 2(16), то константа положительная; 3(16) — отрицательная. Указанный способ оказывается экономичнее рассмотренного ранее способа адресации по РС, так как команда в этом случае занимает одно слово вместо двух.

Например, команда «переслать по адресу, записанному в регистре НО, число 3»

0020 0Ю4

0022 0003

может быть заменена на такую:

0020 2134

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

Контрольные вопросы

1. Что такое дискретность памяти ЭВМ?

2. Что такое адресуемость памяти ЭВМ?

3. Что такое регистр процессора?

4. Какие виды памяти можно выделить в ЭВМ? В чем различие между ними?

5. Сформулируйте и разъясните принципы Дж.фон Неймана функционирова­ния ЭВМ.

6. Для чего нужна внешняя память?

7. Какие устройства используются в качестве внешней памяти ЭВМ?

8. Из чего состоит основная память? Дайте характеристику каждой компо­ненты.

9. В чем различие внутренней и внешней памяти ЭВМ?

10. Если выключить компьютер, что произойдет с содержимым внутренней и внешней памяти?

11. В какой (внутренней или внешней) памяти должна находиться выполняемая в данный момент программа?

12. Что такое адресное пространство?

13. Как определить объем адресного пространства?

14. Что такое режимы адресации к памяти?

15. Расскажите о режимах адресации персональных компьютеров.

16. Расскажите о регистровой адресации.

17. Расскажите о косвенно-регистровой адресации.

18. Расскажите об автоинкрементной адресации.

19. Расскажите об автодекрементной адресации.

20. Что такое микропроцессор (МП)?

21. Расскажите о поколениях МП и их основных характеристиках.

22. Из чего состоит МП?

23. Что такое РОН?

24. Что такое регистр состояния микропроцессора? Каково назначение битов N и Ъ регистра состояния Р8? Расскажите о назначении других битов Р8.

25. Какие регистры являются программно-управляемыми? программно-неуправ­ляемыми?

26. Каково назначение следующих регистров: счетчика команд, регистра ко­манд, регистра адреса?

27. Что такое система команд МП? классификация команд? Расскажите о на­значении команд.

28. Расскажите об алгоритме работы микропроцессора.

29. Расскажите о форматах команд микропроцессора.

30. Что такое безусловный переход? В каких случаях он применяется?

31. Как организовать условный переход?

32. Как вычислить смещение при организации перехода?

33. Чем отличается абсолютный переход от относительного?

34. Какие виды циклов существуют?

35. Как организовать цикл?

36. Что такое стек?

37. Что такое подпрограмма?

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

39. Объясните механизм обращения к подпрограмме.

40. Почему использование подпрограмм облегчает отладку программы?

41. Существуют ли ограничения на вложенность подпрограмм друг в друга? Может ли одна подпрограмма вызывать другую?

42. Какие подпрограммы называются рекурсивными!







Дата добавления: 2014-11-10; просмотров: 1122. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

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

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

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия