Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AOM / Мельник А. Архітектура комп'ютера.doc
Скачиваний:
1832
Добавлен:
17.05.2015
Размер:
6.19 Mб
Скачать

3.2.3. Команди переміщення даних

Команди переміщення даних належать до базових команд комп'ютера. Вони здій­снюють передачу даних з одного місця в інше. Ці команди вказують:

■ місце розміщення операндів - основна пам'ять чи регістр;

■ адреси розміщення операндів в основній пам'яті або в регістровому файлі;

■ методи адресації кожного операнда;

■ кількість даних, що підлягають переміщенню; ■ розрядність даних, які мають бути передані.

В системах команд різних комп'ютерів це зроблено по різному. Наприклад, в деяких комп'ютерах місце розміщення операндів вказується в полі коду операції, в інших - в адресному полі. В табл. 3.2 як приклад наведені команди переміщення даних комп'ютера IBMS/370.

Таблиця 3.2

Мнемонічний код операції

Ім'я операції

Розрядність даних

Опис операції

L

Load

32

Передача

з пам'яті в регістр

LH

Load Halfword

16

Передача

з пам'яті в регістр

LR

Load

32

Передача

з регістра в регістр

LES

Load (Short)

32

Передача

з регістра з РК в регістр з РК

LTS

Load (Short)

32

Передача

з пам'яті в регістр з РК

LDR

Load(Long)

64

Передача

з регістра з РК в регістр з РК

LD

Load (Long)

64

Передача

з пам'яті в регістр з РК

ST

Store

32

Передача

з регістра в пам'ять

STFI

Store Halfword

16

Передача

з регістра в пам'ять

SOC

Store Character

8

Передача

з регістра в пам'ять

STE

Store (Short)

32

Передача

з регістра з РК в пам'ять

STD

Store (Long)

64

Передача

з регістра з РК в пам'ять

90

r

т ^

кори

стана абревіа'

1 1 „

Тут наведено два типи команд переміщення - зчитування даних (Load)та запам'ято­вування даних (Store).Вказується також розмір даних: character- 8-розрядні дані, half-word- 16-розрядні дані, short- 32-розрядні дані, long- 64-розрядні дані. Для задання номера регістра в регістровому файлі процесора та номера комірки основної пам'яті, при написанні команди ці номери (адреси) записуються справа від мнемонічного коду операції, наприклад L105,R4означає передачу даного з комірки пам'яті 105 до регістра R4.Потрібно зазначити, що в комп'ютері IBMS/370є, крім регістрового файлу для ціло­числових даних, також регістровий файл для даних з рухомою комою. Для позначення цих регістрів в табл. 3.2 використана абревіатура РК, що означає "рухома кома".

Для порівняння в табл. 3.3 як приклад наведені команди переміщення даних комп'ю­тера з спрощеною системою команд DLX.Видно, що тут додались команди обміну між регістрами з фіксованою та рухомою комою.

3.2.4.. Команди передачі керування

Як уже зазначалося, кожна команда має дві фази виконання. Перша фаза - це вибір­ка команди. На цій фазі за вмістом ПЛ з пам'яті в РгК вибирається команда. На другій фазі, яка називається виконанням команди, дешифрується код операції і виконується команда, тобто із основної пам'яті вибираються операнди, виконується арифметична чи логічна операція і запам'ятовуються результати обчислень. На другій фазі при послідов­ному виконанні команд вміст ПЛ збільшується на одиницю, та вказує адресу наступної команди. На рис. 3.5 показано виконання операції віднімання від вмісту комірки А осно­вної пам'яті вмісту комірки В з запам'ятовуванням результату в комірці С, тобто (С) := (А) - (В), з використанням двоадресного формату, коли три команди розміщені в послі­довних комірках пам'яті, і їх адреси зростають в порядку виконання команд, починаючи з деякої комірки основної пам'яті і.

91

Разом з тим, при виконанні більшості задач в комп'ютерах використовуються коман­ди передачі керування, коли шляхом аналізу деяких умов вибирається один з набору можливих шляхів обчислень. При виконанні цих команд вміст програмного лічильника змінюється на адресу деякої комірки пам'яті.

Існує декілька причин необхідності виконання операцій передачі керування. До най­важливіших з них належать наступні:

  • Значна частина операцій в комп'ютері виконується багаторазово. Для вирішен­ня деякої задачі може виникнути потреба в виконанні тисяч або й мільйонів команд. Писати та зберігати в пам'яті ті ж команди багаторазово є нелогічним та й збитковим. Тому, коли обробляється вектор даних чи список символів необхідно використати про­грамний цикл, коли виконується повторно та ж сама послідовність команд для обробки всіх операндів.

  • Практично всі програми потребують прийняття деякого рішення - комп'ютер по­винен виконати одні дії при наявності одних умов, та інші дії при наявності інших умов.

  • Коректне компонування великих і навіть середнього розміру програм є достат­ньо важкою задачею. Наявність механізму її представлення малими кусками є дуже ко­рисним.

Розглянемо організацію виконання основних команд передачі керування детальніше.

Соседние файлы в папке AOM