Ім'я файлу: Арифметико-логічний пристрій АЛУ Регістр PSW.doc
Розширення: doc
Розмір: 82кб.
Дата: 17.09.2021
скачати

Арифметико-логічний пристрій (АЛП).Регістр PSW
АЛП являє собою паралельне восьмирозрядному пристрій, що забезпечує виконання арифметичних і логічних операцій, а також операції логічного зсуву, обнулення, установки і т. п.

АЛП складається з регістра акумулятора, регістра тимчасового зберігання, ПЗУ констант, суматора, додаткового регістра (регістру В), акумулятора, регістра стану програми.

Регістр акумулятора і регістр тимчасового зберігання - восьмирозрядних регістри, призначені для прийому і зберігання операндів на час виконання операцій над ними.Програмно не доступні.

ПЗУ констант забезпечує вироблення коригуючого коду при двійково-десятковому поданні даних, коду маски при бітових операціях та коду констант.

Паралельний восьмирозрядний суматор є схему комбінаційного типу з послідовним переносом, призначену для виконання арифметичних операцій додавання, вирахування і логічних операцій додавання, множення, нерівнозначності і тотожності.

Регістр В - восьмирозрядний регістр, використовуваний під час операцій множення і ділення.Для інших інструкцій він може розглядатися як додатковий сверхоперативной регістр.

Акумулятор представляє собою восьмирозрядний регістр, призначений для прийому і зберігання результату, отриманого при виконанні арифметико-логічних операцій або операцій пересилки.

Регістр стану програми (PSW) призначений для зберігання інформації про стан АЛУ при виконанні програми.Позначення розрядів регістра PSW і призначення розрядів наведені відповідно в таблицях 1, 2.

Прапор переносу CY може встановлюватися і скидатися як апаратними, так і програмними засобами.Прапор CY може бути програмно прочитаний.Апаратними засобами прапор CY встановлюється, якщо в старшому біті результату виникає перенесення або позику.При виконанні операцій множення і ділення прапор CY скидається.Крім того, прапор CY виконує функції "булева акумулятора"в командах, що працюють з битами.

Прапор додаткового перенесення АС програмно доступний по запису ("0"і "1") і читання.

Прапори F 0, RS 1, RS 0 програмно доступні по запису ("0"і "1") і читання.

Прапор переповнення OV програмно доступний по запису ("0"і "1") і читання.Встановлюється апаратно, якщо результат операції додавання / віднімання не вкладається в семи бітах і старший (восьмий) біт результату не може інтерпретуватися як знаковий.При виконанні операції ділення прапор OV апаратно скидається, а у разі поділу на нуль встановлюється.При множенні прапор OV апаратно встановлюється, якщо результат більше 255.

Прапор Р є доповненням вмісту акумулятора до парності.У 9 - розрядному слові, що складається з 8 розрядів акумулятора і біта Р, завжди міститься парне число одиничних бітів.У випадку, якщо в акумуляторі всі розряди встановлені в "0", прапор Р прийме нульове значення.Програмно доступний тільки з читання.

Таймери / лічильники (Т / С) призначені для підрахунку зовнішніх подій, для отримання програмно керованих тимчасових затримок і виконання времязадающих функцій ОМЕВМ.

До складу блоку Т / С входять:

1) два 16-розрядних регістра Т / С 0 і Т / С 1;

2) восьмирозрядний регістр режимів Т / С (TMOD);

3) восьмирозрядний регістр управління (TCON);

4) схема інкремента;
Таблиця 1

Біти

7

6

5

4

3

2

1

0

Позначення-ня

CY

AC

F0

RSI

RS0

0V

-

P

Таблиця 2

Біти

Випро-нів.

Призначення бітів

Доступ до біту




7

CY

Прапор переносу.Змінюється під час виконання деяких арифметичних і логічних інструкцій.

апаратно або програмно




6

AC

