Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ВИВЧЕННЯ ТА ЗАСТОСУВАННЯ КОМАНД ПЕРЕСИЛАННЯ ДАНИХ

Работа добавлена на сайт samzan.net:


МIНIСТЕРСТВО ОСВIТИ І НАУКИ УКРАIНИ

НАЦІОНАЛЬНИЙ УНIВЕРСИТЕТ  “ЛЬВIВСЬКА ПОЛIТЕХНIКА”

Кафедра ЕСМ

АРХІТЕКТУРА ТА ПРИНЦИПИ ФУНКЦІЮВАННЯ МІКРОПРОЦЕСОРА. ВИВЧЕННЯ ТА ЗАСТОСУВАННЯ КОМАНД ПЕРЕСИЛАННЯ ДАНИХ.

МЕТОДИЧНІ ВКАЗІВКИ ТА ІНСТРУКЦІЯ

до виконання лабораторної роботи № 3

з дисципліни “Мікропроцесорна техніка в електроенергетиці”

для студентів базового напряму “Електротехніка та електротехнології”

        Затверджено

       на засіданні кафедри

      електричних систем та мереж

                                                      Протокол № 15 від 20.02.10

Львів  2010


 Архітектура та принципи функціонування мікропроцесора. Вивчення та застосування команд пересилання даних: Методичні вказівки та інструкція до виконання  лабораторної роботи № 3 з дисципліни “Мікропроцесорна техніка в електроенергетиці” для студентів для студентів базового напряму “Електротехніка”. /Укл. М.В. Базилевич, Б.І. Дурняк, Я.С. Пазина, – Львів: Видавництво Національного університету  "Львівська політехніка", 2010. – 20 с.

 Укладачі: Базилевич М.В., асистент

  Дурняк Б.І., асистент

  Пазина Я.С., ст. викладач

 Відповідальний за випуск Г.М.Лисяк доц., канд. техн. наук

 Рецензенти: Баран П.М., доц., канд. техн. наук

  


МЕТА РОБОТИ

Ознайомитись з архiтектурою  мікропроцесора (МП) КР580ВМ80, принципами його роботи, схемою виконання команд мiкропроцесором, групою команд пересилання даних.

1.  Структура та функцiонування мiкропроцесора

На рис. 1 приведена спрощена схема МП КР580ВМ80. Акумулятор  з'єднаний шиною даних з арифметико-логiчним пристроєм (АЛП). АЛП  виконує всi операцiї з даними, наприклад такi, як збiльшення числа чи додавання двох чисел. Регiстр тимчасового зберiгання з'єднаний з iншим входом АЛП i доступ до нього є неможливим для програмiста. Вiн автоматично керується схемами керування МП. Прапорці яляють собою набiр тригерiв, що призначенi для фiксацii ознак результатiв виконання попередньої операцiї (нуль, перенос i т.д.).

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

1. ЦП передає вмiст лiчильника команд в шину адрес з метою звернення до комiрки з наступною командою.

2. ЦП збiльшує на 1 вмiст лiчильника команд з метою бути готовим до виконання наступної команди.

3. ЦП записує вмiст шини даних (за адресою до якої звернувся) в регiстр  команд, на чому завершується  фаза вибiрки.

4. ЦП дешифрує код команди та виконує її. При цьому, кожен раз при зверненнi до пам'ятi за черговою адресою (п.1) в разi двох- чи трибайтної команди, ЦП збiльшує вмiст лiчильника команд на 1. В результатi цього пiсля виконання команди будь-якоi довжини в лiчильнику залишається адреса коду   наступної команди. На цьому завершується фаза виконання команди.

Рис. 1. Структурна схема МП КР580ВМ80

