Académique Documents
Professionnel Documents
Culture Documents
PROGRAMABILE
Curs 2014: Facultatea E.T.T.I. Iai, Secia E.A.
PREFA
Iai,
12 octombrie 2014
Cuprins
Capitolul 1 Automate programabile cu prelucrare pe bit (APB)............................ 1-1
1.0. Introducere.. 1-1
1.1. Noiuni fundamentale............................................................................ 1-2
1.1.1
Structura i funcionarea unui sistem de calcul..................... 1-2
1.1.2
Limbaje de programare. Tipuri de limbaje. ............................. 1-6
1.1.3
Asamblorul microprocesorului pe 8 bii, Intel 8080................ 1-8
Caracteristicile unui asamblor............................................. 1-8
Pseudoinstruciuni................................................................. 1-10
1.2. Componentele unui APB 1-12
1.2.1. Procesorul MC 14500B (MMC 4500) 1-12
1.2.2. Numrtorul de program P 14104.. 1-16
1.2.3. Circuitul multiplexor P 14151... 1-20
1.2.4. Circuitul demultiplexor P 14113.. 1-21
1.3. Realizarea programelor pentru un APB.... 1-22
1.3.1. Prelucrarea logic a datelor.. 1-22
1.3.2. Validarea intrrilor i ieirilor unui APB 1-24
1.3.3. Ramificaiile ntr-un program. 1-26
1.3.4. Aplicaii complexe 1-29
1.3.5. Temporizrile ntr-un APB........ 1-35
1.4. Structuri de APB 1-40
1.4.1. Generaliti 1-40
1.4.2. Unitate logic n tehnic de acumulator... 1-40
1.5. Interfaarea automatelor cu prelucrare pe bit.. 1-43_47
Capitolul 2 Teoria automatelor ....... 2-1
2.1. Automate. 2-1
2.2. Automate conexe... 2-5
2.3. Stri interne echivalente2-6
2.4. Automate echivalente 2-9
2.5. Automate incomplet definite. 2-15
2.6. Reprezentarea automatelor..2-16
2.6.1. Organigrama funcional .. 2-16
2.6.2. Graful de fluen . 2-17
2.6.3. Tabelul de adevr .. 2-18
2.6.4. Matricea de conexiuni 2-20
2.6.5. Matricea de tranziii. .......................... 2-19
2.7. Stri compatibile 2-20
2.8. Exemplu de sintez2-21_27
Capitolul 3 Arii logice programabile ........ 3-1
3.1. Suport teoretic ... 3-1
3.2. Arhitectur intern, funcionare, utilizare .. 3-3
3.3. Exemplu ..3-7_9
Capitolul 4 Microprogramarea ......... 4-1_3
Capitolul 5 Automate programabile algoritmice (APA)......... 5-1
5.1. Introducere . 5-1
5.2. Memoriile ntr-un APA .. 5-2
5.3. APA cu memorie n format fix . 5-7
5.3.1. APA cu un cmp conexiune stare 5-7
5.3.2. APA cu dou cmpuri conexiune stare ..................... 5-8
C-1
5.4.
5-9
5-10
5-11
5-11
5-13_16
C-2
Capitolul 1
Automate programabile cu prelucrare pe bit (APB)
1.0. Introducere
Problemele de automatizare discontinu au fost tratate pe baza logicii cu relee
electromagnetice, folosindu-se limbajul logicii releelor. Utilizarea circuitelor cu
semiconductoare a marcat nlocuirea releelor folosind logica static asincron bazat pe
interconectarea elementelor logice ca pori logice, numrtoare, temporizatoare, registre
de deplasare, etc .
O caracteristic important a numeroase sisteme de comand, indiferent dac sunt
realizate cu relee sau cu circuite tranzistorizate, const n aceea c ele comand elemente
ca relee, bobine, electrovalve, contactoare, lmpi, etc i c semnalele de intrare ce se
prelucreaz provin de la limitatoare de curs, butoane cu revenire, detectoare diverse.
Att intrrile n sistemul de comand al unei automatizri, ct i ieirile ce controleaz
elementele de execuie din procesul tehnologic automatizat, transfer semnale binare
corespunztoare celor dou stri logice posibile notate prin 0 i 1. La ndeplinirea
funciei sale, blocul de comand realizeaz legtura ntre anumite intrri i ieiri printr-o
logic de tipul: Dac limitatorul de curs L este acionat i contactul K este nchis, atunci
motorul M va fi pornit .
ntr-o comand, prelucrrile necesare asupra informaiilor receptate, impun
interconectarea unor elemente logice pe baza unei sinteze logice. Astfel, fiecare aplicaie
necesit un bloc de comand realizat n logic cablat, prin interconectarea de circuite
integrate digitale, care nglobeaz mult manoper n proiectarea, testarea i realizarea
sa, iar modificarea aplicaiei impune realizarea unui nou bloc de comand. Rezult c o
comand n logic cablat nu are flexibilitate deoarece controleaz o aplicaie unic.
Pentru eliminarea acestui neajuns major s-au creat blocuri de comand programabile
ce pot deservi o larg categorie de aplicaii, caracterizate prin flexibilitate i numite
automate programabile. Automatele programabile au o mare capacitate de prelucrare
logic, se programeaz uor i sunt adaptate automatizrilor discontinui.
Comanda unei automatizri se poate face i cu sisteme de calcul puternice, dar
acestea sunt scumpe i necesit personal de nalt calificare.
Astfel, a aprut necesitatea unor blocuri de comand care s opereze la un moment
dat cu o singur intrare, sau o singur ieire, numite automate programabile cu prelucrare
pe bit (APB).
Avnd o arhitectur intern simplificat i un set redus de instruciuni, un APB
realizeaz prelucrri simple de date, n principal logice, fiind ns capabil s controleze
ntr-o siguran funcional ridicat un numr mare de intrri i ieiri de un bit, asociate
aplicaiei controlate.
Un APB este realizat n jurul unor magistrale la care se conecteaz intrrile i ieirile
prin circuite de interfa, unitatea central de operare (procesare), notat CPU (=Central
Processing Unit) i memoria, fapt ce sugereaz structura unui sistem de calcul, de care se
deosebete ns prin setul redus de instruciuni.
La un APB execuia programului utilizator este ciclic, fapt ce a determinat
renunarea la funcionarea n ntreruperi. Derularea ciclic rapid a unui program liniar
(fr salturi napoi), permite sesizarea evenimentelor dintr-un proces lent la puin timp
dup ce apar, fr riscul pierderii de informaie sau alterare a procesului controlat.
n acest capitol ne vom referi la automate programabile cu prelucrare pe cuvinte de
un bit, notate APB, avnd un numr de 16 instruciuni, fiecare codificat pe cte un cuvnt
i executat ntr-un ciclu de main cu durata unei perioade de tact ce ncepe cu frontul
cztor de citire a instruciunii a crei execuie va avea loc pe frontul cresctor de la
jumtatea perioadei.
1-1
microprocesor prin numrul su de ordine numit adres, n vederea efecturii unei operaii
de scriere, sau de citire. O astfel de locaie este format din celule, n fiecare celul a
locaiei memorndu-se doar un bit din cuvntul nscris n locaie. Ca urmare, locaiile unui
sistem cu microprocesor sunt formate dintr-un numr de celule egal cu numrul de bii ai
cuvintelor pe care opereaz sistemul.
Locaiile sunt distribuite n toate circuitele sistemului a cror funcionare presupune
transferuri de cuvinte binare, iar circuitele a cror singur funcie este de a pstra cuvinte
binare sunt numite circuite de memorie, ce se caracterizeaz prin capacitatea de
memorare exprimat prin numrul de locaii, sau numrul de bii coninui. Totalitatea
circuitelor de memorie dintr-un sistem de calcul formeaz memoria sistemului, a crei
capacitate de memorare, n locaii, sau n bii, este dat de suma capacitilor circuitelor
de memorie coninute.
Transferul de cuvinte binare ntre locaiile sistemului i registrele microprocesorului,
se realizeaz n ambele sensuri, printr-un grup de trasee numit MAGISTRAL DE DATE
(=DATA BUS), transferul fiind de tip paralel, n sensul c toi biii unui cuvnt sunt
transferai simultan, fiecare bit fiind transferat pe cte un traseu distinct.
Pentru transferul unui cuvnt binar cu o locaie a sistemului, procesorul trebuie s
identifice locaia prin numrul su de adres, transferul datei realizndu-se efectiv pe
durata identificrii, cnd locaia este conectat la magistrala de date. Rezult c simultan
cu datele trebuie transferate i numerele de adres, transferul numerelor de adres
fcndu-se tot n mod paralel, dar pe alt grup de trasee, numit MAGISTRAL DE
ADRESE (=ADDRESS BUS), ce este o magistral unidirecional n sensul c numerele
de adres sunt transferate numai de la microprocesor ctre circuitele sistemului, deoarece
doar microprocesorul, ca unic element de control al sistemului, poate genera numere de
adres. n vederea generrii i transferrii de numere de adres, microprocesorul dispune
de un numr de locaii doar pentru numere de adres, numite registre de adrese.
n sistemul pe care-l controleaz, microprocesorul apeleaz la circuitele sistemului
numai pentru a efectua cu locaiile de care acestea dispun transferuri de cuvinte, o adres
de locaie transferat pe magistrala de adrese realiznd, att identificarea circuitului
locaiei, numit selecie, ct i identificarea locaiei n circuitul selectat, numit adresare.
Transferul unui cuvnt fcndu-se ntre microprocesor, caracterizat printr-o vitez
mare de operare, i un circuit al sistemului, ce este mai lent ca microprocesorul, sunt
necesare semnale logice de comand i control ce s asigure sincronizarea circuitelor pe
durata transferului, aceste semnale fiind transferate n paralel pe alt grup de trasee numit
MAGISTRAL DE COMAND I CONTROL, ori simplu MAGISTRAL DE CONTROL
(=CONTROL BUS).
Definiie
Un transfer de date, sincronizat cu semnale de comand i control, se numete
transfer handshaking (handshake=strngere de mn).
Fiecare circuit a crui funcionare presupune transferuri handshaking dispune de o
logic de comand i control ce se conecteaz la magistrala de comand i control a
sistemului creat de blocul de comand i control din microprocesor.
Rezult c orice circuit al sistemului, a crui funcionare presupune transfer de date,
se conecteaz la toate cele trei magistrale, create de microprocesor pentru a controla
sistemul: magistrala de date, magistrala de adrese i magistrala de comand i control.
Transferul de date cu exteriorul sistemului de calcul se face prin echipamente
specializate numite ECHIPAMENTE PERIFERICE (=PERIPHERALS) care se conecteaz
la sistem prin intermediul unor circuite prevzute sistemului, numite CIRCUITE DE
INTERFA INTRARE / IEIRE (=INPUT/OUTPUT INTERFACE).
Arhitectura unui sistem de calcul este prezentat n fig.1-1.1.
Rezolvarea unei probleme complexe pe un sistem de calcul, presupune
1-3
MICROPROCESSOR
(CENTRAL UNIT)
DATA BUS
ADDRESS BUS
CONTROL BUS
OTHER CIRCUITS
MEMORY
INTERFACE
INPUT / OUTPUT
...
INTERFACE
INPUT / OUTPUT
COMPUTING SYSTEM
PERIPHERAL
1
PERIPHERAL
k
Address
Address
RAM MEMORY
& TIMERS
PROGRAM
MEMORY
Data
Data
I0
O0 ...
On
Ik
INPUT
...
OUTPUT
DATA BUS
Data
Registers
PC
(Program Counter)
Incrementer Register
(PCPC+1)
IR (=Instruction
Register)
DECODER
Address Registers
Observaie
CONTROL MEMORY lipsete
dintr-o unitate centrala cu un singur
nivel de programare.
Internal
Control
CONTROL BLOCK
Address Buffer
Address
CONTROL MEMORY
(microprograms)
Data
CONTROL LOGIC
LOGIC
UNIT
A
(=RR)
CENTRAL UNIT
Control
Command
CONTROL BUS
efect n obinearea programului obiect. Rolul comentariilor este doar de a permite uoara
nelegere a programelor.
Pentru realizarea de comentarii eficiente se recomand:
comentariile s fie scurte, precise i fr abrevieri;
n comentariu se va arta funcia ndeplinit n aplicaie i nu modul cum unitatea
central de operare execut instruciunile;
se vor comenta punctele cheie ale programului i instruciunile a cror semnificaie
nu este evident;
comentariile se fac pe instruciuni i pe secvene de instruciuni;
se vor comenta detaliile semnificative.
Cmpul operand, numit i cmp adres, este cmpul al crui coninut este lsat la
dispoziia programatorului, asamblorul impunnd n acest cmp urmtoarele:
a) Registrele interne ale unitii centrale s fie indicate printr-o notaie impus;
b) Un numr ce reprezint un operand, sau o adres, poate fi indicat ntr-o
instruciune n limbaj de asamblare n sistemele binar, octal, hexazecimal, indicate prin
literele B, Q i respectiv H adugate la sfritul numrului, n timp ce un numr neurmat de
o liter este interpretat de asamblor ca exprimat n baza zece. Deoarece asamblorul
impune ca un numr s nceap obligatoriu cu o cifr, forma hexazecimal de exprimare a
unui numr, al crui prim caracter este o liter, va fi obligatoriu precedat de cifra 0 (zero).
Exemplu
ORA 00000011B ; A A+00000011B : ORA=or with A (=registru acumu; lator), 00000011B=operand indicat n baza 2, pe 8 bii
MOV A,47H
; A 4716(=n baza 16)=01000111B : MOV=to move
MOV A,0F0H
; A F016=11110000B
MOV A,147Q
; A 1478(=n baza 8)=01100111B
STA 1087
; (108710) A : STA= store A, (108710)= coninutul lo; caiei cu adresa indicat ntre paranteze, n baza 10
c) Un operand sau o adres pot fi expimate prin coduri ASCII (= American Standard
Code for Interchange Information) ale unor caractere, fapt recunoscut de asamblor prin
ncadrarea grupului de caractere ASCII ntre apostrofuri.
Exemplu
MOV H,K
; H (=registru de date din P)cod ASCII al literei K
d) Un operand sau o adres pot fi indicate printr-o notaie simbolic, asamblorul
impunnd ca notaia folosit s fie definit anterior instruciunii unde-i folosit, printr-o
pseudoinstruciune specific, cum ar fi cea de egalitate, cu mnemonicul EQU (=Equal).
Exemplu
NAME : EQU 5
; Se definete NAME = 510 = 00000101B
.
MOV D,NAME
; D(=registru de date din P)NAME = 510 =00000101B
e) Un operand poate fi indicat prin adresa locaiei unde se afl pus ntre paranteze,
adres indicat prin relaia de adunare ntre un numr exprimat ntr-o form acceptat de
asamblor, numit deplasament, i coninutul, simbolizat prin $, al numrtorului de locaii al
asamblorului, numrtor ce are o funcionare similar cu a registrului numrator de adrese
PC (=Program Counter) al unitii centrale de operare.
Exemplu
MOV ($+0E1H), A ; cuvntul din registrul A e ncrcat n locaia a crei
; adres este rezultatul expresiei: $+E116
f) Un operand poate fi indicat prin punerea ntre paranteze a adresei locaiei unde se
afl, adres indicat printr-o expresie complex ntre mrimi exprimate ntr-o form
acceptat de asamblor. ntr-o astfel de expresie, asamblorul va efectua nti operaiile
dintre paranteze, restul operaiilor fiind efectuate ntr-o ordine de prioritate impus de
asamblor, operaiile cu aceeai prioritate fiind efectuate n ordinea n care apar de la
1-9
Pseudoinstruciuni
limba englez.
n locaiile rezervate cu aceast pseudoinstruciune, se vor depune ulterior date.
e) Pseudoinstruciunea cu simbolizarea:
ETICHET: DB operand; comentarii ,
comand asamblorului s depun cei maxim 8 octei indicai n cmpul operand ntr-o
form acceptat de asamblor, i n ordinea n care apar de la stnga spre dreapta
cmpului operand, n locaii succesive de memorie, ncepnd cu adresa aflat n
numrtorul de locaii al asamblorului, i s atribuie notaiei din cmpul etichet, ca
valoare, adresa de depozitare a primului octet, operaie numit definire octet i avnd
mnemonica DB stabilit dup denumirea Define Byte dat operaiei n limba englez.
f) Pseudoinstruciunea cu simbolizarea:
ETICHET: DW OPERAND; comentarii ,
comand asamblorului s depun cele maxim 8 cuvinte din cmpul operand, fiecare
cuvnt format din cte doi octei, indicai ntr-o form acceptat de asamblor, ncepnd cu
octetul de pondere minim, n locaii succesive de memorie, pornind de la adresa aflat n
numrtorul de locaii al asamblorului i n ordinea n care octeii apar de la stnga spre
dreapta cmpului operand, i s atribuie notaiei din cmpul etichet, ca valoare, adresa
de depozitare a primului octet, operaie numit definire cuvnt i avnd mnemonica DW,
dup denumirea Define Word dat acestei operaii n limba englez.
g) Pseudoinstruciunea cu simbolizarea:
ETICHET: END operand; comentarii ,
semnaleaz sfritul programului surs n limbaj de asamblare i comand asamblorului
s atribuie notaia din cmpul etichet, ca valoare, adresa indicat n cmpul operand ntro form acceptat de asamblor i s ncarce aceast adres n registrul numarator de
adrese PC al microprocesorului, astfel trecndu-se la executarea programului pornind de
la aceast adres. Necompletarea cmpului operand semnific faptul c adresa de
nceput a programului este zero.
Exemplu
ETICHET: SIMBOLIZARE;
COMENTARII
(Mnemonic+Operand)
CANRAS: ORG 1000H ;
CANRAS=1000H (= adresa primului cuvnt
din program): CANRAS=titlul programului.
CONST: EQU 0F0H;
CONST=F0H= valoare ce nu poate fi redefinit
NAME: SET B;
NAME=Cod ASCII al literei B=valoare ce
poate fi redefinit
(1000H) 10H i CANRAS=1000H
DB 10H ;
(1001H) 00H ; (1002H)10H
DW 0010H ;
CLOCK: DS 1 ;
rezervare locaie cu adresa 1003H=CLOCK
AC ; (1004H) MOV A,C
MOV A,C ;
apel la adresa 5100H; (1005H)CALL;
CALL 0051H ;
(1006H)51H; (1007H)00H
BLOCK: ORG 5100H ;
programul se continu la adresa 5100H=
=BLOCK ce se transfer n numrtorul de
locaii al asamblorului
AA+NAME = A+B
ADI NAME ;
(5100H)ADI ; (5101H)NAME=B
.
PC1004H ; programul surs se ncheie cu
END 1004H ;
declanarea execuiei programului de la
instruciunea MOV A,C aflat n memorie, la
adresa 1004H.
1-11
Observaii
(1) Cnd n cmpul operand al unei pseudoinstruciuni, sau instruciuni, se folosete
o notaie, aceast notaie trebuie definit anterior n program cu o pseudoinstruciune
specific.
(2) ntr-o instruciune, o adres neetichetat va fi indicat printr-o expresie de
adunare ori scdere a unei constante dintr-o etichet din program, astfel reducnd
numrul de etichete folosite ce pot fi astfel sugestive.
(3) Un program n limbaj de asamblare este cuprins ntre pseudoinstruciunile
ORIGIN i END.
(4) Orice limbaj de asamblare conine pseudoinstruciunile prezentate, eventual cu
alte mnemonice.
WRITE
DATA
DATA BUS
OEN
D
EO
CLK
IEN
EI
CLK
STO
STOC
CLOCK
LOGIC
UNIT
MUX
X1
D
X2
OSC
CLK Q
RR
CONTROL
DECODER
+5V
IR (=Instruction
Register)
Vcc
I3
I1
RR
STO
STOC
I2
I0
RESET
0V
RST
GND
16 -
Vcc
15 - RR
DATA - 3
14 -
X1
13 -
X2
I3 - 4
I2 - 5
I1 - 6
I0 - 7
GND - 8
MC 14500B
WRITE - 2
12 - JMP
11 - RTN
10 - FL0
9 - FLF
jumtatea tactului CLOCK, iar oscilatorul este blocat n starea CLOCK= 1. La revenirea
n starea RST=0 amorsarea oscilaiilor are loc n circa 100 ns. Se poate folosi un tact
extern de nivel TTL ce trebuie aplicat la intrarea X1 , cu intrarea X2 conectat la mas.
Codificarea binar pe n bii a unei instruciuni are mrimea unei locaii din memoria
program i este compus din dou cmpuri de bii: cmpul instruciune din 4 bii, ce
codific operaia din instruciune, i cmpul de adres operand din n-4 bii, ce conine
adresa locaiei sistemului unde se afl al doilea operand, a crui mrime este impus de
complexitatea sistemului (fig.5-1.2).
cmp
instruciune
(4 bii)
cmp adres
operand
(n-4 bii)
Descriere sintetic
Codificare
binar
Mnemonic Adres
NOP0
0000...
LD
addr
0001.addr
LDC
addr
0010.addr
AND
addr
0011.addr
ANDC
addr
0100.addr
OR
addr
0101.addr
ORC
addr
0110.addr
FL01
RR(addr)
RR (addr )
RRRR(addr)
RRRR (addr )
RRRR+(addr)
RRRR+ (addr )
XNOR
STO
STOC
IEN
OEN
JMP
RTN
SKZ
NOPF
RR RR (addr)
(addr)RR
(addr) RR
IEN(addr)
OEN(addr)
JMP1 PCaddr
RTN1 PC RTi (=vrf stiv)
If RR=0 skip next instruction
FLF1
addr
addr
addr
addr
addr
addr
0111.addr
1000.addr
1001.addr
1010.addr
1011.addr
1100.addr
1101...
1110...
1111...
1-14
Oi { O0 ,O1,...,Ok } este adresa unui bit de ieire din sistem, iar un numr de adres pus
ntre paranteze semnific coninutul locaiei cu adresa specificat.
LD Ij ;
LOGIC
UNIT
LDC Ij
AND Ij ; ANDC Ij
OR Ij ; ORC Ij
YEN Ij ;
RR
STO Oi ; STOC Oi
INPUT
OUTPUT
OEN Ij
XNOR Ij
DEMUX
MUX
I0
I1
I2
In
O0 O1 O2
Ok
1-15
Observaii:
- Circuitul PROGRAM COUNTER genereaz
urmtoarea adres din programul n execuie
i efectueaz instruciunile de ramificare.
- M=locaie RAM de 1 bit
PROGRAM
COUNTER
ADDRESS BUS
ADDRESS
ROM
O0 O1
DATA
I0
4 INSTRUCTION
BITS
CONTROL BUS
(FLO, FLF, JMP, RTN, CLOCK, WRITE)
P 14104
I1
I2
Ok
In
MUX
DEMUX
P 14151
RAM &
TIMERS
P 14113
MC 14500
RST
(system reset)
PC
T
MUX 4:1
I3 ...I0
(Address Bus)
INC
O3 ...O0
(to address pins of
Program Memory)
cn+4
cn
RT0
clock X1
JMP JS
RTN RT
CONTROL
(Control Bus)
QSP
RT1
QSP
RST - 1
-
2
3
4
5
O0 - 6
X1 - 7
GND - 8
P 14104
cn
O3
O2
O1
16 - Vcc
15
14
13
12
c n+4
I3
I2
I1
11 - I0
10 - RT
9 - JS
RST
cn
RT
JS
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
Funcie
Descriere
NO OPERATION
INCREMENT
SUBROUTINE CALL
RETURN FROM SUBROUTINE
JUMP
RESET
Simbol
NOP
INC
CALL
RTN
JMP
RST
Memorie Program
Adres
Coninut
OEN IHigh
IEN IHigh
RTi PC+1(=addr+1)
PC addrj
addr-1
addr
CALL addrj
addr+1
STOC Op
addr+2
addr+q
JMP addrk
PC addrk
addr+q+1
addrk
LDC Iv
addrk +1
addrj
LD Mh
addrj +1
ORC Ih
addrj +m-1
STO Mb
addrj +m
RTN
addrj +m+1
subrutin
addrj -1
PC RTi (=addr+1)
RTN
de la sfritul subrutinei, a crei execuie const n transferul n registrul PC a adresei de
revenire, ce este ultima adres salvat n locaia RTi din vrful stivei.
Instruciunea de revenire este descris sintetic prin
- PC (=PC+1) RTi (i = 0,1) = vrful stivei (conine adresa de revenire).
Memoria stiv din dou locaii permite doar dou nivele de subrutine, deoarece, prin
efectuarea a dou apeluri succesive, se ocup ntreaga memorie stiv.
Ultima adres salvat n memoria stiv fiind prima adres ce se va citi, se spune c
stiva este de tipul ultimul intrat - primul ieit, notat LIFO (Last In - First Out).
ntr-un program, saltul la efectuarea instruciunii aflat n memoria program la alt
adres dect cea generat n registrul PC prin incrementare cu 1, se face prin efectuarea
unei instruciuni de salt
JMP addr
a crei execuie const n transferul n registrul PC a adresei addr din cmpul de adres al
instruciunii, operaie descris sintetic prin
- PC (=PC+1) addr
Modul de operare al instruciunilor de ramificare este prezentat grafic n fig.7-1.2.
Microprocesorul, prin semnalele aplicate la terminalele RT i JS ale circuitului
numrtor de program, determin funcionarea acestuia n urmtoarele etape, ce
realizeaz sarcinile de numrtor sincron, de apel, de revenire, de salt i de iniializare:
a) Funcia de numrtor sincron de patru bii cu transport prin terminalul c n+ 4 este
realizat prin comenzile RT=JS=0 aplicate circuitului prin magistrala de control i const n
incrementarea cu 1 a registrului numrtor de program PC n fiecare perioad a tactului
clock al sistemului dac c n =1 i blocarea incrementrii cnd c n =0, sarcin descris
sintetic prin
PCPC+1 (O3O2O1O0 )n = (O3O2O1O0 )n-1 + cn .
Ieirea de transport c n+ 4 va fi trecut n starea 1 pe o perioad a tactului clock al
sistemului cnd
O3 = O2 = O1 = O0 = cn = 1.
Rezult c pentru un numrtor pe multiplu de patru bii, format din nserierea mai
multor circuite P 14104, doar circuitul de pondere minim va avea c n =1 , iar fiecare
circuit va avea terminalul de transport c n+ 4 conectat la terminalul c n al circuitului de
pondere imediat superioar.
b) Funcia de apel realizat sub comenzile JS=1 i RT=0 generate de microprocesor
pe durata efecturii instruciunii de apel
CALL addr,
const n salvarea coninutului incrementat cu 1 al registrului PC n registrul RTi din vrful
memoriei stiv i ncrcarea adresei addr din instruciunea de apel n registrul PC, prin
terminalele I3 , I2 , I1 , I0 , conectate la magistrala de adrese a sistemului, operaii descrise
sintetic prin
PC addr
(O3O2O1O0 )n = (I3 I2 I1I0 )n-1 ;
c) Funcia de revenire realizat sub comenzile JS=0 i RT=1, generate de
microprocesor pe durata efecturii instruciunii de revenire
RTN
const n ncrcarea registrului PC cu ultima adres salvat n registrul RTi din vrful
memoriei stiv, sarcin descris sintetic prin
1-19
1
2
3
4
16
15
14
13
P 14151
I3
I2
I1
I0
Q - 5
NC - 6
Vcc
I4
I5
I6
12 - I7
11 - A 0
10 - A1
9 - A2
S - 7
GND - 8
I1
I7
DECODER
A2
A1
Fig.8b-1.2
A0
( to ADDRESS BUS)
A 2 A1A 0 = i , cnd S =0. Dac intrarea de selecie este pus n starea S =1, atunci
ieirea Q trece n starea de nalt impedan, notat Z.
X1
(WRITE)
O7
R
T
D
D
(Data Bus)
(Address Bus)
O1
SEL0
SEL1
SEL7
RST
X1
A2
DECODER
A1
Qk
D
MUX
A0
SELk
Fig.9a-1.2
1
0
0
0
CLK
0
0
UNCHANGED
0 1 Qi = D , i = A 2 A1A 0
1
UNCHANGED
Fig.9b-1.2
O3
O2
O1
O0
D
RST
1
2
3
4
5
6
X1 - 7
GND - 8
Fig.9c-1.2
0
UNCHANGED
UNCHANGED
UNCHANGED
P 14113
RST
16
15
14
13
12
11
Vcc
O4
O5
O6
O7
A0
10 - A1
9 - A2
Acest circuit, ale crui arhitectur intern, funcii pe terminale i tabel de adevr
sunt date n fig.9-1.2, realizeaz pe frontul cresctor al tactului X1 ( = WRITE) , trecerea
ieirii Qi a bistabilului i, adresat prin A 2 A1A 0 = i , n starea logic aplicat la intrarea D, n
1-21
Oi va fi notat MO .
i
urmtoare, n care, pentru fiecare schem de comand, s-a determinat funcia logic
materializat.
VR
VR
Ij
Ik
Ij
f = Ik + Ij In
Ik
In
f = Ik + Ij In
In
E=f
E=f
R
E2
R1 O1
I1
I3
I4
MOk
I2
R2
R0
E3
E1
E4
R3 O2
O3
R4
Rezolvare
Schema de comand cu relee materializeaz urmtoarele funcii logice de comand
O2 = O1 MO ; O3 = I4 + I3 + O1 = I4 I3 O1 ,
K
realizate cu urmtorul program APB:
O1 = I2 I1 ;
STO
O1 ;
STO
MO ;
ANDC MO ;
STO
O2 ;
STO
MO ;
LDC
I4
RR (I4 )
ANDC I3 ;
STO
O3 ;
STO
MO ;
O1 = O7 = 0
I1 = ?
=0
O5 = O9 = 1
O40 = 1
1-24
Rezolvare
Programul folosind pseudo-salt are urmtoarea form:
Etichet: Simbolizare; Descriere sintetic
CTRL: LD
I1 ; Condiionare pseudosalt de starea logic a intrrii I1
OEN
IRR ;
prin IRR
STO O7 ;
LDC
IRR ;
OEN
IRR ;
STO O1 ;
STO O9 ;
ORC
IRR ;
OEN
IRR ;
continuarea programului
STO O5 ;
STO O40 ;
Exemplul 2
S se realizeze programul APB pentru urmtoarea schem de comand cu relee :
VR
I7
I8
I9
I5
I40
I4
I3
I1
I51
I2
O10
R0
R1
O3
R2
O2
R3
O1
Rezolvare
Programul APB ce realizeaz funcia de comand a schemei cu relee prin folosirea
pseudo-saltului are urmtoarea form:
Etichet: Simbolizare ; Descriere sintetic
CTRL: LD
I5 ; Comand pe ieirea O10
AND
I4
STO
O10 ;
IEN
LD
STO
LD
1-25
Etichet: Simbolizare ;
AND
I51 ;
Descriere sintetic
I7 = 0
ANDC I2 ;
STO
O3 ;
ORC
IEN
LD
I9 ; Comand pe ieirea O1
OR
I8 ;
AND
I3 ;
STO
O1 ;
A. Saltul necondiionat
B. Saltul condiionat
Im ;
Descriere sintetic
Dac RR=1 salt la adresa TIME, iar dac RR=0
continu cu instruciunea AND Im
RR RR (Im )
LDC
Ip ; Dac (Ip ) = 0 salt la adresa READ, iar dac (Ip ) = 1
LD
SKZ
Ii
SKZ
C. Apelul necondiionat
RT
JMP
JS
FLF
PROGRAM
COUNTER
RTN
Fig.2-1.3
RT JS Funcie
1
0
1
0
1
1
Mnemonic
Revenire RTN
Apel
NOPF
Salt
JMP
D. Apelul condiionat
SKZ
;
NOPF PULS;
Descriere sintetic
Dac RR=1 apeleaz subrutina PULS, iar dac RR=0
continu cu instruciunea AND I0
AND
I0
RR RR (I0 )
LD
Ii
SKZ
NOPF OFF ;
LDC
In ;
LDC
Ir ; Dac (Ir ) = 0 apeleaz subrutina PASS. Dac (Ir ) = 1
SKZ
; continu cu instruciunea LD IO
K
NOPF PASS ;
LD
IO ;
K
E. Revenire necondiionat
F. Revenire condiionat
Exemplu
Etichet : Simbolizare ;
SKZ
;
RTN
LD
;
MO ;
K
LD
MI
Descriere sintetic
La RR=0 continu cu LD MO
SKZ
RTN
; STO MO
STO
MO
LDC
MI
SKZ
; Dac (M I ) = 0 revenire
r
; Dac (M I ) = 1 continu cu instruciunea
RTN
; LD M I
LD
MI
S j MF = 1 S j MF = 0 ,
modificrile ncetnd de la bitul Sk pentru care
Sk MF = 0 Sk MF = 1 .
Fie cazul numrtorului cu incrementare, decrementare i ncrcare avnd schema
din fig.4-1.3, iar funcionarea descris cu organigrama din fig.5-1.3.
1-29
Memorie Program
Adres
Coninut
OEN IHigh
IEN IHigh
=1
IN
=0
RTi PC+1(=addr+1)
PC addrj
addr-2
LD IN
addr-1
SKZ
addr
CALL addrj
addr+1
STOC Op
addr+2
addr+q-2
LD IN
addr+q-1
SKZ
addr+q
JMP addrk
IN
=1
=0
addr+q+1
addrk
PC addrk
LDC Iv
addrk +1
addrj
LD Mh
addrj +1
ORC Ih
subrutin
STO Mb
addrj +m-2
LD IN
addrj +m-1
SKZ
addrj +m
RTN
PC RTi (=addr+1)
IN
=1
=0
addrj +m+1
...
addrj +m+p
RTN
START
INIT:
Iniializare numrare :
MS = M+ = M = 1
COUNT:
Nu
IS = 0 1 ?
Da
FILL:
ncrcare numrtor
FULL:
Da
OF = 1 ?
TESTI+
Nu
Nu
I+ = 0 1 ?
EMPTY:
Da
O0 = 1 ?
TESTI-:
Da
Nu
Nu
I = 0 1 ?
Da
Pentru incrementare:
MC 1
Pentru decrementare:
MC 0
MODIFY:
Numrare
TEST0:
La golire numrtor
O0 1
TESTF:
La umplere numrtor
OF 1
STOP
Fig.5-1.3
1-31
IS
ID
IC
IB
IA
I+
UP
COUNTER
I
DOWN
z0 z15 QD QC QB Q A
O0 OF OD OC OB O A
;
;
Descriere sintetic
MS ,M+ ,M 1 ( numai n primul ciclu n care doar
se citesc impulsurile i se determin strile O0 i OF ;
urmtoarele cicluri ncep de la COUNT)
STO
MS
STO
M+
STO
IS
SKZ
JMP
TESTS ;
LOOPS: STO
JMP
MS
;
FULL ;
COUNT: LD
TESTS: XNOR MS
SKZ
JMP
LOOPS;
MS IS = 0 cnd IS = 0 1
1-32
Etichet: Simbolizare
STOC MS
FILL: LD
;
;
ncrcare numrtor
IA
STO
OA
LD
IB
STO
OB
LD
IC
STO
OC
LD
ID
STO
OD
IO
FULL: LD
SKZ
JMP
TESTI+: LD
SKZ
JMP
;
EMPTY ;
I+
Testare I+ = 0 1
;
PULS+ ;
LOOP+: STO M+
;
JMP EMPTY;
PULS+: XNOR M+
;
SKZ
JMP
LOOP+ ;
STOC M+
LD
Descriere sintetic
RR M+ ( = M+ I+ = M+ 1 = M+ )
Testare M+ (=0 cnd I+ = 0 1 )
Salt la adresa LOOP+ cnd M+ =0
M+ I+ = stare anterioar n ciclul urmtor
ILOW ;
STOC MC
; MC = 1 pentru a indica incrementare
JMP MODIFY; Salt la modificarea ieirilor
EMPTY: LD
IO
; O0 = 1 salt la TEST0
0
SKZ
JMP
TESTI-: LD
;
TEST0 ;
I
;
SKZ
JMP
LOOP-: STO
JMP
PULS-: XNOR
;
PULS- ;
M
;
TEST0 ;
M
;
SKZ
;
JMP LOOP- ;
STOC M
;
LD
STO
Test I = 0 1
M I = 0 cnd I = 0 1
ILOW ;
MC
1-33
Etichet: Simbolizare
MODIFY: LDC
IO
A
;
;
STO
OA
;
NOPF CARRY;
LDC
IO
;
Descriere sintetic
STO
OB
NOPF CARRY;
LDC
IO
STO
OC
;
;
NOPF CARRY;
LDC
IO
STO
OD
;
;
NOPF CARRY;
TEST0: LDC
IO
ANDC IO
ANDC IO
ANDC IO
STO
TESTF: LD
O0
;
;
;
;
;
IO
AND
IO
AND
IO
AND
IO
;
;
;
STO
OF
;
JMP COUNT;
CARRY: XNOR MC
;
SKZ
JMP
RTN
;
TEST0;
;
=
; TC =ciclu program
m ti TC
precizia temporizrii fiind m ti .
Decrementarea numrului binar
A = anan 1 a1a0
implic operaia:
R = A-1 = anan-1 a1a0 A=
-00
01
echivalent n complement faa de 2 cu adunarea
S = snsn-1 s1s0 =
= anan-1 a1a0 +
+ 11
1 0 +
+ 01
01
n care transportul de la rangul n este neglijat.
n suma S = snsn-1 s1s0 , bitul de rang k se determin prin sumare modulo doi cu
relaiile:
s0 = a0 , c 0 = a0
c k = ak + ck-1
(Mc
k-1
k-1
k-1
) = sk
) (Mc ) = c k
k
OR
Mc
STO
Mc ;
LDC
Ma
k-1
unde : + = OR
XNOR Mc
k-1
(Ma ) sk = ak ck 1
k
LDC
IRR ;
STO
Ma ;
LD
Mc ;
STO
Mc
k-1
(Mc
k-1
) c k =(Mc )
k
1-35
START
Memorie RAM
a0 = (Ma )
0
Lansare temporizare
a1 = (Ma1 )
TIMER:
Iniializare numrare:
(MCk ),(MCk ) 0
ak = (Mak )
DCR0
Decrementare rang
0
an = (Man )
ck 1 = (Mck 1 )
DCRn
ck = (Mck )
Decrementare rang
n
Calcul :
s = sn + sn1 + ... + s0
Nu
s=0 ?
Da
Sfrit temporizare
STOP
DATA BUS
INPUT
OUTPUT
ADDRESS
BUS
DEMUX
MUX
I0
I1
Ip
Iq
M M
ZONA T
Load
Out
COUNTER
(Timer 1)
O0
O1
On
Ok
R
Reset
Fig.7-1.3
IAPB
T0
RT
T1
CDB
4121
Vcc
O APB _
A1
LD
A
B
DW
LD
Load
Reset
IAPB
CDB
4192
DW
O APB
Fig.8-1.3
O APB
GND
A2
O APB _
CDB
4192
Forme de und:
B
LD
0
CDB 474
Q
Fig.9-1.3
RD
Vcc
CLK
de transport B determin prin bascularea bistabilului CDB 474 la care-i conectat, inhibarea
porii AND i semnalarea sfritului numrrii prin Q=1, semnal testat prin intrarea din APB
la care-i conectat.
Utilizarea de temporizatoare simplific programarea, putndu-se realiza diferite
diagrame de temporizare.
Exemplu
S se activeze ieirea Q1 dup secunde din momentul cnd I1 = 1.
Aceast aplicaie are urmtoarea diagram de timp:
I1
0
O1
0
IT ;
AND
IQ ;
OEN
STO
LDC
IT ;
ANDC
OEN
IRR ;
AND
STOC OT ;
STO
Q1 ;
XNOR IRR ; Valideaz ieirile prin OEN=1 pentru a nu se
OEN
IRR ; afecta continuarea programului.
...
1-38
SKZ
Cod: E
LD
1
LD
1
LDC
2
JMP
C
RTN
D
STO
8
STOC
9
IEN
A
OEN
B
NOPF
F
NOP0
0
NOPF
F
Reset
P
LD
1
X1
t
0
=
T
=
PC
WRITE
NOPF
NOP0
Instruciune
neglijat
JMP
RR
DATA
Stare Z
RTN
IAPB
IAPB
RR
RR
IAPB
IAPB
RST (Reset P)
IAPB
t
Fig.10-1.3.
OSC
T1
T2
T3
0
0
0
T4
0
T5
0
OSC
GND
CDB 474
MAN
CLK
Vcc
1K
LD
1K
DW
Vcc
R ST
Fig.1-1.4
UP
T1
CDB 4192
RST
OA
OB
OC
OD
O1
CDB 442
STEP
O2
O3
O5
O9
T2
T3
T4
T5
RST
CLR
STO
T5
EN
CLK R
QA
A
CONTROL
AC
D
Vcc
QA
STOC
DATA BUS
Fig.2-1.4
Tip
LOGIC: AND
ANDC
A A DATA
OR
A A + DATA
ORC
A A + DATA
XNOR
A A DATA
NOT
AA
CLR
A=0
A DATA
INTRARE: LD
LDC
A DATA
IEIRE: STO
DATA A
DATA A
STOC
NOT
CDB 400
XNOR
RST
ANDC
CLR
ORC
LD
LDC
STO
T5
EN
AND
OR
CDB 403
A
B
C
D
A
B
C
D
A
B
C
D
CLK R Q A
A
f
A B + C D
CDB 474
2
74126
QA
Vcc
STOC
A B + C D
A B + C D
3 CDB 451
DATA BUS
1-42
Out
Fig.1-1.5
*
Primar
*
Secundar
Rf
Rf
+5V
+5V
R1
Q
R2
R1
Cf
Cf
GND
R2
Th
TI.
*
sec.
pr,
R4
Q1
R3
OAPB
Fig.2-1.5
TRANSFORMATOR
DE IMPULS
TI
OPTO IZOLATOR
(=OPTOCUPLOR)
OAPB
D
R3
Q2
Ec
R5
D
Opto
izolator
Eex
+5V
R1
Cf
L ex
GND
La
R2
Mcc
Ea
OAPB
Fig.3-1.5
+5V
RC
Q1
ea
Q2
usin
D1
t
0
D2
RB
ti
usin
ea
t
0
T+
u'sin
+5V
T = T+ + T = 2 (T+ + ti )
RB
t
0
RC
ua
u'sin
D
Fig.4-1.5
-2up ea + 2up
iar pentru circuitul de sincronizare cu un tranzistor, n tensiunea rectangular de
sincronizare, durata T+ a altenanei pozitive difer de durata T a alternanei negative:
T T+ = 2 ti
Deci, intervalul ti introduce o incertitudine n detectarea att a trecerilor prin zero, ct
i a alternantelor tensiunii de sincronizare ea . Reducerea intervalului de incertitudine ti la
valori neglijabile se obine prin creterea amplitudinii tensiunii de sincronizare ea i
folosirea de dispozitive semiconductoare cu tensiune redus de prag.
Pe baza consideraiilor prezentate, controlul cu un automat al unui redresor
monofazat n punte semicomandat se realizeaz ca n fig.6-1.5.
+5V
E = 220Vef
RC
IAPB
usin
TR.
RB
Qsin
esin
DB
+ Ecc
RC1
RC2
RB1
Q0
OAPB
TUP
Dp
*
pr,
RB2
*
sec
.
TI
GND
Th1
D1
Th2
D2
La
Mcc
L ex
Uex
Fig.6-1.5
sincronizare
prin intrarea
+5V
E2
E3
RC
IAPB
RB
Qsin
usin
esin
DB
+ Ecc
RB1
Co
Do
Qo
RB2
Rb
R1
OAPB.Th1
R2
Rp
TI
* Dp
w sec
wr
w pr
Th3
D3
Th2
D2
Th1
D1
L ex
Mcc
GND
Fig.7-1.5
RC
CB
R1
DB
Q
OAPB.Th1
R2
TI
RB
*
*
w r w pr
*
w sec
Th1
(-) +
La
D1
(+) -
+
E
L
-
Da
Th2
Mcc
L ex
Eex
R
D2
1-47
Capitolul 2
Teoria automatelor
2.1. Automate
Despre o main sau instalaie care realizeaz o serie de sarcini fr intervenie
uman se spune c este automatizat .
Automatizarea unei maini, instalaii, sau proces presupune realizarea unui bloc de
comand numit automat, care, n urma prelucrrii unor semnale ce i se aplic pe intrri,
emite la ieirile sale semnale de comand prin care determin realizarea unor sarcini.
Semnalele de la intrrile i ieirile unui automat realizat cu circuite logice, reprezint
informaii simbolizate n baza 2 de numeraie folosind simbolurile notate 0 i 1.
Semnalele logice de la intrrile i ieirile unui automat reprezentnd informaii binare,
rezult c un automat realizeaz funcia de control prin procesare de informaie.
Definiie
1). Un dispozitiv de prelucrare a informaiei se numete automat.
2). Automatul ale crui semnale logice de ieire depind n orice moment doar de
semnalele logice de intrare se numete automat combinaional sau circuit logic
combinaional.
Un automat combinaional materializeaz prin fiecare ieire
y j ; j =1, 2 , , p
cte o funcie logic
h j : Bk2 B2 ,
care pentru o combinaie logic
cu j = 1,2,.,p ,
ale celor p ieiri ale automatului combinaional, ntr-o funcie logic vectorial
h = (h1,h2 ,..,hp ): Bk2 Bp2 ,
ce asociaz unei combinaii logice
h:XY
z(t + t) = f(x(t),z(t))
Cunoscnd funciile f(x,z) i g(x,z), se poate prevedea funcionarea automatului.
Un automat realizeaz i memorarea strii interne n care a ajuns, iar numrul
strilor interne ale automatului este limitat de numrul finit de circuite coninute.
Rezult c pentru un automat, din punct de vedere matematic, se poate da
urmtoarea:
Definiie
Se numete automat n sens Mealy, gruparea ordonat A=(X,Z,Y,f(x,z),g(x,z)), n
care X = { x0 ,x1,...,xn } este mulimea combinaiilor semnalelor de intrare, numit alfabet
trece automatul dup aplicarea unei intrri, iar g : X Z Y este funcia de ieire, ce
indic ieirea pe care o genereaz automatul sub aciunea unei intrri.
Un automat Mealy se reprezint ca n fig.1-2.1, unde prin CLC s-au notat circuitele
logice combinaionale ce materializeaz funciile de tranziie f(x,z) i de ieire g(x,z).
xn X
CLC
zn +1 =
zn +1
CLC
yn+1 =
Memorie
zn
=g(xn ,zn )
yn+1 Y
zn Z
=f(xn ,zn )
xn X
CLC
zn +1 =
=f(xn ,zn )
zn+1
Memorie
zn
zn Z
CLC
yn+1 =
=g(zn )
yn+1 Y
2-3
A1 = (X1,Z1,Y1,f 1,g1)
g1(x,z) = g(x,z) ,
zi (z)
(x) = x0 , x1,...,xn ,
va tranzita prin irul de stri interne
(z) = z1 , z2 ,..., zn+1 = f(x0 ,z0 ), f(x1, z1),..., f (xn , zn ) ,
intereseaz att irul combinaiilor de ieire generate, definit ca o funcie de ieire
def
x0 ,x1,...,xn 1, xn = (x ') xn ,
se obine urmtoarea relaie de transformare
def
not
G((x ')xn,z0 ) = g(x0 ,z0 ),...,g(xn 1,zn 1),g(xn,zn ) = G((x '), z0 ), g(xn,zn ) =
not
2-4
not
G((x A )(xB ),z0 ) = g(x0 ,z0 ),g(x1,z1),...,g(x j,z j ), g(x j +1,z j+1),...,g(xn ,zn ) =
def
2-5
Definiii
a) Se spune c o stare intern z j este accesibil dintr-o stare intern zi dac exist
o secven de intrare ( xp ) X* ce descrie o funcionare posibil a automatului, astfel
nct: z j = f((xp ), zi ) .
b) Se spune c o stare intern z j este k-accesibil dintr-o stare intern zi , dac
lg(xp ) k , unde notaia lg (xp ) reprezint lungimea secvenei de intrare.
c) Se numete subautomat conex de stare intern z0 al automatului A=(X,Z,Y,f,g),
automatul A( z0 )= (X,Z( z0 ),Y,f,g) n care Z (z0 ) = { z, z0 z0 , zZ i z accesibil din z0 }.
d) Se spune c un automat A=(X,Z,Y,f,g) este conex de stare intern z0 dac
A = A(z0 ).
e) Se spune c un automat este tare conex dac orice stare intern a sa este
accesibil din oricare alt stare intern.
Teorem 1-2.2
ntr-un automat A=(X,Z,Y,f,g) cu Card Z = n, o stare intern z j accesibil dintr-una
zi este cel mult n -1 accesibil, adic:
(x) X* : z j = f((x), zi ) cu lg(x) n - 1
Demonstraie
Fie Z = {z1,z 2,...,zn } i (xp )= x1,x 2 ,..., xp X* .
Presupunem c pentru orice secven de intrare (xp ) X* , prin care se accede din
zi n z j , lg(xp ) = p n . Deoarece p n , rezult c n secvena de p stri interne, un
numr de p-n stri interne se vor repeta. Secvena de stri interne obinut va fi:
zi ,z1,...,zk ,...,zm ,...,z j , cu zk = zm ,
iar cea de intrare este:
(xp ) = x1,..., xk ,...,xm ,...,xp .
Rezult c exist i secvena de stri interne:
zi ,z1,...,zk ,zm +1,...,z j
n care zk apare o singur dat, obinut din secvena de intrare:
1
(x1p ) = x1,..., xk , xm +1,..., xp , cu lg(xp ) = p - (m - k) ,
adic o secven mai scurt cu m - k tranziii.
Secvena de intrare ( xp ) poate fi scurtat, n acest mod, pn la eliminarea tuturor
strilor interne ce se repet, adic pn cnd n secvena de stri interne rmn doar stri
interne distincte.
n cel mai defavorabil caz, secvena de stri interne (z) include toate cele n stri
interne ale automatului, prima stare intern fiind starea intern de plecare zi . Deci
lungimea secvenei de intrare este mai scurt cu un pas dect cea a strilor interne.
Deoarece:
lg(z) = n = Card Z ,
rezult c:
lg(x1p ) = lg(z) - 1 = n - 1 = Card Z - 1 ,
i deci:
2-6
not
Card Z =n
zi,z j Z (xp ) X* : z j = f((xp ), zi ) , cu lg(xp ) < Card Z
z Mx : zR x
zR y z My Mx My
xR y
Mx = My
z My : zR y
zR x z Mx My My
xR y yR x
(b) Fie xR y .
Pentru demonstraie se folosete metoda reducerii la absurd .
Mx My k Mx ,My : k R x si k R y
k R x x Rk
xR y se contrazice ipoteza xR y
Deci: Mx My = .
Din cele prezentate mai sus rezult c dou stri interne z1,z2 Z ale unui automat
A=(X,Z,Y,f,g) sunt redundante, dac se afl n relaia R definit astfel:
z1 R z2 g((x),z1) = g((x),z2 ) (x) X* .
Aceast relaie R este una de echivalen, deoarece are urmtoarele proprieti:
- este reflexiv :
z1,z2,z3 Z :
*
z2R z3 g((x),z2 ) = g((x),z3 ) (x) X
2-9
a A b B : b = f(a) .
b) O funcie f : A B se numete funcie surjectiv, dac:
B = { b | aA : b = f(a) }.
c) O funcie f : A B se numete funcie injectiv , dac:
a1,a2 A i a1 a2 f(a1) f(a2 ) .
d) O funcie f : A B ce este att injectiv, ct i surjectiv se numete funcie
bijectiv.
e) Fie dou funcii f : A B i g : A1 B , unde A1 A . Dac a A1 : f(a) = g(a) ,
atunci funcia g se numete restricia lui f pe A1 .
f) Fie dou funcii
f : A1 B1 i
g: A B
cu
B1 B
A1 A . Dac
2-10
f) Un omomorfism bijectiv
h : M1 M2
G1 = (M1,g1)
h : M1 M2 al unui grup
h(g1(x,z)) = g2 (h(x),h(z))
(g1(x,z)) = g2 ((x), (z))
Definiie
Dac ntre dou automate A1 = (X1,Z1,Y1,f1,g1) i A 2 = (X2,Z2 ,Y2 ,f2 ,g2 ) exist un
omomorfism bijectiv h=(,,) se spune c automatele sunt automate izomorfe.
Rezult
c
pentru
dou
automate
A 2 = (X2,Z2 ,Y2 ,f2 ,g2 ) exist egalitile:
izomorfe
A1 = (X1,Z1,Y1,f1,g1)
h = : Z1 Z 2 ; z j Z1 z ' j Z2 : z ' j = (z j )
: X X; x X: x = (x)
: Y Y; y Y: y = (x)
2-11
Definiii
a) Fiind date dou automate A1 =(X,Z1, Y,f1,g1) i A 2 =(X,Z2, Y,f2 ,g2 ) , dou stri
interne z1 Z1 i z2 Z2 se numesc stri interne echivalente i se noteaz z1 R z2 dac:
x X* : g1((x),z1) = g2 ((x),z2 ) .
b) Dou automate A1 =(X,Z1, Y,f1,g1) i A 2 =(X,Z2, Y,f2 ,g2 ) se numesc automate
echivalente dac orice stare intern a unui automat are una echivalent n cellalt
automat.
X2
X1
A1
Y1
X2
A2
Y2
Y2
A2
X1
Y1
A1
Fig.1-2.4 Reprezentarea a dou automate izomorfe A1 i A 2
Strile interne echivalente ale unui automat fiind redundante, vom considera n cele
ce urmeaz doar automatul redus care pstreaz aceeai funcionare i nu are stri
interne echivalente.
Teorem 1-2.4
Dac n automatele A1 =(X,Z1, Y,f1,g1) i A 2 =(X,Z2, Y,f2 ,g2 ) strile interne z1 Z1 i
z2 Z2 sunt echivalente, z1 R z2 , atunci:
(x) X* : f1((x),z1) R f2 ((x),z2 ) ,
adic, n dou automate, din stri interne echivalente se tranziteaz tot n stri interne
echivalente.
Demonstraie
f1((x),z1) R f2 ((x),z2 )
2-12
: X1 X2 ; x j X1 x' j X2 : x' j = (x j )
:Z1 Z2 ; z j Z1 z' j Z2 : z' j = (z j )
: Y1 Y2
; y j Y1 y' j Y2 : y' j = (y j )
(f1(x j,z j )) = f2 ((x j ), (z j ))
(a)
(g1(x j,z j )) = g2 ((x j ), (z j )) (b)
Pentru irul combinaiilor de intrare
x 0 , x1,..., xn X1*
automatul A1 va trece prin irul de stri interne
z0 , z1 = f1(x 0 ,z0 ),...,zn +1 = f1(xn ,zn ) Z1*
i prin irul de ieiri
y 0 , y1 = g1(x 0 ,z0 ),...,yn +1 =g1(xn ,zn ) Y1*
cruia i va corespunde n mulimea Y2* , prin funcia bijectiva , urmtorul ir de ieiri ale
automatului A 2 :
(a)
z '0 = (z0 ), z '1 = f2 ((x0 ), ( z0 )) = (z1),..., z 'n +1 = f2 ((xn ), (zn )) = (zn+1) Z*2
i prin irul de ieiri:
(b)
(b)
y '0 = (y0 ), y '1 = g2 ((x0 ), ( z0 )) = (y1),..., y 'n +1 = g2 ((xn ), (zn )) = (yn+1) Y2* .
Din irurile determinate, rezult urmtoarea conexiune dintre automatele A1 i A 2 :
X1
A1
Y1
X1
A '1
X2
A2
Y2
A '2
Y2
cu urmtoarea echivalen:
( A '1 = A1 ) R ( A '2 = A 2 ) ,
automatele A '1 i A '2 avnd comportare identic pe ieire.
Deoarece funciile bijective i realizeaz doar o modificare de notaii, rezult i
urmtoarea echivalen:
A1 R A 2 .
Teorema 4-2.4
Orice automat Moore are un echivalent Mealy.
Demonstraie
Fie un automat determinist Moore:
A = (X,Z,Y,f(xk ,zk ),g(zk )) .
2-13
Pentru orice stare intern zk = f(xk 1,zk 1) a automatului Moore, exist relaia:
not
: X X ; (xk ) = xk
:Z Z ; (zk ) = zk
: Y Y ; (g(zk )) = g(zk +1)
Deoarece:
not
xm
yp
x0
y1
zi
zk
xr
y0
xn
yq
zj
x0
y1
xr
y0
z1k
zk2
xn
yq
xm
yp
xn
yq
zi
xm
yp
zj
2-14
Avnd n vedere c :
not
: X X ; (xk ) = xk
:Z Z ; (zk ) = zk
: Y Y ; (g(xk ,zk )) = g(xk 1,zk 1)
Deoarece:
not
2-15
Organigrama funcional
z3
care definete o stare a automatului.
y2
Reprezentarea prin organigram funcional, numit i organigram ASM, este
legat de tehnica microprogramrii n care un automat secvenial este numit main
algoritmic de stare i notat ASM (= Algorithmic State Machine), organigrama funcional
fiind compus din blocuri distincte numite blocuri ASM. Un bloc ASM, ce descrie
funcionarea automatului aflat ntr-o stare intern, indic starea intern n care se afl
automatul, testele logice de fectuat, comenzile date pe ieirea automatului i strile interne
n care se poate tranzita din starea curent. ntr-o organigram funcional, orice cale ce
leag o stare intern de una imediat urmtoare se numete conexiune de stri interne.
Un automat determinist va tranzita dintr-o stare intern curent, ctre o singur stare
intern urmtoare, dar care va fi determinat de combinaia de intrare aplicat.
prin notaia
2-16
Cele trei elemente ale unui bloc ASM sunt: cercul (ce reprezint o stare intern),
dreptunghiul (ce conine comenzile generate la ieirile automatului) i rombul sau
triunghiul (ce indic mrimea logic testat i strile interne n care se poate tranzita).
Bloc ASM
z1
z1
Conexiune
stare
= x1
y1
y2
z2
= x1
= x2
z3
= x2
y1
y2
z2
z3
= x1
= x2
= x2
= x1
y1
y1
y1
Automat
Mealy
y2
Automat
Moore
= x2
= x2
= x1
= x1
y1
y2
y1
y2
Graful de fluen
Graful, ca reprezentare a unui automat Mealy, conine cte un nod pentru fiecare
stare intern a automatului, iar o tranziie de la starea intern zi ctre starea intern z j se
reprezint printr-un arc orientat de la nodul zi spre nodul z j i pe care att intrarea
xp
yq
Pentru un automat Moore ieirea fiind univoc asociat unei stri interne, va fi
specificat n nod, pe arcele tranziiei indicndu-se doar intrarea ce determin tranziia.
2-17
x1
y1
x1
y1
z1
x2
y2
x1
y2
z1
y1
z2
y1
x1
z2
x2
y1
x2
x2
x2
x2
y1
z3
x1
x1
z3
y2
a) Automat Mealy
b) Automat Moore
Fig.2-2.6 Reprezentarea prin graf de fluen a unui automat
Tabelul de adevr
Un automat Mealy va fi reprezentat prin dou tabele de adevr, fiecare avnd cte o
coloan pentru fiecare combinaie de intrare i cte o linie pentru fiecare stare intern. Un
tabel de adevr e destinat valorilor funciei de tranziie f, iar cellalt valorilor funciei de
ieire g.
f(x,z)
x1
x2
g(x,z)
x1
x2
z1
z2
z3
z1
y1
y2
z2
z2
z3
z2
y1
y1
z3
z1
z2
z3
y2
y2
f(x,z)
g(x,z)
x1
x2
z1
z2
y1
z2
z2
y1
z3
y2
z3
y1
z3
z1
y2
z2
y2
f(x,z)
x1
x2
g(z)
z1
z2
z3
y1
z2
z2
z3
y1
z3
z1
z2
y2
Matricea de conexiuni
z2
x1
y1
z1
x2
y1
x1
y1
x2
y1
MC =
z3
x1
z1
y1
x1 x 2
+
y2 y2
z2
y1
x1
x2
z1
z2
z3
x1
y1
x2
y1
z1
z2
x1
y1
x1
y1
z3
x1 x2
+
y 2 y2
x1 + x 2
x2
z3
y2
x1
x2
x1
x2
x1 + x 2
y1
not
y1
= Mx My
y2
Moore
x2
y2
z1
z2
x1
+
y1
x2
y2
x2
y1
x1
y1
x1
y1
z3
z1
MC =
z2
z3
z1
z2
z3
x1 x 2
+
y1 y 2
x1
y1
x2
y1
x2
y2
x1
y1
Mealy
Fig.7-2.6 Reprezentarea unui automat Mealy prin matrice de conexiuni
2-19
xp
zi z j y q
= reuniunea perechilor
xp
yq
Mk =
..
zi
..
zj
zi
..
..
zq
zj
..
zq
..
1
1
1
0
..
are strile interne zi i z j compatibile ntre ele, dar incompatibile cu starea intern z q .
Matricea de compatibilitate asociat strilor interne zi i z j este matricea unitate:
M k.ij =
zi
zj
zi
zj
Un grup de stri interne fiind compatibile dac oricare dou stri interne ale grupului
sunt compatibile ntre ele, rezult c matricea de compatibilitate asociat acestui grup de
stri interne este o matrice unitate coninut n matricea de compatibilitate a automatului.
Pentru simplificarea determinrii compatibilitilor ntre strile interne ale unui
automat se evideniaz doar compatibilitaile nedeterminate ntre dou stri interne zi i
2-20
z j prin analiza n tabelul de adevr al automatului doar a tranziiilor imediate din aceste
stri interne, compatibilitatea fiind indicat prin variabila cij , iar incompatibilitatea prin c ij .
Relaia de compatibilitate fiind simetric ( c ij =c ji ), se convine a se folosi doar
variabilele cij i c ij pentru care i < j. Astfel, compatibilitatea ntre dou stri interne zi i
z j poate fi exprimat analitic cu funcia logic:
fk.ij =c ij c mn + c ij c mn ,
care arat c strile interne zi i z j sunt compatibil nederminate dac strile interne zm i
zn n care se tranziteaz pentru fiecare x X sunt compatibil nederminate, sau strile
interne zi i z j sunt incompatibile dac exist cel puin un x X pentru care strile
interne zm i zn n care se tranziteaz sunt incompatibile.
Rezult c mulimea compatibilitilor peste mulimea Z a strilor interne ale
automatului A=(X,Z,Y,f,g) poate fi exprimat cu urmtoarea funcie de compatibilitate:
fk = fk.ij ,
i< j
n a crei expresie termenii coninnd variabilele cij i c ij sunt eliminai ntruct dou stri
interne zi i z j nu pot fi simultan compatibile i incompatibile.
Fiecare termen al funciei fk evideniaz o posibilitate de compatibilitate pe mulimea
strilor interne. Dintre compatibilitile din funcia logic fk se alege cea mai avantajoas.
Observaie
Cea mai simpl form a unui automat este de tip Mealy, dar analiza compatibilitilor
pe baza tabelei de adevr a automatului este mult simplificat dac automatul este de tip
Moore. De aceea se recomand transformarea Mealy Moore echivalent urmat de
identificarea compatibilitilor n automatul Moore echivalent i determinarea automatului
Moore redus. Apoi printr-o transformare Moore redus Mealy echivalent se determin
automatul Mealy redus ce corespunde celei mai simple realizri practice.
Exemplu de sintez
S se determine automatul Mealy cu urmtoarea tabel de adevr:
f(xk ,zk )
g(xk ,zk )
x1
x2
x3
x4
=00 =01 =11 =10
z0
z1
y0
z2
y0
z0
y0
z1
y1
z1
z0
y0
z2
y0
z0
y0
z1
y1
z2
z1
y1
z2
y0
z0
y0
z3
y1
z3
z2
y0
z1
y1
z0
y0
z3
y1
Rezolvare
Automatul fiind de tip Mealy, se va determina automatul echivalent de tip Moore n
urmtoarele etape:
2-21
z0
z1
z2
z3
z0
z1
z2
z3
x3
y0
x1 + x3
y0
x3
y0
x3
y0
x2
y0
x2
y0
x2
y0
x1
y0
x1 x 4
+
y0 y1
x4
y1
x1
y1
x2
y1
x4
y1
x4
y1
z0
z1
MC =
z2
z3
z4
z0
x3
y0
x1 + x3
y0
x3
y0
x3
y0
z1
x4
y1
x4
y1
x1
y1
x2
y1
z2
x2
y0
x2
y0
x2
y0
x1
y0
x1 + x3
y0
x4
y1
x2
y0
z3
x4
y1
x4
y1
-
z4
x1
y0
-
z0
z1
MC =
z2
z3
z4
z0
x3
y0
x1 + x3
y1
x3
y0
x3
y1
x1 + x3
y0
z1
x4
y0
x4
y1
x1
y0
x2
y1
x4
y0
z2
x2
y0
x2
y1
x2
y0
x1
y1
x2
y0
z3
x4
y0
x4
y1
-
z4
x1
y0
-
2-22
x1
x2
x3
x4
g(z)
z0
z4
z0
z1
y0
z1
z0
z2
z2
z0
z1
y1
z2
z1
z2
z0
z3
y0
z3
z2
z1
z0
z3
y1
z4
z0
z2
z0
z1
y0
z1
z2
z3
z4
z1
1
0
0
1
0
0
0
0
1
0
z2
z3
z4
z0
Mk =
z1
z2
z3
x1 + x3
y0
x4
y0
x2
y0
z1
x1 + x3
y1
x4
y1
x2
y1
y0
z2
x3
y0
x1
y0
x2
y0
x4
y0
y1
z3
x3
y1
x2
y1
x1
y1
x4
y1
f(x, y)
x1
x2
x3
x4
g(z)
z0
z0
z2
z0
z1
y0
z1
z0
z2
z0
z1
y1
z2
z1
z2
z0
z3
z3
z2
z1
z0
z3
z0
=
2-23
z0
z1
z2
z3
z0
x1 + x3
y0
x1 + x3
y0
x3
y0
x3
y0
z1
x4
y1
x4
y1
x1
y1
x2
y1
z2
x2
y0
x2
y0
x2
y0
x1
y0
z3
x4
y1
x4
y1
z2
z3
x1 + x3 x 4
+
y0
y1
x2
y0
f(xk ,zk )
g(xk ,zk )
z0
z2
x3 x1
+
y0 y1
x2
y0
x4
y1
z3
x3 x 2
+
y0 y1
x1
y0
x4
y1
z0
x1
x2
x3
x4
=00 =01 =11 =10
z0
z0
z0
z2
y0
y0
y0
y1
z2
z0
y1
z2
y0
z0
y0
z3
y1
z3
z2
y0
z0
y1
z0
y0
z3
y1
Fiecare stare intern a unui automat, fiind o combinaie a strilor logice n care se
afl circuitele integrate digitale din componena automatului, are o codificare binar
proprie prin care poate fi identificat. Numrul n al biilor de codificare a strilor interne ale
unui automat A=(X,Z,Y,f,g) este stabilit cu relaia:
2n 1 < Card Z 2n ; Card Z= numrul strilor interne ale automatului.
Astfel, numrul biilor de codificare a strilor interne ale automatului Mealy redus,
pentru care Card Z = Card { z0 , z2 , z3 } = 3, este n = 2, deoarece:
22 1 < 3 = Card Z < 22 ,
una dintre codificrile posibile fiind:
z0 = 00 ; z2 = 01; z3 = 11.
Pentru automatul Mealy redus, o astfel de codificare introduce hazard la funcionarea
n tranziia z3 = 11 z0 = 00 , ce va fi realizat printr-o stare intern intermediar n
z3 = 11 z2 = 01 z0 = 00 ,
sau
z3 = 11 10 z0 = 00 ,
deoarece
variantele
modificarea celor doi bii de codificare nu se poate face simultan, aceti bii fiind transferai
2-24
prin pori distincte a cror timpi de propagare sunt diferii. Ca urmare, automatul Mealy
redus va avea o funcionare defectuoas.
Eliminarea acestui hazard de codificare a strilor interne poate fi realizat prin
determinarea unei codificri de tip Gray a strilor interne, astfel nct codurile zi i z j ale
strilor interne implicate ntr-o tranziie s difere doar prin bitul de rang k, fapt exprimat cu
relaia:
zi z j = k , cu k = vectorul cu doar bitul de rang k n 1.
Pentru tranziiile din automatul Mealy redus, aceast condiie impune urmtoarele
relaii:
z0 z2 = 0
z2 z3 = 1
z3 z0 = 2
i j: zi z j 0;( = stri interne diferite au codificri diferite)
z0 z2 = 0
z2 z3 = 1
z2 zk = 0 (absurd, deoarece strile z2 i zk sunt diferite)
z3 zk = 1
zk z0 = 0
i, j cu i j : zi z j 0 ,
z0 z2 = 0
z2 z3 = 1
z3 zk = 0
zk z0 = 1
i, j cu i j : zi z j 0 ,
Din ultimul sistem de ecuaii rezult pentru strile interne o codificare pe 2 bii i
necesitatea impunerii codului unei stri interne deoarece sistemul are cele 4 stri ca
necunoscute i doar 3 ecuaii liniar independente. Impunnd codul strii interne z0 ,
codificarea strilor interne ale automatului se obine astfel:
z2 = 0 z0
z3 = 1 z 2 = 1 0 z0
zk = 1 z0
z0 = 00 = impus
z2 = 01
z3 = 11
zk = 10
final:
z0
z2
z3
zk
z0
x1 + x3 x 4
+
y0
y1
x2
y0
z2
x3 x1
+
y0 y1
x2
y0
x4
y1
z3
x1
y0
x4
y1
zk
x3 x 2
+
y0 y1
x1
x2
x3
x4
=00 =01 =11 =10
xi
zj
z2
=01
z0
y0
z0
y1
x3 x 2
+
y0 y1
z3
=11
z2
y1
zk
=10
z0
=00
=
z2
y0
z2
y0
zk
y1
z0
y1
z0
y0
z0
y0
z0
y1
zk
y0
z3
y1
z0
y0
z3
y1
xi = AB
not
z j = CD
din tabela de adevr a automatului Mealy final, prin redefinirea adecvat a tranziiilor
neprecizate, se obin urmtoarele funcii minime de tranziie i de ieire:
not
fC (x,z) = A B D + B C D = P0 + P1
not
fD (x,z) = A B D + A B C + B C = P0 + P2 + P3
funcii de tranziie
not
g(x,z) = A B + A B C + B C D = P4 + P5 + P6
tabela de adevr a automatului Mealy final fiind pus n forma:
AB
CD
00
01
00
01
11
10
00 01 11 10
00 01 11 10
00 01 11 10
00
y0
00
y1
01
y0
00
y1
01
y0
10
y1
00
y0
00
y0
10
y0
11
y1
00
y1
00
y0
-0
-0
-1
-1
-0
-1
11
01
y0
10
11
y1
fC (x,z)
fD (x,z)
y=g(x,z)
2-26
A
B
C
D
P0
P6
RS
S
R QN
1
fC
fC
1
fC
R QN
g(x,z)
R QN
RE
2-27
Capitolul 3
Arii logice programabile
3.1. Suport teoretic
Ariile Logice Programabile, notate PLA (=Programmable Logic Array), sunt circuite
integrate ce conin matrici din pori logice, ce simplific realizarea automatelor secveniale.
Orice funcie logic binar
folosind notaia
x ; ai = 0
a
,
xi i = i
xi ; ai = 1
poate fi exprimat analitic, n Forma Canonic Disjunctiv, notat FCD, prin combinaiile
binare de intrare = ( 0 , 1,.., n ) n care f( ) = f(0 , 1,.., n ) = 1, cu urmtoarea relaie:
(1)
f(x0 ,x1,..,xn ) =
=( 0 ,1,..,n )B2
f( ) = 1
not
( xi i ) =
n+1
i= 0
not
[f(a) ( xi i )] =
n +1
i=0
not n
i= 0
[f(a) + xi i ] =
n+1
i=0
not
[f(a) + xi i ] =
n+1
i=0
n
( xi i ) =
= (0 ,1,..,n ) i = 0
f() = 1 f() =0
[ f(a) xi i ] =
n+1
3-1
xn n
f = Pi
Pm
i=0
Dm
D0
ROR
n
...
x0 0
D0
...
P0
Dn
Pk = xi
i= 0
+E
4 R AND
x0
x1
Matrice
AND
x2
x3
Matrice
OR
3 ROR
P0 = x0 x1 x 2
P1 = x3
P2 = x0 x3
P3 = x1 x 2
f0 = P0 + P1 =
= x0 x1 x 2 + x3
f1 = P2 + P3 =
= x0 x3 + x1 x2
f2 = P1 + P3 =
= x3 + x1 x2
Fig.3-3.1 Materializare funcii logice prin matrice cu diode
R AND.0
...
R AND.47
+E
Mat
x0
...
x0
x15
x0
x15
Matrice
AND
x15
Matrice
OR
y0
...
ROR.0
y7
ROR.7
CE
Fig.1-3.2
ieiri i 48 termeni produs, iar reprezentarea simbolic a structurii acestui circuit este
prezentat n fig.2-3.2.
Fiecare ieire a circuitului SIGNETICS 82S100 are cte o poart logic XOR ce
poate fi transformat prin ardere de fuzibil n poart inversoare, n vederea generrii
formei complementare a unei funcii logice. Selecia acestui circuit FPLA se realizeaz prin
validarea tampoanelor cu trei stri de pe ieiri cu semnalul CE = 0 , ieirile fiind puse n
nalt impedan ct timp CE = 1 .
Circuitele PLA permit realizarea compact a automatelor secveniale i
combinaionale.
Pentru generarea cu un circuit PLA a unei funcii logice n form canonic
disjunctiv, numrul termenilor produs se reduce aducnd funcia ntr-o form disjunctiv
normal prin metode analitice de minimizare folosind absorbia, alipirea i reducerea.
Pentru c ntr-un PLA s nu se depeasca numrul de termeni produs admis, funciile
logice de ieire vor fi exprimate n forme disjunctive normale i se vor grupa pe un acelai
circuit funcii logice avnd n comun mai muli termeni produs.
x0
Matrice
AND
x15
P0 P47
y0
...
Matrice
OR
y7
CE
Simbolizarea structurii interne a circuitului SIGNETICS 82S100
zt
PLA
OUTPUTS
xt
f(x t ,z t ) = z t +1
INPUTS
Fig.2-3.2
g(x t ,z t ) = y t +1
CE
RS
zt
RE
yt
Clock
x0 ..x15
x j ; j = 0,..,15
y0 ..y7
PLA 1
CE
PLA 2
PLA 2
CE
CE
PLA 3
PLA 1 z0 ..z7
b) Expandare intrri
CE
y0 ..y7
PLA 2
CE
z8 ..z15
y0 ..y7
x16 ..x 23
CE
c) Expandare intrri
x0 ..x15
PLA 1
y0 ..y7
y0 ..y 2
x0 ..x15
z3 ..z7
PLA 2
CE
CE
d) Expandare intrri
PLA 1
CE
y0 ..y7
CE
x16
x0 ..x15
PLA 1
x0 ..x15
y8 ..y15
e) Expandare ieiri
CE
PLA 2
CE
y3 ..y10
f) Expandare ieiri
...
x0
xS.4
...
x15
xS.0
Matrice
C
R0
R4
...
Q0
S0
Q4
S4
Matrice
OR - f
RS
R0
Q0
y0
R7
S0
+E
Q7
y7
S7
RE
Matrice
OR - g
OE
PR / OE
PR
Clock
Fig.5-3.2
FUZ
Structura de automat Mealy sincron din fig.3-3.2 s-a realizat ca circuit integrat numit
Secveniator Logic Programabil, notat PLS (= Programmable Logic Sequencer). Structura
intern a unui circuit PLS poate fi exprimat sintetic cu relaia:
PLA = PLA + (RS + RE).
n aplicaiile complexe, un circuit PLA cu numr mare de intrri, ieiri i/sau termeni
produs necesari, este obinut cu mai multe circuite PLA n conexiuni de expandare
adecvate, aa cum se arat n fig.4-3.2.
Arhitectura intern a unui PLS este exemplificat n fig.5-3.2 unde se prezint
arhitectura interna a circuitului SIGNETICS 82S104.
La terminalul PR / OE al acestui circuit, se poate programa, prin fuzibil intact
comanda de presetare a registrelor RS i RE cu validarea permanent a tampoanelor de
ieire cu trei stri, iar prin ardere de fuzibil, comanda de selectare a circuitului prin
validarea tampoanelor de ieire care vor trece n nalt impedan cnd OE = 1.
Circuitul este prevzut cu o linie OR complementat care , fiind conectat la o linie
a matricei AND permite realizarea unei reacii asincrone de la matricea OR la matricea
AND, cele dou linii constituind o matrice complementar.
Matricea complementar permite generarea de termeni produs compleci,
reprezentnd reuniunea mai multor termeni produs ce se regsesc n formele canonice
disjunctive a mai multor funcii de materializat, astfel reducndu-se numrul de termeni
produs de programat n matricea AND a circuitului PLS.
De asemenea, n scopul reducerii numrului de termeni produs, o funcie logic f
poate fi materializat mai simplu cu matricea complementar prin termenii produs ai
funciei complementare f , conform relaiei :
f =f =
( xi i ) =
n+1
=( 0 ,1,..,n )B2
f( ) =1
i =0
[f(a) xi i ] .
n+1
i= 0
Exemplu
S se realizeze cu un circuit PLS funciile logice f(x0 ,x1, x 2 ) i g(x0 ,x1, x 2 ) :
f(x0 ,x1, x 2 ) =
g(x0 ,x1, x 2 ) =
x0 x1
x2
00
01
11
10
x0 x1
x2
00
01
11
10
Rezolvare
Funcia complementar f(x0 , x1, x 2 ) , descris prin tabela de adevr:
x0 x1
00
01
11
10
x2
f(x0 , x1, x 2 ) =
3-7
g(x0 ,x1,x 2 ) = x0 x1 x 2 + (x 0 x1 x 2 + x0 x1 x 2 + x0 x1 x 2 ) = P0 + x 2f = P0 + P2 ,
n care termenul produs P2 = x 2 f reprezint reuniunea celor 3 termeni produs, comuni
funciilor f i g i situai n zona haurat din tabelele de adevr a acestor funcii:
P2 = x 2 f(x 0 , x1, x 2 ) =
x0 x1
x2
00
01
11
10
Intrri
x0
Matrice
AND
x1
x2
f
Matrice
C
P0
P1
P2 = x 2 f
f
Ieiri
g
Matrice
OR
f
Fig.6-3.2
3-8
Observaii
1. ntr-o arie logic programabil timpul de propagare este practic acelai pentru
orice funcie logic generat, deoarece strile normal i complementat ale unei variabile
sunt generate simultan prin pori logice cu timp de propagare identic sau foarte apropiat.
2. Matricea complementar duce la o reducere a numrului de termeni produs dar
crete timpul de propagare pentru funciile logice generate.
3-9
Capitolul 4
Microprogramarea
Fie o structur din circuite logice interconectate, controlat cu n semnale logice de
comand S0 ,S1 ,...,Sn1, reprezentate ca bii distinci ai unui cuvnt binar de comand cu
structura:
Dn1
D1
D0
Sn 1
S1
S0
Din cele 2n cuvinte posibile de comand a structurii logice, doar p cuvinte sunt
operaionale ( p < 2n ), fiecare cuvnt operaional comandnd structura logic s efectueze
o sarcin concret i simpl numit microoperaie.
Definiie
Cuvntul de comand care genereaz semnalele logice necesare unei structuri
logice pentru a efectua o microoperaie se numete microinstruciune.
Fiecare sarcin mai complex va putea fi astfel realizat de o structur de circuite
logice n mod secvenial, ca o succesiune strict de microoperaii executate pas cu pas
sub controlul cuvintelor de comand citite din locaii succesive ale unei memorii numit
memorie de comand, organizat pe locaii din n bii i n care fiecare locaie este
identificat i selectat la un moment dat prin numrul su de ordine numit adres. Citirea
memoriei de comand are loc la n ritmul tactelor unui generator pilot, care controleaz un
numrtor cu rolul de a forma adresa fiecrei locaii de citit.
Definiie
Succesiunea strict a microinstruciunilor sub ale cror comenzi o structur de
circuite logice interconectate realizeaz o sarcin complex se numete microprogram.
Memoria de comand a unei structuri de circuite logice interconectate, este
ncrcat cu microprogramele sarcinilor prevzute a se realiza cu structura logic dat i
care, n cazul unui microprocesor realizeaz operaiile elementare prevzute acestuia
(adunare, adunare cu transport, scdere, scdere cu mprumut, operaii logice, transport
ntre locaii, extragere cuvnt instruciune din memoria sistemului, etc).
Astfel, la efectuarea unui program surs n limbaj de asamblare, depozitat n
memoria sistemului n form simbolic binar a instruciunilor ce-l compun, fiecare
instruciune este preluat din memoria sistemului ntr-un registru de instruciuni, de unde
prin decodificare se obine adresa de nceput a microprogramului din memoria de
comand prin a crui citire pas cu pas se realizeaz sarcina prevzut n instruciune, ca
o succesiune de microoperaii (fig.1-4). Adresarea locaiilor succesive ale memoriei de
comand se realizeaz simplu prin incrementarea unui numrtor de adrese de
microinstruciuni.
Multe microprograme din memoria de comand conin ns secvene identice de
microinstruciuni, fapt ce impune folosirea operaiilor de ramificare n microprograme
pentru a se reduce capacitatea memoriei de comand. ntre operaiile de ramificare (salt,
apel i revenire), cele de apel i de revenire necesit o memorie stiv de tip RAM.
Operaiile de ramificare au impus ca unui cuvnt de comand s i se adauge un
numr suplimentar de bii ce constituie cmpul de identificare a urmtoarei adrese a
4-1
microinstruciunii de executat.
ntr-un program, o ramificare se poate face necondiionat, sau condiionat de o
caracteristic a unui rezultat parial memorat ntr-un bistabil de condiie asociat care se
testeaz.
Definiie
Tehnica de realizare cu circuite de memorie a unitii de comand a unei structuri
din circuite logice, se numete microprogramare.
Microprogramarea, ca metod de proiectare a unitii centrale de operare a unui
calculator, a fost definit i introdus n anul 1951 de ctre M. V. Wilkes, profesor la
Universitatea din Cambridge.
Tehnica microprogramrii permite ca aceleai sarcini s poat fi realizate pe
structuri logice diferite, dar cu microprograme distincte. Astfel, modificarea setului de
instruciuni al unui microprocesor, necesit doar o nou microprogramare i nu modificri
n structura sa logic. De asemenea, pe o nou arhitectur de microprocesor se poate
prevedea setul de instruciuni al unui microprocesor mai vechi al crui software poate fi
astfel reutilizat.
ntr-un microprocesor cu o arhitectur intern simpl, realizarea unei sarcini are loc
ntr-un interval de timp mai mare, prin efectuarea mai multor microoperaii succesive
controlate cu un microprogram, despre care se poate spune c-i obinut prin tehnica
microprogramrii pe vertical, deoarece este lung.
Scurtarea timpului de realizare a unei sarcini se obine la microprocesoarele cu
arhitecturi interne complexe, n care se pot realiza n paralel mai multe microoperaii, caz
n care se spune c microprogramul unei sarcini este realizat prin tehnica
microprogramrii pe orizontal, ntruct este mai scurt.
Rezult c, ntr-o microprogramare pe vertical, microprogramele sunt mai lungi,
dar cuvintele de comand au mai puini bii, n timp ce la microprogramarea pe orizontal
microprogramele sunt scurte, dar cuvintele de comand au un numr mai mare de bii
(circa 80) necesari controlului unei arhitecturi logice complexe.
Microprogramele din memoria de comand fiind strns legate de structura logic
controlat, sunt deseori denumite firmware (= parial hardware, parial software).
bit
Load
DECODER
UP
ADDRESS
LD
OUTPUT
COUNTER
microprogram
address
INPUT
0
...
k
...
addressed microinstruction
2n
DATA (= Dn1 ...
Clock
COMMAND
MEMORY
1...
Sn1 ...
D2
D1
D0 )
S2
S1
S0
DIGITAL CIRCUITS
Result
Fig.1-4
4-2
4-3
Capitolul 5
Automate programabile algoritmice (APA)
5.1. Introducere
zt
INPUTS
f(x ,z )
AC
g( x t , z t )
OUTPUTS
xt
zt
RS
z t +1 = f(x t ,z t )
yt
RE
y t +1 = g( x t , z t )
Clock
zt
xt
AC
g( z t )
RS
OUTPUTS
INPUTS
f(x t ,z t )
zt
z t +1 = f(x t ,z t )
RE
yt
y t +1 = g( z t )
Clock
Fig.2-5.1. Structura automatului Moore
Definiie
Automatul secvenial n care att secvenierea, ct i comanda sunt programate n
circuite cu memorare se numete Automat Programabil Algoritmic (=APA).
Un APA are o vitez mare de operare, limitat doar de timpul de acces n circuitele
cu memorare.
O stare a unui APA se atinge prin localizarea sa n circuitul cu memorare, unde este
descris printr-un cmp de ieire format din biii semnalelor logice de comand i un cmp
de adres prin ai crui bii se face identificarea urmtoarei stri interne n care va tranzita
automatul.
ntr-un APA, tranziiile au loc sincron cu impulsurile unui generator avnd perioada
stabilit n funcie de tipul de acces al circuitului cu memorare, iar o stare a automatului
are durata unei perioade de tact.
Structura unui APA, reprezentat n fig.3-5.1, este cea a unui automat Mealy sincron,
n care automatul combinaional AC materializeaz funciile f(x,z) i g(x,z), registrul de
stare RS memoreaz starea intern n care se afl automatul (din care se va tranzita), iar
registrul de ieire RE memoreaz comenzile din starea curent a automatului pe care le
menine pe ieirile automatului.
zt
AC
CE
DATA
ADDRESS
xt
Memory
t +1
t +1
RS
RE
Clock
zt
yt
RS= registru de stare
RE= registru de ieire
ofer flexibilitate maxim n realizarea unei funcii logice doar prin schimbarea informaiei
nscrise n locaiile de memorie.
DATA
CS
PROM
2564 bits
a) Extensie pe intrare
CS
CS
y0 ..y3
DATA
PROM
2564 bits
y 4 ..y 7
DATA
x0 ..x7
ADDRESS
PROM
2564 bits
CS
y0 ..y3
ADDRESS
PROM
2564 bits
q bits
DATA
x8
ADDRESS
x0 ..x7
ADDRESS
Fig. 1-5.2
h:XY
DATA
x = (x1 ,..., xk ) X
y = (y1 ,...,y q ) Y
Memory
ADDRESS
k bits
b) Extensie pe ieire
2 .(k + p)
bits
q bits
PROM
k
2 .q
bits
DATA
ADDRESS
x = (x1 ,..., xk ) X
k bits
PROM
DATA
ADDRESS
n bits
y = (y1 ,...,y q ) Y
p bits
pentru alte funcii
q bits
bii de
condiionare
y = (y1 ,..., y q ) Y
PROM
2m + q p
bits
DATA
2n m
bits
ADDRESS
n bits
m bits
PROM
DATA
x = (x1 ,..., xk ) X
ADDRESS
Fig.3-5.2
p bits
ntr-un interval de timp scurt, limitat doar de timpul de acces al memoriei. Primele utilizri
ale memoriei n logica combinaional au fost de tipul tabelelor de conversie.
Dac numrul de intrri i/sau ieiri ale unui automat combinaional este mai mare
ca cel disponibil la un circuit de memorie se vor folosi mai multe circuite de memorie
interconectate pentru a realiza extensia pe intrare i/sau ieire aa cum se arat n
fig.2-5.2.
Cnd din cei k+p bii ai unei locaii din memoria unui automat combinaional, sunt
alocai pentru comanda aplicaiei doar k bii , acetia vor fi utilizai n adresarea indirect a
maxim 2k combinaii logice de ieire ntr-o memorie suplimentar, aa cum se arat n
fig.3-5.2.
n memoria suplimentar a unui automat combinaional alegerea ntre locaiile
coninnd diferite combinaii logice de ieire posibile pentru o aceeai combinaie logic de
intrare, se face cu semnale logice de condiionare folosite ca bii de adres (fig.4-5.2).
Un automat combinaional, n care cei q bii de condiionare reprezint ieirile unui
numrtor al impulsurilor unui generator de tact, se transform ntr-un APA la care, pe
Clock
2 m
bits
Counter
yY
PROM
2m + q p
bits
DATA
ADDRESS
n bits
m bits
PROM
DATA
xX
ADDRESS
CID
p bits
q bits
(bii de
condiionare)
outputs
(ieiri
rezultat)
x = (x1 ,...,xk )
CS
COM
RS = registru de stare
CS = cmp conexine stare
COM = cmp de comand
DATA
y = (y1 ,..., yp )
RS
Clock
Fig.1-5.3
La acest tip de APA, cu structura dat n fig.1-5.3, memoria se adreseaz att cu
biii combinaiei logice de intrare, ct i cu biii cmpului conexiune stare, dezavantajul
major fiind gradul redus de ocupare a memoriei cnd combinaiile logice de intrare sunt
formate din muli bii. Un astfel de APA are ns o vitez mare de operare, perioada unei
stri putnd fi redus la valoarea
TSTARE tacces.memorie + trspuns.registrudestare .
Capacitatea mare de memorie rmas nefolosit a impus gsirea de noi structuri de
APA ca s permit utilizarea unor memorii de capacitate redus.
ADDRESS
TEST
CS 1
CS 2
COM
MEMORY:
2n (m + 2n + p) bits
DATA
m
MUX
1
k 2m
x = ( x1 , .. , xk )
y = (y1 ,..., yp )
MUX
2
RS = registru de stare
MUX = multiplexor
TEST = cmp de testare
CS = cmp conexine stare
COM = cmp de comand
n
RS
Clock
Fig.2-5.3
5-5
zk
zk
=1
=0
xi
=1
xi
zk
=0
y = y0
y = y0
zCS1
zCS2
y = y0
y = y0
zCS1 = zCS2
Fig. 3a-5.3
zCS1 = zCS2
Fig.3b-5.3
ADDRESS
CS 1
CS 2
k 2n
MUX
1
xi
MEMORY:
2n (2n + p) bits
DATA
x = ( x1 , .. , xk )
COM
y = (y1 ,..., yp )
MUX
2
RS = registru de stare
MUX = multiplexor
CS = cmp conexine stare
COM = cmp de comand
n
RS
Clock
Fig.4-5.3
5-6
ADDRESS
CS
COM
MEMORY:
2n (m + n + p) bits
DATA
x = ( x1 , .. , xk )
y = (y1 ,..., yp )
MUX
k 2
Clock
xi
INC
CONTROL
RS/N
LD
LOGIC
Fig.5-5.3
zk
zk
y = yk
y = yk
=0
=0
LD
xi
LD
=1
zCS
INC
xi
=1
zCS
INC
zk +1
zk +1
IF..THEN..
IF..THEN..ELSE..
x j =1
=1
zCS
Fig.6a-5.3
Fig.6b-5.3
Structura unui asemenea tip de APA, dat n fig.5-5.3, ofer avantajul existenei unui
singur cmp conexiune stare n locaiile de memorie al cror numr de bii se reduce astfel
i se recomand n aplicaiile cu numr mic de intrri a cror selecie se face printr-un
cmp test redus.
La un astfel de APA, n funcie de starea logic a intrrii xi indicat n cmpul test,
se poate tranzita dintr-o stare intern curent zk , fie in stare intern zk +1 , aflat la adresa
imediat urmtoare strii curente, fie n starea intern zCS , aflat la adresa indicat n
cmpul conexiune stare CS, conform relaiilor:
5-7
(RS/N) =
(RS/N) + 1, cnd xi = 1
CS
, cnd xi = 0 ,
relaii ce descriu un bloc ASM cu reprezentarea din fig.6a-5.3.
Adresarea memoriei automatului se face cu un registru de stare cu numrare RS/N,
care, n funcie de starea logic a intrrii xi testate, este incrementat cu 1 prin comand cu
semnalul INC, sau ncrcat cu adresa din cmpul conexiune stare prin comand cu
semnalul LD.
Cu un astfel de APA, pentru a realiza salturi pe ambele ramificri dintr-o decizie, pe
ramura cu incrementare se introduce o stare suplimentar din care se face salt prin
testarea unei intrri x j pus n starea logic 1, structura unui asemenea bloc ASM avnd
reprezentarea din fig.6b-5.3.
5.3.4 APA folosind combinaii de memorii
Un astfel de APA, avnd structura din fig.7-5.3, se utilizeaz n aplicaiile ce necesit
att ieiri condiionate, ct i ieiri necondiionate.
Prin cele m intrri de condiionare se asigur pentru fiecare stare intern 2m
descrieri posibile, ce au n comun doar aceleai ieiri condiionate, fapt ce asigur o mare
complexitate automatului. n aceast arhitectur de APA, tranziiile se fac prin structuri
IF..THEN.., prin care, n funcie de starea logic a intrrii xi testate, se face fie saltul n
starea de la adresa din cmpul conexiune stare, fie se continu cu starea de la adresa
urmtoare, obinut prin incrementare cu 1. Cmpul de comand pentru ieirile
necondiionate, comun tuturor variantelor unei stri a automatului, este plasat ntr-o
memorie suplimentar de capacitate mai mic, adresat doar prin cei n bii ai cmpului
conexiune stare.
intrri de
condiionare
m
MEMORY:
n
DATA
ADDRESS
COM
ADDRESS
2 q bits
MEMORY:
2n+m (k + n + p) bits
CS
y = (y1 ,..., y q )
Clock
y = (y1 ,..., yp )
RS/N
LD
COM
DATA
ieiri
necondiionate
TEST
ieiri
condiionate
INC
CONTROL
MUX
LOGIC
xi
r 2k
intrri de
testare
Fig.7-5.3
5-8
IF
=1
IF
=0
r 2m
intrri
de testare
x = (x1 ,.., xr )
COM
TEST
m
MUX
CS
COM
TEST
CS
ADDRESS
RE
y = (y1 ,..., ym +n )
m+n
IF
xj
CONTROL
LOGIC
Clock
RS/N LD = IF x j
INC = IF + IF x j
Fig.8-5.3
Structura de baz a unui asemenea automat este dat n fig.8-5.3, n care o tranziie
se realizeaz fie prin salt la adresa din cmpul conexiune stare al strii curente, fie la
adresa determinat prin incrementare cu 1 a adresei de ncheiere a strii curente, dup
cum starea logic a intrrii xi selectat prin cmpul test este 1 , respectiv 0. Fiecare
stare dintr-un asemenea automat este descris prin dou cuvinte a cror identificare se
face printr-un cmp identificare format, format dintr-un singur bit i notat prin IF.
Pentru acest tip de automat, generarea adreselor de explorare a strii curente i de
5-9
CS
zk
y = yj
=0
LD
xi
IF..THEN..
=1
INC
zCS
zk +1
Fig.9-5.3
MEMORY: 2n (1 + k + m + 4 n ) bits
n
ADDRESS
IF
=1
IF TEST TEST
=0
1
2
k
COM
CS
1
n
RE
CS
2
CS
3
CS
4
k+m+4n
yY
p 2k
MUX
1
xX
intrri
de testare
q 2m
MUX
2
xj
xi
MUX 3
n
INC = IF
RS/N
CONTROL
LOGIC
LD = IF
Reset
Clock
x i x j IF
Fig. 10-5.3
5-10
MEMORY: 2n (2 + n) bits
DATA = 1+1+n bits
ADDRESS
IF1 IF2
=0 =0
COM
RE
=1
=0
TEST xi
=1
CS 1
=1
CS 2
y = (y1 ,..., yn )
xi =0
xi =1
n
TEST, CS 1, CS 2
Fig.11-5.3
Fiecare stare intern din acest APA va fi parcurs prin citirea a trei din cele patru
cuvinte prin care este descris, ntruct prin cmpul TEST se alege doar un cuvnt CS
(=conexiune stare), corespunztor strii logice a variabilei de intrare xi selectate. O
tranziie se realizeaz acum conform relaiilor:
(RS/N) + 1 , dac : IF2 (IF1 + IF1 x i ) = 1
5-11
zk
y = yk
IF..THEN..ELSE..
=0
xi
=1
zCS1
zCS2
CS
MEMORY: 2n (1 + n) bits
ADDRESS
IF
=0
TEST xi
=1
CS
xi =0
xi =1
=1
COM
IF
=0
TEST xk
(next instruction)
TEST,CS
n
COM
RE
n
y = (y1 ,...,yn )
IF
Fig.13-5.3
zk
IF..THEN..
=0
xi
=1
y = yk
zCS
zk +1
5-12
ntr-un astfel de APA, un bloc ASM se poate realiza i ca o structur logic WHILE
dat n fig.14-5.3, dac:
CS = ADR( TEST x i ) - 3p , cu p 1 .
ntr-un APA cu separare complet a cmpurilor, pentru realizarea n tranziii de
succesiuni de teste, fiecare stare conine n descrierea sa cte un cmp test pentru fiecare
testare de efectuat.
Aceast situaie este exemplificat cu automatul din fig.15-5.3, n care o tranziie este
reprezentat prin blocul ASM reprezentat i descris prin relaiile:
(RS/N) + 1 , dac IF1 IF2 ( x i + x j ) = 1
(RS/N) =
(RS/N) + 2 ,
CS
MEMORY: 2n (2 + n) bits
Observaie:
Maxim 2n2
instruciuni
n memorie
n
ADDRESS
IF1 IF2
=0 =0
TEST xi
=0
=0
TEST x j
=1
=0
COM
=1
=1
CS
IF1 IF2
=0 =0
xi =0
xi =1
x j =0
y = (y1 ,..,yn )
RE
x j =1
TEST xi
(next instruction)
n
IF1 IF2
TEST, CS
zk
=0
=1
xj
xi
=1
IF..THEN..
=0
y = yk
zCS
zk +1
5-13
Observaie
ntr-o structur de APA cu memorie n format variabil, n care o stare intern este
descris pe mai multe locaii de memorie, registrul de stare cu numrare trebuie
incrementat cu 1 sau cu 2, att n parcurgerea strii interne, ct i la tranziia ctre
urmtoarea stare intern, blocul de comand fiind astfel mai complex.
5-14
BIBLIOGRAFIE RECOMANDAT
[1] Luca-Dan erbnai: Teoria automatelor, Institutul Politehnic Bucureti, Catedra de
Calculatoare, curs 1975
[2] I. Muntean: Sinteza automatelor finite, Editura TEHNIC, Bucureti, 1977
[3] R. L. Morris: Proiectarea cu circuite integrate TTL, Editura TEHNIC, Bucureti, 1980
[4] Iulian Ardelean, Horia Giurgiu, Liviu Lic Petrescu: Circuite integrate CMOS, Editura
TEHNIC, Bucureti, 1983
[5] Al. Valachi, M. Brsan: Tehnici numerice i automate, Editura JUNIMEA, Iai, 1986
[6] Radu Dobrescu, Theodor Borangiu: Automate programabile, Editura ACADEMIEI,
Bucureti, 1986
[7] I.P.R.S. Bneasa (Catalog): Circuite integrate digitale, 1990
[8] John Wakerly: Digital Design: Principles and Practices, Third Edition, PRINTICE
HALL, INC. a Person Education Company, 2000
[9] Hricu V. Alioa: The Mealy in Moore conversion of an automaton, SCIENTIFIC
BULLETIN of the POLITEHNICA University of Timioara, Romania, Transactions on
ELECTRONICS AND COMMUNICATIONS, Tom 51(65), Fascicola 1, pp.188-190,
2006 (Symposium of Electronics and Telecommunications ETc 2006).
[10] Hricu V. Alioa: The Moore in Mealy conversion of an automaton, BULETINUL
INSTITUTULUI POLITEHNIC DIN IAI, Tomul LII (LVI), Fasc.1-2, 2006.
ELECTROTEHNIC, ENERGETIC, ELECTRONIC
[11] Hricu V. Alioa: Metod de transformare matriceal a unui automat Mealy ntr-un
automat Moore echivalent, RO. Brevet de invenie nr.122234, 27.02.2009
[12] Zvi Kohavi, Niraj K. Jha: Switching and Finite Automata Theory, Third Edition,
Cambridge, www.cambridge.org/9780521857482
BIBLIOGRAFIE SUPLIMENTAR
[1] Arden, D. N.: Delay logic and finite state machines, in Proc. Second Ann. Symp.
Switching Theory and Logical Design, pp.133151, October 1961.
[2] Brzozowski, J. A.: A survey of regular expressions and their applications, IRE Trans.
Electron. Computers, vol.EC-11, pp.324335, June 1962.
[3] Brzozowski, J. A.: Derivatives of regular expressions, J. Assoc. Computing
Machinery, vol.11, pp.481494, 1964.
[4] Copi, I. M., C. C. Elgot, and J. B. Wright: Realization of events by logical nets,
J. Assoc. Computing Machinery, vol.5, pp.181196, April 1958; reprinted in Moore [7].
[5] Kleene, S. C.: Representation of Events in Nerve Nets and Finite Automata,pp.341,
Automata Studies, Princeton University Press, 1956.
[6] McNaughton, R., and H. Yamada: Regular expressions and state graphs for
automata, IRE Trans. Electron. Computers, vol.EC-9, pp.3947, March 1960;
reprinted in Moore [7].
[7] Moore, E. F. (ed.): Sequential Machines: Selected Papers, Addison-Wesley, Reading
MA, 1964.
[8] Myhill, J.: Finite automata and the representation of events, WADC Technical Report
57624, pp.112137, 1957.
[9] Ott, G. H., and N. H. Feinstein: Design of sequential machines from their regular
expressions, J. Assoc. Computing Machinery, vol.8, pp.585600, October 1961.
[10] Rabin, M. O., and D. Scott: Finite automata and their decision problems, IBM J. Res.
Develop., vol.3, no.2, pp. 114125, April 1959; reprinted in Moore [7].
[11] Shepherdson, J. C.: The reduction of two-way automata to one-way automata,
IBM J. Res. Develop., vol.3, no.2, pp.198200, April 1959; reprinted in Moore [7].
B-1