Прапор додаткового переносу.Апаратно встановлюється / скидається під час виконання інструкцій складання або віднімання для вказівки переносу або позички в біті 3 при освіту молодшого полубайта результату (D0-D3).

апаратно або програмно




5

F0

Прапор 0.Прапор стану визначається користувачем.

програмно




4

RSI

Покажчик банку робочих регістрів

програмно




3

RS0

Покажчик банку робочих регістрів

програмно







RSI

RS0










0

0

Банк 0 з адресами (00Н - 07Н)







0

1

Банк 1 з адресами (08Н - 0FH)







1

0

Банк 2 з адресами (10Н - 17Н)







1

1

Банк 3 з адресами (18Н - IFH)




2

OV

Прапор переповнення.Апаратно встановлюється / скидається під час виконання арифметичних інструкцій для вказівки стану переповнення

апаратно або програмно




1

-

Резервний.Містить тригер, доступний по запису ("0"і "1") і читання, який можна використовувати







0

P

Біт парності.Апаратно скидається / встановлюється в кожному циклі інструкцій для вказівки парного / непарної кількості розрядів акумулятора, що знаходяться в стані "1".

апаратно або програмно




5) схема фіксації INT 0, INT 1, Т0, Т1;

6) схема управління прапорами;

7) логіка управління Т / С.

Два 16-розрядних регістра Т / С 0 і Т / З 1 виконують функцію зберігання вмісту рахунку.Кожен з них складається з пари восьмирозрядних регістрів, відповідно ТН0, TL 0 і TH 1, TL 1.Причому регістри ТН0, ТН1 - старші, а регістри TL 0, TL1 - молодші 8 розрядів.Кожен з восьмирозрядних регістрів має свою адресу і може бути використаний як РОН, якщо Т / С не використовуються (біт TR 0 для Т / С 0 і біт TR 1 для Т / С 1 в регістрі управління TCON рівні "0").

Код величини початкового рахунку заноситься в регістри Т / С програмно.У процесі рахунки вміст регістрів Т / С інкрементіруется.Ознакою закінчення рахунку,як правило, є переповнення регістру Т / С, тобто перехід його вмісту зі стану "всі одиниці"у стан "всі нулі".Всі регістри ТН0, ТН1, TL0, TLI доступні з читання, і, при необхідності, контроль досягнення необхідної величини рахунку може виконуватися програмно.

Регістр режимів Т / С (T М OD) призначений для прийому і зберігання коду, що визначає:

- Один з 4-х можливих режимів роботи кожного Т / С;

- Роботу в якості таймерів або лічильників;

- Управління Т / С від зовнішнього виводу.

Позначення розрядів регістра TMOD наведено в таблиці 3. Призначення розрядів регістра TMOD наведено в таблиці 4.

Таблиця 3

Біти

7

6

5

4

3

2

1

0

Позн.

GATE1

С/T1

Ml.l

M0.1

GATE0

C/T0

M1.0

M0.0

Таблиця 4

Біти

Найменування

Призначення бітів

М0-М1




0-1


М0-М1

Визначають один з 4-х режимів роботи, окремо для Т / С 1 і Т / С у

Всі біти встановлюються програмно; біти 0-3 визначають




4-5




М1

М0

Режим

режим роботи Т / С в 0







0

0

0

режим роботи Т / З 1.







0

1

1










1

0

2










1

1

3




2,6

С / Т 0

Визначають роботу в якості:










С / Т 1

С / Т 0, С / Т 1 = 0 - таймера













С / Т 0, С / Т 1 = 1 - лічильника







3,7

GATE

Дозволяє управляти таймером від зовнішнього виведення (INT0 - для Т / С 0, INT1 - для Т / С 1).GATE = 0 - управління заборонено GATE = 1 - управління дозволено







При роботі в якості таймера вміст регістра Т / С інкрементіруется у кожному машинному циклі, тобто Т / С є лічильником машинних циклів ОМЕВМ, Оскільки машинний цикл складається з 12 періодів частоти синхронізації ОМЕВМ f BQ,то частота рахунку в даному випадку дорівнює f BQ/ 1