Наприклад, для команди MVI A в пристрiй керування та синхронiзацiї поступає дешифрований код операцiї 3E. Пiсля цього збiльшується на 1 адреса в лiчильнику команд. Пристрiй керування визначає, що за цим кодом операцiї (в наступному байтi пам'ятi двобайтної команди) вмiщується байт даних. За адресою, що є в лiчильнику команд зчитується байт i записується в акумулятор. Адреса в лiчильнику команд знову збiльшується на 1.

Основнi операцiї мiкропроцесора

ЦП може виконувати чотири основнi типи операцiй:

1 - читання даних з пам'ятi чи з порта уводу/виводу;

2 - запис даних у пам'ять чи в порт уводу/виводу;

3 - виконання внутрiшнiх операцiй;

4 - передача керування iншiй комiрцi пам'ятi.

Першi два типи операцiй не вимагають додаткових роз'яснень. Третiй тип вмiщує операцiї з регiстрами ЦП без звернення до пам’ятi чи до портiв уводу/виводу. Наприклад, вмiст регiстру загального призначення може бути переписаний в iнакший регiстр, чи вмiст регiстру може бути збiльшений чи зменшений. Четверта група операцiй вмiщує команди переходу, переходу на пiдпрограму, повернення з пiдпрограми.

Синхронiзацiя ЦП та iнформацiя про стан

Командний цикл визначається як промiжок часу, що необхiдний для вибiрки та виконання команди. Формат команд ЦП вмiщує 1, 2 чи 3 байти. Кожен командний цикл складається з 1, 2, 3, 4 чи 5 машинних циклiв. Машинний цикл вимагається кожен раз, коли ЦП звертається до пам'ятi чи до порту уводу/виводу. Етап вибiрки в командному циклi вимагає один машинний цикл для кожного байту, що вибирається з пам'ятi. Тривалiсть виконання командного циклу залежить вiд виду обраної команди. Окремi команди не вимагають додаткових машинних циклiв, крiм тих, що необхiднi для вибiрки команди. Однак, iншi команди вимагають додаткового  машинного циклу для запису та зчитування даних в пам'ять чи з пам'ятi та в порт чи з порта уводу/виводу.

Рис. 2. Сигнали синхронізації

Кожен машинний цикл складається з 3, 4 чи 5 тактiв. Тривалiсть кожного такту дорiвнює тривалостi одного перiоду синхросигналу (тривалiсть такту при частотi 2 МГц складае 0,5 мкс). Логiчна схема синхронiзацii ЦП вимагає два тактових iмпульса (Ф1 та Ф2), що не спiвпадають по фазi, один з яких (Ф1) роздiляє машинний цикл на такти.

Вiдлiк тактiв (Рис.2) проводиться вiд додатнього фронту iмпульса Ф1.   Розглянемо цикл М1. В тактi Т1 вмiст лiчильника команд видається на шину адреси, яка сприймається пам'яттю, де починається процес читання байту команди. В тактi Т2 перевiряється наявнiсть сигналу логiчної 1 на входi ГОТОВНIСТЬ  ЦП. Цей сигнал подається на вхiд ЦП  через iнтервал часу, що достатнiй для завершення процесу читання з пам'ятi. Якщо на входi ГОТОВНIСТЬ сигнал  вiдсутнiй, то ЦП входить в режим очiкування, в якому кожний  наступний такт розглядається як такт Т2 до моменту появи сигналу ГОТОВНIСТЬ. З появою цього сигналу ЦП виходить з режиму очiкування та переходить в такт Т3. В цiй стадii роботи ЦП приймає з шини даних байт коду команди та записує його в регiстр команд. В тактi Т4 аналiзується код команди  та з'ясовується, чи потрiбнi додатковi звернення до оперативної пам'ятi. Якщо  такi звернення не потрiбнi (команда однобайтна), то в цьому же тактi, чи в тактi Т5 здiйнюються потрiбнi операцiї з операндами.

Якщо потрiбнi додатковi звернення до пам'ятi, то пiсля такту Т4   завершується цикл М1 роботи з пам'яттю i починається цикл М2 за попередньою схемою.

Пiд час виконання бiльшостi команд у випадках, коли здiйснюються додатковi звернення до пам'ятi, перший цикл М1 вмiщує 4 такти, а наступнi  - по 3 такти, протягом  яких i здiйснюються додатковi звернення до пам'ятi.

На початку кожного машинного циклу ЦП генерує сигнал СИНХР рiвня логiчноi 1. Протягом дiї цього сигналу та такту Т1 на шину даних видається байт стану (iнформацiя про стан ЦП). Цей байт дешифрується зовнiшнiми  пристроями для керування своєю роботою. Iнформацiя про стан ЦП кодується в залежностi вiд вмiсту окремих бiтiв байту стану у вiдповiдностi до таблицi 1.

Таблиця 1.  

Призначення бітів слова стану процесора

Розряд

Призначення сигналу

1

2

D0

Пiдтвердження переривання: використовується для стробування команди RST в ЦП від пристрою, що запитує переривання.

D1

Запис-вивiд у порт: рiвень лог. 0 свiдчить про те, що протягом даного циклу буде вiдбуватися запис у пам'ять чи на ПУВ; рiвень лог. 1 свiдчить про наявнiсть читання з пам'ятi чи увiд з ПУВ.

D2

Свiдчить про те, що у даному циклi на адреснiй шинi втановлено вмiст вказувача стеку.

1

2

D3

Пiдтвердження зупинки: свiдчить про те, що ЦП знаходиться в  станi зупинки.

D4

Свiдчить про те, що на адреснiй шинi знаходится номер (адреса) ПУВ та здiйснюеться вивiд на цей пристрiй.

D5

Свiдчить про те, що у даному циклi ЦП приймає перший байт команди.

D6

Свiдчить про те, що у даному циклi на адреснiй шинi встановлений номер(адреса) ПУВ та здiйснюеться вивiд на цей пристрiй.

D7

Свiдчить про те, що у даному циклi вiдбувається читання з пам'ятi у ЦП.

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

Таблиця 2

Символи та скорочення

Скорочення

Розшифрування

1

2

А - регістр

Акумулятор

адр.

16-бітна адреса

Байт

8-бітне слово даних

2 байта

16-бітне слово даних

Байт 2

Другий байт команди

Байт 3

Третій байт команди

Порт

8-бітна адреса пристрою вводу/виводу

r, r1, r2

Один з регістрів А, В, С, D, E, H, L

DDD, SSS

Набор біт, що означає один з регістрів А, В, С, D, E, H, L

(DDD - регістр призначення, SSS - регістр джерела)

   DDD (SSS)         Регістр

    111                            A

    000                            B

    001                            C

    010                            D

    011                            E

    100                            H

    101                            L

1

2

rp

Одна з регістрових пар:

В - пара В і С (В - старший регістр, С - молодший регістр);

D - пара D і Е (D - старший регістр, Е - молодший

регістр);

Н - пара H і L (H - старший регістр, L - молодший регістр)

Набір бітів, що визначає пару регістрів:

    RP                 Пара регістрів:

    00                        В-С

    01                        D-Е

    10                        H-L

    11                        SP

rh

Перший (старший) регістр вказівної пари

rl

Другий (молодший) регістр вказівної пари

РС

16-бітний регістр програмного лічильника (позначення РСН і РСL використовується для вказівки старших і молодших 8 бітів відповідно)  

SP

16-бітний регістр вказівника СТЕКА (позначення SPH і SРL використовується для вказівки старших і молодших 8 бітів відповідно)  

rm

Біт m регістра r (біти нумеруються від 7 до 0 зліва направо)

Z

Прапорець (мітка ) нуля

S

Прапорець (мітка )  знака

P

Прапорець (мітка )  парності

CY

Прапорець (мітка )  переносу

AC

Прапорець (мітка )  допоміжного переносу

(  )

В дужках заключається вміст комірки пам'яті чи регістра

"Пересилається в"

Логічне "І"

"Виключаюче АБО"

Логічне "АБО"

+

Додавання

-

Віднімання з доповненням до 2

Перемноження

"Обмінюється з"

Доповнення до 1, тобто інверсія

n

Номер рестарту від 0 до 7

NNN

Двійкове представлення коду рестарту від 000 до 111 (від 1 до 7)


КОМАНДИ ПЕРЕСИЛАННЯ

Команди цієї групи виконують пересилання даних в/з регістр(у) і комірки пам'яті і не змінюють стан прапорців.

MOV r1, r2 (ПЕРЕСИЛАННЯ ДАНИХ З РЕГІСТРА В РЕГІСТР)

(r1)    (r2)

Вміст регістра r2 пересилається в регістр r1

0

1

D

D

D

S

S

S

MOV  A,A

7F

MOV  B,A

47

MOV  A,B

78

MOV  B,B

40

MOV  A,C

79

MOV  B,C

41

MOV  A,D

7A

MOV B,D

42

MOV  A,E

7B

MOV B,E

43

MOV  A,H

7C

MOV B,H

44

MOV  A,L

7D

MOV B,L

45

MOV  C,A

4F

MOV  D,A

57

MOV  C,B

48

MOV  D,B

50

MOV  C,C

49

MOV  D,C

51

MOV  C,D

4A

MOV D,D

52

MOV  C,E

4B

MOV D,E

53

MOV  C,H

4C

MOV D,H

54

MOV  C,L

4D

MOV D,L

55

MOV  E,A

5F

MOV  H,A

67

MOV  E,B

58

MOV  H,B

60

MOV  E,C

59

MOV  H,C

61

MOV  E,D

5A

MOV H,D

62

MOV  E,E

5B

MOV H,E

63

MOV  E,H

5C

MOV H,H

64

MOV  E,L

5D

MOV H,L

65

MOV  L,A

6F

MOV  L,B

68

MOV  L,C

69

MOV  L,D

6A

MOV  L,E

6B

MOV  L,H

6C

MOV  L,L

6D

Цикли:  1

Стан:  4

Адресація: регістрова

Прапорці: не встановлюються

MOV r, M (ПЕРЕСИЛАННЯ ДАНИХ З ПАМ'ЯТІ)

(r)    ((H)    (L))

Вміст комірки пам'яті, адреса якої зберігається в регістрах H і L, пересилається в регістр r .

0

1

D

D

D

1

1

0

MOV  A,M

7E

MOV  B,M

46

MOV  C,M

4E

MOV  D,M

56

MOV  E,M

5E

MOV  H,M

66

MOV  L,M

6E

Цикли:  2

Стан:  7

Адресація: посередня регістрова

Прапорці: не встановлюються


MOV M, r (ПЕРЕСИЛАННЯ ДАНИХ В ПАМ'ЯТЬ)

((H)    (L))    (r)

Вміст регістра r пересилається в комірку пам'яті, адреса якої міститься в регістрах H і L.

0

1

1

1

0

S

S

S

MOV  M,A

77

MOV  M,B

70

MOV  M,C

71

MOV  M,D

72

MOV  M,E

73

MOV  M,H

74

MOV  M,L

75

Цикли:  2

Стан:  7

Адресація: посередня регістрова

Прапорці: не встановлюються

MVІ r, байт (БЕЗПОСЕРЕДНЄ ПЕРЕСИЛАННЯ)

(r)    ( байт 2)

Вміст другого байта команди пересилається в регістр n.

0

1

D

D

D

1

1

0

Дані

MVІ  A, байт даних  3E, байт даних

MVІ  B, байт даних  06, байт даних

MVІ  C, байт даних  0Е, байт даних

MVІ  D, байт даних  16, байт даних

MVІ  E, байт даних  1Е, байт даних

MVІ  H байт даних  26, байт даних

MVІ  L, байт даних  2E, байт даних

Цикли:  2

Стан:  7

Адресація: безпосередня

Прапорці: не встановлюються

MVІ М, байт (БЕЗПОСЕРЕДНЄ ПЕРЕСИЛАННЯ В ПАМ'ЯТЬ)

((H)   (L))    ( байт 2)

Вміст другого байта команди пересилається в комірку пам'яті, адреса якої вказана в регістрах H i L.

0

0

1

1

0

1

1

0

Дані

MVІ  M, байт даних  36, байт даних

Цикли:  3

Стан:  10

Адресація: безпосередня/посередня регістрова

Прапорці: не встановлюються

LXІ rp, 2 байтa (БЕЗПОСЕРЕДНЄ ЗАВАНТАЖЕННЯ ПАРИ РЕГІСТРІВ)

(rh)    ( байт 3)

(r1)    ( байт 2)

Третій байт команди пересилається в старший регістр (rh) пари регістрів, другий  - в молодший регістр (r1) пари регістрів.

0

1

D

D

D

1

1

0

Молодший байт даних

Старший байт даних

LXІ  B, 2 байти   01, молодший байт, старший байт

LXІ  D, 2 байт   11, молодший байт, старший байт

LXІ  H, 2 байт  21, молодший байт, старший байт

LXІ  SP, 2 байт   31, молодший байт, старший байт

Цикли:  3

Стан:  10

Адресація: безпосередня

Прапорці: не встановлюються

LDA [адр.]  (ПРЯМЕ ЗАВАНТАЖЕННЯ АКУМУЛЯТОРА)

(А)    (( байт 3)    (байт 2))

Вміст комірки пам'ті, адреса якої вказана в другому та третьому байтах команди, завантажується в акумулятор.

0

0

1

1

1

0

1

0

Молодший байт адреси

Старший байт адреси

LDA [адреса] 3А, молодший байт адреси, старший байт адреси

Цикли:  4

Стан:  13

Адресація: пряма

Прапорці: не встановлюються

STA [адр.]  (ПРЯМЕ ЗАПИСУВАННЯ ВМІСТУ АКУМУЛЯТОРА В ПАМ'ЯТЬ)

(( байт 3)    (байт 2))    (А)

Вміст акумулятора пересилається в комірку пам'яті, адреса якої вказана в другому та третьому байтах команди.

0

0

1

1

0

0

1

0

Молодший байт адреси

Старший байт адреси

STA [адреса] 32, молодший байт адреси, старший байт адреси

Цикли:  4

Стан:  13

Адресація: пряма

Прапорці: не встановлюються


LHLD [адр.]  (ПРЯМЕ ЗАВАНТАЖЕННЯ H і L)

(L)    (( байт 3)    (байт 2))

(H)    (( байт 3)    (байт 2) + 1)

Вміст комірки пам'яті, адреса якої вказана в другому та третьому байтах команди, пересилається в регістр L. Вміст комірки пам'яті з наступною ((адр.) + 1) пересилається в регістр H.

0

0

1

0

1

0

1

0

Молодший байт адреси

Старший байт адреси

LHLD [адр.]  2А, молодший байт адреси, старший байт адреси

Цикли:  5

Стан:  16

Адресація: пряма

Прапорці: не встановлюються

SHLD [адр.]  (ПРЯМЕ ЗАПИСУВАННЯ ВМІСТУ H і L РЕГІСТРІВ У ПАМ'ЯТЬ)

(( байт 3)    (байт 2))    (L)

(( байт 3)    (байт 2) + 1)    (H)

Вміст регістра L пересилається в комірку пам'яті, адреса якої визначена у другому та третьому байтах команди. Вміст H регістру пересилається в наступну комірку пам'яті.

0

0

1

0

0

0

1

0

Молодший байт адреси

Старший байт адреси

SHLD [адр.]  22, молодший байт адреси, старший байт адреси

Цикли:  5

Стан:  16

Адресація: пряма

Прапорці: не встановлюються

LDAX rp  (НЕПРЯМЕ ЗАВАНТАЖЕННЯ АКУМУЛЯТОРА)

(A)    (( rp))

Вміст комірки пам'ті, адреса якої вказана в парі регістрів rp, пересилається в А-регістр.

 Примітка. Можуть бути вказані тільки пари регістрів rp=B (регістри B і C) і rp=D  (регістри D і E)

0

0

R

P

1

0

1

0

LDAX  B 0А

LDAX  D 1А

Цикли:  2

Стан:  7

Адресація: непряма регістрова

Прапорці: не встановлюються

STAR rp  (НЕПРЯМЕ ЗАПИСУВАННЯ ВМІСТУ АКУМУЛЯТОРА В ПАМ'ЯТЬ)

(( rp))    (A)

Вміст акумулятора пересилається в комірку пам'яті, адреса якої вказана в парі регістрів rp.

 Примітка. Можуть бути вказані тільки пари регістрів rp=B (регістри B і C) чи rp=D  (регістри D і E)

0

0

R

P

0

0

1

0

STAX  B 02

STAX  D 12

Цикли:  2

Стан:  7

Адресація: непряма регістрова

Прапорці: не встановлюються


XCHG  (ОБМІН ДАНИМИ МІЖ РЕГІСТРАМИ H, L i D, E)

(H)    (D)

(L)    (E)

Вміст регістрів H i L обмінюється з вмістом регістрів D i E.

1

1

1

0

1

0

1

1

XCHG  EB

Цикли:  1

Стан:  4

Адресація: регістрова

Прапорці: не встановлюються

Завдання  2.1.

Написати програму пересилання даних з використанням команд пересилання даних з регiстру в регiстр, з регiстру в пам'ять та навпаки, безпосереднього пересилання з пам'ятi та у пам'ять, завантаження акумулятора. Закодувати програму, увести у пам'ять мiкролабу. Прослiдкувати результати виконання команд у кроковому режимi.

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

3. ЗМІСТ РОБОТИ

1. Ознайомитись з принципами роботи МП КР580ИК80, системою виконання команд за циклами та тактами, формуванням слова стану ЦП у мiкропроцесорнiй системi.

2. Ознайомитись з командами персилання даних мiкролаба, виконати завдання вiдповiдно до п.2, скласти звiт з роботи.

ЛIТЕРАТУРА

1.  Микропроцессоры.  / Под  ред. Л.Н. Преснухина. - М:. Высш.шк., 1986.-351с.

2. Микропроцессорная лаборатория "Микролаб КР50ИК80". Техническое  описание и инструкция по эксплуатации. М:. Машприборинторг. 1986.


НАВЧАЛЬНЕ ВИДАННЯ

АРХІТЕКТУРА ТА ПРИНЦИПИ ФУНКЦІЮВАННЯ МІКРОПРОЦЕСОРА. ВИВЧЕННЯ ТА ЗАСТОСУВАННЯ КОМАНД ПЕРЕСИЛАННЯ ДАНИХ.

МЕТОДИЧНІ ВКАЗІВКИ ТА ІНСТРУКЦІЯ

до виконання лабораторної роботи № 3

з дисципліни “Мікропроцесорна техніка в електроенергетиці”

для студентів базового напряму “Електротехніка”

Укладачі: Базилевич М.В., асистент

  Дурняк Б.І., асистент

  Пазина Я.С., ст. викладач

Редактор

Компютерне верстання




1. а острая лучевая болезнь
2. Стратегия и тактика управления организацией
3. Нет спасибо я просто смотрю Нет спасибо я просто смотрю Как посетителя превратить в покуп
4. На фрагменте одной нити ДНК нуклеотиды расположены в последователь ности- А~А~Г~Т~Ц~Т~А~Ц~Г~Т~А~Т
5. Трагическое и комическое их проявление в жизни и искусстве.html
6. тип литературного произведения употребляется в двух смыслах
7. Реферат по истории Военная и государственная деятельность Александра Ярославовича Невского
8. Влияние гендерной игрушки на эмоциональное развитие ребенка в дошкольном возрасте
9. ВАРИАНТ 1 1число стран Зарубежной Европы
10. КИЄВОМОГИЛЯНСЬКА АКАДЕМІЯ Кафедра Роб
11. В гости к бабушке
12. ВосточноСибирский государственный университет технологий и управления ФГБОУ ВПО ВСГУТУ Институт эко.html
13. Национальная безопасность и национальные интересы страны Понятие и сущность безопасности
14. Vocbulry- business бизнес коммерческая деятельность фирма H
15. Лабораторная работа по дисциплине- Безопасность жизнедеятельности на тему- Параметры микроклимата
16. Реферат- Литературная политика
17. запорные клапаны
18. Конструкції пластинчастих теплообмінних апаратів
19. 471-576.175-616092.4 Особливості росту будови та формоутворення кісток скелету під впливом нітратів 14.
20. .Теоритические основы формирования ассортимента и качества плавленых сыров