Professional Documents
Culture Documents
Дигитални системи
(редовен и изборен)
Изработка на илустрации
и компјутерска обработка: Јани Сервини
Издавач:
Печати:
Тираж:
Со одлука за одобрување на учебникот по предметот Дигитални системи
(редовен и изборен) за III (трета) година, струка електротехничка, профил
електротехничар за компјутерска техника и автоматика, бр. 26 – 1127/1 од
12.12.2019 год., донесена од Националната комисија за учебници.
CIP - Каталогизација во публикација
Национална и универзитетска библиотека "Св. Климент Охридски", Скопје
004(075.3)
СЕРВИНИ, Jани
Дигитални системи за III година : (редовен и изборен) / Jани
Сервини, Жанета Сервини. - Скопје : Министерство за образование и наука
на Република Северна Македонија, 2020. - [862] стр. : илустр. ; 30 см
ISBN 978-608-226-852-1
1. Сервини, Жанета [автор]
COBISS.MK-ID 51753989
Книгата е најмоќната машина
којашто човекот ја измислил.
Авторите
КРАТКА СОДРЖИНА
Предговор ……………...……………...……………...…………. i
Дел I – Организација на микрокомпјутери ……………........ 1
СОДРЖИНА
Предговор ……………...……………...……………...…………………... i
I.1
Организација на
микрокомпјутери
Редовна настава
Наставни теми:
1) Булова алгебра и логички кола
2) Комбинациски мрежи
3) Флип-флопови
4) Регистри
5) Бројачи
6) Аритметички кола
7) Мемориски компоненти
8) Дигитално-аналогна и аналогно-дигитална
конверзија
4
1.
БУЛОВА АЛГЕБРА И
ЛОГИЧКИ КОЛА
По изучувањето на оваа тематска целина
ќе се потсетите на базичните закони и теореми на Буловата алгебра;
ќе се потсетите и на претставувањето на прекинувачките функции во
алгебарски, табличен и графички облик;
ќе ги познавате симболите на стандардните логички кола, ќе ги
разликувате според функцијата што ја извршуваат и ќе ги
применувате во логички дијаграми;
со посебна важност ќе се фокусирате на баферските и драјверските
кола;
ќе решавате поедноставни задачи од анализа и синтеза на логички
мрежи;
ќе умеете да претставувате поедноставни прекинувачки мрежи во
две нивоа;
Ќе се запознаете со основите за проектирање на логички мрежи и со
преминот од логички на физички дизајн;
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 6
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 7
1.1. ВОВЕД
Бинарното претставување на броевите тешко може да се замисли како дел
од човечкото изразување затоа што ние сме научени да размислуваме декадно.
Меѓутоа, елементарните составни делови на дигиталните уреди се електронски
кола кои се карактери-зираат само со две состојби, така што за нив „природен
јазик” е бинарното означување (нотација). Токму заради ова во дигиталната
техника се применува бинарниот броен систем и соодветна алгебра која оперира
со бинарни броеви.
Буловата алгебра своите корени ги влече од средината на XIX-от век кога
се појавила како нова математичка дисциплина. Нејзин основоположник е
англискиот математичар Џорџ Бул според кој и го добила името. Бидејќи оваа
алгебра се базира на законите на формалното-логичко мислење и заклучување,
за неа се користи и терминот логичка алгебра. Овие закони се темелат на
тврдења кои можат да бидат само вистинити, или невистинити, т.е. примаат само
две вредности, а нив прв ги запишал големиот грчки филозоф Аристотел. Џорџ
Бул предложил законите на формалното-логичко заклучување да се опишат со
алгебарски релации и операции. Токму со ова се овозможи процесот на
формалното-логичко расудување и заклучување едноставно квантитативно да се
претстави и технички да се реализира и автоматизира со примена на компоненти
кои имаат само две состојби. Бидејќи вака се однесуваат прекинувачките
елементи и логичките кола, оваа алгебра се нарекува и прекинувачка алгебра.
1.2. АКСИОМИ И ЛОГИЧКИ ОПЕРАЦИИ
Буловата алгебра е дедуктивен математички систем што се дефинира на
бинарното множество B кое содржи само два меѓусебно различни елементи. За
нив во литературата можат да се сретнат различни симболи, но ние ќе ги
употребуваме симболите „1” (логичка единица) и „0” (логичка нула), така што
B={1,0}. Според ова сите константи и променливи во Буловата алгебра можат да
имаат само една од вредностите 1 или 0, па заради тоа тие и се викаат логички
или прекинувачки променливи. Вообичаено е независно променливите да се
означуваат со големите букви од англиската абецеда и тоа: A,B,C,D,E,… или X0, X1,
X2, X3, …, додека зависно променливите, т.е. функциите кои сега се викаат
логички, прекинувачки, или комутациони функции, да се означуваат со букви Y,
Y0, Y1, Y2, …, или F, F1, F2.
Во множеството B се дефинираат две интерни бинарни операции „+” и „·”,
кои ги задоволуваат следните три аксиоми, познати како аксиоми на Хантингтон:
А.1. Бинарните интерни операции се комутативни и дистрибутивни една
кон друга, т.е. за било која променлива A,B,C од {B} важи:
A B B A, A B B A
AB C AB AC , A BC A B A C
А.2. Бинарните интерни операции поседуваат различни неутрални
елементи 1 и 0, така што за било која логичка променлива А постои елемент 0 за
кој важи A+0=A, и постои елемент 1 за кој важи A·1=A.
А.3. За било која логичка променлива А постои единствена инверзна
променлива A таква што важи A + A =1, A A 0 .
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 8
0 1 0 0 1 1 0 1 1 0 1 0
1 0 0 1 0 1 1 0 1 1 0 0
Тоа се:
A= A (т.1-1)
A0 A A 1 A (т.1-2)
A 1 1 A0 0 (т.1-3)
A A A A A A (т.1-4)
AA A AA A (т.1-5)
A A 1 A A 0 (т.1-6)
Теоремите со кои се искажуваат асоцијативниот, комутативниот и
дистрибутивниот закон се дадени последователно во продолжение:
A B C A B C A B C A B C (т.1-7)
A B B A A B B A (т.1-8)
A B C A B A C A B C A B A C (т.1-9)
Во Буловата алгебра исклучително значајно место заземаат и Де Морган-
овите закони или теореми. Тие можат да се напишат во следниов облик:
A B C ... A B C ..., A B C... A B C ... (т. 1-10)
Од наведените изрази може да се констатира дека:
1. комплемент од логички збир на повеќе променливи може да се замени со
логичкиот производ од комплементите на секоја поединечна променлива и
2. комплемент од логички производ на повеќе променливи може да се
замени со логичкиот збир од комплементите на секоја поединечна променлива.
Покрај претходно наведените теореми, важни се и следниве:
A AB A , A A B A (т.1-11)
A AB A B , AA B AB (т.1-12)
AB AB A , A B A B A (т.1-13)
AB A C A C A B , A B A C AC A B (т.1-14)
AB A C BC AB A C , A B A C B C A B A C (т.1-15)
AB BC B C AB C , A B B C B C A B C (т.1-16)
Теоремите (т. 1-11), (т. 1-12) и (т. 1-13) се познати и како теореми за
апсорпција.
На крај ќе ја наведеме и теоремата за развивање (експанзија):
Y A, B, C ,... A Y 1, B, C ,... A Y 0, B, C ,... (т. 1-17)
При упростувањето и решавањето на посложените логички изрази се
употребуваат сите до сега наведени аксиоми, закони и теореми. Да разгледаме
неколку примери:
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 11
Пр. 1.
ABC ABC AB C ABC BC B C A B C C B C AB B C
AB C AB AC
i ABCD Y
0 0 0 00
1 0 0 01
2 0 0 10
i ABC Y 3 0 0 11
0 000 4 0 1 00
I AB Y 1 001 5 0 1 01
0 00 2 010 6 0 1 10
1 01 3 011 7 0 1 11
2 10 4 100 8 1 0 00
3 11 5 101 9 1 0 01
6 110 10 1 0 10
7 111 11 1 0 11
12 1 1 00
13 1 1 01
14 1 1 10
15 1 1 11
A B A B A B A B
0 0 0 0 0 0 A A
0 1 1 0 1 0 0 1
1 0 1 1 0 0 1 0
1 1 1 1 1 1
а) ИЛИ б) И в) НЕ
A B A B A B AB A B A B A B A B
0 0 1 0 0 1 0 0 0 0 0 1
0 1 0 0 1 1 0 1 1 0 1 0
1 0 0 1 0 1 1 0 1 1 0 0
1 1 0 1 1 0 1 1 0 1 1 1
г) НИЛИ д) НИ ѓ) ЕКС ИЛИ е) ЕКС НИЛИ
Таб. 1-11. Стандардни логички функции
Гледајќи ги таблиците на функциите ЕКСИЛИ и ЕКСНИЛИ можеме да
заклучиме дека овие две логички функции можат да се применат за детектирање
на нееднаквост, односно на еднаквост. Имено, функцијата ЕКСИЛИ има вредност
1 само ако променливите A и B меѓусебно се разликуваат, т.е. ако A=0 и B=1 или
ако A=1 и B=0, додека кога A и B се еднакви функцијата ЕКСИЛИ дава резултат 0.
Од друга страна функцијата ЕКСНИЛИ се однесува спротивно бидејќи нејзината
вредност е 1 само ако променливите A и B меѓусебно се еднакви, т.е. ако A=0 и
B=0 или A=1 и B=1, додека ако се различни, вредноста на ЕКСНИЛИ е 0. Покрај
ова, од таблицата на функцијата ЕКСИЛИ може да се забележи и тоа дека таа
може да се користи за аритметичко собирање во бинарниот броен систем, бидејќи
ги исполнува правилата за собирање на бит со бит. Двете претходно посочени
функции можат да се претстават и во аналитички облик со логички равенки,
применувајќи ги на основните логички функции ИЛИ, И и НЕ (Комплементирање).
YЕКСИЛИ = A B A B A B (1-19)
YЕКСНИЛИ = A B A B A B (1-20)
Инверто A Y Комплемен-
р A Y тирање
YA 0 1 (Инвертирањ
(НЕ) 1 0 е)
A B Y
A 0 0 0
И Y Y A B 0 1 0
Логичко
B 1 0 0
множење
1 1 1
A B Y
A 0 0 1 Комплемент
Y Y AB 0 1 1 на логичко
НИ B 1 0 1 множење
1 1 0
A B Y
A 0 0 0
ИЛИ
Y 0
Логичко
B Y A B 1 1 собирање
1 0 1
1 1 1
A B Y
A 0 0 1 Комплемент
НИЛИ
Y 0 0 на логичко
B Y A B 1
1 0 0 собирање
1 1 0
A B Y
A Y A B Ексклузивно
0 0 0
ЕКС- Y (Исклучиво)
ИЛИ B Y A B AB 0 1 1 логичко
1 0 1 собирање
1 1 0
Комплемент
A B Y
A Y A B на
0 0 1
ЕКС- Y Ексклузивно
НИЛИ B Y AB A B 0 1 0 (Исклучиво)
1 0 0
логичко
1 1 1 собирање
A A A A
а) а)
A A
A AB AB AB
B (AB) B (A+B)
б)
B
б)
A A
A+B A A+B A+B
B
B (AB) (A+B)
B в)
в)
Сл. 1-1. Само со НИ порти Сл. 1-2. Само со НИЛИ порти
Реализација на основните логички кола НЕ (Инвертор), И и ИЛИ
A Y A Y
Y=A 0 0
а) 1 1
б)
Сл. 1-3. Симболички ознаки Логичка равенка Таб. 1-13. Комбинациона таблица
Баферско коло (бафер)
Главна карактеристика на баферското коло е неговата можност да дава
поголема излезна струја при исто логичко ниво. Заради ваквата особина баферот
се поврзува на излезот на она логичко коло кое не може директно да се поврзи на
потрошувач со мала отпорност бидејќи постои опасност потрошувачот да повлече
поголема струја од логичкото коло и истото да го преоптовари или оштети.
Баферот служи како склоп за прилагодување и индиректно поврзување на
излезот од дадено логичко коло со потрошувач кој може да повлече поголема
струја од максимално дозволената. Овие кола се користат таму каде што е
потребна поголема моќност од моќноста што некое логичко коло може да ја даде
и затоа баферското коло уште се нарекува и погонско логичко коло или коло за
побудување, логичко коло со моќен излез или драјвер (анг. driver).
A Y E A Y
А за Е=1
Y= 0 x HiZ
E Hi-Z за Е=0
0 0
а) ANSI. 1
б) IEC/IEEE. 1 1
A Y A Y=HiZ A Y=A
RY
IY = 0
E E=0 E=1
Сл. 1-5. Баферско коло како контролиран механички прекинувач во една насока
B1
Логичко Y1
коло 1
Логичко 1 Y
коло 1 Y1 Логичко Y2 B2
Y
? коло 2
Логичко Y2
E1 E2
коло 2 0
E
Сл. 1-6. Директно поврзување на излези од Сл. 1-7. Поврзување на излези од логички
логички кола и појава на конфликт кола преку бафери со три состојби
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 19
Е1 Е2 Y
0 0 Hi-Z Е Е1 Е2 Y
0 1 Y2 0 1 0 Y1
1 0 Y1 1 0 1 Y2
1 1 ?
Таб. 1-15. Управување со Таб. 1-16. Управување со еден
два контролни влеза контролен влез и инвертор
A Y
E A Y
А за Е=0
Y= 0 0
Hi-Z за Е=1 0
E 1 1
а) ANSI б) IEC/IEEE 1 x Hi-Z
A Y A Y
E E
а) ANSI б) IEC/IEEE в) ANSI г) IEC/IEEE
G2
G2 G2=0 G2=1
A B A B A B A B
G1 G1=1 G1=0
G1
Куса врска
1 0 G1=1 G1=0
(RA-B 0)
Куса врска Прекинато коло
Прекин (Hi-Z) помеѓу помеѓу
0 1 влезот и излезот влезот и излезот
(RA-B )
.
A A
B B
C C
A
B
B
C
в) логичка негација (комплементирање) со комплементарни влезни променливи
Сл. 1-13. Логички шеми на функцијата Y A, B, C A B B C
A
A Y=0 Y=A
K=0 K=1 б)
а)
Сл. 1-14. Анализа на логичко И коло
A A
Y=A Y=1
K=0 а) K=1 б)
Сл. 1-15. Анализа на логичко ИЛИ коло
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 24
A AB
B ABC ABC
C
а)
A AB AB
B ABC
C
б)
Сл. 1-18. Реализација на НИ логичко коло со три влеза
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 25
A A+B
B A+B+C A+B +C
C
а)
A A+B A+B
B A+B+C
C
б)
Сл. 1-19. Реализација на НИЛИ логичко коло со три влеза
A
E S Y Z
Y Z 0 B B
B 0
1 A A
E 0 B HiZ
S 1
1 A HiZ
Сл. 1-20. Анализа на логички дијаграм со излезен тристатички бафер-инвертор
На сл. 1-21 е прикажан еден пример на ваква И-ИЛИ мрежа во две нивоа
која ја реализира функцијата Y1 A C D A B C AB C BD .
A B C D
DA B C
A
C
D
A
B
C Y1
A
B
C
B
D
A B C D
A
C
D
C
D
Y2
B
D
B
C
4 100 1
Таб. 1-19. Таблица на вистинитост на функцијата
5 101 0
Y ( A, B, C ) m2,3,4,6 M 0,1,5,7
6 110 1
7 111 0
B B
0 2 6 4 0 2 6 4
0 1 1 1 0 1 1 1
1 3 7 5 1 3 7 5
0 1 0 0 C 0 1 0 0 C
A A
а) минимизација на СДНФ облик б) минимизација на СКНФ облик
Сл. 1-23. Карноова карта на функцијата Y ( A, B, C ) m2,3,4,6 M 0,1,5,7
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 28
A B C
A
B Y=AB+AC
A
C
A B C
A
B Y=AB+AC
A
C
A Y
B
A
B Y
A Y
B A
C
Сл. 1-25. И во НИЛИ Сл. 1-26. Синтеза на функцијата Y = m(2,3,4,6) [= (0,1,5,7)]
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 29
A B C
A Y
B
A
A Y B Y
B
A
C
i ABC SZ SC
B
0 000 0 1
0 2 6 4
1 001 0 1 0 0 1 0
2 010 0 1 1 3 7 5
0 1 1 1 C
3 011 1 0
4 100 0 1 A
5 101 1 0 Сл. 1-29. Минимизација
6 110 1 0
7 111 1 0
SZ
SC
Сл. 1-30. Логичка шема
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 31
Сл. 1-32. Физички дизајн на логичката функција Y=ABC* со дик 74х04 и 74х11
Сл. 1-33. Физички дизајн на логичката функција Y=ABC* со дик 74х04 и 74х08
Сл. 1-34. Логички и физички дизајн на функцијата F=(A+B) C со дик 74х32 и 74х08.
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 33
A
Y
S0
S1
Сл. 1-35
1-12. За комбинационата мрежа прикажана на сл. 1-36 треба да се формира и
пополни табела на вистинитост со S1 и S2 како влезни променливи, а Y како
излезна. Врз основа на пополнетата табела објасни ја работата на мрежата.
1-13. За која комбинација на влезните променливи a, b и c излезот y на логичката
мрежа прикажана на сл. 1-37 ќе биде 1? Задачата реши ја а) логички
размислувајќи кога знаеш дека излезот од екс-или колото е 1 само ако
битовите се различни, додека излезот од екс-нили колото е 1 само ако
битовите се еднакви, и б) со анализа на дадената логичка шема од влезовите
до излезот.
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 34
A A
Y
B
Y
S0 S1
C
Сл. 1-36 Сл. 1-37
1-14. За комбинационата мрежа прикажана на сл. 1-38 треба да се пополни
придружната комбинациона таблица и потоа да се опише и објасни нејзината
функција и практична примена.
Сл. 1-38
A B C D
K 1-15. За логичката мрежа прикажана на
сл. 1-39 претпостави дека променливата К
еднаш има вредност 0, а еднаш 1 и за секој
случај одреди ги логичките нивоа на
излезните сигнали. Каква е улогата на
Y1 Y2 Y3 Y4 променливата К? Образложи!
Сл. 1-39
1-16. Реализирај ги инверторот, И и ИЛИ логичките кола со по два влеза само со
примена на (а) НИ; (б) НИЛИ кола со по два влеза.
1-17. Со примена на И-ИЛИ мрежа во две нивоа, а потоа со НИ кола, да се
реализираат функциите (а) Y A, B, C , D A B B C D D ; (б)
F A, B, C , D AB BCD C .
1-18. Со примена на ИЛИ-И мрежа во две нивоа, а потоа со НИЛИ кола, да се
реализираат функциите (а) Z A, B, C , D A C A B D D ;
(б) F A, B, C , D A B B C D D .
БУЛОВА АЛГЕБРА И ЛОГИЧКИ КОЛА 35
I) КОЛА ЗА РЕАЛИЗАЦИЈА НА
АРИТМЕТИЧКО - ЛОГИЧКИ ФУНКЦИИ
2.1. ВОВЕД
Голем број од сложените операции во дигиталната техника можат да се
извршат со погодно врзување на повеќе соодветни логички кола. Добиените
дигитални мрежи, во ситуација кога излезните сигнали од мрежата зависат само
од моменталните комбинации на вредности на влезните сигнали, претставуваат
комбинациски мрежи. Претходните состојби (вредности) на излезите од
мрежата немаат влијание врз нивните следни состојби, од каде произлегува дека
комбинациските мрежи немаат особина на помнење на информациите.
Комбинациските мрежи имаат многу широка примена заради што се
среќаваат скоро во секој дигитален уред. Во компјутерските системи овие мрежи
се користат за извршување на пресметувачките операции, аритметички или
логички, за генерирање на одредени нумерички вредности, за кодирање и
декодирање на информациите, за пронаоѓање на адресираните локации во
мемориите, за селектирање на одредени поврзувања итн. Разновидноста на
нивната примена е една од причините заради која комбинациските мрежи обично
се нарекуваат според функцијата што ја извршуваат, како на пример: собирач,
одземач, комплементер, компаратор, кодер, декодер, мултиплексер (селектор),
демултиплексер (дистрибутер) итн. Некои од комбинациските мрежи се така
организирани и реализирани за да можат да се користат во праксата како
мемориски компоненти чија содржина може само да се чита, иако немаат
мемориски ќелии.
A B S C
0 + 0 =0 0 0 0 0 A S
0 + 1 =1 0 1 1 0 HA
1 + 0 =1 1 0 1 0
B C
1 + 1 =0 и пренос 1 . 1 1 0 1
Таб. 2-1. Правила за Таб. 2-2. Комбинациона Сл. 2-1. Логички симбол на
аритметичко собирање табела на полусобирач полусобирач
A
S
B
Ai Bi Ci-1 Si Ci
Ai Si
0 0 0 0 0
Bi FA
0 0 1 1 0 C i-1 Ci
0 1 0 1 0
0 1 1 0 1 Сл. 2-3. Логички симбол на целосен собирач
1 0 0 1 0
Ci-1 Si
1 0 1 0 1 A S
1 1 0 0 1 Ai HA
1 1 1 1 1 A S B C Ci
HA
Bi B C
Таб. 2-3. Табела
на вистинитост
Сл. 2-4. Логичка шема на целосен бинарен собирач
A3 B3 A2 B2 A1 B1 A0 B0
V(0)
C-
Ai Bi Ci-1 Ai Bi Ci-1 Ai Bi Ci-1 Ai Bi Ci-1
FA FA FA FA
Ci Si Ci Si Ci Si Ci Si A3 A2 A1 A0 B 3 B 2 B1 B 0
C+ C-
C+ S 3 S 2 S1 S 0
S3 S2 S1 S0
а) б)
Сл. 2-5. Логичка структура и симболичка ознака на паралелен 4 битен собирач
При собирањето на два броја карактеристична е појавата на префрлување
(анг. overflow). Тоа фактички претставува пренос кој се појавува по собирањето
на двата најмногу значајни битови (MSB – битовите). Ако се појави 1 на излезот Ci
од потполниот собирач кој ги собира третите битови (последниот потполн
собирач), тоа значи дека добиениот збир е број кој не може да се претстави само
со четири бита, т.е. број што е поголем од 1111(2)=15(10) како најголем број што
може да се прикаже со 4 бита. Заради тоа оваа линија се означува како линија за
детекција на префрлувањето (С+).
A3 A2 A1 A0
M
(C/D) M Y
0 A
Y3 Y2 Y1 Y0 1 A
A3 A2 A1 A0 B3 B2 B1 B0
M
C+ C-
(S/A)
S 3 S 2 S1 S 0
A YA A B Y 0 Y A Y B
Y0 A=B 1 0 0
B YB A>B 0 1 0
A<B 0 0 1
Сл. 2-8. Логичка шема на дигитален компаратор Таб. 2-4. Функционална табела
Заради разбирање на суштината на проблемот, ќе претпоставиме
наједноставен случај: споредување на два еднобитни бинарни броја A и B. Врз
основа на функционалната табела (таб. 2-4), може да се изведе табелата на
вистинитост на оваа логичка компонента која е дадена како таб. 2-5.
Логичката шема на еднобитниот компаратор кој врши споредување на
битот A со битот B, е прикажана на сл. 2-9. На сликата покрај единственото
ЕКСНИЛИ логичко коло, се применети и два инвертори и две И логички кола.
Централното место во средината на логичката шема го зазема ЕКСНИЛИ
логичкото коло бидејќи ова коло препознава еднакви влезни комбинации. Тоа е
очигледно од неговата табела на вистинитост (таб. 2-5) од која лесно може да се
заклучи дека ЕКСНИЛИ колото фактички игра улога на детектор на еднаквост,
затоа што неговиот излез е 1 само кога и двата влезни битови се меѓусебно
еднакви. Од друга страна, излезот ќе биде 0 само ако битовите се различни меѓу
себе.
Искажаниот услов може да се запише со следнава логичка равенка:
1 ако A=B ,
Y0 ( A B) AB AB (2-3)
0 ако AB.
A B Y 0 Y A Y B
0 0 1 0 0 A YA
0 1 0 0 1 Y0
B
1 0 0 1 0 YB
1 1 1 0 0
2.4. ВОВЕД
Прекинувачките матрици се посложени комбинациски логичко-
прекинувачки мрежи со поголем број влезови и излези. За нив е најважно тоа што
логичките состојби на било кој излез од мрежата зависат само од моменталните
логички состојби на влезовите. Прекинувачките матрици се составени од
прекинувачки елементи кои се наредени во низи, по редици и колони, така што
формираат матрични структури. Oсвен ова, и самите прекинувачки функции што
се реализираат со овие мрежи се дадени во облик на матрици. Меѓутоа, овие
логички мрежи многу почесто се сретнуваат со нивните конкретни функционални
имиња, од кои како најпознати ќе ги наведеме: кодерите, декодерите,
мултиплексерите и демултиплексерите.
Прекинувачките матрици можат да се реализираат со примена на логички
кола, но многу почесто, можат да се најдат и комплетни решенија што се
изведени во техника на интегрирани кола.
КОМБИНАЦИСКИ МРЕЖИ 47
ОБРАБОТКА
ВЛЕЗ ИЗЛЕЗ
ПОДАТОЦИ ЦПЕ, РЕЗУЛТАТИ
7 8 9
МЕМОРИЈА
4 5 6
КОДЕР И ДЕКОДЕР
1 2 3 ДРУГА
0 ЛОГИКА
ТАСТАТУРА 7 - СЕГМЕНТЕН
ЕКРАН
+VCC
0 1 2 3 4 5 6 7 8 9
D
+VCC
C 9 +VCC D
8 C
7 B
B 6 A
5
4
A DEC/NBCD
3 КОДЕР
2
1
0
R R R R R R R R R R GND
Сл. 2-11. Логичка шема на DEC/NBCD кодер Сл. 2-12. Блок шема на DEC/NBCD кодер
Слично, ако станува збор за октален-во-бинарен кодер може (OCT/BIN) да
се примени табелата за конверзија од октален во бинарен броен систем и да се
добие логичката структура која е прикажана на сл. 2-13 чија симболичка ознака е
дадена на сл. 2-14. Комбинационата табела на вистинитост таб. 2-7 го
дообјаснува принципот на работа на ваквиот кодер.
+VCC
0 1 2 3 4 5 6 7
Y2
X0
X1
Y1 X2 Y0
X3 N/n Y1
КОДЕР
Yn-1
Y0
X N-1
R R R R R R R R
OCT/BIN кодер
50 КОМБИНАЦИСКИ МРЕЖИ
Y0 = I1 +I3 +I5 +I7; Y1 = I2 +I3 +I6 +I7; Y2 = I4 +I5 +I6 +I7; (2-4)
Кај кодерите реализирани според сл. 2-10 и сл. 2-12 како проблем се јавува
фактот што на излезот се добиваат сите нули како да е активирана влезната
линија за цифрата 0, а всушност не е активирана ниту една влезна линија.
Излезниот резултат е ист и ако навистина се активира тастерот на 0-та линија.
Заради елиминирање на овој проблем на кодерот може да му се додаде уште една
влезна линија со која ќе може да се контролира неговото овозможување да
работи или не. Покрај неа, и на излезот може да се додаде уште една линија која
ќе има вредност 1 ако е притиснат било кој од влезните тастери, односно
вредност 0 ако ниту еден од влезовите не е активен.
Влезови Излези
I0 I1 I2 I3 I4 I5 I6 I7 Y2 Y1 Y0 V
0 0 0 0 0 0 0 0 x x x 0
1 0 0 0 0 0 0 0 0 0 0 1
x 1 0 0 0 0 0 0 0 0 1 1
x x 1 0 0 0 0 0 0 1 0 1
x x x 1 0 0 0 0 0 1 1 1
x x x x 1 0 0 0 1 0 0 1
x x x x x 1 0 0 1 0 1 1
x x x x x x 1 0 1 1 0 1
x x x x x x x 1 1 1 1 1
Таб. 2-8. Комбинациона табела на OCT/BIN кодер со приоритет
Ако добро ја погледнеме оваа табела, ќе забележиме дека без оглед на
логичките состојби на другите влезови, на излезот секогаш ќе се добива кодниот
збор кој одговара на онаа линија од активираните која има најголема нумеричка
вредност. Во презентираната табела на вистинитост се појавува уште една
излезна линија означена со V која укажува на тоа дали некоја од влезните линии
е активна или не. Логичката вредност присутна на овој излез овозможува да се
прави разлика помеѓу случаите кога е активирана нултата влезна линија (кога е
притиснат 0-иот тастер) и кога не е активиран ниту еден влез.
2.5.3. ДЕКОДЕР
Бидејќи сите информации во дигиталната обработка се претставуваат во
бинарен облик, јасно е дека тие податоци треба да бидат преведени во декадни
броеви секогаш кога нив ќе треба да ги употреби човекот. Постапката со која се
преведуваат бинарните кодови во друг облик што е попогоден за понатамошна
употреба се вика декодирање, а самата дигитална компонента која тоа го
реализира се вика декодер.
52 КОМБИНАЦИСКИ МРЕЖИ
Влезови Излези
E C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
1 x x x 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 0 0
0 0 1 1 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0 1 0 0 0
0 1 0 1 0 0 0 0 0 1 0 0
0 1 1 0 0 0 0 0 0 0 1 0
0 1 1 1 0 0 0 0 0 0 0 1
Таб. 2-9. Комбинациона табела на BIN/OCT декодер
ТАСТАТУРА 7 - СЕГМЕНТЕН
ЕКРАН
0000 0 0 0 0 0 0 0 1
0001 1 1 0 0 1 1 1 1
0010 2 0 0 1 0 0 1 0
0011 3 0 0 0 0 1 1 0
0100 4 1 0 0 1 1 0 0
0101 5 0 1 0 0 1 0 0
0110 6 0 1 0 0 0 0 0
0111 7 0 0 0 1 1 1 1
1000 8 0 0 0 0 0 0 0
1001 9 0 0 0 0 1 0 0
Таб. 2-10. Табела на кодовите за седумсегментен екран со LED диоди и заедничка анода
Ако станува збор за поврзување со 7-сегментен дисплеј со заедничка
катода тогаш излезите од NBCD/7S декодерот ќе треба да се активни на високо
ниво на логичка 1.
56 КОМБИНАЦИСКИ МРЕЖИ
2.6.1. МУЛТИПЛЕКСЕР
X N-1
X N-1
а) Еквивалентна шема
S0 S1 Sn-1
I0
S Y
Y
0 I0 I1
1 I1
I0
I1
Y Е S1 S0 Y
I2
0 x x 0
I3
0 0 I0
0 1 I1
1
1 0 I2
S1 1 1 I3
S0
Сл. 2-22. Логичка шема на 4-во-1 Таб. 2-12. Табела на вистинитост на 4-во-
мултиплексер 1 мултиплексер
A0 Y0
A0 A1 Y1
A2 Y2
A3 Y3
Y0
B0 B0
B1
B2
A1
B3
Y1 E (STB)
B1
A2 S
б) Блок шема
Y2
B2
A0
A3 Y0
B0
Y3 A1
B3 Y1
B1
A2
Y2
S B2
A3
E (STB) Y3
B3
2.6.2. ДЕМУЛТИПЛЕКСЕР
Y0
Y0
Y1 Y1
Y2 Y2
A A
YN-1
YN-1
S0 S1 Sn-1
Y1
Y1
S
S E
A
E Y0 = AS1S0
Y1 = AS1S0
Е S0 S1 Y0 Y1 Y2 Y3
0 x x 0 0 0 0
Y2 = AS1S0
0 0 A 0 0 0
Y3 = AS1S0 0 1 0 A 0 0
1
1 0 0 0 A 0
1 1 0 0 0 A
S1 S0
STB1
X0 YA0
YA0 YA0
YA1 X0 YA1
X1 YA 2 YA1
X0
YA 3 YA2
YA 2
YA3
STB YB 0
S1 YA3 STB2 YB1 YB0
YB2 YB1
S1 S0 YB3 X1
YB 0 YB2
YB3
S0 YB1
YB2
в) механички
б) логички симбол
X1 YB3 еквивалент
STB2
Сл. 2-27. Двократен четириположбен
а)логичка шема демултиплексер
програмабилни програмабилни
И кола ИЛИ кола
програмабилни фиксни
И кола ИЛИ кола
PROM
фиксни програмабилни
И кола ИЛИ кола
i A2 A1 A0 D3 D2 D1 D0 За полесно разбирање на
0 0 0 0 1 0 0 0 однесувањето на PROM-меморијата ќе го
разгледаме следниот пример. Станува збор
1 0 0 1 0 0 0 1 за трајно зачувување на осум четирибитни
2 0 1 0 0 0 1 1 податоци во PROM-мемориска компонента
според таб. 2-14.
3 0 1 1 0 0 1 0
Од неа се гледа дека содржина на
4 1 0 0 0 1 1 0 првата локација со адреса 000 треба да
5 1 0 1 0 1 1 1 биде податокот 1000, во втората локација
чија адреса е 001 е сместен податокот 0001,
6 1 1 0 0 1 0 1
итн. сé до последната, осмата мемориска ло-
7 1 1 1 1 1 0 0 кација со адреса 111 чија содржина е 1100.
a7
m=3 a6 n=4
a5 D3
A2 Адресен a4
A1 Кодер D2
декодер a3 D1
A0 a2 8/4
3/8 D0
a1
a0
Фиксна И Програмабилна
матрица ИЛИ матрица
Сл. 2-33. Блок-шема на PROM компонента
a7
a6
A2 a5
A1 Адресен a4
декодер a3
A0 3/8 a2
a1
a0
D3
D2
PROM
8 збора х 4 бита D1
D0
.
Сл. 2-34. Логички дијаграм на PROM меморија со капацитет 8 збора по 4 бита
a0
a1
A2 a2
A1 a3
A0 a4
a5
a6
a7
D3 D2 D1 D0
Сл. 2-35. Логички дијаграм на PROM меморија со капацитет 8 збора по 4 бита
2-21. Нацртај реализација на OCT/BIN кодер како матрична еднонивовска ИЛИ структура
чиишто влезови се активни на високо ниво, како и нејзиниот логички симбол. На
добиената кодерска матрица, како дополнување, додај и влез за дозвола на работа.
2-22. Која е разликата помеѓу стандардниот кодер и кодерот со приоритет?
2-23. Ако претпоставиме дека на располагање имаш два кодери: еден OCT/BIN без
приоритет и еден OCT/BIN со приоритет и дека и на двата едновремено ги притиснете
тастерите [2], [3] и [4] одговори која е состојбата на излезите од двата кодери. Дали
меѓусебно се разликуваат? Образложете!
2-24. Нацртај реализација на HEX/BIN кодер.
2-25. Ако на влезот од кодерот доаѓаат N различни симболи, кој услов треба да го
исполнува бројот на излезите n, т.е. должината на кодниот збор, со кој може да се
кодираат сите влезни симболи?
2-26. Која е улогата на декодерот?
2-27. Нацртај табела на вистинитост за NBCD /DEC декодер чии излези се активни на (а)
ниско (б) високо ниво.
2-28. Нацртај реализација на NBCD/DEC декодер чиишто излези се активни на високо
ниво, како матрична еднонивовска И мрежа со примена на И логички кола. Каква
модификација треба да се изврши на мрежата, за излезите да бидат активни на ниско
ниво.
2-29. За која влезна комбинација излезот (а) 0 (б) 1 (в) 2 (г) 3 (д) 4 (ѓ) 5 (е) 6 (ж) 7 (з) 8
(џ) 9 од NBCD /DEC декодерот ќе биде активен.
2-30. Нацртај табела на вистинитост за NBCD /7S декодер, а потоа проектирај ја оваа
логичка мрежа со претпоставка дека на располагање стојат сите потребни логички кола
со произволен број на влезови.
2-31. Кој услов треба да го задоволува максималниот број на излези N, ако на влез во
декодерот доаѓаат кодни зборови со должина од n бита?
2-32. Реализирај комбинациона мрежа на 4/16 (BIN/HEX) декодер со примена на a) И б)
НИ логички кола и влез за дозвола на работа Е кој треба да биде активен на 1) ниско 2)
високо ниво.
2-33. Ако имаш на располагање два 2-во-4 декодери со влез за дозвола Е изврши нивно
поврзување за да добиеш еден 3-во-8 декодер.
2-34. Која е функцијата на мултиплексерот?
2-35. Да се нацрта комбинационата табела, логичката шема и логичкиот симбол на (а) 2-
во-1 (б) 4-во-1 (в) 8-во-1 мултиплексер (г) со влез за овозможување на работата активен
на 1) ниско 2) високо ниво.
2-38. Нацртај ја логичката шема на (а) двократен - двоположбен (2-во-2) (б) двократен-
четириположбен (2-во-4) мултиплексер.
2-39. Каква функција врши демултиплексерот?
2-40. Да се нацрта комбинациската табела, логичката шема и логичкиот симбол на (а) 1-
во-2 (б) 1-во-4 (в) 1-во-8 демултиплексер (г) со влез за овозможување на работата
активен на 1) ниско 2) високо ниво.
2-41. Ако имаш на располагање 1-во-4 демултиплексерот изврши негова трансформација
како во 2-во-4 декодер.
2-42. Ако имаш на располагање 2-во-4 декодер со посебен влез за дозвола на работа,
изврши негова трансформација во 1-во-4 демултиплексер.
2-43. Нацртај логичка шема на двократен-четириположбен демултиплексер (2-во-4) со
посебен влез за селекција на компонентата активен на ниско ниво.
2-44. Нацртај логичка шема на (а) двократен-двоположбен (2- во-2) (б) четирикратен-
двоположбен (4-во-2) демултиплексер со посебен влез за селекција на компонентата
активен на ниско ниво.
2-45. Што претставуваат програмабилните логички структури?
2-46. Како се остварува програмирањето на програмабилните логички структури?
2-47. Прикажи по два примера на (а) нискоомски (б) високоомски електронски елементи
што се користат за остварување на споевите кај програмабилните логички структури.
2-48. Каква структура е PLA? Нацртај ја нејзината блок-шема.
2-49. Каква структура е PAL? Нацртај ја нејзината блок-шема.
2-50. Нацртај блок-шема на PROM компонента.
2-51. Каква структура е PROM и која е нејзината главна примена?
2-52. Како е организирана меморијата?
2-53. Во каков облик се запамтува и каде се сместува секоја информација во меморијата?
2-54. Што претставува адреса на мемориска локација?
2-55. Што е капацитет на меморијата и како се изразува?
2-56. Како се врши внесување на нова содржина во PROM ?
2-57. Кои типови PROM мемории постојат и по што се разликуваат меѓу себе?
2-58. Нацртај блок-шема на PROM (а) 16x4 (16 збора по 4 b) (б) 128x8 (128 збора по 8 b).
2-59. Даден е PROM со организација 64 K x 16. (а) Колку адресни влезни линии (б) Колку
податочни излезни линии, има оваа мемориска компонента (в) Колкав е капацитетот на
PROM -от изразен во (а) зборови (б) бајти.
2-61. Нацртај комбинациона таблица на PROM со соодветен капацитет и должина на ме-
мориските зборови, со кој во локацијата со најмала адреса 0000 се сместува најголемиот
четирибитен број 1111, итн. со зголемување на адресите се намалуваат броевите што во
нив се сместуваат, па така во последната мемориска локација што има адреса 1111, се
сместува податокот 0000. Како дополнување, за секој бит од излезниот податок напиши
ја соодветната совршена нормална форма во функција од (а) излезите (б) влезовите од
адресниот декодер.
2-62(*). На следните неколку слики во чекори е прикажана реализацијата на функцијата
Y=AB*+BC на прото плочка на која врските се остваруваат без лемење. Провери ја
точноста на поврзувањата и одговори дали реалната шема одговара на логичката.
КОМБИНАЦИСКИ МРЕЖИ 71
72 КОМБИНАЦИСКИ МРЕЖИ
3.
ФЛИП -
- ФЛОПОВИ
По изучувањето на оваа тематска целина
ќе ги препознавате графичките симболи на флип-флоповите;
ќе ја објаснувате логичката структура на флип флоповите;
ќе го изучите принципот на работа на лечот (колото за заклучување)
и на флип-флоповите;
ќе ги анализирате добиените графици на временските дијаграми од
излезите на секој флип-флоп посебно;
ќе го разберете принципот на работа на флип-флоповите како
елементарни секвенцијални кола со стандардна и master-slave
конфигурација и тоа: SR, JK , D и T флип-флоп;
ќе умеете да демонстрирате различни трансформации на флип-
флоповите;
ќе се запознаете со примената на флип-флоповите вo
реализирањето на RAM мемориската ќелија како посложена
секвенцијална компонента;
ќе се запозанете со можностите за примена на флип-флоповите во
градбата на посложени секвенцијални мрежи;
74 ФЛИП ФЛОПОВИ
ФЛИП ФЛОПОВИ 75
Состојба на Излези
флип-флопот Q Q
Сетиран (Поставен) 1 0
Ресетиран (Избришан) 0 1
Таб. 3-1. Состојби на флип-флопот
TP T0 t TP T0 t
а) T TP < T0 б) T TP = T0
Сл. 3-1. Временски дијаграми на правоаголен и квадратен такт-сигнал
Без оглед на тоа со кој раб се активира флип-флопот, ќе напоменеме дека
излезот од флип-флопот реагира на побудата по определен временски период,
кој е многу краток, но сепак е присутен како последица од доцнењето на сигналот
кога тој минува низ флип-флопот. Ова време се вика време на доцнење и се
означува со tpd, td, или t. Тоа варира во зависност од технологијата во која е
направен флип-флопот, а обично изнесува од неколку [ns] до неколку десетици
[ns]. Заради поедноставно разбирање на принципот на работа на флип-
флоповите, при цртањето на временските дијаграми, ќе разгледуваме идеални
случаи, односно ќе го занемаруваме времето на доцнење (tpd=0), така што
излезот ќе се јавува без задоцнување, истовремено, во однос на влезот.
ФЛИП ФЛОПОВИ 77
Реални случаи, односно временска разлика меѓу излезот и влезот (tpd >0),
ќе опишуваме само тогаш кога ќе сакаме да ја потенцираме појавата на одредени
проблеми кои можат да настанат при самата практична примена на флип-флопот
во работата.
На сл. 3-2 а) е прикажана појавата на влезните сигнали, како и одзивот на
нив, односно појавата на излезните сигнали, за еден пример на флип-флоп кај
кого е занемарено доцнењето. На сл. 3-2 б) е прикажан еден реален случај каде
постои одредено доцнење од побудата до одзивот.
ПОДАТОЦИ ПОДАТОЦИ
ВЛЕЗ ВЛЕЗ
t t
ПОДАТОЦИ ПОДАТОЦИ
ИЗЛЕЗ ИЗЛЕЗ
t t
t pd t pd
а) иделен случај без доцнење влез - излез б) реален случај со доцнење влез - излез
Сл. 3-2. Временски дијаграми на влезни и и излезни сигнали кај флип-флопот
Излезот од флип-флопот, а со тоа и неговиот начин на работа, може да се
прикаже аналитички, преку одредена логичка равенка која е специфична за секој
флип-флоп, и затоа се вика карактеристична равенка или фукција на премин.
Освен овој алгебарски начин, постои и табеларен приказ, со примена на два типа
табели: едната е т.н. каракте-ристична табела или табела на премин и излез, а
другата е табела на побуда или екситација. Табелата на премин се употребува
при анализата на секвенцијалните мрежи, додека табелата на побуда при
реализацијата на секвенцијалните мрежи. Веќе е истакнато дека за илустрација
на работата исто така може да се користи и графичката претстава со временските
дијаграми на напоните на влезовите и излезите од флип-флопот.
Излезот на флип-флопот е функција од сигналите доведени на неговите
влезови, од нивото на тактот ако флип-флопот е тактиран, но и од претходната
состојба на излезите од флип-флопот. Ова значи дека се јавува зависност од
временскиот редослед, т.е. од секвенцата на логичките состојби низ кои поминал
флип-флопот. Според ова, флип-флопот претставува и елементарна
секвенцијална компонента. Бидејќи при прикажувањето на излезот од флип-
флопот ќе фигурираат логички состојби во различни временски интервали кои
следат еден по друг, се воведуваат ознаки за тоа дали состојбата на колото се
однесува на претходниот (сегашниот) временски период: t или T, или за следниот
временски период t+T, t+1, tn+1, или t+. Во овој контекст за состојбата на
излезот од флип-флопот се користат следниве ознаки Q (t) и Q (t+T), или Q (t) и
Q (t+1), или Q (tn) и Q ( tn+1), или Q n и Q n+1, или Q (t) и Q (t+), или
наједноставно Q и Q +.
Во понатамошното излагање ќе претпоставиме дека напонските сигнали
имаат идеален правоаголен облик според сл. 3-3 а) занемарувајќи ги времињата
што се потребни сигналот да го достигне високото или ниското ниво, кои се
јавуваат во случај на реален импулс кој е даден на сл. 3-3 б).
78 ФЛИП ФЛОПОВИ
t а) идеален импулс со tr = tf = 0
tr tf t
б) реален импулс со tr ≠ 0 и tf ≠ 0.
3.2. SR ФЛИП-ФЛОП
Во принцип, флип-флоп може да се реализира со вкрстена врска на две
инверторски кола така што излезот од едното коло се врзува на влезот од второто
коло, а излезот од второто оди на првото, како што се гледа на сл. 3-4.
Q
Сл. 3-4. Вкрстена врска на две инверторски кола
R
Q
S Q S Q
R Q R Q
Q а)
S б)
Сл. 3-5. Логичка шема на SR флип-флоп Сл. 3-6. Симболички ознаки на SR флип-флоп
S R Q+ Q Q+ S R
0 0 Q 0 0 0 x
0 1 0 0 1 1 0
1 0 1 1 0 0 1
1 1 ? 1 1 x 0
S
t
R
? t
Q
? t
Q
t
Сл. 3-7. Временски дијаграми во каратеристичните точки на
влезот и излезот од SR флип-флопот
S Q S Q S Q
R Q R Q
Q а) б)
R
S R Q+ Q Q+ S R
0 0 ? 0 0 0 x
0 1 1 0 1 0 1
1 0 0 1 0 1 0
1 1 Q 1 1 x 1
R
S Q
S Q
C C
R R Q Q
S
а)
а)
S
Q
S Q
C C
Q R Q
R б)
б)
Сл. 3-10. Логичка структура на Сл. 3-11. Симбол на
тактиран SR флип-флоп тактиран SR флип-флоп
Бидејќи влезовите S и R можат да дејствуваат врз состојбата на флип-
флопот само ако се синхронизирани со такт-сигналот, тие се викаат синхрони
влезови, а самиот флип-флоп синхронизиран или тактиран SR флип-флоп.
Работата на тактираниот SR флип-флоп може да се илустрира со табелата
на премин и излез прикажана на сл. 3-6 и табелата на екситација дадена на сл. 3-
7. Тие практично се исти со табелите на премин и излез за асинхрониот SR флип-
флоп, со една забелешка дека важат само кога тактот преминува од ниско
логичко ниво (0) на високо (1) и има стабилно високо ниво што се случува со
појавата на предниот раб на тактот кој ја овозможува работата на логичките кола.
Ова подобро може да се види од неговата карактеристична равенка со такт
влез C:
Q + = ( S + R Q ) C + Q C , или Q + = [( S + Q ) R ]C + Q C (3-2)
при што треба да биде исполнет условот SR = 0.
За сигурна работа на тактираниот флип-флоп, нивото на влезовите S и R
треба да биде стабилно додека трае такт-импулсот С, или поточно податоците на
влезовите S и R треба да се појават непосредно пред предниот раб на тактот, а да
завршат непосредно по неговиот заден раб, како што е прикажано на сл. 3-12 а).
ФЛИП ФЛОПОВИ 83
S R Q+ Q Q+ S R
0 0 Q 0 0 0 x
0 1 0 0 1 1 0
1 0 1 1 0 0 1
1 1 ? 1 1 x 0
C C
t t
C
t
S
t
R
? t
Q
? t
Q
t
Сл. 3-13. Временски дијаграми за начинот на работа на тактиран SR флип-флоп
Со примерот од сл. 3-13 е илустриран принципот на работа кај вака
тактираниот SR флип-флоп, при што е претпоставено дека неговата почетна
состојба била ресетирана: Q = 0, ( Q = 1). Од презентираните временски
дијаграми се гледа дека сега транспарентноста се јавува само ако C=1 бидејќи
само во тој временски интервал промената на влезовите ги афектира излезите
(само тогаш тие меѓусебно „се гледаат”).
84 ФЛИП ФЛОПОВИ
S S Sd Q S Sd Q
C C
Q R R Q
d R R Q
d
C
Q
R а) б)
Rd
Сл. 3-14. Логичката шема на Сл. 3-15. Симболи на тактиран SR флип-флоп
тактиран SR флип-флоп со директни со директни (асинхрони) влезови
(асинхрони) влезови
Q
R
Sd
S
Q S Q S Q
C C
Детектор
C
на раб R Q R Q
Q
R а) б)
Сл. 3-17. Логичка шема на прекинувачки Сл. 3-18. Симболи на прекинувачки флип-
флип-флоп. флоп
86 ФЛИП ФЛОПОВИ
In In
Out Out
In=C In=C
t t
C C
t t
Out Out
t t
а) детекција на преден раб б) детекција на заден раб
Сл. 3-19. Реализација на детектор на раб и негови временски дијаграми
Кај ваквите флип-флопови што реагираат на појавата на работ на такт
сигналот, а не на неговото ниво, тактот во нивната симболичка ознака се
означува со мал триаголник (Δ) како што е прикажано на сл. 3-18 а) и б).
Симболот на флип-флопот од сл. 3-18 а) се однесува на флип-флоп управуван со
позитивниот раб на тактот, додека сл. 3-18 б) означува флип-флоп управуван со
негативниот раб на тактот.
C C
t t
Q1 Q1
tpd t tpd t
Q2 Q2
tpd tpd t tpd t
а) управувани со нивото на тактот б) управувани со MS структура
Сл. 3-21. Временски дијаграми кај два каскадно поврзани тактирани SR флип-флопови
Промената на вториот излез Q 2 ќе се случи со појавата на опаѓачкиот раб на
такт-сигналот, така што сега склопот работи правилно, а освен ова за време на
вториот такт-циклус податоците можат да се стабилизираат на потребните нивоа
S2 = Q 1=1 и R2= Q 1= 0.
MS структура на флип-флоп се добива со каскадно поврзување на два
тактирани флип-флопови од сл. 3-10 со што се добива сл. 3-22 а) и б) која ја
претставува логичката структура на SR MS флип-флопот. Неговиот логички
симбол е прикажан на сл. 3-22 в).
S Q S Q
C C S Q
R Q R Q C
R Q
а) в)
S
Q
Q
R
R
б) Главен Извршен
C
t
S
t
R
? t
Q
? t
Q
t
Сл. 3-23. Временски дијаграми за однесувањето на тактиран SR MS флип-флоп
ФЛИП ФЛОПОВИ 89
3.3. ЈК ФЛИП-ФЛОП
JK флип-флопот по својата логичка структура претставува модифициран
SR флип-флоп за кој нема забранета влезна комбинација. Неговата логичка
конфигурација е прикажана на сл. 3-24 а) б) од каде се гледа дека JK флип-
флопот се добива со примена на SR флип-флоп со изведени две вкрстени
повратни врски. При ова, JK флип-флопот ќе биде тактиран ако на влезните НИ
кола се додаде уште по еден влез на кој ќе се носи тактот C како што е
прикажано на сл. 3-24 со испрекинати линии. Симболичката ознака на JK флип-
флопот е дадена на сл. 3-25, табелата на премин и излез е означена со таб. 3-8,
додека табелата на екситација како таб. 3-9.
Врз основа на табелата на премин и излез може да се напише
карактеристичната равенка за JK флип-флопот. За асинхрониот JK флип-флоп,
таа ќе биде дадена со следнава логичка равенка:
Q J Q KQ (3-3)
Логичката равенка на синхрониот ЈК флип-флоп со влез за такт C е:
Q ( J Q KQ)C QC (3-4)
J J
S Q
C Q
C
K Q
R Q
K
а) б)
Сл. 3-24. Логичка структура на JK флип-флоп
За ЈК флип-флопот нема забранета влезна комбинација. Имено, од
комбинационата табела, а и од функцијата на премин станува јасен неговиот
принцип на работа: JK флип-флопот работи како SR флип-флоп за сите влезни
комбинации, при што аналоген влез на S е Ј, додека на влезот R соодветствува
влезот K, освен за комбинацијата кога и двата влеза J и K се на ниво на 1. Кога ЈК
флип-флопот ќе се побуди со влезна комбинација J = 1 и K = 1, состојбата на
излезот ќе биде дефинирана и ќе претставува комплемент на неговата претходна
состојба, т.е. ќе важи Q Q .
J K Q+ Q Q+ J K
0 0 Q 0 0 0 x
J Q 0 1 0 0 1 1 x
C
Q 1 0 1 1 0 x 1
K
1 1 Q 1 1 x 0
Сл. 3-25. Логички Таб. 3-8. Табела на премин Таб. 3-9. Табела на
симбол на JK флип-флоп и излез кај JK флип-флоп побуда на JK флип-флоп
ФЛИП ФЛОПОВИ 91
C
t
J
t
K
t
Q
t
Q
t
Сл. 3-26. Временски дијаграми за однесувањето на тактиран ЈК флип-флоп
3.4. Т ФЛИП-ФЛОП
Овој тип флип-флоп има само еден влез означен со T. Логичката структура
на T флип-флопот е прикажана на сл. 3-27 а) и б), а симболот на сл. 3-28. Од
сл. 3-27 се гледа дека и овој флип-флоп се добива од SR (или ЈК) флип-флоп на
кој се изведени две вкрстени повратни врски, додека два влеза се врзуваат во
еден.
92 ФЛИП ФЛОПОВИ
Q
S Q
T
T
Q R Q
а) б)
Q Q+ Т
Т Q+ 0 0 0
Q 0 Q 0 1 1
T
Q 1 Q 1 0 1
1 1 0
T T
t 1 J Q J Q
T C
Q
t 1 K Q K Q
Q а) б)
t
Сл. 3-28. Временски дијаграми Сл. 3-29. Реализација на Т флип-флоп
за однесувањето на Т флип-флоп со ЈК флип-флоп
3.5. D ФЛИП-ФЛОП
Ако се погледнат и анализираат карактеристичните табели 3-6 и 3-8 на SR
и ЈК флип-флоповите лесно се забележува дека доведувањето на влезна
комбинација со меѓусебно комплементарни влезови предизвикува следната
состојба на флип-флопот да биде или 1 или 0. Оттука произлегува изведбата на D
флип-флоп прикажана на сл. 3-30 која користи SR (или JK) флип-флоп и еден
инвертор. Овој флип-флоп има само еден влез означен со D на кој се доведува
податокот. Целта е да се добие дигитална компонента која ќе памти еден бит
доведен на овој влез, така што следната состојба на флип-флопот секогаш ќе
биде иста со логичката состојба на влезот D.
Симболичката ознака на D флип-флопот е дадена на сл. 3-31, додека
неговата логичка структура на сл. 3-32 а) и б). Од сликите се гледа дека кога има
потреба неговата работа да биде синхронизирана со други дигитални кола во
единствен систем, се додава уште еден влез за такт (С) како што е претставено на
сликите со испрекинати линии.
D D
S Q J Q
C C
D Q
C C
R Q K Q
C Q
а) б)
D D
Q
Q
C
Q
Q
а) б)
C
t
D
t
Q
t
Q
t
Сл. 3-33. Временски дијаграми за однесување на D флип-флоп
Во врска со претходното,
излезот Q го следи влезот D сè додека Е е активен, т.е. со појавата на
неговиот преден раб, па сè додека тој се наоѓа на високо ниво (Е = 1);
излезот Q ја заклучува (задржува) состојбата на влезот D затекната при
задниот раб на влезот за дозвола Е, т.е. во моментот кога тој преминува од
високо на ниско ниво (од Е = 1 паѓа на Е = 0). Затекнатата состојба на
излезот Q при преминот на влезот за дозвола Е од високо на ниско ниво
останува непроменета за цело време додека Е е пасивен, т.е. сè додека Е се
наоѓа на ниско ниво (Е = 0).
Q DE D E (3-9)
Принципот на работа се објаснува со функционалната табела 3-14 и
карактеристична равенка (3-9). Дополнително, на сл. 3-34 се дадени временски
дијаграми кои прикажуваат едноставен пример на однесување на лечот за дадена
влезна побуда. Со цел да се забележи разликата помеѓу однесувањето на D лечот
и D флип-флопот кој е управуван со опаѓачкиот раб на тактот, на сл. 3-34 се
прикажани и временските дијаграми на излезите и кај двете компоненти кои се
побудени со идентични влезни сигнали.
Влезови Излези
Операција
SEL R /W Din Q+ Dout
Пасивност 0 x x Q 0
0 0
Запишување 1 0 0
1 1
Читање 1 1 x Q Q
J
K
D Q D Q
S
C C Q C
C Q
R
D Q
T C T Q
Q D
C C Q
T PRS Q D Q J
Sd
Q D PR Q
C
C Q C Q K Q C Q
CLR CLR Rd CL
а) б) в)
Сл. 3-49
104 ФЛИП ФЛОПОВИ
4.
РЕГИСТРИ
По изучувањето на оваа тематска целина
Ќе ја сфатите логичката структура на регистрите;
Ќе го разберете и ќе можете да го опишете принципот на
работа и примената на стандардните регистри:
стационарен регистер,
поместувачки регистер,
регистер со комбиниран влез,
регистер со комбиниран излез,
универзален регистер;
Ќе ги разликувате типовите на регистри според функцијата и
примената;
106 РЕГИСТРИ
РЕГИСТРИ 107
+V +V +V +V +V +V
Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8
0V 0V
b1 b2 b3 b4 b5 b6 b7 b8 t 1 1 1 0 1 0 1 1
Сл. 4-1. Осум битен податок Сл. 4-2. Блок шема на 8-битен регистер
При запишувањето во регистерот претходната (старата) содржина се губи,
а се запомнува новиот податок доведен на влезните податочни линии кои се и
влез во флип-флоповите од кои е составен регистерот. За разлика од ова,
најчесто, содржината на регистерот може да се чита повеќе пати затоа што при
читањето не доаѓа до промена на податокот што е запишан во него. Ваквото
читање не е деструктивно. Меѓутоа, постои и деструктивно читање кога запиша-
ната содржина се губи, заради што прочитаниот податок мора да се обновува, т.е.
повторно да се полни во регистерот. При читањето, содржината на регистерот се
појавува на излезните податочни линии што всушност се излези од неговите
флип-флопови.
108 РЕГИСТРИ
D D
D Q S Q J Q
C C
C Q C C
R Q K Q
а) со SR флип-флоп б) со ЈК флип-флоп
Сл. 4-3. D флип-флоп
Сл. 4-4. Реализација на D флип-флоп
I1 I 2 I3 Ii In-1 In
O1 O2 O3 Oi On-1 On
I1 I2 I3 I4
S Q S Q S Q S Q
R Q R Q R Q R Q
CLR
O1 O2 O3 O4
в) Логичка шема
I1 I2 I3 I4
W
(W/R)
D Q D Q D Q D Q
C C C C
Rd Q Rd Q Rd Q Rd Q
CLK
CLR
R
O1 O2 O3 O4
I1 O1 O1
I1
I2 O2 I2 O2
I3 O3 I3 O3
I4 O4 I4 O4
CLK
CLR
CLK
R CLR
W W/R
M
(C/W)
I1 O1
I2 O2
I3 O3
J K J K J K J K
C C C C
I4 O4
Q Rd Q Q Rd Q Q Rd Q Q Rd Q
M(C/W)
CLK
CLK
CLR
R CLR
R
O1 O2 O3 O4
во регистерот ако М=1. Во првиот случај, кога М=0, Ji=Ii, Ki=Ti, така што за
наредниот интервал ќе важи Qi+ =Ii. Ако, пак, на линијата М донесеме високо ниво
М=1, тогаш Ji=Ki=1, така што наредната состојба на излезите од сите флип-
флопови ќе биде комплемент на сегашната: Qi+ =Qi. Кај вака реализираниот
регистер, неговата содржина е присутна на излезните линии веднаш по
внесувањето на новиот податок или по комплементирањето. Меѓутоа, со
додавање на уште една линија за читање R, како што е прикажано на сл. 4-7 a) со
испрекинати линии, може да се врши контрола и на моментот на читање со
донесување на високо ниво на влезот за читање R, (R=1) бидејќи тогаш Oi=Qi. Од
друга страна, ако R=0, тогаш сите излези од регистерот се 0-и: Oi=0.
И кај овој регистер се користат флип-флопови со асинхрони влезови за
ресетирање Rd со кои се брише неговата содржина. Тоа се изведува со нивно
поврзување во единствена линија, означена со CRL која ќе биде активна на ниско
ниво (регистерот се брише ако е исполнет условот CRL=0).
За стационарните регистри реализирани со тактирани флип-флопови може
да се употребат флип-флопови кои реагираат на предниот раб од тактот CLK, како
и флип-флопови од MS структура кои реагираат на појавата на задниот раб од
такт-сигналот.
4.3. ПОМЕСТУВАЧКИ РЕГИСТЕР
За D флип-флопот знаеме дека веднаш по појавата на активниот
(прекинувачкиот) раб (премин) од такт-сигналот на неговиот влез, излезот Q од
флип-флопот ќе ја добие онаа состојба, која беше присутна на влезот D
непосредно пред да се појави активниот раб: Q+=D. Токму заради ова, со примена
на D флип-флопови може да се оствари поместувачки (анг. shift) регистер со
сериски влез и сериски излез на неговата содржина, како што е претставено на
едноставната блок-шема дадена на сл. 4-8 а). Имено, поместувачкиот регистер
во принцип претставува последователна врска (каскада) од неколку D флип-
флопови.
Влезниот податок се појавува на влезот од првиот флип-флоп, а на
неговиот излез ќе биде задоцнет за еден временски интервал кој е еднаков со
периодот на такт-сигналот TP. На излезот од вториот флип-флоп тој ќе се појави
подоцна за уште еден такт-интервал, итн. така што доаѓа до сукцесивно
поместување кон десно на информацијата низ регистерот: Di=Qi - 1 и Qi+ = Qi - 1,
или Di + 1= Qi и Qi + 1+ =Qi. Така без оглед на тоа каква низа од битови ќе се појави
на влезот од регистерот, со секој такт импулс таа група ќе биде поместувана за
еден флип-флоп надесно. Оттука овие регистри и го добиле своето име.
Во современите конструкции на регистри, при нивната изведба се користат
тактирани флип-флопови активни на предниот или задниот раб од тактот или се
реализираат со примена на MS флип-флопови. Еден таков четирибитен
поместувачки регистер кој функционира со задниот раб на тактните импулси е
прикажан во две изведби на сл. 4-8 в) и г). Покрај стандардната изведба со D
флип-флопови (в), употребени се и ЈК флип-флопови поврзани како D на
познатиот начин со меѓусебно комплементирање на Ј и К влезовите (г). Симболот
на поместувачкиот регистер е прикажан на сл. 4-8 (б).
114 РЕГИСТРИ
SI SO
SI SO
CLK
CLR
(W/R) SI SO SO
D Q D Q D Q D Q
SI C C C C
Rd Q Rd Q Rd Q Rd Q
CLR
CLK
в) логичка шема со D флип-флопови
SI SO
J Q J Q J Q J Q
C C C C
K Rd Q K Rd Q K Rd Q K Rd Q
CLR
CLK
г) логичка шема со JK флип-флопови
Сл. 4-8. Четирибитен поместувачки регистер
1 2 3 4 5 6 7 8 9
CLK
1 1 1 t
0 0
SI
1 1 1 t
0 0
Q1
1 1 1 t
0 0
Q2
1 1 1 t
0 0
Q3
1 1 1 t
0 0
Q4
t
Сл. 4-9. Временски дијаграми на поместувачки регистер
SI SO
SIN Поместувачки SO
SI регистар CLK
CLR
WE
WE
Сл. 4-11. Логички симбол на
Сл. 4-10. Логички дијаграм на кружен поместувачки
кружен поместувачки
регистер
регистер
Qn-1
Dn SIK SO
SIL
Qn+1
M(R/L)
CLK
M (R/L)
Сл. 4-12. Два–во–еден мултиплексер Сл. 4-13 а). Двонасочен поместувачки регистер
M(R/L)
R1 R2 R3 R4
SIR
SO
D Q D Q D Q D Q
C C C C
Q Q Q Q
L4 L3 L2 L1
SIL
CLK
SI SO
SI SO
O1
CLK
O2
R O3
O1 O2 O3 Oi On-1On CLR O
4
SI SO
J Q J Q J Q J Q
C C C C
K Rd Q K Rd Q K Rd Q K Rd Q
CLR
CLK
R
O1 O2 O3 O4
б) логичка шема
Сл.4-15. Четирибитен регистер со сериски влез и комбиниран излез
Од изнесеното станува јасно дека овој регистер претставува сериско-
паралелен конвертор (претворувач) на код, бидејќи податоците се запишуваат
сериски, а се читаат паралелно. Сериски кодираните бинарни информации ги
претвора во паралелен бинарен код, односно врши конверзија од временски во
просторен облик.
SI SO
I1 I 2 I3 Ii In-1 In I1
I2
I3
SI SO I4
W
CLK
Сл. 4-16. Едноставна блок-шема Сл.4-17 а) симболичка ознака
I1 I2 I3 I4
SI SO
D Sd Q D Sd Q D Sd Q D Sd Q
C C C C
Rd Q Rd Q Rd Q Rd Q
CLK
б) логичка шема
Сл. 4-17 Четирибитен регистер со комбиниран влез и сериски излез
На овој начин, конечната состојба на секој флип-флоп, а со тоа и на
регистерот, зависи само од логичките нивоа на влезните сигнали, а не и од
неговата тековна содржина. Со ова се добива забрзување на работата при
полнење со нова содржина, затоа што нема потреба од бришење на податокот кој
се наоѓа во регистерот.
Информацијата може да биде запишана и во сериска форма преку влезот
на првиот флип-флоп, додека отчитувањето на содржината на регистерот се врши
во сериски облик на излезот од последниот флип-флоп 8.
Ако се врши паралелен запис и сериско читање, паралелно кодираната
бинарна информација фактички се претворува во сериски кодирана, т.е. се врши
конверзија од просторен во временски код. Ова е многу корисна особина затоа
што на овој начин информациите можат да се запишат на непериодичен начин,
секој бит во друго време, а потоа да се отчитуваат периодично, со секој такт-
импулс, бит по бит на сериски начин.
SI SO
I1 I2 I3 Ii In-1 In O1
I1
I2 O2
I3 O3
SI SO
I4 O4
PE
R
O1 O2 O3 Oi On-1 On CLK
CLR
SI SO
J Sd Q J Sd Q J Sd Q J Sd Q
C C C C
K Rd Q K Rd Q K Rd Q K Rd Q
CLK
CLR
R
O1 O2 O3 O4
б) логичка шема
Сл. 4-19. Четирибитен универзален регистер
а) б) в)
Сл. 4-20. ДИК 74х595 – 8-битен поместувачки регистар со паралелни излези
Оваа дигитална компонента може да прифати 8-бита преку својот сериски
влез (DS, SER) кои се внесуваат и запишуваат во влезниот сериски– поместувачки
регистер во осум такт периоди. Осумте запишани битови на податокот можат да
се испратат до излезниот мемориски регистер со паралелни излези: Q0,Q1,Q2,Q3,
Q4,Q5,Q6,Q7 (QA,QB,QC,QD,QE,QF QG,QH). Состојбата на излезите се контролира преку
соодветни бафери заради што тие можат да се најдат во трета состојба. Од пара-
лелните излези податокот се чита во еден такт период. Влезниот поместувачки
регистер има еден такт-сигнал (SRCLK, SHCP), додека излезниот стационерен
регистер со паралелни излези е тактиран со друг такт–сигнал (RCLK, STCP).
Преку влезот за овозможување на работа (OE*) се управуваат баферите.
Имено, со нив паралелните излези може да се однесат во трета состојба на висока
импеданса (HZ) што се случува ако на овој влез се доведи високо ниво на логичка
1-ца (OE*=1). Спротивно, ако на влезот OE* се донесе ниско ниво (OE*=9),
баферите се отвораат, па така излезите се активни и запамтениот податок од
регистерот се појавува на излезите во паралелен облик.
РЕГИСТРИ 123
4-26. Каква треба да биде логичката состојба на сите линии од регистерот даден
на сл. 4-6 в) за да а) во него се запише б) од него се прочита податокот 1) 1101;
2) 1011.
4-27. Каков регистер е прикажан на сл. 4-7 а)? Нацртај ја неговата блок шема и
логичкиот симбол.
4-28. Како се доведува во почетна состојба регистерот од сл. 4-7 а)?
4-29. Што прави линијата М за регистерот од сл. 4-7 а) кога М=1 б) кога М=0?
4-30. Како се врши читањето на содржината на регистерот од сл. 4-7 а)?
4-31. Каква треба да биде логичката состојба на сите линии од регистерот даден
на сл. 4-7 а) за да а) во него се запиши б) од него се прочита податокот 1) 1001;
2) 1110.
4-32. Каков регистер е прикажан на сл. 4-8 в) и г)? Нацртај ја неговата блок шема
и логичкиот симбол.
4-33. Како се доведува во почетна состојба регистерот од сл. 4-8 в) и г)?
4-34. Преку кои линии се внесува и чита содржината на регистерот од сл.4-8 в) и
г)?
4-35. Нацртај ги временските дијаграми на излезите од флип-флоповите, т.е. на
состојбата на регистерот Q1, Q2, ..., Q4 од сл. 4-8 в) и г) ако на влезот доаѓа
податокот 1011. Како ќе изгледаат дијаграмите ако наместо флип-флопови кои се
управувани со работ на такт-сигналот, се применат а) MS D флип-флопови б) D
лечови? Дали ваквиот регистер работи исправно или не? Образложи!
4-36. Нацртај ги временските дијаграми за состојбата на регистерот од сл. 4-8 в) и
г) како и неговата табела на премин ако на влез доаѓа податокот: 1) 10110; 2)
01010.
4-37. Според кој принцип се врши отчитување на содржината од регистерот
прикажан на сл. 4- 8 в) и г)? Зошто?
4-38. Дали постои можност при читањето на содржината од регистерот прикажан
на сл.4-8а,б да дојде до нејзино губење, и под кои услови?
4-39. Објасни ја логичката шема на четирибитен кружен регистер со линија за
сериски влез, линија за сериски излез на податокот, линија за бришење и
контролна линија за запишување на нова содржина, односно за кружење на
старата прикажана на сл. 4-10.
4-40. Нацртај логичка шема и логички симбол на четирибитен поместувачки
регистер во лево со D флип-флопови водени со работ на такт сигналот, и посебен
влез за бришење.
4-41. Опиши го начинот на работа на двонасочниот регистер од сл. 4-12 ако (а)
М=0 (б) М=1.
4-42. На кој начин може да се изврши отчитување на содржината на регистерот
од сл. 4-12 така што првиот внесен бит, да се прочита последен, т.е. по
принципот LIFO.
126 РЕГИСТРИ
4-43. Каков регистер е прикажан на сл. 4-15 б)? Нацртај ја неговата блок-шема и
симболичка ознака.
4-44. На кој начин се полни регистерот од сл. 4-15 б)? Како може да се чита
неговата содржина?
4-45. Каква конверзија овозможува регистерот од сл.4-15 б).
4-46. Каков регистер е прикажан на сл. 4-17 б)? Нaцртај ја неговата блок шема и
симболичка ознака.
4-47. На кој начин се врши полнењето на регистерот сл. 4-17 б)? Како може да се
чита неговата содржина?
4-48. Каков регистер е прикажан на сл. 4-19 б)? Нацртај ја неговата блок шема и
логички симбол.
4-49. Објасни го принципот на работа на регистерот од сл. 4-19 б).
5.
БРОЈАЧИ
По изучувањето на оваа тематска целина
ќе ја разберете логичката структура на бројачите;
ќе знаете да го опишете принципот на работа и примената
на асинхроните бројачи:
бинарен бројач,
бројач со произволен модул,
бројач наназад,
регистер со комбиниран излез,
двонасочен бројач.
ќе знаете да го опишете принципот на работа и примената
на синхроните бројачи:
бинарен бројач,
бројач со произволен модул,
декаден бројач,
кружен бројач.
ќе умеете да проектирате бројачи со различен модул на
броење.
128 БРОЈАЧИ
БРОЈАЧИ 129
Индикација во
декаден облик
Такт генератор
на импулси
Бројач Декодер ..
(Астабилен .
мултивибратор)
NK = М0 -1 (5-2)
ако е бинарен бројач (во природен бинарен код), односно
NK = M -1 (5-3)
во случај на бројач со произволна основа.
Кога се работи за бинарен бројач, тогаш
NK =2n-1 . (5-4)
Ова значи дека кога ќе се достигне капацитетот на бројачот NK, сите негови
флип-флопови ќе бидат сетирани (излезите ќе им се наоѓаат во состојба на
логичка единица).
Пример: Нека се дадени два бинарни бројачи реализирани со а) n=3 б) n=4
флип-флопови. За секој од нив да се определи основата, т.е. модулот (M0) и
капацитетот (NK).
а) За n=3 се добива M0=23=8 па NK=8-1=7 (=111BIN), што значи дека станува
збор за бројач со основа 8, т.е. октален бројач, додека
б) за n=4 се добива M0=24=16 па NK=16-1=15 (=1111BIN), што значи дека се
работи за бројач по модул 16, т.е. хексадецимален бројач.
A B C
1 1 1
PI T Q T Q T Q
Ck Ck Ck
Rd Q Rd Q Rd Q
CLR
1 J Q A 1 J QB 1 J Q C
PI Ck Ck Ck
1 K R Q 1 KR Q 1 KR Q
d d d
CLR
б) на октален асинхрон бројач со ЈК флип-флопови
Сл. 5-2. Логичка структура
134 БРОЈАЧИ
A B C
1 J Q 1 J Q 1 J Q
PI
1 K Sd Q 1 K Sd Q 1 K Sd Q
PRS
1 2 3 4 5 6 7 8
PI =C kA
t
A
t
A=C kB
t
B
t
B=C kC
t
C
t
Сл. 5-5. Временски дијаграми на октален бројач наназад
Принципот на работа на овој бројач е такoв што првиот флип-флоп ја менува
состојбата со секој нов влезен бројачки импулс, додека сите останати флип-
флопови ја менуваат состојбата само кога на комплементарниот излез од
претходниот флип-флоп се воспоставува состојба на логичка нула. Според ова, и
со претпоставка дека бројачот се наоѓа во почетната состојба S0=111 кога сите
флип-флопови се сетирани QA=1, QB=1 и QC=1, доведувањето на првиот бројачки
импулс ќе го ресетира флип-флопот А (QA=0) и на неговиот излез ќе се појави
опаѓачки раб, додека комплементарниот излез ќе оди на високо ниво. Бидејќи
комплетарниот излез на флип-флопот А е такт за следниот флип-флоп B, а на
него се појавува растечки раб на напонот ( QA 1 ), тоа не влијае на состојбата на B
која останува непроменета (QB=1). Следниот импулс го враќа флип-флопот А во
состојба на логичка единица (QA=1), на неговиот комплементарен излез се
појавува опаѓачки раб што го ресетира флип-флопот B (QB=0), но не влијае врз
состојбата на флип-флопот C чиј такт е комплементарниот излез на B, а на него
се појавил растечки раб, заради што C останува сетиран (QC=1). Состојбата на
флип-флопот C ќе се промени од сетирана во ресетирана со појавата на задниот
раб на четвртиот импулс бидејќи тогаш на комплементарниот излез на B ќе се
појави опаѓачки раб ( QA 0 ). Циклусот на броење ќе заврши по осмиот импулс
кога бројачот се враќа на почетната состојба на сетирани флип-флопови (S0
=QAQBQC=111).
5.4.3. БИНАРЕН АСИНХРОН ДВОНАСОЧЕН БРОЈАЧ
Од досегашното излагање може да се заклучи дека и бројачите нанапред и
наназад имаат иста конструкција, но различно последователно поврзување. Тоа
иницира примена на логичка мрежа со која ќе може да се реализираат и двата
начини на броење.
Бројачот со ваква карактеристика се вика билатерален бројач (анг. up-down
counter) бидејќи има можност да брои и во двете насоки: нанапред или наназад,
во зависност од состојбата на посебната линија со која ќе се контролира насоката
на броење.
За да се добие асинхрон двонасочен бројач, неговата вообичаена структура
треба да се дополни со логички кола кои ќе овозможат правилно поврзување на
флип-флоповите и при едниот, но и при другиот начин на броење. Ваков бројач,
реализиран со ЈК MS флип-флопови поврзани во префрлувачки режим (Ј=1 и
К=1) е прикажан на сл. 5-6.
БРОЈАЧИ 139
PRS
K
Sd Sd Sd
PI 1 J Q 1 J Q 1 J Q
Ck A Ck B Ck C
1 K Q 1 K Q 1 K Q
Rd Rd Rd
CLR
1 J Q A 1 J Q B 1 J Q C
PI
Ck Ck Ck
1 K Q 1 K Q 1 K Q
Rd Rd Rd
Состојби Флип-флопови
1 2 3 4 5 6
Si Ki CBA
PI
0 7 0 0 0 t
1 6 0 0 1 A
t
2 5 0 1 0 B
t
3 4 0 1 1
C
4 3 1 0 0 t
Rd
0 5/0 1/0 0 1/0 t
Таб. 5-3. Табела на Сл. 5-8. Временски дијаграми на квинарен
вистинитост на квинарен асинхрон бројач
асинхрон бројач
Спроведувајќи ги редоследно чекорите од претходно наведената процедура,
добиваме дека за реализација на квинарниот бројач ќе се потребни 3 флип-
флопови (n=3) (22=4≤5≤23=8) при што 5DEC=101BIN, од каде произлегува
логичкиот дијаграм на бројачот прикажан на сл. 5-7, временските дијаграми
дадени на сл. 5-8 и табелата на вистинитост таб. 5-3.
Од сл. 5-8 се гледа дека бројачот работи како вообичаен бинарен бројач до
5-иот импулс, при што цело време излезот на НИ-колото е висок и не делува на
директните влезови за ресетирање кои се активни на ниско ниво. Меѓутоа, по
појавата на опаѓачкиот раб на 5-иот бројачки импулс, бројачот влегува во меѓу-
(квази)-состојбата што соодветствува на модулот на броењето во бинарна
нотација (М=5DEC=101BIN) заради што излезите на флип-флоповите A и C се
високи, додека на B е низок: QA=1, QB=0 и QC=1. Бидејќи излезите на A и C се
врзани на влезовите на НИ-колото и истовремено и двата се на ниво на логичка
единица, тоа предизвикува излезот на НИ-колото од високо да оди на ниско и со
тоа да ги ресетира сите флип-флопови, со што бројачот се поставува во
почетната (точната) состојба: QA=0, QB=0 и QC=0.
За реализација на декаден бројач, т.е. бројач со основа 10 (M=10), ќе се
потребни 4 флип-флопови (n=4): A, B, C и D што произлегува од примена на
првиот чекор, т.е. задоволување на релацијата 2n-1≤ M ≤2n, бидејќи
23=8≤10≤24=16. Поаѓајќи од тоа дека модулот на бројачот е 10 (M=10), ќе се
изврши конверзија во бинарен број и ќе се добие 1010 (10DEC=1010BIN), што
укажува на тоа дека влезовите во НИ колото треба да се земат од излезите на
флип-флоповите B и D (1010=QDQCQBQA), по што лесно може да се комплетира
логичкиот дијаграм на бројачот со примена на флип-флопови од ЈК или Т тип,
неговите временски дијаграми и табелата на вистинитост.
1
T Q T Q T Q
A B C
Ck Q Ck Q Ck Q
PI
1 2 3 4 5 6 7 8 9
PI
t
A
t
B
t
C
t
Сл. 5-10. Временски дијаграми на октален синхрон бројач
БРОЈАЧИ 145
A B C
J Q J Q J Q
Ck Ck Ck
K Q K Q K Q
PI
T Q T Q T Q
A B C
Ck Q Ck Q Ck Q
PI
K2
PI
Сл. 5-13. Логичка структура на октален двонасочен синхрон бројач
TD C TC C
0 4 12 8 0 4 12 8
x x
1 5 13 9 1 5 13 9
x 1 x
A 3 7 15 11
A 3 7 15 11
1 x x 1 1 x x
2 6 14 10 B 2 6 14 10 B
x x x x
a) D D б)
Сл. 5-14. Минимизација со метод на Карноови карти кај синхрон декаден бројач
БРОЈАЧИ 149
TB C TA C
0 4 12 8 0 4 12 8
x 1 1 x 1
1 5 13 9 1 5 13 9
1 1 x 1 1 x 1
A 3 7 15 11
A 3 7 15 11
1 1 x x 1 1 x x
2 6 14 10 B 2 6 14 10 B
x x 1 1 x x
в) D D г)
Сл. 5-14. Минимизација со метод на Карноови карти кај синхрон декаден бројач
1
T Q T Q T Q Q
T
Ck Q Ck Q Ck Q Ck Q
A B C D
PI
Si Ki EDCBA DE DD DC DB DA
0 1 00001 00010
1 2 00010 00100
2 4 00100 01000
3 8 01000 10000
4 16 10000 00001
0 1 00001
Tаб. 5-6. Комбинациона табела на кружен квинарен
бројач
A B C D E
D Q D Q D Q D Q D Q
Ck Ck Ck Ck Ck
Q Q Q Q Q
PI
A B C D E
D Q D Q D Q D Q D Q
Ck Ck Ck Ck Ck
Q Q Q Q Q
PI
Si Ki EDCBA DE DD DC DB DA
0 0 00000 00001
1 1 00001 00011
2 3 00011 00111
3 7 00111 01111
4 15 01111 11111
5 31 11111 11110
6 30 11110 11100
7 28 11100 11000
8 24 11000 10000
9 16 10000 00000
0 0 00000
Tаб. 5-7. Табела со комбинациони вредности на кружен декаден бројач
J Q J Q J Q J Q J Q
Ck A Ck B Ck C Ck D Ck E
K Q K Q K Q K Q K Q
PI
ВОВЕД
Аритметичките операции множење и делење играат значајна улога во
современата обработка на податоци заради што е многу важно истите да бидат
хардверски реализирани во склоп на процесорот.
Знаејќи дека множењето претставува повеќекратно собирање, додека
делењето може да се сведе на повеќекратно одземање, јасно е дека дигиталните
кола кои ги реализираат операциите множење и делење ќе бидат посложени, а
заради тоа покомплексна ќе биде и нивната анализа. Дополниелно, посложената
логичка структура ќе резултира и со доста поголемо време на извршување во
однос на колата со кои се реализираат операциите собирање и одземање.
Заедничка хардверската поддршка на еден процесор како за множење, така
и за делење, се колата за множење, кои ќе ги именуваме како множачи, и колата
за делење кои ќе ги насловуваме како делачи. Во нивната логичка структура ќе
сретнуваме најразлични дигитални, комбинациски и/или секвенцијални, елементи
и компоненти. За нивната градба се користат многубројни конфигурации со
примена на еднобитни полусобирачи и/или целосни собирачи, повеќе-битни
паралелни собирачи и одземачи, логички И-кола, како и поместувачки регистри
чија содржина може да се поместува бит-по-бит во десно или во лево. Една
дигитална компонента која селективно може да ги извршува операциите
собирање или одземање на повеќебитни броеви е секако аритметичко-логичката
единица (АЛЕ). Наведениот хардвер се надополнува и со контролна логика која ќе
донесува одлука за тоа кои операции треба да се превземаат во секој нареден
чекор од постапката за множење, односно делење.
Во врска со наведеното, постојат многубројни изведби на колата за
множење и оние за делење, но во понатамошното излагање, заради
поедноставување и со тоа задржување на соодветното ниво на излагање, ќе ги
претставиме и ќе го објасниме принципот на работа и алгоритмите на неколку
основни множачи и делачи на цели позитивни броеви.
Заклучок
Заедничка хардверската поддршка на еден процесор како за множење, така
и за делење, на цели позитивни броеви се еден пар регистри со соодветна
должина. Кога станува збор за множење или делење на бајти, едниот од
регистрите треба да биде 8 битен, а другиот 16-битен. Покрај нив, процесорот
треба да располага и со соодветно коло кое може да ги изведува операциите
собирање и одземање (собирач и одземач), како на пр. аритметичко-логичката
единица (АЛЕ) која треба да биде исто така 8-битна, како и контролна логика која
ќе ги проверува соодветните битови и ќе донесува одлука кои операции треба да
се превземаат во секој нареден чекор од постапката за множење, односно
делење. Дополнително, кога се работи за делење, процесорот хардверски или
софтверски, треба да проверува и две аномалии кои може да се појават што би
резултирале со неправилна пресметка. Едната од нив е појава на количник кој е
премногу голем и не може да се прикаже со 8-бита, а другата е сигнализација
дека се појавило делење со нула кога деленикот има вредност нула заради што
количникот е недефиниран, што во основа е слично со претходното.
192 АРИТМЕТИЧКИ КОЛА
7.1. ВОВЕД
Мемориските компоненти се едни од основните и главни составни делови
на дигиталните системи. Меморијата има фундаментална улога, посебно кај
компјутерите, бидејќи нејзина улога е да чува (запамeтува) најразлични типови
на податоци, кои претставуваат кодирани информации во бинарен облик.
Основната функција на меморијата е да овозможува читање на внесените
податоци, како и нивно менување (ажурирање) преку запишување на нови.
Мемориите се посебни компоненти составени од голем број на логички кола
реализирани со електронски (полупроводнички) елементи: биполарни и
униполарни транзистори.
Во оваа тема најнапред ќе се запознаеме со хиерахијата на мемориските
компоненти и уреди, со терминологијата и дефинирањето на клучните поими
кои се однесуваат на мемориите со посебен осврт на полупроводничките
мемории, како и на нивната внатрешна организација. Потоа ќе се задржиме на
поделбата на мемориите според различни критериуми. Притоа ќе ги споредиме
сличностите и разликите помеѓу повеќето типови мемориски компоненти,
донесувајќи соодветни заклучоци за нивните предности и слабости.
Заради полесно разбирање на функционирањето на мемориските
компоненти ќе бидат претставени и анализирани: моделот на меморијата,
принципиелната електрична шема - логичката структура, и блок-шемата на
најмалата елементарна градбена единица на меморијата - мемориската ќелија.
Во врска со ова ќе биде објаснет и принципот на работа на меморијата, со
анализа на улогата на нејзините влезни и излезни линии и со користење на
временски дијаграми при анализирање на двете основни операции: читање и
запишување.
Главна
(Примарна) Меморија
Секундарна меморија
Тврд диск (hard disc)
Сл. 7-2. Мемориска табела Сл. 7-3. Мемориски збор Сл. 7-4. Мемориска матрица
n n
а) б) в)
Сл. 7-5. Симболи на мемориска локација со посебни линии за читање и запишување
Имајќи во вид дека истовремено не може и да се чита и да се запишува,
бидејќи во еден момент се пристапува на мемориската локација и нејзината
содржина или се чита, или се запишува нова, наместо употреба на две групи
податочни линии: едни за влез, а други за излез, може да се користи само едно
множество на линии. Тие во моментот кога се чита ќе бидат излезни ( R / W =1),
а тогаш кога ќе се запишува влезни ( R / W =0), што симболички се прикажува со
сл. 7-6 а), б) и в). Во практиката кај реалните мемориски компоненти
податочните линии најчесто се двонасочни (бидирекционални).
n
n n
а) б) в)
Сл. 7-6. Симболи на мемориска локација со двонасочни линии за читање/запишување
МЕМОРИСКИ КОМПОНЕНТИ 201
n n
(n-1)(n-2) 2 1 0 n
n n
n n
а) б) а) б)
Сл. 7-7. Симболи на мемориски компоненти Сл. 7-8. Симболи на мемориски компоненти со
со посебни линии за читање/ запишување двонасочни линии за читање/запишување
Реалните мемориски интегрирани кола располагаат со многу голем број
локации. Вкупниот број на мемориски локации со кои располага дадена
мемориска компонента се означува со m, при што m е цел број многу поголем
од 1 (m>>>1) кој вообичаено се движи во опсегот од 210=1024=1K≈103,
220=1024x1024=1M≈106, до 230=1024x1024x1024=1G≈109, што зависи од тоа за
каков дигитален систем станува збор: микропроцесорски, микроконтролерски,
персонален компјутерски или друг поголем систем.
Бидејќи операциите читање или запишување можат да се однесуваат на
било која мемориска локација, ќе треба да постои можност за пристап и
пребарување на целата меморија од нејзината прва до нејзината последна
локација. За да може ефикасно да се оствари пристап до било која мемориска
локација, секој мемориски збор се нумерира (индексира) со посебен број кој
претставува негова еднозначно доделена адреса. Адресата ќе се користи за
одредување на мемориската локација во која дадениот збор ќе се запише или
од каде ќе се прочита. Бидејќи секој мемориски збор има посебна адреса и
мемориска локација, која е еднозначно поврзана со него, тоа значи дека при
операцијата читање или запишување најмалиот податок до кој може да се
пристапи е токму еден мемориски збор кој се наоѓа во специфицираната
мемориска локација. Во врска со ова, кога се пристапува до некоја мемориска
локација за да се изврши зададена операција на читање или запишување се
користи терминот адресирање или специфицирање. На овој начин, со
користење на адреси, може да се обезбеди мемориските зборови да се движат
од надворешните компоненти кон меморијата, и обратно.
202 МЕМОРИСКИ КОМПОНЕНТИ
(m-2) (m-2)
(m-1) (m-1)
n n
а) со посебни линии б) со двонасочни линии за читање/запишување
Сл. 7-9. Означување на адресите во мемориската матрица
Бидејќи бројот на мемориски локации m е многу голем, огромен би бил и
бројот на адресни линии, со кои надворешно би се адресирала меморијата,
заради што адресирањето на мемориските локации (пристапот до целиот
адресен простор, мемориската матрица) се врши преку адресен декодер, кој
влегува во составот на мемориската компонента.
Со неговата примена бројот на надворешни адресни линии се намалува
во голема мерка, поточно со логаритамска зависност, бидејќи за да се добијат
на излезот од декодерот m линии, на неговиот влез се потребни само k линии
при што треба да биде исполнет условот k=log2m, т.е. m=2k.
Во врска со последниот заклучок вкупниот број на мемориски локации m
со кои располага дадена мемориска компонента се добива како степен на бројот
2, така што секогаш ќе важи равенката
m = 2k (7-1)
каде што k е цел број поголем од 1 (k>>1), кој вообичаено се движи во опсегот
од 10 до 30.
МЕМОРИСКИ КОМПОНЕНТИ 203
n Do0-Do(n-1) n
Di0 -Di(n-1) n D0-D(n-1)
k A0-A(k-1) k A0-A(k-1)
R/W R/W
CS CS
Капацитет на меморија
Капацитетот на меморијата го претставува вкупниот број на битови (b)
или бајти (B) со кој располага зададената мемориска компонента и него ќе го
означиме со w. Капацитетот може лесно да се добие ако се помножи вкупниот
број на мемориски локации (зборови) со нивната должина според следнава
равенка
w=mxn (7-2)
Капацитетот најчесто се изразува во единици што се многу поголеми од
битовите (b) или бајтите (B) бидејќи реалните мемориски компоненти кои
практично се применуваат располагаат со големи капацитети.
Во врска со ова, најчесто ќе се сретнуваме со единици како што се кило
(K), мега (M) и гига (G):
1K=210=1024≈103,
1M=220=210x2101024x1024≈106,
1G=230=210x210x210=1024x1024x1024≈109,
Применувајќи ја равенката (7-1) во равенката за мемориски капацитет (7-
2) се добива уште една, многу почесто користена равенка за одредување на
капацитетот на меморијата
w = 2k x n (7-3)
Решени примери:
Заради појаснување на она што досега го презентиравме и анализиравме,
во продолжение ќе решиме неколку примери со зададени конкретни вредности.
МЕМОРИСКИ КОМПОНЕНТИ 205
Адреса на мемориска
Содржина на мемориска локација
локација
Бин. Дек. Хекса. Бин. Дек. Хекса. ASCII симбол
0000 0 1 01100001 97 61 а
0 0 01 1 2 0110001 0 98 62 b
0 0 10 2 3 01100011 99 63 c
0 0 11 3 4 01100100 100 64 d
0 1 00 4 5 01100101 101 65 e
0 1 01 5 6 01100110 102 66 f
0 1 10 6 6 01100111 103 67 g
0111 7 7 01101000 104 68 h
1 0 00 8 8 01101001 105 69 i
1 0 01 9 9 01101010 106 6A j
1 0 10 10 A 01101011 107 6B k
1 0 11 11 B 01101100 108 6C l
1 1 00 12 C 01101101 109 6D m
1 1 01 13 D 01101110 110 6E n
1 1 10 14 E 01101111 111 6F o
1111 15 F 01110000 112 70 p
n Do0-Do7 n
Di0-Di7 n D0-D7
k A0-A9 k A0-A9
R/W R/W
CS CS
Полупроводнички
мемории
ROM RAM
Mаск Mаск
ROM PROM ROM PROM EPROM
(UVEPROM)
EEROM
(E2PROM)
7.6. RАМ
Концепцијата на SRAM меморијата е релативно едноставна за разбирање,
бидејќи станува збор за матрица од мемориски ќелии формирани од леч флип-
флопови, т.е. уредено множество на мемориски ќелии, организирани во редици
и колони. Нив им претходи логика за контрола на процесите на
читање/запишување, како и за декодирање на адресната информација. Во
практиката се користат синхрони и асинхрони SRAM чипови. Aсинхрониот SRAM
е независен од тактот, кој ја синхронизира работата на компјутерот. Кај
асинхрониот SRAM влезот и излезот на податоците се управуваат само со
појавата на контролните сигнали за селекција на чип и читање/запишување. Кај
синхрониот SRAM временското усогласување на адресата, влезните/излезните
податоци и другите контролни сигнали зависат од такт сигналот и се иницирани
со појавата на неговиот преден/заден раб. Тоа е овозможено со посложен
интерфејс во однос на интерфејсот кај асинхрониот SRAM бидејќи синхрониот
SRAM содржи интерни регистри кои ја овозможуваат синхронизацијата на
неговата работа.
7.6.1. SRAM МЕМОРИСКА ЌЕЛИЈА
D Q Di Do
E Q R/W
а) принципиелна електрична шема б) логичка структура в) симбол
Сл. 7-14. SRAM мемориска ќелија
Новата содржина, т.е. новиот податок (новиот бит) се запишува преку
влезната линија D, додека запамтената содржина, т.е. битот кој што се чува во
ќелијата се чита од излезот на флип-флопот Q. При запишување на линијата за
контрола Е (за дозвола) се носи ниско ниво (E=0), додека новиот бит се
поставува на влезот D. При читање на линијата за контрола Е се носи високо
ниво (Е=1) со што на излезот Q се појавува тековната состојба на флип-флопот,
т.е. битот што е во него запамтен. Комплементарниот излез на леч-колото Q не
се користи.
МЕМОРИСКИ КОМПОНЕНТИ 213
D Q D Q D Q D Q
E E E E
R/W
D Q D Q D Q D Q
D Q D Q D Q D Q
D Q D Q D Q D Q
D O0 D O1 D O2 D O(n-1)
Сл. 7-16. Недозволено поврзување на излезите од мемориските ќелии за
формирање на податочни линии
Токму заради овие причини на следната слика сл. 7-17 е прикажана
посложената и вообичаена варијанта на мемориска ќелија која содржи допол-
нителна линија за адресирање означена со A, како и излезно баферско коло со
три состојби.
214 МЕМОРИСКИ КОМПОНЕНТИ
D IN D OUT
D Q
E Q
A Di Do
R/W A
R/W
а) логичка структура б) симбол
Сл. 7-17. Мемориска ќелија со адресен влез, податочен влез и податочен излез со три
состојби
Од дадената логичка шема се забележува дека состојбата на адресната
линија A има доминантна улога врз работата на мемориската ќелија, која е
презентирана со таб. 7-5.
D Q D Q D Q D Q
D Q D Q D Q D Q
D Q D Q D Q D Q
D O0 D O1 D O2 D O(n-1)
а) б) в)
Сл. 7-19. Симболички ознаки на мемориска локација со посебни линии за
адресирање и контрола на читање/запишување
Кај мемориската ќелија, чиј логички дијаграм е прикажан на сл. 7-17
карактеристично е постоењето на две посебни линии за битот на податокот:
преку едната се запишува, додека преку другата се чита. Меѓутоа, ако се
воведе уште еден бафер паралелно на постоечкиот, но во спротивна насока,
според сл. 7-20 а) ќе може да се користи единствена линија за податок која ќе
биде бидирекционална, т.е. ќе овозможува преку неа податокот да се запишува
или да се чита.
216 МЕМОРИСКИ КОМПОНЕНТИ
D IO
D Q
E Q
A
A D
R/W
R/W
а) логичка структура б) симбол
Сл. 7-20. Мемориска ќелија со адресен влез и двонасочна податочна
линија со 3 состојби
За формирање на 8 битен мемориски збор (локација) 8 мемориски ќелии
треба да се поврзат според сл.7-21 а) и сл. 7-21 б) на која е прикажана
нејзината симболичка ознака.
A D A D A D A D A D A D A D A D
а) логичка структура
Сл. 7-21. Осум битна мемориска локација со адресен влез, контролен влез за
читање/запишување и двонасочна податочна линија
МЕМОРИСКИ КОМПОНЕНТИ 217
n
A A A
б) симболи
Сл. 7-21. Осум битна мемориска локација со адресен влез, контролен влез за
читање/запишување и двонасочна податочна линија
0 D D D D D D D D
A A A A A A A A
R/W R/W R/W R/W R/W R/W R/W R/W
1 D D D D D D D D
A A A A A A A A
R/W R/W R/W R/W R/W R/W R/W R/W
(m-2) D D D D D D D D
A A A A A A A A
R/W R/W R/W R/W R/W R/W R/W R/W
(m-1) D D D D D D D D
A A A A A A A A
R/W R/W R/W R/W R/W R/W R/W R/W
R/W
D7 D6 D5 D4 D3 D2 D1 D0
n n
0 0
1 1
2 2
0
1
Адресен
декодер
(k-2)
(k-1)
(m-2) m=2k (m-2)
(m-1) (m-1)
R/W
n
R/W
CS
WE
(R/W)
OE
Din/Dout Din/Dout Din/Dout Din/Dout
(n-1) (n-2) (n-3)
Сл. 7-25. Мемориски збор формиран во рамките на SRAM мемориска матрица заедно со
контролните сигнали
Сликата 7-25 го прикажува поврзувањето на четири мемориски ќелии од
некоја SRAM мемориската матрица во единствен мемориски збор вклучувајќи ја
контролната логика и адресниот декодер. Според сликата станува збор за
последната локација на меморијата која има највисока адреса a(m-1)=2k-1 која ќе
биде адресирана ако сите влезни адресни линии се наоѓаат на високо ниво, т.е.
ако важи a(k-1), a(k-2), a(k-3)… a1, a0 = 111…11.
а) TP t б) TP t в) TP t г) TP t
Сл.7-26. Бранови облици на напоните кои одговараат на различни логички состојби
На следните временски дијаграми визуелно се презентирани логичките
состојби на мемориските линии кои се дадена една под друга со што лесно се
воочува редоследот на појавување и времетраење на сигналите присутни на
тие водови. И во двата случаи за релизација на операциите, сигналот за
селекција на чип треба да биде низок, додека до меморијата се пристапува
преку позната адреса чии адресни битови се поставуваат на адресните линии.
Состојбите на линиите за контрола на читањето/запишувањето ќе ги менуваат
своите вредности во завизност од операцијата која ќе треба да се изврши.
Процесот на читање се реализира кога е исполнет условот WE =1 и
OE =0. Податокот кој се чита и кој е запамтен во специфицираната мемориска
локација не може да се појави на податочната магистрала едновремено со
појавувањето на адресната информација на адресните водови, туку за тоа е
потребен одреден временски интервал. Имајќи го во вид претходното, се
дефинира време на пристап, прикажано на временските дијаграми од сл. 7-27
како максимално време, кое ќе помине од моментот на поставување на
адресната информација на адресните линии, па сè до моментот кога на
излезните податочни линии ќе се појави содржината на адресираната локација.
Временскиот период во кој адресната информација се доведува на адресните
линии и се здржува одреден временски период потребен за да се прочитаат
податоците се дефинира како време на циклусот на читање и се означува со tRC.
tRC
Адреса Важечка адреса
t
CS
t
OE
t
Излез на Важечки
податоци податоци
t
Сл. 7-27. Циклус на читање и време на пристап
МЕМОРИСКИ КОМПОНЕНТИ 221
t
CS
t
WE
t
Влез на Важечки
податоци податоци
t
Сл.7-28. Циклус на запишување и време на циклус на запишување
Имајќи го во вид претходното објаснување како и временските дијаграми на
сл. 7-27 и сл. 7-28 треба да се знае дека при читање или запишување во
меморијата, процесорот е koдигиталната компонента која управува со
состојбата на контролните линии. При ова, заради правилна работа на
дигиталниот систем, тој треба да го зема предвид времето на доцнење помеѓу
последователното појавување на контролните сигнали во рамките на времето
на циклусот на читање, односно во рамките на циклусот за запишување.
еден
циклус
CLK T1 T2 T3 T4
t
Важечки адреси
CS
t
R/W
(WE)
t
OE
t
Важечки податоци
Излез на
податоци под.1 под.2 под.3
CLK T1 T2 T3 T4
t
Важечки адреси
t
CS
t
R/W
(WE)
t
Важечки податоци
Влез на
податоци под.1 под.2 под.3 под.4
t
Сл. 7-30. Временски дијаграми на карактеристични сигнали при циклус на
запишување
(1) Непосредно пред појавата на активниот (предниот) раб на такт сигналот
адресната информација, што ја специфицира мемориската локација, во која
треба да биде запишан (внесен) меморискиот збор (бинарниот податок), се
поставува од страна на микро-процесорот на адресните линии. Едновремено со
тоа процесорот го селектира и меморискиот чип, т.е. овозможува тој да
функционира преку активирање на соодветната линија за селекција на чип CS
која ја спушта на ниско ниво ( CS =0),
(2) Во истиот момент процесорот на контролната линија за
читање/запишување WE поставува активен сигнал за запишување, а тоа е
ниско ниво: WE =0. Време-траењето на овој сигнал треба да биде доволно
долго за податоците присутни на податочните линии да се запишат во
мемориската компонента по што овој сигнал станува пасивен, т.е. се враќа на
високо ниво.
На овој начин процесот на запишување на нов збор (податок), кој е
поставен на податочната магистрала, се запишува како нова содржина на
посочената (адресираната) мемориска локација во еден такт на процесорот, или
во следниот такт интервал, што зависи од тоа за каков начин на запишување
станува збор.
224 МЕМОРИСКИ КОМПОНЕНТИ
циклус
CLK T1 T2 T3 T4
t
Важечки адреси
некорисен запишу- t
читање читање циклус -вање читање
R/W
(WE)
t
Важечки податоци
Влез на
податоци под.1 под.2 под.4 под.4
t
Сл. 7-31. Временски дијаграми на карактеристични сигнали при читање и запишување
HiZ (Висока
Неактивна 1 Х XXXXXXXXXXXXXXXX xxxx xxxxxxxx xx
отпорност)
n Do0-Do(n-1) n
Di0-Di(n-1) n D0-D(n-1)
k A0-A(k-1) k A0-A(k-1)
R/W R/W
CS CS
a) б)
Сл. 7-32
7-24. Како е организирана и колкав капацитет изразен во бајти има мемориска
компонента со k адресни линии при што а) k=10 б) k=16 в) k=20 в) k=30 ако
истата располага со n податочни линии при што а) n =8 б) n =16 в) n =32 г) n
=64. Нацртај нејзин симбол.
7-25. Колку адресни и податочни линии треба да има мемориска компонента
која располага со а) m=1024 б) m=4096 в) m=65536 г) m=536870912 мемориски
зборови со должина од а) n=8 б) n=16 в) n=32 г) n =64 бита. Нацртај нејзин
симбол.
7-26. Да претпоставиме дека треба да купиме мемориско интегрирано коло во
кое треба да сместиме една книга од а) 100 б) 250 б) 320 страни чиј текст ќе го
внесуваме кодиран според 8-битниот ASCII код. Колкав капацитет изразен во
бајти треба да има мемориската компонента што ќе треба да ја набавиме за да
може да се внесе текстот на посочената книга? Каква треба да е организацијата
на меморијата за да може посебно да му се пристапи на секој симбол од
текстот? Колку вакви книги можат да се сместат во оперативната меморија од
(1) 1 GB (2) 2 GB на Пентиум базиран персонален сметач?
7-27. Која е основната разлика и сличност помеѓу ROM и RAM мемориските
компоненти во поглед на пристапот до податоците и времетраењето на нивното
памтење?
7-28. Наведи ја поделбата на ROM мемориските компоненти. Која е разлика
помеѓу нив?
7-29. Наведи ја поделбата на RAM мемориските кола. Која е разлика помеѓу
нив?
7-30. Кои се разликите помеѓу SRAM и DRAM мемориските компоненти?
7-31. Наведи ги разликите помеѓу асинхрониот и синхрониот SRAM.
7-32. Нацртај ја принципиелната електрична шема на SRAM мемориска ќелија.
7-33. Нацртај ја логичката структура на SRAM мемориска ќелија со две
податочни линии. Објасни го нејзиниот принцип на работа користејќи
функционална табела.
7-34. Нацртај ја логичката структура на SRAM мемориска ќелија со една
податочна линија. Објасни го нејзиниот принцип на работа користејќи
функционална табела.
МЕМОРИСКИ КОМПОНЕНТИ 227
Адреса Содржина
Таб. 7-7
Опера-
CS R /W Бин. Хекса. Бин. Хекса. Насока
ција
Таб. 7-8
7-38. Објасни ја улогата и временскиот редослед на појавување на сигналите
кои се однесуваат на процесот на а) читање б) запишување кај асинхрон RAM
чип според временските дијаграми прикажани на сл. 7-26 и сл. 7-27.
228 МЕМОРИСКИ КОМПОНЕНТИ
8.
ДИГИТАЛНО –
АНАЛОГНА и
АНАЛОГНО –
ДИГИТАЛНА
КОНВЕРЗИЈА
По изучувањето на оваа тематска целина
ќе ги познавате базичните поими кои се однесуваат на Д/А и
А/Д конверзија;
ќа ги разберете основните концепти на процесите на Д/А и
А/Д конверзија;
и процесот на Д/А и А/Д конверзија;
ќе ги познавате и принципиелно ќе знаете да ги објаснете
различните методи на Д/А и А/Д конверзија;
ќе ги познавате различните типови на Д/А и А/Д конвертори
и ќе ја разберете нивната работа;
230 Д/А и А/Д КОНВЕРЗИЈА
Д/А и А/Д КОНВЕРЗИЈА 231
8.1. ВОВЕД
Глобалната и воедно најопштата слика на проблематиката на аналогно-
дигиталната (А/Д) и дигитално-аналогната (Д/А) конверзија е прикажана на сл.
8-1. На едната страна се наоѓа реалниот (физичкиот) свет, а на другата страна се
дигиталните систeми. Тие може меѓусебно да комуницираат само со помош на А/Д
и Д/А конвертори кои како посебни компоненти имаат задача да извршат
прилагодување. Имено, во основа постои фундаментална разлика: појавите во
реалниот свет во општ случај се континуални, тие примаат бесконечно многу
вредности, заради што сигналите со кои тие се опишуваат се аналогни. Од друга
страна, дигиталните системи работат само со дигитални сигнали. Тоа се низи од
бинарни зборови од кои секој претставува комбинација од само две напонски
нивоа: високо V(1)=+VCC и ниско V(0)=0 кои соодветствуваат на логичка 1 и
логичка 0 кои претставуваат бинарно кодирани репрезенти на сигнали кои имаат
дискретни вредности со конечен број на нивоа.
D(n-1) D(n-1)
Аналоген D(n-2) D(n-2) Аналоген
Сигнал Дигитален Сигнал
Влез АДК систем ДАК Излез
Vin (Компјутер) Vout
D1 D1
D0 D0
GND GND
Сл. 8-2. Наједноставна блок-шема на поврзување на компјутер со А/Д и Д/А конвертор
D(n-1)
D(n-2)
n - бита Аналоген
Дигитален ДАК Сигнал
(Бинарен)
Влез Vout Излез
D1
D0
GND
дропка, која го дели референтниот напон VREF на помали делови, така што треба
да важи K=1/2n. Заменувајќи ја последната констатација во равенката (8-1), таа
се трансформира и го добива следниов облик:
VODAC = VREF/2n · (Dn-12n-1 + Dn-22n-2 + ... + D121 + D 020) (8-2)
VODAC = VREF · (Dn-11/20 + Dn-21/21 + ... + D11/2n-1 + D 01/2n) (8-3)
n
Со ваков избор на константата K=1/2 (која важи за т.н. униполарна кодна
шема или униполарно кодирање за најмалата дигитална вредност кога сите
битови се 0-и се добива најмалото, нултото излезно ниво V0=0V, додека за
најголемата дигитална вредност кога сите битови се 1-и се добива најголемото
излезно ниво Vn-1=[(2n-1)/2n]·VREF. Имајќи ја предвид равенката (8-3) станува
јасно дека колку е бројот на битови n поголем, толку попрецизно ќе биде
добиеното излезно аналогно ниво бидејќи секој новододаден бит внесува
дополнителна помала дропка во конечниот збир со кој се дефинира вредноста на
излезното напонско ниво и со тоа го дели VREF на помали можни делови.
Равенката (8-2) може да се напише и во следниов облик:
VODAC = VREF/2n · d (8-4)
Во последната равенка со d е означена декадната вредност на бинарниот
вектор изразена преку збирот (Dn-1Gn-1 + Dn-2Gn-2 + ... + D1G1 + D 0G0).
На следната слика сл. 8-5 а) е прикажана идеализирана преносна
карактеристика на трибитен Д/А конвертор. Ваквиот конвертор на својот влез
може да добие дигитален сигнал претставен со било која од осумте можни
комбинации: 000, 001, 010, ..., 110, 111 бидејќи со 3 бита се кодираат 23=8
различни комбинации. За секоја од нив Д/А конверторот треба на својот излез да
продуцира соодветно напонско ниво во однапред зададени граници. Опсегот кој
го претставува максималното можно ниво на излезниот аналоген сигнал се вика
полн (целосен) износ на скалата и се означува со FS или FSR (анг. full scale range).
Неговата вредност зависи од референтиот напон VREF кој е приклучен на А/Д
конверторот.
VR (FS) VR (FS)
15VR 15
7VR 7 16 14
Аналоген излез
Аналоген излез
6VR 8 6
13
12
8 5VR 11
5 10
4VR 8 4
Q 8VR 9
8 Q
8 3VR 16 7
3 6
2VR 8 2
5
4
8 VR 3
1 VR 2
8 1
0 16 0
001 010 011100 101 110 111 0001... 0100 ... 0010 ... 1111
0000
000
а) Дигитален влез б) Дигитален влез
n
8.4.1. Д/А КОНВЕРТОР СО R/2 R ТЕЖИНСКА ОТПОРНИЧКА МРЕЖА
n
Д/А конверторот со тежинска R/2 R мрежа или со бинарна тежинска
отпорничка мрежа, како што уште се вика, претставува една варијанта на
познатата шема на суматор реализиран со операциски засилувач. Станува збор за
инвертирачка конфигурација на операциски засилувач, побуден од повеќе влезни
напони, според принципиелната електрична шема прикажана на сл. 8-6 а). Кај
суматорот влезните сигнали се доведени преку отпорници со меѓусебно еднакви
вредности R1=R2= … =Ri= … =Rn=R, со цел секој поединечен влезен напон Vi да
има еднакво влијание врз излезениот напон V0. Имајќи во вид дека негативната
повратна спрега е изведена со отпорникот RF кој има иста вредност со влезните
отпорници (RF=R), напонот на излезот V0 ќе го претставува нивниот збир во
инвертиран облик според рав. (8-5).
V0 = − (V1 + V2 + … + Vn) = − ΣVi (8-5)
236 Д/А и А/Д КОНВЕРЗИЈА
V1 R R
V2 R
V0
Vn R
а) GND
V1 R1 RF
V2 R2
V0
Vn Rn
б) GND
R R
(MSB)V1
V2 2R
V0
4R
(LSB)V3
а) GND
+VREF (+VCC)
(MSB) v1 R
v2 2R R
(LSB) v3 4R
v0
б)
Сл. 8-7. Трибитен Д/А конвертор со R/2nR тежинска отпорничка мрежа
0 000 0.000 v2 R R R
1 001 - 0.625 v3 R R R R
(LSB) v0
2 010 - 1.250
3 011 - 1.875
4 100 - 2.500 Сл. 8-8. Трибитен ДАК со R/2nR тежинска
5 101 - 3.125 отпорничка мрежа од еднакви отпорници
6 110 - 3.750
7 111 - 4.375
Таб. 8-1. Еквивалентни вредности кај
трибитен ДАК
2R 2R 2R
2R
2R R R
v0
+VREF (+VCC )
RF (2R)
(MSB) v1
v0
2R
v2 R
2R
(LSB) v3 R
2R
2R
D(n-1)
Аналоген D(n-2)
Сигнал n - бита
Влез АДК Дигитален
Vin (Бинарен)
D1 Излез
D0
GND
Електронски
аналоген
прекинувач Дискретизиран
Аналоген излезен напон
влезен
(кон АДК)
напон
vdisk
vanal CS
Такт t
t GND Одбироци (примероци)
fS 2fMAX (8-13)
111
110
101
100 Квант
Q
011 23=8
010
нивоа
001
000
2VR 4VR 6VR VR
VR 8 3VR 8 5VR 8 7VR
8 8 8 8
Аналоген влез (Va)
FSR
Грешка Q
(Va-Vd) 0
Аналоген влез (Va)
Сл. 8-14. Идеализирана преносна карак- Сл. 8-15. Аналоген влезен сигнал и соодве-тен
теристика на три битен А/Д конвертор излезен дискретизиран излезен сигнал
1111
0001 VR
0000
VR 8VR 15VR (FS)
16 16 16
0.3125 2.50 5.0V
Аналоген влез (Vina)
Сл. 8-16. Идеализирана преносна карактеристика на четирибитен А/Д конвертор
FSR FSR
Q n (8-17)
NQ 2
Vin
d (8-18)
Q
Во оваа равенка квантот (резолуцијата) Q () ја претставува најмалата
промена на влезниот напон која може да биде откриена (детерминирана) од
страна на А/Д конверторот, со што практично се дефинира и неговата прецизност.
111
110
101
100 Квант
Q
011 23=8
010
нивоа
001
000
0.625 1.875 3.125 4.375
1.250 2.500 3.750 5.000
Аналоген влез (Va)
FSR
Грешка +Q/2
(Va -Vd)
-Q/2
Аналоген влез (Va)
Сл. 8-18. Идеализирана преносна карактеристика и грешка кај три битен А/Д конвертор
Д/А и А/Д КОНВЕРЗИЈА 251
VCC
Температурен
сензор R
од 0V
vAN
D3
до 5V
V3
RD3
R D2
V2
RD2
R D1
V1
RD1
R
V0
VR E F
R
vIN
R П р ио р и тет ен
8 -во -3 код ер
R D2
D1
D0
R
vAOUT
ДАК Контролна и
(n - бита) друга логика
D (n-1) D (n-2) D1 D0
Сл. 8-21. Блок-шема на А/Д конвертор базиран на Д/А конвертор
На едниот влез во компараторот се доведува токму излезниот VADAC од
вградениот Д/А конвертор што е составен дел на ваквиот тип на А/Д конвертор,
додека на другиот влез се носи влезниот аналоген напон VAIN. Разликата која се
јавува како сигнал на грешка го детерминира однeсувањето на контролната
логика која врши корекција на дигиталниот сигнал со цел да се минимизира
разликата (грешката) помеѓу двата сигнали. Во оној момент кога излезниот напон
од Д/А конверторот ќе го надмине нивото на влезниот аналоген напон за
вредност на грешката која ќе биде помала од вредноста на квантот
(резолуцијата), компараторот ја менува својата излезна вредност и го ресетира
контролното коло да почне од почеток. Во истиот момент се запамтува
дигиталната вредност во облик бинарен збор со должина n–бита на излезниот
напон од Д/А конверторот. Со ова процесот на конверзија на одбирокот е завршен
и повторно се почнува со конвертирање на следниот примерок од влезниот
аналоген сигнал.
Д/А и А/Д КОНВЕРЗИЈА 255
vIN
Start
CLR
Контролна EOC
ДАК CLK
(n - бита) логика
Бројач
(n бита)
Clock
D(n-1) D(n-2) D1 D0
Аналоген Дискретизиран
сигнал сигнал
vIN START
Контролна CLOCK
логика END
SAR
ДАК (n бита)
(n бита)
CLK
CLR
Излезен бафер
D(n-1) D(n-2) D1 D0
Така на пр. ако станува збор за ваков 8 битен А/Д конвертор со сукцесивна
апкроксимација, дигиталната вредност на еден одбирок ќе биде одредена за
8
најмногу 8 такта, што споредено со 2 -1=255-такта кои би се потрошиле во
случајот на А/Д конверторот со бројачка рампа, е навистина големо подобрување.
4.6875 15 1 1 1 1
4.375 14 1 1 1 0
4.0625 13 1 1 0 1
Излез
3.75 12 1 1 0 0
од АДК
3.4375 11 1 0 1 1
3.125 10 1 0 1 0 b3 b2 b1 b0
2.8125 8.60 9 1 0 0 1
2.5 "8" 8 1 0 0 0 1 0 0 0
2.1875 6.40 7 0 1 1 1
1.875 "6" 6 0 1 1 0 0 1 1 0
1.5625 5 0 1 0 1
1.25 4 0 1 0 0 Такт
0.9375 3 0 0 1 1
0.625 2 0 0 1 0
0.3125 1 0 0 0 1
0V 0 0 0 0 0
t
Сл. 8-25. Временски дијаграм на процесот на последователно приближување за два одбироци
v(t)
CLK
vIN CLR
Бројач
(n бита)
T
C Излезен
STB Бафер
VREF R
D(n-1) D(n-2) D1 D0
Сл. 8-27. Блок-шема на А/Д конвертор со интеграторско коло и единечен наклон
Д/А и А/Д КОНВЕРЗИЈА 261
Аналоген Дискретизиран
сигнал сигнал
Излезен
STB Бафер
Clock
D (n-1) D(n-2) D 1 D 0
vINT (t)
T 2''
T1 T 2'
a1 t
а) a2 VREF
VA1 VA1 RC
RC
VA2 VREF
RC RC
VA2
vComp(t)
б)
T1 T 2' t
T 2''
Аналоген Дигитален
модулатор Филтер
Vmin
Интегратор Компаратор
vINA (1-битен АДК)
Кон дигиталниот
филтер и дециматорот
... 1100101001 ...
1-битна излезна
Такт низа (бит-поток)
GND
(KfS )
Сл. 8-32. Блок дијаграм на модулаторот кај сигма – делта А/Д конвертор
За делта-сигма конверторот е карактеристична големата фреквенција на
тактот со која работи компараторот, т.е. еднобитниот Д/А конвертор така што од
аналогниот влезен сигнал се земаат прекумерен број на примероци заради што
овие конвертори се познати и како конвертори со прекумерен број на одбирања
(анг. over-sampling ADC). Заради ова, потокот од битови кој се добива на излезот
од аналогниот модулатор е сериски едно-битен сигнал чија фреквенција fCLK е
повеќекратно зголемена во однос на фреквенцијата на одбирање fS=2·fMAX. Таа е
цел број пати (К) поголема од Најквистовата фреквенција fS: fCLK=K·fS= K·2·fMAX.
Главна карактеристика на ваквата долга и густа низа од битови за кус временски
период е фактот што нивното средно ниво го претставува средното ниво на
влезниот аналоген сигнал за тој период. Поголемиот број на 1-и во единица време
индицира поголемо ниво на влезниот анлоген сигнал, и обратно. Бидејќи излезот
од А/Д конверторот е дигитален најголемото ниво ќе биде претставено со сите 1-и
во излезниот дигитален збор, додека најниското ниво со сите 0-и. Колку што е
бројот на 1-и поголем, т.е. колку се тие погусти, толку ќе биде поголемо и нивото
на влезниот аналоген сигнал. Обратно, ако влезното ниво опаѓа, и бројот на 1-и
ќе се намалува, како што е прикажано на примерот од сл. 8-33. Од тука станува
јасно дека колку што е фреквенцијата на тактот поголема, толку ќе биде поголема
и прецизноста на делта-сигма модулаторот.
Еден прилично едноставен начин за да се утврди нивото на влезниот
сигнал е да се употреби бројач кој ќе ги брои 1-те во одреден фиксен временски
интервал. Кога ќе заврши броењето, излезите на бројачот ќе го претставуваат
дигиталниот еквивалент на аналогниот сигнал за тој временски интервал.
266 Д/А и А/Д КОНВЕРЗИЈА
Vmin
t
vOM (t)
t
Сл. 8-33. Бранови облици на неколку одбироци и излезниот сигнал од модулаторот
Бидејќи со децимирањето практично се намалува фреквенцијата на земање
на одбироци треба да се внимава да не биде нарушен Најквистовиот критериум.
Заради ова на излезот од А/Д модулаторот најнапред се поврзува дигитален НФ
филтер, а потоа дециматор. НФ филтерот се користи како филтер за
елиминирање на лажните фреквенции (анг. anti-aliasing filter) со што се редуцира
фреквентниот опсег на сигналот, а потоа со дециматорот се врши намалување на
фреквенцијата на одбирање (анг. downsampling) на сигналот, со што конечно се
добива средното ниво на влезниот сигнал во дадениот временски интервал.
Делта-сигма А/Д кoнверторите се применуваат за прецизни мерења и
заради тоа се користат кај инструментите, во индустријата и сл.
Д/А и А/Д КОНВЕРЗИЈА 267
Сл. 8-34
270 Д/А и А/Д КОНВЕРЗИЈА
I.2
Организација на
микрокомпјутери
Изборна настава
Наставни теми:
Вовед во изборна настава и насоки за вежбите
1. Графичка и синтеза на дигиталните системи
2. Комбинациски мрежи
3. Бистабилни кола (флип - флопови)
4. Регистри со комбиниран влез и/или излез
5. Бројачи со произволен модул
6. Полупроводнички мемории
7. Аналогно – дигитална конверзија
272
Вовед во изборната настава и
насоки за реализација на вежбите
Успешното совладување на електрониката не е баш лесно, како што
изгледа кога се обработуваат нејзините теоретски основи. Напротив. Додека
теоретските концепти релативно лесно може да се совладаат, нивната примена во
реалниот свет, кога одреден уред или склоп, треба да се поправи заради негово
„враќање во живот“ често пати не е тривијална и едноставна работа.
Техничарот треба да го применува стекнатото теоретско знаење во
праксата, да стекне одредени вештини и притоа да применува соодветни техники
и методи за да дојде до целта – исправна работа на склопот или уредот што се
сервисира. Голем дел од тешкотијата е и поради тоа што техничарот треба да
применува различни инструменти, поставувајќи им ги параметрите во оптимална
работна точка за да изврши точно мерење. Тој треба да користи и одредени
математички пресметки за да може, кога за тоа ќе има потреба, да ги одреди
вредностите на неисправните елементи и компоненти и да одбере нови за нивна
замена. Притоа, секој од нив ќе треба да биде нагоден на таква вредност, која на
уредот кој се поправа ќе му се обезбеди оптимална функција. Во реалноста може
да биде прилично сложено сето ова да се усогласи, посебно ако станува збор за
одржување на покомплексни уреди или пософистицирана опрема. За да го
постигнете тоа и да станете вешт техничар кој може релативно лесно да ги
решава идните реални проблеми со кои ќе се сретнувате во праксата, ќе треба
доста да се ангажирате на часовите за изборна и практична настава и успешно да
ги изработувате поставените вежби, користејќи различни ресурси и средства.
На часовите за изборна настава ќе користите програми со кои се
составуваат виртуелни електрични кола на работната површина на програмот, кој
се користи со наједноставно „земање и спуштање“ (анг. drag-and-drop) на
најразлични електрични (и аналогни и дигитални) електронски елементи,
компоненти и интегрирани кола. Покрај тоа ваквите и слични програми
дополнително овозможуваат на виртуелните кола да им се симулира нивната
функција, тестирајќи ги и анализирајќи ги со исто така виртуелни инструменти
кои даваат графичка и нумеричка анализа на резултатите од изведбата на вашите
виртуелни симулациски вежби. Една карактеристична вежба може да се состои од
креирање на коло, зададено со неговата електрична или логичка шема, со
одбирање на елементи и компоненти чии вредности се еднакви со зададените и
негово побудување со тест сигнали, или различни нивоа на логички влезни
променливи, а притоа мерејќи ги бараните излезни величини со соодветни
инструменти.
Симулациските вежби успешно ќе ги реализирате ако се имате добро
запознаено со принципот на работа и користењето на програмите за симулирање
на електрични, аналогни и дигитални кола, нивните виртуелни елементи и
компоненти со кои тие располагаат и со начинот на нивното поврзување заради
добивање на шема за симулација која е соодветна на електричната или
логичката.
274 Вовед во изборна настава и насоки за вежби
4. Оценување на вежбите
Формалниот изглед на извештајот за една извршена вежба, во општ случај,
ќе ви го прикаже наставникот, презентирајќи ви еден празен формулар за
вежбите кој е соодветен за наставната тема која ги покрива тие вежби. Формата
на понудениот извештај може да биде унифицирана, а форматот да зависи од
креативноста на наставникот. Таа треба да биде запазена со една важна
забелешка дека не мора да бидат пополнети сите сегменти од формуларот.
Имено, кој дел од нив задолжително ќе треба да го пополните ќе зависи од
конкретната вежба што ја изведувате и од инструкциите кои ќе ги добиете од
страна на наставникот, а се соодветни за таа вежба.
278 Вовед во изборна настава и насоки за вежби
Работна површина
(1) (4)
(2) (3)
1 2
3
4
E 12V
I 4mA
R 1 R 2 3KΩ
R1
U R 1I E 4V
R1 R 2
R2
U R 1I E 8V
R1 R 2
Овде може да се каже само уште тоа дека ако поинтираме од некој елемент
на едно место на проводник кој веќе спојува два елементи, таму автоматски ќе се
појави спојна точка на која најмногу можат да се поврзат до четири проводници и
тоа од секоја страна по еден, како што се гледа од следниот пример даден на сл.
1-10.
а) б)
1-23. Нагодување на компонентите
За да ги поврзете компонентите заедно, позиционирајте се со глувчето на
крајната точка од компонентата каде сакате да остварите врска, притиснете го
левото копче на глувчето, задржете го и повлечете го, со што ќе се појави линија
за врска која претставува проводник. Повлечете ја линијата до крајот на другата
компонента или до приклучокот за некој инструмент. Кога крајот на втората
компонента или на инструментот ќе се истакне или осветли, ослободете го
копчето на глувчето. Линијата се насочува и поврзува под прав агол, без да ги
преклопи икончињата на инструментите или на другите компоненти.
Ако влечете жица од крајот на компонентата до друга жица и истата ја
допрете, кога ќе го отпуштите копчето на глувчето автоматски се креира
конектор, т.е. точка на спојување како симбол на залемување. Копчето за
конектор, неговиот симбол како голема точка, се појавува и во основната лента со
алатки (анг. Basic toolbar). Ова ви овозможува да вметнувате конектори во
постоечкиот дизајн на колото, а потоа да повлечете друга жица до еден од
неговите четири слободни краеви кои се негови приклучни точки. Алтернативно,
можете да го поставите конекторот на основниот екран каде што го цртате колото
и тоа на она место каде што планирате да направите врска и да влечете жици од
другите елементи кон неговите краеви. Замаптете дека на еден конектор можат
да се приклучат најмногу до 4 водови. Искуството покажува дека поставувањето
на конектори на испланирани места во основниот прозорец пред да се
повлекуваат проводни водови е добра практика, како што може и да се види на
приложената слика.
Основа или позадина (canvas) (3): Ова е празна површина која зафаќа
најголем дел и простор од екранот и претставува мрежа од точки, каде што ќе се
креира вашата шема. Позадината или основата е областа во која може да се
креираат логичките шеми на најразлични дигитални кола. На основата може во
реално време да се симулираат колата на корисникот и тоа додека трае процесот
на нивно дизајнирање.
306 ГРАФИЧКА АНАЛИЗА И СИНТЕЗА
1.2.7. Симулација
Како што може да се забележи од претходните два примери, симулацијата
не е сложена, бидејќи можеме да симулираме исто како да станува збор за реално
коло и веднаш да го видиме резултатот со поставување различни логички
вредности на влезните пинови. Покрај нив постојат и други видови на симулации,
кои се важни за други ситуации. Најчесто користен случај е кога се употребува
такт сигнал за да се овозможи работа на коло, кое има некаква меморија:
секвенцијално коло или секвенцијална комбинациска мрежа. Различните видови
на симулација, поддржани од Logisim се:
Симулацијата е овозможена: Колото да работи врз основа на неговите
влезови. Мора да биде овозможено симулациите да функционираат за секој
такт импулс.
Симулација со чекори: Оваа симулација дозволува корисникот да симулира
само по еден чекор во даден момент – работа чекор по чекор. Ако се
промени влезот, во симулацијата со чекори мора претходно да го
проверите сигналот на секоја порта постапно (чекор по чекор) (ctrl-I).
Симулација со такт импулс (такт сигнал): Се користи за притискање на
тактот (се наоѓа во Explorer Plane Wiring> Clock. Ова е од витално значење
за секвенцијалните кола кои можат да се најдат во различни состојби, како
што се на пр. флип-флоповите, RAM чиповите и сл.)
Еднократна симулација на притискање на такт импулсот: само еднаш
притиска тактот и тоа само кога се оди од високо на ниско ниво или
обратно,
Овозможена симулација со такт импулси: автоматски се прикажуваат
такт импулсите со појавување еднакво со нивната фреквенција.
Фреквенција на тактот: Колку често, или колку брзо, да се притисне
тактот (изразено во Hz).
ГРАФИЧКА АНАЛИЗА И СИНТЕЗА 315
Сл. 2-7. Дик 4082: 2-кратни И-кола и Дик 4072: 2-кратни ИЛИ-кола со по четири
КОМБИНАЦИСКИ МРЕЖИ 323
Сл. 2-59. а) Кодер – декодер систем со Дик 74148 (8-во-3 приоритетен кодер) и
Дик 7447 (NBCD во 7s декодер/драјвер со отворени колектори)
Сл. 2-59. б) Кодер – декодер систем со Дик 74148 (8-во-3 приоритетен кодер) и
Дик 7447 (NBCD во 7s декодер/драјвер со отворени колектори)
КОМБИНАЦИСКИ МРЕЖИ 355
Сл. 2-60. а) Кодер – декодер систем со Дик 74148 (8-во-3 приоритетен кодер) и со
основна компонента NBCD во 7s декодер/драјвер
Сл. 2-60. б) Кодер – декодер систем со Дик 74148 (8-во-3 приоритетен кодер) и со
основна компонента NBCD во 7s декодер/драјвер
356 КОМБИНАЦИСКИ МРЕЖИ
Сл. 2-62. Дик 74147: 10-во-4 приоритетен кодер со декодиран 7s LED екран
КОМБИНАЦИСКИ МРЕЖИ 357
Сл. 2-63. Дик 74147: 10-во-4 приоритетен кодер со Дик 7447 (NBCD во 7s
декодер/драјвер со отворени колектори) и 7s LED екран
Сл. 2-77. Сигнализација со аларм за тоа дали се спуштени трите авионски тркала
366 КОМБИНАЦИСКИ МРЕЖИ
Сл. 2-78. Двојна сигнализација за тоа дали патниците ги врзале четирите појаси
во патничкото возило (потврда на Де моргановата теорема)
КОМБИНАЦИСКИ МРЕЖИ 367
Сл. 2-85. а) Игра за двајца “Моја рака – Твоја рака“ со сигнализација за лажење
Сл. 2-85. б) Игра за двајца “Моја рака – Твоја рака“ со сигнализација за лажење
КОМБИНАЦИСКИ МРЕЖИ 371
Сл. 3-15. Дик 74112: двократен ЈК флип-флоп тактиран со задниот раб на тактот
Сл. 3-16. Дик 74112: двократен ЈК флип-флоп тактиран со задниот раб на тактот и
со генератор на зборови и логички анализатор
388 ФЛИП ФЛОПОВИ
Сл. 3-19. Дик 7476: двократни ЈК флип-флопови кои реагираат на задната ивица
на тактот со директни влезови за сетирање и ресетирање
390 ФЛИП ФЛОПОВИ
Сл. 3-24. Дик 4013: двократни D флип-флопови кои реагираат на предната ивица
на тактот со директни влезови за сетирање и ресетирање
Симулациски вежби за
реализација на регистри
Сл. 4-2. а) Дик 74164: 8-битен регистер со сериски влез и комбиниран излез
398 РЕГИСТРИ
Сл. 4-2. б) Дик 74164: 8-битен регистер со сериски влез и паралелен излез
Сл. 4-3. а) Дик 74164: 8-битен регистер со сериски влез и и паралелен излез со
можност за циркулирање на податокот
Сл. 4-3. б) Дик 74164: 8-битен регистер со сериски влез и и паралелен излез со
можност за циркулирање на податокот
РЕГИСТРИ 399
Симулациски вежби за
реализација на бројачи
Сл. 5-3. “Светлечко срце” реализирано со Дик 4017 (петбитен Џонсонов бројач со
десет состојби)
Сл. 5-4. “Светлечко срце” реализирано со Дик 4017 (петбитен Џонсонов бројач со
десет состојби) со такт генератор реализиран со временско ик 555
416 БРОЈАЧИ
Сл. 5-17. Четирибитен бинарен бројач со основа М=16 реализиран со две Дик
74107 (двојни ЈК флип-флопови тактирани на заданиот раб и влез за директно
ресетирање)
БРОЈАЧИ 425
Сл. 5-19. “Електронско зарче” реализирано со Дик 7490 (асинхрон NBCD бројач)
поврзан за броење со основа М=6
426 БРОЈАЧИ
Сл. 5-29. Бинарен бројач со основа на броење М=4 реализиран со Дик 7473
(двојни ЈК флип-флопови кои реагираат на задна ивица на тактот)
Сл. 5-30. Синхрон бројач според Грејовиот код со секвенца на броење ...0-1-3-2-6-
7-5-4-... реализиран со основни компоненти на ЈК флип – флопови
432 БРОЈАЧИ
Сл. 5-31. Примена на основна бројачка компонента поврзана како декаден бројач
со основа М=10 заради анализа на принципот на работа на Дик 7445 (NBCD во
декаден декодер)
Сл. 5-32. Примена на асинхрон октален бинарен бројач со основа на броење М=8
заради анализа на принципот на работа на основна шема на 3-во-8 декодер
6.
Полу-
проводнички
мемории
По изучувањето на оваа тематска целина
ќе ги препознавате графичките симболи на основните градбени
кола за полупроводничките мемории во програмскиот пакет кој
ќе се користи;
ќе го знаете принципот на работа на полупроводничките
мемории;
ќе анализирате шеми на полупроводнички RAM мемории;
ќе го објаснувате принципот на работа на полупроводнички
RAM мемории;
ќе синтетизирате полупроводнички мемории врз основа на
поставен проблем;
ќе решавате логички проблеми, како и примери кои ги содржат
соодветните дигитални структури;
ќе знаете да решавате примери и задачи со полупроводнички
мемории;
ќе знаете да ги објасните разликите помеѓу видовите
полупроводнички мемории: ROM, PROM, E/ЕPROM, RAM;
434 ПОЛУПРОВОДНИЧКИ МЕМОРИИ
ПОЛУПРОВОДНИЧКИ МЕМОРИИ 435
Сл. 6-7. SRAM меморија 2 х 4 (две мемориски локации со по четири бита); Секоја
мемориска локација е суб-коло
ПОЛУПРОВОДНИЧКИ МЕМОРИИ 437
Сл. 7-10. а) Процес на А/Д – Д/А конверзија со основни АДК и ДАК компоненти
Сл. 7-12. Процес на А/Д – Д/А конверзија со основни АДК и ДАК компоненти и две
различни фреквенции за одбирање за f1=5 kHz и f2=1kHz
Сл. 7-13. а) Електрична шема на процес на А/Д – Д/А конверзија со основни АДК и
ДАК компоненти и две различни фреквенции за одбирање за f1=5 kHz и f2=1kHz
Сл. 7-17. А/Д конвертор со основно АДК побудено со аналоген влезен напон преку
потенциометар и 4-битен излез
456 АНАЛОГНО-ДИГИТАЛНА КОНВЕРЗИЈА
Сл. 7-18. А/Д конвертор со основно АДК побудено со аналоген синусен влезен
напон од функциски генератор и 8-битен излез
Сл. 7-21. а) Процес на А/Д и Д/А конверзија со основни АДК и ДАК кола со
различна фреквенција на земање на одбироци за f=2 kHz, f=5 kHz и f=20kHz.
Сл. 7-22. Процес на А/Д и Д/А конверзија со основни АДК и ДАК кола со различна
фреквенција на земање на одбироци за f=2 kHz, f=5 kHz и f=20kHz и RC НФ
филтер на излезот
Прилог А.
Пин конфигурации
на дигитални
интегрирани кола
На следните неколку страни се прикажани пин-конфигурациите на
најчесто применуваните дигитални интегрирани кола од TTL и CMOS
фамилиите со ознака 74хх, кои ги опфаќаат основните логички кола,
некои кодери, декодери, мултиплексери, демултиплексери, флип-флопови,
регистри и бројачи.
А-2 Прилог-А
Прилог-А A-3
Прилог А1
А-4 Прилог-А
Прилог А2
Прилог-А A-5
Прилог А3
А-6 Прилог-А
Прилог А4
II дел
Архитектура на
микрокомпјутери
РЕДОВНА НАСТАВА
Во рамките на редовната настава учениците ќе се запознаат со
теоретските основи кои се однесуваат на архитектурата на компјутерите.
Поконкретно, фокусот на изучувањето ќе биде ставен во доменот на
микрокомпјутерите, и тоа врз следните наставни содржини: основи на
микрокомпјутерите, архитектура на општ микропроцесор, поврзување на
општ микропроцесор и програмирање на општ микропроцесор во
асемблерски јазик.
ИЗБОРНА НАСТАВА
Во рамките на изборната настава учениците ќе ги прошират и
продлабочат своите знаења кои се однесуваат на наставните теми од
задолжителната настава во врска со архитектурата на општиот
микропроцесор, неговото поврзување со мемориски и на Влезно/Излезни
компоненти, како и негово програмирање во асемблерски јазик. Во овој
дел учениците ќе се стекнат и со практични знаења кои ќе им овозможат
да изработуваат вежби од претходно наведените области.
460
461
II.1
Архитектура на
микрокомпјутери
Редовна настава
Наставни теми:
9) Основи на микрокомпјутерите
10) Архитектура на општ микропроцесор
11) Поврзување на општ микропроцесор
12) Програмирање на општ микропроцесор
462
9.
ОСНОВИ НА
МИКРО-
КОМПЈУТЕРИТЕ
По изучувањето на оваа тематска целина ќе се запознаете со
класификацијата на компјутерите;
поделбата на компјутерите по различни критериуми;
архитектурата на микро/компјутерите;
структурата и функционирањето на микро/компјутерите;
работата на микро/компјутерот;
магистралната организација на микро/компјутерот;
блок-шемата на основиот микро/компјутер и микро/процесорски
систем;
464 Основи на микрокомпјутери
Основи на микрокомпјутери 465
Влезно/Излезни единици:
Преку влезниот блок, кој ги претставува влезните компоненти и уреди,
компјутерот добива изворни, влезни, необработени податоци. Ваквите
податоци вообичаено ги внесува човекот и тоа во облик на текстови,
броеви, слики, и сл. Преку влезната единица во компјутерот се внесуваат и
инструкциите од програмите кои ќе треба да бидат извршени.
Излезниот блок ги претставува надворешните компоненти и уреди до кои се
испраќаат податоците, добиени како резултати од нивната обработка, со
цел да бидат видени од страна на човекот кој го користи компјутерот.
Централен процесор:
Со централната процесорска единица компјутерот ги обработува
податоците, извршувајќи ги со нив операциите зададени во инструкциите
на програмот којшто се извршува. Процесорот е дигитална интегрирана
компонента која може да ги презема инструкциите од меморијата во
бинарна форма и да ги декодира, да ги чита влезните податоци од
меморијата или да ги прифаќа од влезните компоненти, и со нив да ги
изврши аритметичко-логичките операции зададени во инструкциите, како и
да ги запишува резултантните податоци во меморијата или да ги испраќа
до излезните компоненти.
Работна меморија:
Мемориската единица содржи компоненти кои можат да ги памтат
податоците кои треба да бидат обработени од страна на процесорот како и
програмите кои влезните податоци по обработката ги трансформираат во
резултати како излезни податоци. Вообичаено мемориската единица
содржи ROM и RAM мемориски интегрирани кола.
478 Основи на микрокомпјутери
Системска поврзаност:
Станува збор за механизам којшто овозможува комуникација помеѓу
процесорот, главната меморија и В/И компонентите. Стандарден и
вообичаен пример за интерконекција е системската магистрала, која се
состои од множество на проводни линии реализирани со прилично тенки
бакарни водови на кои се поврзуваат сите други компоненти.
Вовед
Во оваа тематска целина во поголеми детали ќе се запознаeме со
архитектурата на општиот микропроцесор. Општиот микропроцесор (ОМП) (анг.
general microprocessor unit, GMP) е 8-битна софтверски програмабилна дигитална
компонента за општа употреба. ОМП е 8-битна компонента бидејќи во единечен
временски интервал може едновремено да пренесува и/или обработува 8 битни
податоци на паралелен начин, процесирајќи ги одеднаш сите нив како единствена
8-битна дигитална содржина. Кога говориме за дигитална обработка на податоци
не треба да заборавиме дека дигиталните системи работат само со дигитални
електрични сигнали кои може да се најдат во едно од две напонски нивоа и тоа
високо од +5V (Vhigh, VH, H) или ниско од 0V (Vlow, VL, L). Овие напонски нивоа се
физички репрезенти на битовите кои можат да примат една од следните две
логички состојби: 1 или 0.
На почетокот ќе се задржиме на функционалната блок шема и ќе ја
анализираме улогата на секоја функционална единица која влегува во нејзин
состав. Потоа ќе го презентираме пин дијаграмот на ОМП ставајќи го фокусот врз
улогата на секој негов пин. На крај ќе ги анализираме фазите на извршување на
асембелерските инструкции во општ случај, како и сигналите кои се активни за
реализација на секоја фаза, вклучувајќи ја и нивната временска усогласеност и
синхронизација со работниот такт на процесорот.
Сл. 10-13. Временски облик на такт сигналот (периодична низа на високо и ниско ниво)
Архитектура на општ микропроцесор 503
а) б)
Сл.10-14. а) Пинови на податочната магистрала и б) пинови за сериска комуникација
10.8.1. T-состојба
T-состојбата (Тѕ) или машинската состојба (MS) како што уште се нарекува,
е временски период еднаков на една периода од такт сигналот на ОМП. Секој такт
сигнал трае одреден временски период и се наоѓа на високо напонско ниво на пр.
Vhigh=VH=5V кое одговара на логичка вредност 1 кога се јавува импулс, додека
потоа следува ниско ниво Vlow=VL=0V кое соодветствува на логичката вредност 0,
бидејќи се јавува пауза. Овие две состојби регуларно се повторуваат во еднакви
временски интервали како што е прикажано на сл. 10-18 а) б), од која се гледа
дека такт-сигналот претставува низа на правоаголни импулси и паузи со еднакво
времетраење. Секој импулс започнува со неговиот растечки (преден) раб кога тој
преминува од ниско на високо ниво, и завршува со неговиот опаѓачки (заден) раб
кој преминува од високо на ниско ниво, после што следува паузата со еднакво
времетраење како и импулсот.
Т-состојбата е времетраење од една периода на такт сигналот којашто
започнува од задната ивица на претходниот такт-импулс, и трае исто така до
задната ивица на следниот такт-импулс. Ова е од причина што промената и
стабилизацијата на логичките состојби на синхроните секвенцијални логички кола
кои влегуваат во состав на процесорот се случува помеѓу два опаѓачки раба на
такт импулсот, кога тој преминува од високо на ниско логичко ниво.
Т-состојбата се зема како единечен временски интервал бидејќи тоа е
најмалиот временски интервал кој е потребен за да состојбите на сите комбина-
циски и секвенцијални кола кои влегуваат во состав на МКП (логички кола,
де/мултиплексери, де/кодери, флип-флопови, регистри, бројачи, итн.) да се
променат, воспостават и стабилизираат. Заради важноста на кажаното, ќе
потенцираме уште еднаш дека промената на логичката состојбата на дигиталните
компоненти може да се случи само на задниот раб од тактот, а тоа е на преминот
од високо на ниско ниво. Во перидот помеѓу два сукцесивни такт импулси
518 Архитектура на општ микропроцесор
Изглед на
Објаснување на значењето на изгледот - обликот на сигналот
сигналот
Две паралелни полни линии означуваат магистрала – поголем број на
проводни водови со одредена намена со кои се поврзуваат
компонентите на МКП систем. Сѐ додека двете линии се паралелни тоа
значи дека секој сигнал на својата линија ја задржува тековната
состојба: напонското ниво или е високо, или е ниско, но не се менува.
Изглед на
Објаснување на значењето на изгледот - обликот на сигналот
сигналот
Сл. 10-20. Временски дијаграми на машински циклус на земање КОП а) 4Т- б) 6Т-состојби
522 Архитектура на општ микропроцесор
При извршување на овој машински циклус има уште една многу важна
разлика која се однесува на адресирањето на В/И портата. Имено, при работата со
неко-ја влезна компонента адреси-раната В/И порта има 8- битна адреса, а не 16-
битна како при меморискиот машин-ски циклус за читање.
За ОМП ќе претпоста-виме дека 8-битната адреса на портата се пренесува
преку пониските 8-бита на адресната магистрала A0 – A7, додека логичката
состојба на нејзините повисо-ки 8-бита A8 – A15 е неважна.
И кај овој машински циклус, слично на машинскиот циклус за читање на
меморијата, процесорот може да вметне една или повеќе состојби на чекање Т-
WAIT. Имено, на крајот од Т2-состојбата процесорот ја проверува состојбата на
пинот READY: ако READY се наоѓа на високо ниво, читањето на влезната порта
трае 3Т состојби, но ако READY се наоѓа на ниско ниво, и сѐ додека е така,
процесорот после Т2 дополнува една или повеќе состојби на чекање Т-WAIT.
Таб. 11-1. Мемориска адресна табела на ОМП систем со 4kEPROM+4kRAM од сл. 11-3 а)
За домашна работа пробајте да ја прикажете мемориската адресна табела
која ќе се однесува на мемориската мапа од сл. 11-3 б). Таа ќе го има истиот
облик со таб. 11-1, но ќе содржи уште два мемориски чипови, така што ќе треба
да ги содржи почетните и крајните адреси на мемориските сегменти кои ги
зафаќаат четирите мемориски интегрирани кола: PROM-1, RAM–1, RAM–2 и RAM–3
и тоа сите од по 4 КВ.
Сл. 11-6. Декодерско ИК 74х138 а) Внатрешна логичка шема б) Логички симбол в) Изглед
на DIP – куќиштето
Пример-1:
Првата слика означена како сл. 11-7 прикажува еден пример со кој на ОМП
се поврзани две мемориски интегрирани кола: еден EPROM и еден RAM чип, и
двата со капацитет од по 8 КВ организирани во 8К збора х 8 бита = 8K x 8b = 8K x
1B = 8KB и тоа со апсолутно декодирање на адресите.
548 Поврзување на општ микропроцесор
Сл. 11-6. 8КВ EPROM и 8КВ RAM поврзани на ОМП со апсолутно адресно декодирање
Како мемориски интегрирани кола се претпоставени реални мемориски
чипови со следниве ознаки: за 8KB EPROM е употребено ИК 2764, додека за 8KB
RAM е поврзано ИК 6264. И двете мемориски кола имаат капацитет од 8KB бидејќи
се организирани како мемориски блокови од по 8 K мемориски зборови, секој со
должина од 8b = 1B (8К х 1В). Токму заради ваквата организација на секое
мемориско коло треба да се поврзат ниските 13 адресни линии преку кои ќе се
селектира било која мемориска локација во рамките на секој чип чија должина е
8b = 1B. Ваквата поврзаност на најниските 13 адресни линии овозможува
внатрешна или интерна селекција на мемориските локации. Имено, меморискиот
капацитет на ИК организирано во 8К зборови х 1 В може да се претстави и на
3 10 13
следниот начин (8 х 1КВ)= (8 х 1024) В = (2 x2 ) В = 2 В, од каде станува јасно
зошто секое мемориски коло има по 13 адресни пинови.
Според претходно наведеното 13-те најниски адресни водови А12А11, ...,
А2А1А0 ќе треба да се поврзат директно на адресните линии на секој од
чиповите. Дополнително, трите повисоки адресни водови А15А14А13 ќе бидат
целосно декодирани за да ги генерираат соодветните сигнали CS1* и CS2* со кои
ќе се врши избор на некој од мемориските чипови.
За целосно декодирање на преостанатите 3 линии од адресната магистрала
кои ги носат повисоките три адресни бита се користи со ИК 74х138 кое
претставува 3-во-8 декодер/демултиплексер со 3 контролни сигнали за дозвола
Поврзување на општ микропроцесор 549
Таб. 11-3. Мемориска адресна табела на 8К EPROM и 8К RAM поврзани со апсолутно ад-
ресно декодирање
Бидејќи пинот за селекција на меморискиот EPROM чип е поврзан на
излезот Y0 од декодерот истиот ќе биде селектиран само ако сите три повисоки
адресни линии се најдат на ниско логичко ниво, т.е. само ако биде исполнет
условот А15А14А13=000. Само за таа бинарна комбинација на излезот Y0 ќе се
добие ниско ниво потребно за да го активира EPROM-от, а сите други излези ќе
бидат високи и со тоа пасивни. Слично, затоа што излезот Y1 од декодерот е
поврзан на чип-селекторскиот сигнал CS* на RAM интегрираното мемориско коло,
оваа компонента ќе биде селектирана само ако на високите адресни линии
А15А14А13 се појави бинарната комбинација А15А14А13=001. Само тогаш на
излезот Y1 ќе се добие ниско напонско ниво, а сите други излези ќе бидат на
високо напонско ниво и со тоа неактивни.
550 Поврзување на општ микропроцесор
Сл. 11-11. Мемориски систем со апсолутно адресно декодирање со две RAM ИК-а со
организација 1Кх4
Таб. 11-5. Мемориска адресна табела на две RAM ИК-а од по 1Кх4 поврзани со апсолутно
адресно декодирање
Пример-1
На сл. 11-13 е прикажано поврзување на еден EPROM и еден RAM чип, и
двата со капацитет од по 8 КВ. Станува збор за примена на истите мемориски
чипови како во претходниот пример-1 со целосно адресно декодирање, но сега е
применета техниката на парцијално декодирање на адресите.
556 Поврзување на општ микропроцесор
Сл. 11-21. ИК 74х244 8-кратен бафер на магистрала (а) Внатрешна логичка шема
(б) Изглед на ИК во DIP-куќиште (в) Функционална таблица и логички симбол
ИК 74х245
Уште едно ДИК со ознака 74х245 често се применува за поврзување на
микропроцесорските надворешни компоненти на магистралите на процесорот
заради формирање на функционален микропроцесорски систем. Како што ќе
забележиме од краткото објаснување што следува во продолжение, ова ДИК
претставува 8-кратен билатерален или двонасочен бафер/драјвер за магистрала.
На сл. 11-21 а) е прикажана внатрешната логичка шема, на сл. 11-21 б) е даден
изгледот на самото ИК во неговото DIP-куќиште и распоредот на пиновите, а на
сл. 11-21 в) неговиот логички симбол и функционална таблица. 245-ката
располага со осум „антипаралелено“ поврзани бафери/драјвери што може да се
види од неговиот функционален дијаграм шема дадена на сл. 11-21в). Ваквата
логичка структура овозможува пренос на податочниот пин во две насоки што
зависи од дополнителниот контролен пин за таа намена означен со DIR. Имено,
ако DIR=0, влезни пинови се десните, а излезни се левите па така и се
пренесуваат сигналите: од страната В кон страната А (од десно на лево). Меѓутоа,
кога на контролниот влез DIR се постави високо ниво (DIR=1), пиновите ја
менуваат својата улога: влезни пинови се левите, а излезни десните. Во овој
случај битовите се пренесуваат од страната А кон страната В (од лево на десно).
Ваквиот принцип на функционирање на преносот на битовите е овозможен
ако и само ако на контолниот влез за трета состојба ОЕ* е донесено ниско ниво
на логичка нула: ОЕ*=0. Со поставувањето на високо ниво на логичка единица на
овој влез ОЕ*=1, сите бафери се оневозможени, и сите пинови, и А, исто како и В,
ќе се наоѓаат во трета состојба на висока отпорност (HiZ, HZ) со што практично
тие се исклучени од водовите на кои се поврзани.
568 Поврзување на општ микропроцесор
Сл. 11-21. ИК 74х245 8-кратен бафер на магистрала (а) Внатрешна логичка шема
(б) Изглед на ИК во DIP-куќиште (в) Логички симбол и таблица на функционирање
11.8.2. Излезна порта
ОМП освен што прима, тој многу често до некоја излезна компонента или
уред испраќа резултати од обработката како излезни податоци. Такви излезни
компоненти се на пр. множество од осум посебни светлечки LED диоди, или седум
сегментен светлечки LED екран, поврзан преку соодветен декодер.
Наједноставната реализација на излезна порта којашто ОМП ја употребува
за да испрати, да запише податоци во излезна компонента е ИК кое содржи 8 D-
леч кола (лечови) или 8 D-флип-флопови чии излези се баферувани и може да се
најдат и во трета состојба. Преку неа на ОМП можат директно да се поврзат осум
светлечки LED диоди. Симболичката ознака или функционалниот логички симбол
на вакво 8-кратно бистабилно ИК е прикажан на сликата 11-22. Ова ДИК содржи 8
D-лечови заради што и се нарекува 8-кратен D-леч.
Сл. 11-22. Осум кратен D-леч со баферувани излези кои може да одат во трета состојба
На осумте влезови од ова ДИК се поврзуваат линиите од податочната
магистрала чии податочни сигнали може да се пропуштат или заклучат преку
еден заеднички контролен влез кој тоа го контролира со нивото на сигналот LE
(анг. LATCH ENABLE). Ако сигналот LE е низок, тој е неактивен и податоците се
пропуштаат, но ако на LE се доведе високо ниво тој станува активен и во тој
момент ја заклучува состојбата на податочните водови.
Поврзување на општ микропроцесор 569
Сл. 11-23. ИК 74х373 - 8-кратен транспарентен D-леч (а) Внатрешна логичка шема, (б)
Изглед на ИК во DIP-куќиште (в) логички симбол и таблица на функционирање.
ИК 74х374
Доколку се дизајнира микро/процесорки систем во кој излезната
компонента треба да работи синхроно со другите системски компоненти, тогаш
како излезна порта треба да се искористи ИК со осум D-флип-флопови кои
реагираат на работ на такт-импулсот, а не се транспарентни како D-лечовите.
Едно вакво реално ДИК со ознака 74х374, е прикажано на сл. 11-24 а), б) и в) од
кои се гледа дека тоа има ист распоред на пиновите како и лечот 74х373, со
единствена разлика во начинот на кој се внесува еднобитниот податок во секој
флип-флоп. Кај ова ДИК пинот [11] НЕМА улога на контролен влез LE за отворање
на D-флип-флоповите, туку е такт сигнал и заради тоа е означен со CP. Имено,
секој од осумте D-флип-флопови е сензитивен само на растечката ивица на такт-
сигналот и заради тоа само во тој момент, во преминот од ниско на високо ниво
на такт сигналот треба да се донеси битот на влезот D од флип-флопот за истиот
да биде запамтен и да се појави на неговиот излез Q во внатрешноста на колото.
Кај ДИК 74х374 улогата и функцијата на вториот контролен влез ОЕ* е идентичен
како и кај ДИК 74х373: тој го контролира преносот на излезот од секој D-флип-
флопт од внатрешноста на ДИК, до неговите излезни пинови. Имено, ако ОЕ*=0,
логичката состојба на излезот Q од секој флип-флоп се пренесува на соодветниот
излезен пин Y=OUT. Меѓутоа, ако ОЕ*=1, секој излезен пин ќе оди во состојба на
бесконечна отпорност (висока импенданса HiZ, HZ) со што излезите од флип-
флоповите се исклучени од линиите на кои е поврзана 374-ката.
Заради споредба, на сл. 11-25 а) и б) се презентирани внатрешните логички
шеми и таблиците на функционирање на 8-кратните ДИК: D-лечовите 74х373 и D-
флип-флоповите 74х374.
Поврзување на општ микропроцесор 571
Теоретски земено, може да се приклучат 512 В/И порти бидејќи на иста В/И
адреса може да се поврзи една влезна и една излезна порта. Секоја од нив ќе
биде селектирана со различен сигнал: влезната со IORD*, додека излезната со
IOWR*.
11.10. Мемориско мапирање на В/И порти
Освен можноста за идвоено поврзување на В/И компонентите и нивно
хардверско поврзување на ОМП преку контролните сигнали IORD* и IOWR* со
што се раздвојува В/И адресниот простор од меморискиот адресен простор, ОМП
овозможува и мемориско мапирање на В/И компонентите кое уште се нарекува и
мемориски пресликан влез/излез. Принципот на мемориско мапирање на В/И
порти се остварува со нивно поврзување преку контролните сигнали за читање и
запишување во мемориски ИК-а, а тоа беа излезните процесорски сигнали MRD* и
MWR*.Вака поврзаните В/И порти процесорот ги третира како мемориски локации
кои припаѓаат во неговиот меморискиот адресен простор од 64 КВ (сл. 11-26 а).
Во овој случај, процесорот не прави разлика помеѓу адресирање на
мемориска локација и В/И порта. Тој на В/И портата „гледа“ како на некоја
мемориска локација. Токму заради ова, овој начин на поврзување на В/И порти
(компоненти) се нарекува и мемориски пресликан влез/излез. При тоа,
процесорот „мисли“ и е „убеден“ дека има работа со мемориска локација и сите
инструкции кои овозможуваат трансфер, читање или запишување на податоци
помеѓу процесорот и меморијата можат да се користат и за комуникацијата со В/И
порта. Тоа се инструкциите за читање директно читање на мемориска локација во
акумулаторот LDA a16, и за директно запишување на содржината на акумулаторот
во адресирана мемориска локација STA a16. Покрај нив, може да се применат и
инструкциите MOV M, Rs и MOV Rd, M за индиректно адресирање на мемориските
локации и трансфер на нивната содржина во акумулаторот, односно во
регистрите за општа. Овде припаѓаат и инструкциите со кои се извршуваат
аритметички и логички операции помеѓу содржината на акумулаторот и податок
кој е сместен во некоја мемориска локација која е индиректно адресирана со
некоја од инструкциите: ADD M, SUB M, INR M, ORA M, ANA M, XRA M и CMP M.
Селекциони влезови
Селекција на декодерско ИК Влезна или излезна порта
на декодерот
Активен
А7 А6 А5 А4 А3 А2 А1 А0 Хекса Адреса
излез
1 0 0 0 0 0 0 0 Y0 80Н
Селекциони влезови
Селекција на декодерско ИК Влезна или излезна порта
на декодерот
Активен
А7 А6 А5 А4 А3 А2 А1 А0 Хекса Адреса
излез
1 0 0 0 0 0 1 0 Y2 82Н
Пример-3
На следната слика 11-32 е прикажан пример на поврзување на излезна
порта која е издвоено мапирана како и оние во претходните два примери, со
апсолутно декордирање на адресите. За разлика од претходните слики каде беше
применет 3-во-8 декодерот 74LS138 со три влеза за дозвола за работа и три
декодерски влезови, адресното декодирање во овој пример се изведува
наједноставно само со едно НИ логичко коло со осум влеза. Излезот од колото ќе
биде активен и ќе се спушти на ниско логичко ниво само ако сите 8 адресни
линии кои се директно приклучени на влезовите од колото се доведе
комбинацијата А76543210= 11110000 што ја одредува адресата на портата F0h во
хексадецимално означување.
Пример-4
Декодирањето на некои од адресните сигнали, а не на сите нив, како што
објаснивме претходно кај поврзувањето на мемориски ИК-а, резултира со појава
на редундантност и т.н. скриени адреси или во овој случај, до повеќезначно
адресирање на една В/И порта со неколку различни адреси. Ваквото посебно
мапирање на истата излезна порта од претходниот пример, но сега само со
парцијално декодирање на повисоките четири адресни линии А7654 е дадено на
сл. 11-33. При ова, логичкото НИ коло ќе се отвори и на неговиот излез ќе се
добие активен низок сигнал ако на логичките нивоа на овие негови влезови се
појаваи високи нивоа на логичка 1, т.е. кога ќе се појави влезна комбинација
А7654=1111.
Поврзување на општ микропроцесор 581
Пример-1
Како прв пример за поврзување на надворешна компонента преку В/И
порта која е мемориски мапирана (пресликана) и тоа со апсолутно декордирање
на адресата е прикажана прилично едноставната логичка шема од сл. 11-34. За
целосно декодирање на адресите повторно е употребено декодерското
интегрирано коло 74LS138 кое претставува 3-во-8 декодер со три влеза за
дозвола за работа.
Гледајќи ја сликата можеме да заклучиме дека декодерот ќе биде
овозможен само кога на неговиот контролен влез G1* се појави ниско ниво што ќе
се случи само кога контролната линија MRD* падне на нула (MRD*=0) која е
приклучена/поврзана на него. Ова се случува самокога процесорот комуницира со
меморијата што јасно укажува дека В/И портата е мемориски пресликана. Освен
ова, контролниот влез G2* ќе се отвори само ако на адресната линија А3 се
појави ниско напонско ниво на лигичка нула (А3=0) бидејќи таа линија е директно
поврзана на овој влез. Дополнително, покрај наведеното, за да се отвори портата,
на 12-те повисоки адресни линии треба да се појави единствено следнава адресна
комбинација: А15-А4=1111-1000-1111.
Поврзување на општ микропроцесор 583
Пример-2
Дополнителни два примери на мемориски пресликани В/И периферни
компоненти со примена на декодерот 74х138 се прикажани на сл. 11-35 а) и б).
Првата влезна компонента е поврзана преку влезната порта реализирана со ИК
74х244. Станува збор за ИК кое претставува еднонасочен драјвер чиј што влез за
овозможување на работа се активира преку излезот од декодерот означен со Y7.
Втората излезна компонента е поврзана преку излезната порта реализирана со
лечот 74х373 чии излези може да се најдат во трета состојба, чија работа се
дозволува кога ќе се активира излезот на декодерот Y6.
И во овој пример адресните информации се целосно (апсолутно) декодирани,
но со поинаку изведена логика во однос на примерите од сл. 11-30 и сл. 11-31,
иако како и таму, се користи истото декодерско интегрирано коло 74х138.
Имено, во оваа логичка шема со 74х138-ката се декодираат адресните линии,
но сега тоа се сите 16, а покрај тоа за да се добијат активни сигнали за
овозможување на портите, секој од двата излези посебно, Y7 и Y6 се носи на НИ
логичко коло. Неговиот излез ќе биде активен само кога ќе се добие ниско ниво
на контролниот сигнал MRD*, односно MWR*. Ова е од причини што тие две
сигнали се втори влезови на НИ колата и само така ќе го пропуштат активниот
(соодветниот) излез од декодерот до влезот за овозможување на влезната,
односно излезната порта.
584 Поврзување на општ микропроцесор
Пример-3
Уште еден пример на поврзување на влезна порта која е мемориски
пресликана, исто како и оние во претходните два примери, со апсолутно
декордирање на адресите е претставен на следната слика, сл. 11-36.
Пример-4
Пред да го презентираме последниот четврт пример, кратко ќе се
потсетиме на парцијалното декодирање на адресите кога поврзувањето на
периферните компоненти со процесорот се изведува со декодирање на некои од
16-те адресните сигнали, а не со сите нив. Тоа предизвикува редунданција, т.е.
појава на скриени адреси и заради тоа повеќезначно адресирање на една В/И
порта со неколку различни адреси.
Ваквото делумно декодирање на адресите на влезна порта која е
мемориски пресликана е прикажано на сл. 11-37, од која се воочува дека за
декодирање на адресите е повторно употребено добро познатото декодерско
интегрирано коло 74LS138 кое претставува 3-во-8 декодер со три влеза за
дозвола за работа.
Сл. 11-38. Блок шема на МКП систем со работната меморијата и В/И системот
590 Поврзување на општ микропроцесор
Барањето на прекин преку овој пин може да биде маскирано, но ако тоа
е демаскирано, ОМП него го прифаќа и го одобрува испраќајќи
соодветен сигнал до компонентата која барала прекин преку излезниот
пин INTA* (анг. Interrupt acknowledge, потврден прекин) кој како
дополнителен пин му е придружен на пинот INTR.
Таб. 11-19. Рестартирачки RST инструкции со своите КОП и нивните вектор адреси
Рестартирачкиот прекин вообичаено се наведува како RST инструкција на
она место во програмата каде што програмерот смета дека треба да постави
контролна точка заради проверка на точноста на резултатите од извршувањето
на претходните програмски инструкции. Каква ќе биде улогата и функцијата на
соодветните прекидни потпрограми за сервисирање на ваквите софтверски
прекини ги дефинира самиот програмер бидејќи тој знае каде може да се појави
непосакуваниот настан кој треба да биде решен со неа.
Сл. 11-51. Поврзување на В/И компонента која бара прекин на пинот а) NMI б) INTR
Од сликата се забележува дека прекинот на пинот за немаскирлив прекин
NMI се активира со појавата на предниот раб и со нивото на побудниот прекиден
импулс доведен на самиот тој влез кој треба да трае одреден временски период.
Микропроцесорот не може да го игнорира барањето за немаскирлив прекин на
пинот NMI и него мора веднаш да го сервисира, заради што се користи само за
итни цели.
Од друга страна, прекинот на пинот за маскирлив прекин INTR се активира
само со нивото на побудниот импулс доведен на тој влез кој треба да трае
одреден временски период. Приложениот сликовит приказ појаснува и тоа како EI
610 Поврзување на општ микропроцесор
Таб. 11-22. Споредба помеѓу програмиран В/И трансфер и В/И трансфер управуван со
прекини
612 Поврзување на општ микропроцесор
Покрај сликата
11-53, заради поилу-
стративно презенти-
рање на ДМП, ќе ја
користиме и сликата
11-54, која со броеви
го прикажува времен-
скиот редослед на
активности кои после-
дователно се извршу-
ваат при реализа-
цијата на ДМП. На
оваа слика е прикажан
и интерфејсот на В/И
уредот.
(сл. 11-63)
624 Поврзување на општ микропроцесор
(сл. 11-64)
(сл. 11-65)
11-14. Објасни ја сликата сл. 11-11, која прикажува поврзување на две RAM
мемориски ИК-а со капацитет од 512 бајти и апсолутно декодирање на адресите.
Логичката организација на секој од овие два чипа е 1 Кзбор х 4b (1 К х 1 нибл).
а) Прикажи ја мемориската адресна табела на дадениот пример, б) Нацртај ја и
мемориската мапа (карта) на овој МКП систем.
Поврзување на општ микропроцесор 625
(сл. 11-66)
11-18. Објасни ја блок-шемата за парцијално (делумно, линеарно) адресно
декодирање прикажана на сл. 11-12.
11-19. Нацртај ја и во куси црти објасни ја блок-шемата за парцијално (делумно,
линеарно) адресно декодирање.
11-20. Објасни ја сликата сл. 11-13, на која е презентирано поврзување на две
мемориски интегрирани кола на омп со примена на техниката на парцијално
декодирање на адресите: еден EPROM и еден RAM чип, секој со капацитет од по 8
КВ (8 К збора х 1 бајт). а) Прикажи ја мемориската адресна табела на дадениот
пример, б) Нацртај ја и мемориската мапа (карта) на овој МКП систем.
11-21. Модификувај ја сл. 11-13, така што за селекција на мемориските чипови на
местото од адресната линија А15 ќе го искористиш адресниот вод а) А14 б) А13.
1) Прикажи ја мемориската адресна табела на МКП систем од сл. 11-11, но со оваа
измена, 2) Нацртај ја и неговата мемориската мапа (карта). Образложи во најкуси
црти.
11-22. Објасни ја сликата сл. 11-15, која прикажува поврзување на две мемориски
интегрирани кола на ОМП со примена на техниката на парцијално декодирање на
адресите: еден EPROM и еден RAM чип, секој со капацитет од по 1 КВ (1 К збора х
1 бајт). а) Прикажи ја мемориската адресна табела на дадениот пример, б)
Нацртај ја и мемориската мапа на овој МКП систем.
626 Поврзување на општ микропроцесор
(сл. 11-67)
11-57. Објасни ја сл. 11-36, која прикажува мемориски пресликана влезна порта
со апсолутно декодирана адреса.
11-58. Што треба да се промени во поврзувањата на шемата од сл. 11-36 за
влезната порта да има адреса во хекса означување а) 2407H б) 3690H?
11-59. Објасни ја сл. 11-37, која претставува пример на мемориски мапирана
влезна порта со делумно декодирање на адресите.
Поврзување на општ микропроцесор 629
Вовед
Главната предност на микро/компјутерот над другите машини е фактот што
тој има способност да изврши зададена задача или да реши проблем според
програм запамтен во неговата меморија. Програмата е множество на логички
поврзани инструкции напишани со соодветен редослед во некој програмски јазик
кои може да се извршат на даден микро/компјутер и со тоа да решат претходно
поставена задача или проблем.
Микро/процесорот е програмабилна дигитална компонента, тој е „мозокот“
на микро/компјутерот, којшто ги извршува сите програми адекватни за тој
микро/компјутер. Примарната задача на микро/процесорот е да ја изврши
програмата која е запамтена работната, оперативната RAM меморија на
микро/компјутерот. Микропроцесорот секвенцијално ги зема инструкциите една
по една од меморијата и истите ги извршува. Ова преземање и извршување на
инструкциите се изведува според истиот редослед како што се тие запишани во
програмот.
Во ова поглавје ќе ги изучуваме блок-дијаграмите, програмските чекори, како
и техниките на програмирање, при тоа презентирајќи и разновидни примери на
алгоритми и програми кои решаваат поедноставни, но и малку посложени задачи.
12.1. Компјутерски јазици
Вообичаено под поимот софтвер се подразбираат поединечни програми,
или множество на програми напишани во било кој програмски јазик, кои може да
ги изврши даден микро/компјутер за општа намена.
Системскиот софтвер содржи компјутерски програми со посебна,
специјализирана намена дизајнирани така да можат да управуваат со хардверот
на компјутерот, но и со корисничките програми – корисничкиот софтвер, за потоа
тие апликации да можат хардверски да се извршат. Ако компјутерскиот систем го
гледаме како слоевит модел, тогаш системскиот софтвер е интерфејс, поврзувач
на хардверот на машината со било кој апликативен програм на корисникот.
Најпознат пример за системски софтвер е оперативниот систем за некој компју-
тер. Оперативниот систем е множество на системски програми, кои се меѓусебно
поврзани така да можат да управуваат со сите други програми во компјутерот.
За разлика од системскиот софтвер, апликативниот софтвер претставува
множество на програми развиени и креирани од страна на програмери за точно
одредена намена со кои се решаваат конкретни проблеми поставени од страна на
некој корисник. Примери на вакви апликативни програми се оние што овозможу-
ваат пишување на текстови, табели и/или финансиско работење, работа со слики,
играње на игри, слушање музика, пребарување и сурфање на интернет, итн.
Без оглед на тоа за каков софтвер се работи, и едните и другите програми
се пишуваат во некој програмски јазик како логички поврзано множество на
инструкции кои обработуваат податоци и со тоа извршуваат одредена задача.
Едноставно кажано јазиците со кои се пишуваат програмите, кои компјутерот
може да ги изврши се нарекуваат компјутерски или програмски јазици. Тие во
основа може да се класифицираат во две поголеми групи: јазици од ниско ниво и
јазици од високо ниво, или нижи и виши програмски јазици.
634 Програмирање на општ микропроцесор
Така на пр. поконкретно ако се работи за влезен податок, тој може да биде
содржина на некој регистер во МКП, или да доаѓа од периферијата на МКП и да
претставува адреса на некоја мемориска локација каде што тој податок се наоѓа и
од каде треба да се прочита, или да биде адреса на некоја влезна порта од каде
податокот ќе биде прифатен. Слично, ако станува збор операнд кој укажува на
излезен податок, тој операнд може да биде самиот податок, или може да биде
регистер во МКП кадешто ќе биде запишан, или да специфицира адреса на
мемориската локација кадешто тој податок ќе треба да се запише, или да биде
адреса на онаа излезна порта каде податокот ќе биде испратен.
Примери на Инструкција
Појаснување
инструкции Мнемоник Операнд/и
Инструкции NOP ;Инструкциите се такви што нема
без операнди HLT потреба од операнд/и
Асемблерска инструкција
Начини на Формат
Местоположба и тип на податоците
адресирање во бајти
За овој тип на инструкции не е потребен никаков
Имплицитно Еден бајт дополнителен податок и /или адреса. Сите активности за
нивно извршување се случуваат во МКП.
Местоположбата на податокот е во самата инструкција; 1 бајт
Два или е КодОп +1 бајт податок ако е наменет за регистер или +2
Непосредно
три бајти бајти податок кој е всушност адреса која се однесува на
регистерскиот пар, вкупно 2 или 3 бајти.
Регистерско Еден бајт Податокот се наоѓа во некој регистер (B, C, H или L).
Регистерско Местоположбата на податокот е во одредена мемориска
Еден бајт
индиректно локација чија адреса е сместена во регистерскиот пар H=H||L.
Податокот се наоѓа на адреса во меморијата специфицирана
со 2-от или 2-от и 3-от бајт на инструкцијата. 1 бајт е КодОп +1
Два или
Директно бајт за адреса ако податокот се однесува на влезна/излезна
три бајти порта, или +2 бајти ако податокот се пренесува од/до
одредена мемориска локација, (вкупно 2 или 3 бајти).
Kомплементирај ја
CMA
содржината на акумулаторот
S Z x x x P x CY CMC S Z x x x P x CY
1 0 x x x 1 x 0 1 0 x x x 1 x 1
Пренеси го во акумулаторот
MVI A, 40H
бајтот (податокот) 40Н
12.6. Алгоритми
Програмирањето претставува процес на трансформирање, жаргонски
кажано „кодирање“, на некој алгоритам во листа на инструкции напишани во
одреден програмски јазик, така што тој програм, кажано во жаргон „код“ може да
се изврши од страна на микро/компјутерот. Без алгоритам, кој претставува
решение на поставениот проблем или задача, не треба да се генерира програм.
Програмирањето е всушност „уметноста“, начинот или постапката според која
идните програмери креираат и создаваат софтвер во некој програмски јазик на
решенијата кои веќе ги осмислиле во облик на одреден алгоритам. Алгоритмите
го опишуваат решението на проблемот, имајќи ги секогаш во вид потребните
влезни податоци со кои се иницијализира проблемот, како и сите потребни
чекори во конечен број и соодветно логички поврзани, за на крајот да се добие
посакуваниот резултат.
Програмските јазици и алгоритмите обезбедуваат таков начин на
означување со кој можат да се претстават влезните и излезните податоци како и
чекорите на процесот на нивната обработка. За остварување на таа цел тие
располагаат со разновидни типови на податоци и контролни конструкции.
Контролните структури се блокови од активности кои можат да се заменат со
програмски инструкции кои овозможуваат алгоритамските чекори да бидат
претставени на пригоден и недвосмислен начин, прикажувајќи кои пресметки ќе
бидат извршени врз влезните податоците и кои резултати ќе бидат добиени како
излезни податоци.
12.7. Блок-дијаграми
Блок-дијаграмите (анг. flowcharts) претставуваат графички тип на дијаграми
со кои се прикажуваат алгоритмите. Секој блок-дијаграм дава визуелна претстава
на алгоритмот, а со тоа на протокот на податоците и на редоследот, т.е.
логичката поврзаност на чекорите за нивна обработка. Тој може да се користи за
да се прикаже претпоставеното решение за дадениот проблем или задача, и тоа
без разлика дали е тој едноставен или сложен. За почетниците во
програмирањето од витално значење е да го совладаат начинот на прикажување
на алгоримите со блок-дијаграми за да ја разберат основната логика која „стои“
зад програмата. Откако блок-дијаграмот ќе биде креиран, тој може да се напише
и имплементира, да се „искодира“ во било кој програмски јазик со инструкции кои
одговараат на секој блок од алгоритмот следејќи ја нивната поврзаност.
За ваквото графичко прикажување на алгоритмите се користат одредени
стандардизирани симболи со кои вообичаено се цртаат блок-дијаграмите. Тие се
посебни и меѓусебно различни геометриски форми. Секој симбол претставува
одреден вид на чекор со различна акција што ќе биде превземена во рамките на
алгоритамскиот процес, односно соодветна инструкција во некој програмски јазик.
Со примената на симболите прикажани на следната слика сл. 12-17 секој блок-
дијаграм добива своја графичка претстава со стандардизирана форма, разбирлива
за секој кој програмер. Покрај графичките симболи, во блок-дијаграмите на секој
алгоритам задолжително се сретнуваат и насочени линии. Тоа се т.н. линии на
тек кои имаат стрелки на краевите. Тие линии, исто како и симболите, играат
многу значајна улога бидејќи покажуваат каква е поврзаноста помеѓу симболите,
а со тоа и на чекорите, односно на инструкциите и каков треба логички да течи
нивното извршување.
Програмирање на општ микропроцесор 659
да има запишан ист број или голема буква од англиската абецеда. Ваквите
конектори можат да се користат кога алгоритмот е поголем, и него не го собира
до крајот на страницата, па заради тоа за доцртување треба да се искористи
нејзината втора половина. Кога алгоритамот ќе дојде до ваков конектор тоа значи
безусловен скок којшто треба да се избегнува кога се креираат алгоритамски
решенија со блок-дијаграми, и по можност воопшто да не се применува, освен за
премин на нова страница како што предмалку наведовме.
За целосно прикажување на големите и комплексни блок-дијаграми
потребни се повеќе страници. Во таквите случаи се применува триаголнест
симбол за крај, односно за почеток на нова страница. Внатре во симболот се
запишува бројот на страницата на која продолжува цртежот на прекинатиот
алгоритам.
Насоките според кои треба да се применуваат симболите при цртање на
блок-дијаграм на алгоритмите би биле селдниве:
1. Вообичаената насока за редоследот на извршување на алгоритамските
чекори е од лево кон десно или од горе кон долу,
2. При цртањето на соодветниот блок-дијаграм за осмислениот алгоритам, сите
чекори и нивните поврзувања треба да бидат наведени со логичен редослед,
3. Блок-дијаграмот треба да биде јасен, прегледен и лесен за следење без
двосмислености и дилеми.
а) „додека ... прави“ б) “прави... додека“ в) „за ... следен“ г) „за секој“
Сл. 12-20 Структури со повторување циклични структури
Структурите што следат на сл. 12-20 а) б) в) г) овозможуваат одреден блок
циклично да се повторува повеќе пати. Блокот што се повторува се нарекува тело
на циклусот. Секој циклус е различен од другиот, но иако се меѓусебно различни,
во принцип, секоја циклична структура може да се реализира со било која друга.
Првиот цикличен блок-дијаграм на сл. 12-20 а) се именува како пре-тест циклус
„додека ... прави“ (анг. While … do). Според него блокот се повторува сѐ додека
условот е исполнет, при што блокот може и воопшто да не се изврши (ниту
еднаш!) бидејќи проверката на условот со кој се остварува гранењето е пред
блокот.
Програмирање на општ микропроцесор 663
Инструкциите за пренос на податоци со влезно/излезни порти и за работа со стек меморијата може да се класифицираат
и во последната група на т.н. разновидни инструкции, но зарaди тоа што во основа и тие вршат пренос на податоци истите ги
наведуваме овде во рамките на инструкциите за трансфер.
Програмирање на општ микропроцесор 669
Инструкции за влезно/излезен пренос. Со овие инструкции е обезбеден трансфер на податоци помеѓу ОМП и
посебно адресирани влезно-излезни (В/И) компоненти преку соодветни В/И порти. Тоа се две инструкции од кои едната е за
прифаќање (читање) на податок, додека другата е за испраќање (запишување) на податок од/до влезно-излезно порта. При тоа
за адресирање на портите се употребуваат пониските осум адресни битови, т.е. понискиот адресен бајт а7 – а0 бидејќи
издвоено од меморискиот адресен простор од 64 КВ ОМП може максимално да адресира 256 В/И порти.
Инструкции за влезно/излезен пренос
Влез во Аcc содржина на мемориска локација директно со A (a8) –
адреса a8
IN a8 2B – 10Ts Директно
Излез на содржина на Аcc директно во излезна порта со
OUT a8 (a8) A – 2B – 10Ts Директно
адреса a8
Таб. 12 -15. Инструкции за влезно/излезен пренос
Инструкции за работа со стек меморија. Стек меморијата (анг. stack) или магацинската, напластената или стог
меморијата како што уште се нарекува, преставува мемориски сегмент за привремено запамтување на податоци и потоа нивно
читање според LIFO принципот: последен запишан–прв прочитан. Првата адреса на стек меморијата се иницијализира со внесува-
ње на содржина во покажувачот на адреса на стекот, SP. Преносот на податоци се остварува со инструкциите за внесување PUSH
и изнесување POP. Изворишните податоци за стекот се два бајти (16 бита) кои можат да бидат содржините на рeгистерските
парови BC или HL, програмскиот статусен збор кој претставува комбинација од содржината на акумулаторот A и регистерот со
знаменца F, а по автоматизам кога се повикува потпрограм во стек-меморијата привремено се запамтува содржината на РС.
Забелешка за означувањето: Знакот “+” на операцијата ИЛИ (за логичко собирање) се поклопува со знакот на
истоимената аритметичка операција СОБИРАЊЕ од која драстично се разликува по својата функција и заради што треба да се
внимава на нивната примена бидејќи овие две операции не треба да се поистоветуваат. Логичката операција Ексклузивно
(Исклучиво) ИЛИ, ЕКСИЛИ, (анг. EXOR) се означува со симболот „крвче во кругче“ “”. Логичката негација, комплеметирањето,
или првиот комплемент се означува со ѕвездичка “*” во десно.
Програмирање на општ микропроцесор 673
Jxx a16 –
Ако F- битот го
Ако е исполнет условот на знаменцето скокни на наведената JZ, JNZ
задоволува
адреса на мемориската локација зададена со 2-от и 3-от бајт JC, JNC условот 3B –7/10Ts непосредно
на инструкцијата JP, JM PC a16
JPE, JPO
((SP) – 1) –
Повикај потпрограм чија прва инструкција се наоѓа во (PCH)
мемориска локација со адреса која се формира од 2-от и 3-от
CALL a16 ((SP) – 2)
бајт на инструкцијата. (Најпрво содржината на PC привремено
(PCL) 3B –9/18Ts Непосредно
се запамтува во две мемориски локации во стекот со прва
адреса (SP). SP (SP) – 2
PC а16
PCL ((SP)) –
Врати се од потпрограм во главниот програм. Од стекот во PC Регистерско
се враќа запамтената содржина од две мемориски локации од RET PCH ((SP) + 1) 1B –10Ts
стекот со прва адреса (SP). индиректно
SP (SP) + 2
((SP) – 1) –
Рестартирај на пре–дефинирани четири мемориски адреси каде (PCH)
се запамтени потпрограми за сервисирање на прекин. RST n
((SP) – 2) Регистерско
(Најпрво содржината на PC привремено се запамтува во две n = 0, 1, 2, 3 (PCL) 1B –12Ts
мемориски локации во стекот со прва адреса (SP). индиректно
SP (SP) – 2
(PC) [n8]HEX
Таб. 12-21. Други разновидни преостанати инструкции за машинска контрола на ОМП и управување со прекините
678 Програмирање на општ микропроцесор
Програмирање на општ микропроцесор 679
680 Програмирање на општ микропроцесор
Инструкција
Ознаки: ;Коментар/и
Мнемоник Операнд/и
START: ORA A ; Anuliraj ja sodrzinata na Acc
INICIRAJ: MVI C, 0AH ; Vnesi 10dec vo brojackiot register C
CIKLUS: ADI 24H ; Dodaj 24H na sodrzinata na Acc
; Rezultatot zapisi go vo
ZAPAMTI: STA 6789H
; memoriska loakcija so adresa 6789H
; Rezultatot isprati go i na
IZLEZ: OUT 07H
; izlezna porta so adresa 07H
; Namali ja sodrzinata na
NAMALI: DCR C
; brojacot C za 1 (C = C – 1)
; Testiraj go brojacot C dali e 0.
TEST: JNZ CIKLUS
; Ako e 0 skokni nazad gore da povtoruvas
KRAJ: HLT ; Zastani so izvrsuvanje
Асемблерски јазик
Инструкција
Ознака Мнемоник Операнд Коментар
LDA 3000H ;Vnesi vo reg. par H||L 8-biten podatok od mem.
adr. 3000H.
CMA ;Komplementiraj ja vrednosta vo akumulatorot.
STA 3001H ;Zacuvaj go rezultatot na memoriskata lokacija
3001H.
HLT ;Stop/Kraj.
Влезни податоци:
- Пред извршување:
3000H: 04H
3001H: 02H
Излезни податоци/резултати:
- После извршување:
3002H: 06H
Програм во асемблерски јазик:
Ознака Мнемоник Операнд Коментар
LXI H, 3000H ;Vnesi vo reg. par H||L so adr. 3000H.
MOV A, M ;Prenesi go 1-ot broj od memorijata vo reg. A
INX H ;Zgolemi ja vrednosta na parot H||L.
MOV B, M ;Prenesi go 2-ot broj od memorijata vo reg. B
ADD B ;Soberi go A so B i zbirot vo A.
INX H ;Zgolemi ja vrednosta na H||L parot.
MOV M, A ;Prenesi go rezultatot od reg. A vo memorija.
HLT ;Kraj
688 Програмирање на општ микропроцесор
Влезни податоци:
- Пред извршување:
3000H: 05H=00000101, CY=0
Излезни податоци/резултати:
- После извршување:
Влезни податоци:
- Пред извршување:
3000H: 05H=00000101, CY=0
Излезни податоци/резултати:
- После извршување:
После прво: 3001H: 02H=00000010, CY=1
Ротирање надесно на 05H преку CY После второ: 3001H: 81H=10000001, CY=0
.
Програмирање на општ микропроцесор 691
Влезни податоци:
- Пред извршување:
3000H: FAH
3001H: 28H
Излезни податоци/резултати:
- После извршување:
3002H: 22H
3003H: 01H
694 Програмирање на општ микропроцесор
Блок дијаграм
Програмирање на општ микропроцесор 701
Објаснување:
Со оваа програма се наоѓа најмалиот број во една низа. Првично, бројачот
е иницијализиран со големината на низата. Потоа, два броја се внесуваат во
регистрите A и B и се споредуваат. По споредбата, помалиот од двата мора да
биде во акумулаторот. Ако веќе е во акумулаторот, тогаш е во ред, инаку, тој се
пренесува во акумулаторот. Бројачот се намалува и се проверува дали достигнал
нула. Ако одговорот е да, циклусот завршува, а ако не, следниот број се
преместува во регистерот и се споредува.
Програм во асемблерски јазик:
Адреса Мнемоник Операнд Коментар
LXI H, 3000H ;Vnesi vo reg. par H||L so adr. 3000H.
MOV B, M ;Prenesi go 1-ot broj od memorijata vo reg. B
INX H ; Zgolemi ja vrednosta na parot H||L.
MOV A, M ;Prenesi go prviot broj od memorijata vo Acc.
DCR C ;Namali go brojacot.
ZGOL: INX H ; Zgolemi ja vrednosta na parot H||L.
MOV B, M ;Prenesi sleden broj od memorijata vo reg. B.
CMP B ;Sporedi go B so A.
JC NAMAL ; Skokni na adresa NAMAL ako nema prenos.
MOV A, B ; Prenesi go pomaliot od reg. B vo reg.A.
NAMAL: DCR C ;Namali go brojacot.
JNZ ZGOL ;Skokni na adresa ZGOL ako brojacot ne e 0.
INX H ; Zgolemi ja vrednosta na parot H||L.
MOV M, A ; Prenesi rezultat od Acc. vo memorijata.
HLT ;Kraj.
MVI C, n 7 T - sostojbi
DCR C 4 T - sostojbi
Сл. 12-29. Асоцијација на начинот на кој ОМП работи со стекот Сл. 12-30.
Со користењето на стекот за
време на работата, кога тој се полни со
податоци или адреси, со инструкцијата
PUSH, неговата вредност расте нагоре,
кон помалите адреси, и со тоа зафаќа
сѐ поголем простор од RAM-от. Но, за
време на извршувањето на потпрогра-
мите стекот не само што се полни, туку
тој и се празни и тоа се случува кога се
извршува POP инструкцијата. При тоа се
ослободува зафатениот мемориски
простор. Значи стекот, како мемориски
блок, е динамички променлив: се полни
нагоре – се празни надолу.
Сл. 12-32. Мемориска карта на работната
RAM меморија со иницијализиран стек
ENDM
… …
LHLD PTR1 LHLD PTR2
MOV B, M MOV C, M
… …
Пример 2:
Следната макро инструкција ја ротира N пати содржината на акумулаторот
А во лево преку знаменцето за пренос CY. Оваа постапка се реализира со циклус
кој завршува кога содржината на бројачкиот регистар стигне до нула. Бројот на
ротации N е всушност содржината на регистерот REG кој ќе се користи како
бројач. Овие два операнди се двата параметри на макро инструкцијата.
Макро дефинирање>
RALN MACRO N, REG
LOCAL LOOP
MVI REG, N
VRTI: RAL
DCR REG
JNZ VRTI
ENDM
Макро референцирање>
...
RALN 04H, C ;povikuvanje za 4 rotacii so brojac reg. C
...
Макро експандирање>
…
MVI C, 04H
0001: RAL
DCR C
JNZ 0001
…
726 Програмирање на општ микропроцесор
За испраќање 0 во SOD пинот пиши “0” За изпраќање 1 во SOD пинот пиши “1”
MVI A, 40h ;A 40h, a70 i a61 MVI A, C0h ;A C0h, a71 i a61
SIM ;SOD (a7) SIM ;SOD (a7)
MVI A, 80h ; A80h, a71 i a60 MVI A, 80h ; A80h, a71 i a60
STC ; CY1 STC ; CY1
RAR ; a7CY i a61 CTC ; CYCY*=1*=0
SIM ; SOD (a7) RAR ; a7CY i a61
SIM ; SOD (a7)
; Potprogram DOCNENJE
; Broj na T-sostojbi (Ts)
MVI C, n ; 7Ts
VRTI: DCR C ; 4Ts
JNZ VRTI ; 10/7Ts
RET ; 10Ts
;Toff=0.50 ms ; Ton=0.25 ms
MVI C, 21H MVI C, 21H
vrti1: DCR C vrti1: DCR C
JNZ vrti1 JNZ vrti1
RET RET
12-62. Да се соберат следниве броеви: а) 11, 22, 33, 44 и б) 12, 34, 56, 78 и 96,
користејќи различни начини на адресирање и инструкции соодветни на нив.
Збирот треба да биде сместен во мемориска локација чија адреса е 0690h.
А1) со примена на непосредно адресирање директно полнејќи го
акумулаторот, и директно адресирање за запамтување на резултатот, но БЕЗ
индиректно адресирање и БЕЗ циклус,
А2) со примена на непосредно адресирање директно полнејќи го
акумулаторот, и директно адресирање за запамтување на резултатот БЕЗ
индиректно адресирање и СО циклус,
Б1) со примена на непосредно и директно адресирање за полнење на
акумулаторот и запамтување на резултатот, но БЕЗ индиректно адресирање
и БЕЗ циклус,
Б2) со примена на непосредно и директно адресирање за полнење на
акумулаторот и запамтување на резултатот, но БЕЗ индиректно адресирање
и СО циклус,
В1) со примена на непосредно, директно и индиректно адресирање за
полнење на акумулаторот и запамтување на резултатот, но БЕЗ циклус,
В2) со примена на непосредно, директно и индиректно адресирање за
полнење на акумулаторот и запамтување на резултатот, но СО циклус,
Вовед
Сл. 8-4 а) и сл. 8-4 б) Две фази на извршување на инструкцијата MVI B, 78H
Архитектура на општ микропроцесор 745
На следните две слики: сл. 8-5 а) и сл. 8-5 б) исто така со блок-шема, но во
една поедноставна варијанта, е презентирано извршувањето на истата инструк-
ција MVI B, 78H со која бајтот 78Н непосредно се пренесува, поточно се копира и
се вметнува како нова содржина во регистерот В.
MVI A, 45H (“Пренеси непосредно бајт 45Н во А“) (Сл. 8-9): Со извршува-
њето на оваа инструкција податокот 45Н непосредно се сместува во акумулаторот
регистер. Извршувањето и на оваа инструкција се изведува во два машински
циклуси: пре/земање на КОП од RAM-меморијата од локацијата адресирана од
програмскиот бројач и потоа читање на мемориската локација која има адреса
што е за 1 поголема од адресата каде што беше сместен КОП (FMC и RMMC). Во
втората мемориска локација е сместен бајтот 45Н.
Архитектура на општ микропроцесор 749
LHLD 1234Н: (“Во HL внеси двобајт од адреса 1234Н“) (Сл. 8-24): Со оваа
инструкција во регистерскиот пар H||L се внесуваат два бајти од кои првиот е
запамтен во мемориска локација 1234Н, а вториот во следната локација со
адреса 1235Н. За извршување на оваа инструкција се потребни пет машински
циклуси од кои првиот е земање на КОП од мемориска локација чија адреса се
наоѓа во програмскиот бројач. Вториот и третиот машински циклус се читање на
содржините на следните две мемориски локации кои се наоѓаат веднаш под
локацијата кадешто е сместен КОП. На тие две адреси е сместена адресата на
двобајтниот податок 1234Н. Во првото читање во понискиот бајт од меморискиот
бафер-адресен регистер (MAR) пренесува 34Н, а со второто читање во неговиот
повисок бајт се внесува 12Н. (FMC, RMMC1, RMMC2, RMMC3, RMMC4). Четвртиот и
петтиот машински циклус повторно се циклуси на читање од меморијата. Имено,
сега прво се чита податокот запамтен на мемориска локација со адреса 1234Н и
се внесува (копира!) во регистерот L, и на крај се чита податокот запамтен на
мемориска локација со адреса 1235Н кој се пренесува (копира!) во регистерот Н.
SHLD 5678Н: (“Двобајт од HL запиши во адреса 5678Н“) (Сл. 8-25): Со
оваа инструкција двата податоци, кои претставуваат содржини на регистерскиот
пар H||L се запамтуваат во две мемориски локации со адреси 5678Н и 5689Н. За
извршување на оваа инструкција се потребни пет машински циклуси од кои
првиот е земање на КОП од мемориска локација, чија адреса се наоѓа во
програмскиот бројач. Вториот и третиот машински циклус се читање на
содржините на следните две мемориски локации кои се наоѓаат веднаш под
локацијата, кадешто е сместен КОП. На тие две адреси е сместена адресата 5678Н
кадешто треба да се запише двобајтниот податок од регистерскиот пар H||L. Во
првото читање во понискиот бајт од меморискиот бафер-адресен регистер (MAR)
пренесува 78Н, а со второто читање во неговиот повисок бајт се внесува 56Н.
(FMC, RMMC1, RMMC2, RMMC3, RMMC4). Четвртиот и петтиот машински циклус се
циклуси на запишување во меморија. Имено, најпрво податокот, кој претставува
содржина на регистерот L, се копира и се запамтува во мемориска локација со
адреса 5678Н, и на крај се запишува податокот од регистерот Н на мемориска
адреса 5679Н.
758 Архитектура на општ микропроцесор
Сл. 8-24. и сл. 8-25 Временски дијаграми на Инструкциите LHLD 1234Н и SHLD 5678Н
9.
Поврзување на
општ микро-
процесор
По изучувањето на оваа тематска целина
Ќе знаете да ја објасните организацијата на наједноставен
микрокомпјутер со примена на општиот микропроцесор;
Ќе можете да го објасните поврзувањето со ROM и RAM
меморијата;
ќе го анализирате поврзувањето со практични В/И порти;
ќе го толкувате адресното декодирање;
ќе анализирате примери за различни начини на пренос на
податоци, просторно адресирање и временско ускладување.
ќе знаете да обработувате различни примери и задачи за
микрокомпјутерскиот систем базиран на општиот МКП со
потенцирање на улогата на минималниот систем;
ќе користите блоковски пристап;
за секое поврзување ќе знаете да користите посебна блок шема
(пример или задача), за да го објасните адресирањето,
временските дијаграми, а со тоа и принципот на работа,
DMA
760 Поврзување на општиот микропроцесор
Поврзување на општиот микропроцесор 761
Вовед
Со методските единици обработени во првиот дел од истоименета тематска
целина во задолжителната настава беа опфатени и опишани техниките за
поврзување (мапирање, адресирање) на полупроводничките RAM и E/P/ROM
мемориски ИК-а со случаен пристап, како и на наједноставните В/И компоненти
како што се прекинувачите за внесување на влезни податоци, односно
светлечките LED диоди за прикажување на излезните резулатати. При тоа беа
анализирани и неколку конкретни, но поедноставни примери.
Во вториот дел од таа тематска целина беа презентирани основните
концепти на поврзување на различните периферни уреди на системската
магистрала со микро/процесорот. Во врска со тоа, беа објаснети базичните
концепти за пренос на податоци помеѓу В/И уредите и оперативната RAM
меморија и тоа двете техники на софтверски контролираниот пренос, програмски
контролираниот и прекидниот влез/излез, и директниот мемориски пристап (ДМП)
како единствена техника на хардверски контролиран пренос.
Заради продлабочување и проширување на стекнатите знаења, во
продолжение ќе бидат разработени неколку дополнителни примери за
поврзување на општиот микропроцесор со полупроводнички RAM и E/P/ROM
чипови. Покрај нив ќе се сретнеме и со логички шеми кои за внесување на влезни
податоци користат прекинувачи како наједноставните В/И компоненти, односно
светлечки LED диоди за прикажување на излезните резулатати.
Сл. 9-1. а) Логичка шема на поврзување на 2x8KВ EPROM и 2x2KВ RAM со ОМП
762 Поврзување на општиот микропроцесор
На секое 8 KB EPROM ИК му се
приклучени 13 адресни линии, поконкретно
пониските 13 водови од адресната
магистрала: А12А11А10, ..., ...А2А1А0. На
секој 2KB RAM мемориски чип, во однос на
EPROM-ите, му се потребни две адресни
линии помалку заради тоа што 2К зборови х 1
В = (2 х 1К) В = (2 х 1024) В = (2^1x2^10) В
= 2^11, или поконкретно 11 адресни линии.
Исто како за EPROM-ите претходно, така и
сега, на RAM чиповите за поврзување на
адресната магистрала ќе ги искористиме
нејзините пониски 11 водови: А10А9, ...,
А2А1А0. За адресирање на некој од 4-те
мемориски компоненти ќе ги користиме
преостанатите 3 повисоки адресни линии на
адресната магистрала: А15А14А13. Со нивно
декодирање ќе ги добиеме 4-те сигнали за
селекција на чип CS1*, CS2*, CS3* и CS4*.
Мемориската мапа на вака
проектираниот МКП систем е прикажана на
сл. 9-1 и со Таб. 9-1.
Сл. 9-1. б) Мемориска мапа на МКП систем со
2x8KВ EPROM и 2x2KВ RAM
Таб. 9-1. Мемориска табела на МКП систем со 2x8KВ EPROM и 2x2KВ RAM
Поврзување на општиот микропроцесор 763
Пример 2 (сл. 9-2): (2KВ EPROM и 2KВ RAM). Да се проектира МКП систем
со ОМП кој ќе располага со 2 KB EPROM и 2 KB RAM. Адресниот простор на
EPROM-от треба да започнува од почетна адреса 0000h, додека првата адреса на
RAM-от треба да биде 6000h. Претпостави дека на располагање стојат соодветни
мемориски чипови кои се бајт-организирани, секој од нив со еднаков капацитет од
по 2 КВ (2 КВ збора х 8 b = 2 KВ збора х 1 B)
Сл. 9-2. а) Логичка шема на поврзување на ОМП со 2x8KВ EPROM и 2x2KВ RAM
Ова значи дека првата адреса како на EPROM, така и на RAM-чипот треба
да биде со следниов облик: xxxx x000 0000 0000. Меѓутоа, во задачата се бара
конкретно за EPROМ-от таа да биде 0000h, додека на RAM-от 6000h. Од тука
произлегува дека повисоките пет адресни битови за EPROМ-от треба да бидат
А15А14А13А12А11=00000, додека за RAM-от А15А14А13А12А11=01010. Така,
почетната адреса на EPROМ-от ќе биде 0000 0000 0000 0000 (=0000h), а после-
дната 0000 0111 1111 1111 (=07FFh), додека RAM-блокот мемориски локации ќе
започнува од адреса 0110 0000 0000 0000 (=6000h), па сѐ до неговата последна
адреса 0110 0111 1111 1111 (=67FFh). Таблицата со мемориски адреси е
прикажана како таб. 9-2 додека мемориската мапа на сл. 9-2.
Битови на адресната магистрала
N3 N2 N1 N0 HEX
Мемориски ИК -а А А А А А А А А А А А А А А
А9 А8 Адреса
/капацитет 15 14 13 12 11 10 7 6 5 4 3 2 1 0
Почетна адреса на
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H
EPROM
Крајна адреса на
0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 07FFH
EPROM
Почетна адреса на
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6000H
RAM
Крајна адреса на
0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 67FFH
RAM
Таб. 9-2. Мемориска табела на МКП систем со 2x8KВ EPROM и 2x2KВ RAM
Сл. 9-3. а) Логичка шема на поврзување на ОМП со мемориски систем со 2KB EPROM и
2KB RAM
Селекцијата на EPROM-от ќе биде со почетна адреса 0ххх х000 0000 0000 и
крајна адреса 0ххх х111 1111 1111, додека селекцијата на RАM-от ќе биде со
почетна адреса 1ххх х000 0000 0000 и крајна адреса 1ххх х111 1111 1111.
766 Поврзување на општиот микропроцесор
Табелата продолжува
Поврзување на општиот микропроцесор 767
Продолжение на табелата
Битови на адресната магистрала
N3 N2 N1 N0 HEX
Мемориски ИК-а А А А А А А А А А А А А А А
А9 А8 Адреса
/капацитет 15 14 13 12 11 10 7 6 5 4 3 2 1 0
1) Почетна адреса
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000H
на RAM /2 КВ
Крајна адреса на
1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 87FFH
RAM
2) Почетна адреса
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 8800H
на RAM /2 КВ
Крајна адреса на
1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 8FFFH
RAM
… …
15) Почетна адреса
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 F000H
на RAM/2 КВ
Крајна адреса на
1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 77FFH
RAM
16) Почетна адреса
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 F800H
на RAM/2 КВ
Крајна адреса на
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FFFFH
RAM
Таб. 9-3. Мемориска табела на МКП систем со 2KB EPROM и 2KB RAM
Сл. 9-4. Логичка шема на посебно адресирана излезна порта со адреса 86H која е
целосно декодирана
Селекциони влезови Активен
Селекција на декодерско ИК Хекса Адреса
до декодерот излез
А7 А6 А5 А4 А3 А2 А1 А0 Излезна Порта Y6
1 0 0 0 0 1 1 0 86Н 0
Сл. 9-5. Логичка шема на мемориски пресликано адресирана влезна порта со адреса
0084H која е апсолутно декодирана
770 Поврзување на општиот микропроцесор
Сл. 9-6. а) Логичка шема на издвоено адресирана излезна порта со адреса F0H која е
апсолутно декодирана
И кај двете логички шеми се декодираат сите 8 адресни линии што значи
дека и за двата примери станува збор за апсолутно адресно декодирање.
Табелата 9-6 прикажува како може на едноставен начин да се одредат
конкретните адреси и на двете порти. За слика 9-6. а) декодерот ќе биде
селектиран само ако G0=A7=1, G2*=0 што ќе се случи кога неговите три влеза се
на високо, т.е. кога А6А5А4=111 и G1*=A3=0. Последните три бита на адресата
A2A1A0 се поврзани на адресните влезови на декодерот АВС, а бидејќи излезната
порта, лечот 74х373 е поврзан на излезот Y0, јасно е дека ови три најниски бита
треба да бидат нули, т.е. A2A1A0=АВС=000. Така се добиваат сите 8 адресни
битови на портата: 11110000 = F0H.
Селекциони влезови Хекса Активен
Сл. Селекција на декодерско ИК
до декодерот Адреса излез
Излезна
А7 А6 А5 А4 А3 А2 А1 А0
Порта
9-6 а) 1 1 1 1 0 0 0 0 F0Н Y0
9-6 б) 0 1 1 1 1 0 0 0 78H Y0
Таб. 9-6. Табела на В/И адреси за логичките шеми од сл 9-6 а) и сл 9-6 б)
Што се однесува до слика 9-6. б) може да се спроведе слична анализа
после која што се заклучува дека декодерот ќе биде селектиран само ако
G1*=А7=0 и G2*=0 што ќе биде исполнето само ако сите четири влезови во НИ
колото кои се всушност адресните водови А6А5А4А3 да бидат на високо напонско
ниво на логичка нула А6А5А4А3=1111. Имајќи предвид дека најниските три
адресни битови A2A1A0 се поврзани на адресните влезови на декодерот АВС, на
нив ќе треба да се донесат сите нули. Имено, од сликата е видливо дека и во овој
пример излезната порта, лечот 74х373 е поврзан на излезот Y0, па заради тоа е
јасно е дека битовите A2A1A0=АВС треба да бидат нули A2A1A0=АВС=000.
Конечно, осумте адресни битови на портата ќе бидат: 01111000 = 78H.
772 Поврзување на општиот микропроцесор
Сл. 9-6. б) Логичка шема на издвоено адресирана излезна порта со адреса 78Н која е
апсолутно декодирана
Доколку имаме потреба да испратиме некој податок до овие излезни порти
можеме да ги користиме претходните две асемблерски инструкции во кои ќе
треба 1) во акумулаторот да внесеме конкретен податок, т.е. бајт кој како податок
ќе биде испратен до излезната порта и 2) да ја напишеме адресата на
соодветната порта. Така на пр. со следните два реда асемблерски код на
излезната порта од сл. 9-6. а) испраќаме податок 55Н, додека со другите две
редици до излезната порта, дадена на сл. 9-6. б) го пренесуваме бајтот 44Н.
... ...
MVI A, 55Н MVI A, 44Н
OUT F0Н OUT 78Н
… …
а) б)
Сл. 9-7. Логичка шема на мемориски мапирани делумно декордирани излезни порти со
адреси а) ххF0H и б) хх78Н
Кога станува збор за испраќање на податок до мемориски пресликани
излезни порти, а при тоа имајќи го предвид претходниот пример, првата
асемблерска инструкција треба да остане иста, но втората треба да се замени со
инструкцијата STA 00F0H за првата слика, односно со инструкцијата STA 0078H за
втората слика. Така, двете асемблерски инструкции за сл. 9-7. а) и сл. 9-7. б)
последователно ќе бидат:
... ...
MVI A, 55Н MVI A, 44Н
STA 00F0Н STA 0078Н
… …
Што се однесува до мемориски пресликаните В/И порти и декодирањето на
нивните адреси не треба да забораваме дека со вклучувањето на контролниот
сигнал за контрола на запишување во меморија MWR*, “во игра“ се вклучени и
преостанатите осум високи адресни линии од А15 до А8, што значи сите 16
адресни водови. Бидејќи во претходната шема, повисоките осум адресни водови
воопшто не ги искористивме и ги оставивме слободни, со ваквата промена
добивме делумно (парцијално) декордирање на излезните порти и т.н.
мултиплициран адресен простор. Имено, како последица од неповрзувањето на
повисоките адресни линии, треба да знаеме дека првата порта може да се
адресира со било која од 256-те можни бинарни комбинации кои може да се
добијат на повисокиот адресен бајт почнувајќи од А15А14А13А12А11А10А9А8
=00000000, па се до последната комбинација А15А14А13А12А11А10А9А8 =
=11111111, или во хекса-децимално означување тоа се 256-те адреси од 00F0H до
FFF0H. Слично, и втората излезна порта зафаќа мултиплициран адресен простор
со иста должина, а тоа се повторно 256-те адреси кои за неа почнуваат од
адресата 0078H па се до FF78H. Практично земено, секоја посебно од овие две
В/И порти сокрива адресен простор за 256 мемориски локации. Секој од нив
служи за адресирање на само по една излезна порта чија почетна адреса на
првата порта е 00F0H па се до 256-та адреса FFF0H, односно почетна адреса на
втората порта е 0078H, па до последната 256-та адреса FF78H.
774 Поврзување на општиот микропроцесор
Пример 8 (Сл. 9-8): Издвоено адресирање на излезнa портa со адреси 80H, 88H,
90H и 98H и со парцијално декордирање на адресите.
Слично на претходниот пример, излезниот леч се селектира со НИ коло со
два влеза: првиот влез е излениот сигнал Y0 од декодерот 74х138, додека втората
влезна линија е контролниот сигнал за запишување во излезна порта IOWR*.
Ваквото поврзување на оваа излезна порта повторно укажува на стандарден
(издвоен, посебен или изолиран) начин на мапирање на портата, но сега се
работи за нејзино парцијално адресирање. Имено, сега селектирањето на
декодерското коло се изведува без да се користат сите осум адресни линии што
претставува многу важна разлика во однос на претходниот пример. Поконкретно,
сега двe од осумте адресни водови, а тоа се А4 и А3, се слободни. Оставањето на
овие две линии да бидат неповрзани овозможува адресирање на оваа излезна
порта со четири адреси бидејќи декодерот ќе биде селектиран за било која нивна
комбинација во адресниот бајт А7А6А5А4А3А2А1А0=100хх000, односно за било
која од следниве четири адреси: 10000000=80Н, 10001000=88Н, 10010000=90Н и
10011000=98Н. Ова претставува нееднозначно селектирање на една периферна
порта и појава на четири мултиплицирани адреси.
Сл. 9-8. Логичка шема на мемориски мапирани делумно декордирани излезни порти со
адреси: 80Н, 88Н, 90Н, 98Н.
Сл. 9-9. Логичка шема на издвоено (посебно) мапирани апсолутно декодирани адреси
(влезна порта на адреса 81H и излезна порта на адреса 82H)
776 Поврзување на општиот микропроцесор
RLC
ANI F0 ;go maskirame niskiot
nibl na A(najniski 0000
MOV C, A ; ja prenesuvame
sodrz. na Acc vo reg.C
LDA 2200 ; ja zemame niskata
BCD cifra na brojot od
memorija vo Acc
ADD C ; niskata cifra ja
dodavame na visokata.
STA 2300 ; go memorirame
dobieniot spakovan
BCD format na brojot
HLT ; Zastani
Програмирање на општ микропроцесор 787
Адреса на Содржина на
мем. локација мемориска локација
Висока BCD-цифра Ниска BCD-цифра
2300 bH3 bH2 bH1 bH0 bL3 bL2 bL1 bL0
На сл. 10-1 б) Спакован BCD формат на две NBCD цифри
Објаснување:
Оваа програма е подобрување на претходната бидејќи одзема два броеви и ако
намалителот е поголем од намаленикот. Тогаш кога тоа ќе се случи доаѓа до
појава на позајмување што треба да биде сигнализирано на одреден начин. Во
примерот повторно се разгледуваат двате броеви кои се сместени на мемориските
локации 3000H и 3001H.
- Да претпоставиме дека операндот, кој е зачуван на мемориската локација
3000H е 05H, a на локацијата 3001H е 02H.
- Првично, во H||L парот ќе се смести адресата на првата мемориска
локација.
- Првиот број се пренесува од мемориската локација 3000H во акумулаторот,
а содржината на H||L парот се зголемува за 1 за да покажува на следната
мемориска локација.
- Вториот операнд се пренесува од мемориската локација 3001H во
регистерот B.
- Регистерот C се иницијализира на 00H бидејќи во него се сместува
позајмувањето ако тоа се појави.
- Двата броеви кои се внесени во регистерот А и B се одземаат и резултатот
се сместува во акумулаторот А.
- Потоа, се проверува знаменцето за пренос кое го сигнализира
позајмувањето кога тоа ќе се појави, т.е. кога намалителот ќе биде поголем
од намаленикот. Ако тоа се случи ќе има позајмување и тогаш содржината
на регистерот C се зголемува за 1, т.е. станува 1. Ако нема позајмување
содржината на регистерот C останува непроменета, т.е. останува 0.
- Содржината на H||L парот се зголемува за 1 и разликата како резултатот од
акумулаторот се запамтува во мемориската локација 3002H.
- H||L парот повторно ја зголемува за 1 својата содржина со што сега
поинтира на мемориската локација 3003H,
- Позајмувањето, кое се наоѓа во регистерот C, независно дали е 0 и го нема,
или е 1 зарди тоа што постои, се пренесува во мемориската локација
3003H.
Програмирање на општ микропроцесор 791
Разликата FDH сега е точна бидејќи неговата вредност FDH сега се “гледа“ како
негативен број во втор комплемент, а тоа е – 3dec. Имено, сега се третира и
знаменцето за пренос CY, кое покажува позајмување и воедно дека добиениот
резултат треба да се зема како негативен број во втор комплемент.
Објаснување:
- Оваа програма споредува два броеви кои се влезни податоци и да го најде
помалиот од нив.
- По споредбата, помалиот од двата броеви треба да биде во акумулаторот. Кога
ќе се ноѓа таму, од акумулаторот се пренесува во меморијата.
- Ако НЕ е во акумулаторот, тогаш прво тој се внесува во акумулаторот, а потоа
од таму, се запамтува во меморијата.
- Да претпоставиме дека првиот број е 25H и тој зачуван во мемориската локација
чија адреса е 4000H е 25H, а тој што е зачуван во локацијата 4001H е 15H.
- Првично, во H||L парот се внесува адресата 4000H на првата мемориска
локација.
- Првиот податок од таа мемориска локација (4000H) со индиректно адресирање
преку рег. пар H||L како мемориски покажувач се сместува во акумулаторот
- Содржината на H-L парот се зголемува за 1 за да покажува на следната
мемориска локација, 4001H.
- Вториот број од оваа адресата на мемориска локација зголемена за 1, 4001H, се
внесува во регистерот B.
- Двата броеви се споредуваат по што се проверува знаменцето за пренос CY:
- ако има пренос (CY = 1) тогаш бројот во акумулаторскиот регистер А е
помал од бројот во регистерот В (A < B) и тој број се запамтува во меморијата,
- ако нема пренос (CY = 0) тогаш бројот во акумулаторскиот регистер А е
поголем од бројот во регистерот В (A > B) и бројот од В треба да се пренеси во А,
- Содржината на меморискиот поинтер, на H||L парот се зголемува за 1,
- Бројот кој се наоѓа во акумулаторот се запамтува во мемориската локација
3002H адресирана со регистерскиот пар H||L.
794 Програмирање на општ микропроцесор
Блок дијаграм
Пример 12: (“Пронајди бајт!“) Решението на оваа задача треба да биде програм
кој ќе пронајде еден 8-битен број (бајт) во низа од 50 броеви кои се запамтени во
меморијата во мемориски локации со последователни адреси започнувајќи од
адресата 2000Н. Ќе претпоставиме дека бројот кој го бараме веќе се наоѓа во
регистерот B. Покрај тоа, во мемориските локации со адреси 2200H и 2201H треба
да се зачува и адресата на саканиот број. Ако пронајдениот број не е пронајден,
тогаш во мемориските локации 2200H и 2201H, ќе треба да се запише 00Н.
Блок дијаграм
804 Програмирање на општ микропроцесор
Tsn = [10+(1022)x24+21]Ts=24559Ts
Имајќи предвид дека работната фреквенција на општиот микропроцесор е
f0=1MHz, времето потребно за една Т–состојба ќе биде е 1μs (Ts = T0 = 1/1MHz =
1μs). Според ова, вкупното време потребно за да се изврши дадената програма ќе
се добие кога вкупниот број на Т-состојби се помножи со времетраењето на една
Т–состојба а тоа е 1μs:
Прилог Б-1
Прилог Б-2
Прилог Б-3
Асемблерските директиви или т.н. псеудо-инструкции не генерираат
извршни инструкции во машински код, туку го насочуваат асемблерот да изврши
одредена операција. Асемблерските директиви се инструкции до асемблерот, кои
се во врска со програмата што во моментот се асемблира. Тие не се преведуваат
во машински и нив не им се доделуваат мемориски локации во објектниот фајл.
Продолжение на табелата
Табелата продолжува
Продолжение на табелата
Библиографија:
1. Сервини, Ј. (2008). Импулсна и дигитална електроника I (прв дел), трето
издание, Просветно дело.
2. Сервини, Ј., Дужевиќ, М. (2008). Импулсна и дигитална електроника II (втор
дел), четврто издание, Просветно дело.
3. Сервини, Ј., Сервини, Ж. (2010). Дигитална електроника и микропроцесори,
Министерство за образование и наука на Република Македонија.
WEB-ографија:
1. D. K. Kaushik. (2010) AN INTRODUCTION TO MICROPROCESSOR 8085. Dhanpat Rai
Publishing co., New Delhi, India.
https://www.researchgate.net/publication/264005162_An_Introduction_to_Microprocessor_8085
5. Microprocessor Fundamentals.pdf
https://www.pdfdrive.com/microprocessor-fundamentalspdf-d41485263.html
2. https://www.nexperia.com/products/analog-logic-ics/control-logic/
3. https://www.onsemi.com/PowerSolutions/taxonomy.do?id=612