При роботі Т / С в якості лічильника зовнішніх подій вміст регістра Т / С інкрементіруется у відповідь на перехід із "1"в "0"сигналу на рахунковому вході ОМЕВМ (висновок Т0 для Т / С 0 і висновок Т1 для Т / С 1) . Рахункові входи апаратно перевіряються у фазі S 5 P 2 кожного машинного циклу.Коли перевірки показують високий рівень на рахунковому вході в одному машинному циклі і низький рівень в іншому машинному циклі, регістр Т / С інкрементіруется.Нове (інкрементірованное) значення заноситься в регістр Т / С у фазі S 3 PI машинного циклу, що настає за тим, в якому був виявлений перехід з "1"в "0"на рахунковому вході ОМЕВМ.Т. к. для розпізнавання такого переходу потрібно два машинних циклу (24 періоду частоти синхронізації ОМЕВМ f BQ),то максимальна частота рахунку Т / С в режимі лічильника дорівнює f BQ/ 24.

Щоб рівень сигналу на рахунковому вході був гарантовано зафіксовано, він повинен залишатися незмінним протягом як мінімум одного машинного циклу.

Регістр управління (TCON) призначений для прийому і зберігання коду керуючого слова.Позначення розрядів регістра TCON наведено в табл. 9. Призначення розрядів регістра TCQN наведено в табл. 7.

Прапори переповнення TF 0 і TFI встановлюються апаратно при переповненні відповідних Т / С (перехід Т / С зі стану "всі одиниці"у стан "всі нулі").Якщо при цьому переривання від відповідного Т / С дозволено, то установка прапора TF викликає переривання.Прапори TF0 і TFI скидаються апаратно при передачі управління програмі обробки відповідного переривання.

Прапори TF0 і TFI програмно доступні і можуть бути встановлені / скинуті програмою.Використовуючи цей механізм, переривання по TF0 і TFI можуть бути викликані (установка TF) і скасовані (скидання TF) програмою.

Прапори I Е0 і I Е1 встановлюються апаратно від зовнішніх переривань (відповідно входи ОМЕВМ INT 0 і INT 1) або програмно і ініціюють виклик програми обробки відповідного переривання.Скидання цих прапорів виконується апаратно при обслуговуванні переривання тільки в тому випадку, коли переривання було викликано по фронту сигналу.Якщо переривання було викликано рівнем сигналу на вході INT0 (INTI), то скидання прапора Iе повинна виконувати програма обслуговування переривання, впливаючи на джерело переривання для зняття їм запиту.

Схема інкремента призначена;

- Для збільшення на 1 у кожному машинному циклі вмісту регістрів Т / С 0, Т / З 1, для яких встановлено режим таймера і рахунок дозволено;

- Для збільшення на 1 вмісту регістрів Т / С 0, Т / З 1, для яких встановлено режим лічильника, рахунок дозволений і на відповідному вході ОМЕВМ (Т0 для Т / С 0 і Т1 для Т / С 1) зафіксований рахунковий імпульс.

Схема фіксації INT0, INT1, Т0, Т1 представляє собою чотири тригери.У кожному машинному циклі в момент S5P2 в них запам'ятовується інформація з висновків ОМЕВМ INT0, INT1, Т0, Т1.

Схема управління прапорами виробляє і знімає прапори переповнення Т / С і прапори запитів зовнішніх переривань.

Логіка управління Т / С синхронізує роботу регістрів Т / С 0 і Т / С 1 відповідно до запрограмованими режимами роботи і синхронізує роботу блоку Т / С з роботою ОМЕВМ.

Таблиця 6

Біти

7

6

5

4

3

2

1

0

Позначення

TF1

TR1

TF0

TR0

IЕ1

IT1

IЕ0

IT0

Таблиця 7

Бі-ти

Найменування

Призначення бітів

Примітка

6










TR1

Біти виключення Т / С, окремо для

Біти встановлюються і

4

ТR0

Т / С в і Т / З 1.

скидаються програмно.







TR = 0 - вимкнено,

Доступні з читання.







TR = 1 - включений.




7

TF1

Прапори переповнення Т / С.

Біти скидаються і

5

ТF0




встановлюються апаратно










і програмно.










Доступні з читання.

2

IT1

Біти, що визначають вид переривання

Біти встановлюються і

0

IТ0

по входах INT0, INT1:

скидаються програмно







IТ = 0 - переривання по рівню

Доступні з читання.







(Низькому)










IТ = 1 - переривання по фронту










(Перехід з "1"в "0")




3

IE1

Прапори запиту зовнішніх переривань,

Біти скидаються і встановлюються апарат-

1

IE0

по входах INT0, INT1

ратно і програмно.










Доступні з читання.










Біти 4,5 відносяться до Т / С в; біти 6, 7 - до Т / З 1.Біти 0,1 визначають зовнішні переривання по входу INT0, біти 2,3 - по входу INT1.

Режим роботи кожного Т / С визначається значенням бітів М0, М1 у регістрі TMOD.Т / С 0 і Т / З 1 мають чотири режими роботи.Режими роботи 0, 1, 2 однакові для обох Т / С; Т / С 0 і Т / С 1 в цих режимах повністю незалежні один від одного.Робота Т / С 0 і Т / С 1 в режимі 3 різна.При цьому встановлення режиму 3 в Т / С 0 впливає на режими роботи Т / З 1.

Установка бітів М0 = 0, М1 = 0 визначає режим роботи 0. Т / С в режимі 0 являє собою пристрій на основі 13-розрядного регістра і функціонально сумісний з таймером / лічильником сімейства МК48 (восьмирозрядний таймер / лічильник з перед дільником на 32).

13-розрядний регістр складається для Т / С 0 з 8 розрядів регістра ТН0 та 5 молодших розрядів регістра TL 0, а для Т / С 1 - з 8 розрядів регістра ТН1 та 5 молодших розрядів регістра TLI.

У цьому режимі функцію дільника на 32 виконують регістри TL0, TL1. Вони є програмно доступними, але треба пам'ятати, що значущими в режимі 0 є тільки п'ять молодших розрядів регістрів TL0, TL1.

Для Т / С 0 логіка роботи аналогічна.Джерело синхронізації ОМЕВМ (внутрішній або зовнішній).На виході OSC - частота f BQ.Біт С / Т регістру TMOD визначає роботу Т / С або в якості таймера (С / Т = 0), або як лічильник (С / Т = 1).Рахунок починається при установці біта TR регістру Tcon в стан "1".При необхідності управління рахунком ззовні біт GATE регістру THOD встановлюється в стан "1". Тоді при TR = 1 рахунок буде дозволений, якщо на вході INT 0 (для Т / С 0) або INTI (для Т / С 1) установленно стан "1 "і буде заборонений, якщо встановлено стан"0 ". Установка біта TR 0 для Т / С 0 і TR 1 для Т / С 1 в стан"0 "вимикає Т / С незалежно від стану інших бітів.

При переповненні Т / С (перехід вмісту регістра Т / С зі стану "всі одиниці"у стан "всі нулі") встановлюється прапор TF 0 для Т / С 0 або TF 1 для Т / С 1 в регістрі TCON.

Установка бітів М1 = 0, М0 = 1 визначає режим роботи 1. Режим 1 аналогічний режиму 0. Відмінність полягає в тому, що установка режиму 1 перетворює Т / С в пристрій на основі 16-розрядного регістра.Для Т / С 0 регістр складається з програмно доступних пар TL 0, ТН0, для Т / С 1 з програмно доступних пар TL 1, ТН1.Логіка роботи в режимі 1 на прикладі Т / З 1 показана на рис. 1.
Рис. 1. Логіка роботи Т / С 1 в режимі 1

Установка бітів М1 = 1, М0 = 0 визначає режимУ цьому режимі Т / С являє собою пристрій на основі восьмирозрядного регістру TL0 для Т / С 0 і TLI для Т / З 1. При кожному переповненні TL0 крім установки в регістрі TCON прапора TF0 відбувається автоматично перезавантаження вмісту з ТН0 в TL0. Відповідно для Т / З 1 при переповненні TLI в регістрі TCON встановлюється прапор TFI і відбувається перезавантаження TLI з ТН1. Регістри ТН0 і ТН1 завантажуються програмно.Перезавантаження TL0 з ТН0 і TLI з ТН1 не впливає на вміст регістрів ТН0 і ТН1. Логіка роботи Т / С 0 в режимі 2 аналогічна.Призначення бітів управління TR0, TR 1, GATE 0, GATE 1, С / Т 0, С / Т 1 таке ж як режимі 0.

Установка бітів М1 = 1, М0 = 1 визначає режим 3. Т / С 1 в режимі 3 заблокований і просто зберігає свій рахунок (значення коду в регістрі Т / С). Ефект такий же, як при установці TR 1 = 0.

Т / С 0 в режимі 3 являє собою два незалежних пристрої на основі восьмирозрядних регістрів TL 0 і ТН0.Пристрій на основі регістра TL 0 може працювати в режимі таймера і в режимі лічильника.За ним зберігаються всі біти управління Т / С 0, воно реагує на дії по входах Т0, INT 0.При переповненні TL0 встановлюється прапор TF 0.Пристрій на основі регістра ТН0 може працювати тільки в режимі таймера.Воно використовує біт включення TR 1, при переповненні ТН0 виставляє прапор TF 1.Інших бітів управління пристрій на основі ТН0 в цьому режимі не має.

Установка Т / С 0 в режим 3 позбавляє Т / С 1 біта включення TRI. Тому Т / С 1 в режимах 0, 1, 2 при GATE 1 = 0 завжди включений і при переповненні в режимах 0 і 1 Т / З 1 обнуляється, а в режимі 2 перезавантажується не встановлюючи прапор, якщо Т / С 0 перебуває в режимі 3. Управління від входів INT 1, Т1, біти управління C / T 1, GATE 1 для Т / С 1 не залежать від режиму Т / С 0.

Т / З 1 апаратно пов'язаний з блоком синхронізації послідовного інтерфейсу (ПІ).При роботі в режимах 0, 1, 2 при переповненні Т / З 1 завжди виробляє імпульс тактіровкі ПІ.Тому 3-й режим Т / С 0 зручно застосовувати тоді, коли потрібна робота ПІ і двох таймерів або ПІ, таймера і лічильника.

Коли Т / С 0 переведений в режим 3, Т / С 1 можна вимкнути, перевівши його також в режим 3, використовувати з послідовним портом для вироблення імпульсів тактіровкі або в будь-яких інших додатках, що не вимагають переривання.Додаткова інформація.Вимкнення Т / С з допомогою бітів TR 0, TR 1 (скидання цих бітів в "0") або за допомогою входів ОМЕВМ INT 0, INT 1 (установка на цих входах логічного "0"при GATE = 1) не спотворює код, що знаходиться в регістрі Т / С.Т / С можна вимкнути, через довільне час знову включити і рахунок почнеться з тієї величини, яка була в регістрі Т / С на момент вимкнення (якщо, звичайно, після виключення регістр Т / С не перезаписуються).

Нова завантаження Т / С відразу ж означає нову величину рахунку, а стара втрачається.Якщо завантаження зроблена при включеному Т / С, рахунок продовжиться з новою величини.Черговість завантаження регістрів TL 0, ТН0, TL 1, ТН1 - довільна.

У всіх режимах, крім режиму 2, після переповнення Т / С рахунок продовжується з величини 00Н, якщо Т / С не вимкнути за допомогою бітів TR0, TR1 або входів INT0, INT 1.
скачати

© Усі права захищені
написати до нас