03.pdf
(
2327 KB
)
Pobierz
Architektura procesora typu CISC
J. Biernat: Architektura komputerw.
Oficyna Wydawnicza Politechniki Wrocþawskiej, Wrocþaw 2001
¤ CISC
(
Complex Instruction Set Computer
) - procesor:
Î o zþoŇonej liĻcie rozkazw majĢcych rŇny, zmienny format
Î z maþym zestawem rejestrw strukturalnych (dla uŇytkownika)
Î o rozbudowanych trybach adresowania
¤ wzrost liczby taktw zegarowych przy wzroĻcie zþoŇonoĻci instrukcji
¤ trudnoĻci z racjonalnym wykorzystaniem zasobw procesora; przy
prostych, elementarnych operacjach wykorzystanie niewielkiej czħĻci
zasobw procesora
¤ statystyka dziaþania systemw operacyjnych i programw uŇytkowych
wskazuje na czħste wykonywanie operacji prostych i rzadkie zþoŇonych
¤ sterowanie przepþywem rozkazw realizowane programowo (mikro-kody);
þatwa realizacja sterowania wykonywania zþoŇonych rozkazw
wymagajĢcych rŇnych okresw czasu
Technika cyfrowa 2
wykþad 3
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
What is "microcode"?
www.intel.com: XP SP2 vs. Intel Prescott
Anything sufficiently complex that has been handcrafted by
humanswill
contain errors
. Modern software has millions of lines of source code, and
modern processors have millions of transistors, so this applies to both.
Microsoft Operating Systems
arrive on CD that is built to a particular
Service Pack
level, and errors found after that was made will be fixed via
patches
downloaded
from their web site.
Intel processors
are manufactured to a particular stepping level, and
errors
found after that was made may be
fixedviamicrocode
updates sent to the
processor, typically by BIOS on every system startup.
Microcode
updates are not stored permanently within the processor; they
vanish when the power is cut, so
every boot hastore-assert
them.
C51 - procesor typu CISC
¤ rŇny, zmienny format rozkazw:
1 r r r
0
0
1
0
ADD A,Rn
0
1
1
1
0 1 1 i
dana
MOV @Ri,#dana
MICROCODE
ENGINE
A microcode engine controls the CPU,
allowing it to perform operations with any
byte, word or double word in the 256 byte
register space. Instructions to the CPU are
taken from the queue and stored temporarily
in the instruction register. The microcode
engine decodes the instructions and
generates the correct sequence of events to
have the RALU perform the desired function.
A
A
A
0
0 0 0 1
adres A
ACALL adr_11
1
0
1
1
0 1 0 1
adres
rel
CJNE A,adr,rel
¤ wzrost liczby taktw zegarowych przy wzroĻcie zþoŇonoĻci instrukcji:
Î 1 lub 2 cykle maszynowe dla wszystkich instrukcji
Î 4 cykle maszynowe dla MUL AB oraz DIV AB (standard)
¤ elementarne operacje wykorzystujĢ tylko wybrane rejestry:
Î uprzywilejowany akumulator A i znacznik przeniesienia C
Î adresowanie poĻrednie tylko przez R0 i R1 (z 8 dostħpnych rejestrw)
Intel§ IXP1200 Network. Processor Family. Microcode ProgrammerÓs Reference
Manual. INTEL Corporation, March 2002, Part Number: 278304-011
80C196KB User's Guide. INTEL Corporation, November 1990, Order Number:
270651-003
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
Architektura procesora typu RISC
(1/2)
Architektura procesora typu RISC
(2/2)
¤ prosta struktura wewnħtrzna
¤ sterowanie przepþywem rozkazw realizowane sprzħtowo (brak mikro-kodw,
eliminacja mikroprogramowania)
¤ uproszczenie trybw adresowania, zwykle jednolity format rozkazw (staþa
dþugoĻę kodw instrukcji)
¤ wiħksze moŇliwoĻci wyboru uniwersalnych rejestrw mikroprocesora
¤ architektura typu load/store, przetwarzanie danych w oparciu o rejestry nie
bezpoĻrednio na zawartoĻci pamiħci
¤ szybsze dziaþanie ideaþem jest wykonanie kaŇdej instrukcji w jednym cyklu
procesora zmniejszenie liczby taktw zegarowych tworzĢcych cykl
maszynowy (przetwarzanie potokowe)
¤ uþatwienie opracowania, wytworzenia i testowania:
Î nowego mikroprocesora
Î systemu operacyjnego i programu uŇytkowego
Î kompilatora wysokiego poziomu
¤ wykonanie operacji rwnowaŇnej wymaga wiħkszej liczby rozkazw w
procesorze RISC niŇ w procesorze CISC
Zd. Pogoda: Mikroprocesory RISC rodziny PowerPC.
Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice 1995
¤ uproszczonĢ strukturħ
mikroprocesora, o
zredukowanej liĻcie
rozkazw
zaproponowaþ John Cocke (IBM Research w Yorktown, New
York, 1974) wychodzĢc z zaþoŇenia, Ňe 20% dostħpnych instrukcji
zajmuje aŇ 80% czasu pracy procesora
¤ skrt
RISC
(
Reduced Instruction Set Computer
) zaproponowaþ David
Patterson (University of California, Berkeley, 1985)
obecnie skrt
RISC
tþumaczony jako
Rational InstructionSet Computer
¤ idea RISC zostaþa wykorzystana w mikroprocesorze SPARC firmy Sun
Microsystem; poczĢtek powstania tego co jest znane jako technologia
MIPS, np. w komputerach Silicon Graphics, procesorze Alpha firmy DEC
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
1
MSP430 - procesor typu RISC
ARM (procesor typu RISC) - Pipeline
(1/2)
www.ti.com
¤ 27 basic instructions + 24 emulated instructions
¤ jednolity format rozkazw (staþa dþugoĻę kodu), np. dla formatu I:
¦
Up
to the
ARM7
, ARM processors have a
3-stage
instruction pipeline:
Fetch:
Fetching an instruction from the memory containing the code
Decode:
Decoding the instruction and prepare data path control
signals for next cycle
15
12
11
8
7
6
5
4
3
0
Execute:
The instruction gets executed on the data path specified and
the result is written back to the destination
OP - Code
source register
Ad
B/W
As
dest. register
¦
Higher
performance
ARM9
derivatives use a
5-stage
pipeline to
compensate for the memory access bottleneck of the 3-stage pipeline:
Fetch: Fetch next instruction from memory
Decode: Decode instruction and read register operands
Execute: Execute instruction
Data: Access data memory, if required
Write-back: Write the result of the instruction back to the destination
memory location
¤ wiħksze moŇliwoĻci wyboru uniwersalnych rejestrw mikroprocesora:
Î R0 - licznik rozkazw PC
Î R1 - wskaŅnik stosu SP
Î R2 - rejestr statusowy SR / generator staþych CG1
Î R3 - generator staþych CG2
Î R4 .. R15 - rejestry uniwersalne
¤ ortogonalne tryby adresowania - wszystkie instrukcje ze wszystkimi trybami
adresowania i operandami
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
ARM7TDMI / ARM9TDMI - Pipeline
(2/2)
Architektura procesora typu Bit Slice
ARM7TDMI
(ARM7TDMI-S)
¤ kaŇdy blok funkcjonalny tworzĢ oddzielne ukþady zwane
segmentami
, np. ALU,
rejestry
¤ istnieje moŇliwoĻę wzajemnej wspþpracy (poþĢczenia) segmentw w celu
zbudowania procesora o zadanej dþugoĻci sþowa, np. dysponujĢc procesorem
4-bitowym moŇna zbudowaę procesor 8-, 16-, 24- ..-bitowy
¤ mikrokod procesora
(microcode)
jest pamiħtany w pamiħci ROM lub szybkiej
pamiħci RAM (dynamiczne mikroprogramowanie)
Execute
Fetch
Decode
ARM9TDMI
¤ najpopularniejszym procesorem segmentowym jest seria Am2900
(Advanced
Micro Devices)
, np.
Am2901
:
Î struktura
: 4-bitowa ALU, 16x4-bitowa pamiħę RAM (rejestry), akumulator Q
Î wykonywane operacje
: dodawanie z przeniesieniem
(addition with carry)
,
odejmowanie z poŇyczkĢ
(subtraction with borrow)
, OR, AND, XOR i XNOR
Î argumenty
zawarte w: RAM, akumulatorze, zewnħtrznych wejĻciach,
domyĻlna wartoĻę 0,
Î wynik operacji
: przeniesienie dla innych segmentw
(carry-out
f
lag)
, znak
(sign flag)
, przekroczenie zakresu
(overflow flag)
, wynik zerowy
(zero flag)
...
Fetch
Decode
Execute
Memory
Write
The maximum clock frequency of the ARM9TDMI core is generally in the
range 1.8 to 2.2 times the clock frequency of the ARM7TDMI core when
compared on the same silicon process.
Reducing the number of cycles for loads and stores gives a significant
improvement in program execution time as typically around 30% of
instructions are loads or stores.
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
Optymalizacja, przetwarzanie danych
Tryby adresowania - struktura procesora
¤ licznik rozkazw PC adresujĢcy pamiħę kodu programu (ROM)
¤ dekoder rozkazw
¤ 3 wewnħtrzne rejestry: A, B i C
¤ mechanizmy dostħpu do pamiħci danych (RAM) Î adresowanie
bezpoĻrednie i poĻrednie (za poĻrednictwem rejestru: A, B lub C)
Optymalizacja kompilatorw
:
¤ rozkazy wykonywane przez procesor realizujĢ funkcje, ktre najczħĻciej
powtarzajĢ siħ podczas kompilacji
¤ lista rozkazw dostosowana do potrzeb kompilatorw, a nie wþasnoĻci
procesora
¤ zaþoŇenia przydatne przy projektowaniu nowych konstrukcji procesorw
Sposb przetwarzania danych
- obciĢŇenie rejestrw procesora i pamiħci:
¤ register-to-register
przestrzeniĢ roboczĢ sĢ rejestry oglnego
przeznaczenia:
Î accumulator-based
CPU, z akumulatorem zwiĢzana jest wiħkszoĻę
instrukcji arytmetyczno-logicznych i wymiany danych
Î register-based
CPU (register-to-register), rolħ akumulatora peþniĢ
rejestry oglnego przeznaczenia
¤ memory-to-memory
bloki pamiħci traktowane sĢ jako przestrzeı
robocza, zastħpujĢca rejestry oglnego przeznaczenia
Pamiħę danych:
(RAM)
Rejestr A
addr2+1
addr2
addr2-1
Rejestr B
Rejestr C
Pamiħę programu:
(ROM)
addr1+1
Dekoder rozkazw
addr1
Licznik rozkazw
addr1-1
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
2
Tryby adresowania - wþaĻciwe
Tryby adresowania - natychmiastowe
¤ natychmiastowe
(immediate)
- operand (operandy) zawarty w kolejnym bajcie
lub bajtach stanowiĢcych rozkaz
¤ wþaĻciwe
(inherent, implied)
- wszystkie informacje potrzebne do wykonania
rozkazu zawiera kod operacyjny instrukcji (opcode)
N
0
N
0
OP-Code
operand1
OP-Code
operand1
operand2
operand2
np. wartoĻę / liczba
Pamiħę danych:
Pamiħę danych:
addr2+1
addr2
addr2-1
addr2+1
addr2
addr2-1
Rejestry A, B, C
Operand2
Pamiħę programu:
Pamiħę programu:
Operand2
addr1+1
PC = addr1+1
Fetch
Fetch
Dekoder rozkazw
PC = addr1
Dekoder rozkazw
PC = addr1
addr1-1
addr1-1
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
Tryby adresowania - bezpoĻrednie
Tryby adresowania - rejestrowe
¤ bezpoĻrednie
(direct)
- adres operandu umieszczony w rozkazie, w bajcie lub
bajtach tworzĢcych rozkaz
¤ rejestrowe
(register)
,
rejestrowe bezpoĻrednie
(register direct)
- operand
zawarty w rejestrze; adres rejestru stanowi czħĻę rozkazu
0
N
0
N
OP-Code
operand1
zawiera
operand2
OP-Code
operand1
rejestr
operand2 (1#2)
operand2 (2#2)
jest adresem
pamiħci
Pamiħę danych:
addr2+1
Operand2 = addr2
addr2-1
Pamiħę danych:
Rejestr B
addr2+1
Data
Rejestry A, B, C
addr2
Rejestr A
addr2-1
Rejestr C
Pamiħę programu:
Pamiħę programu:
Operand2
PC = addr1+1
addr1+1
Fetch
Dekoder rozkazw
Fetch
Dekoder rozkazw
PC = addr1
PC = addr1
addr1-1
addr1-1
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
Tryby adresowania - poĻrednie
Tryby adresowania - wskaŅnikowe
¤ wskaŅnikowe
(pointer)
- adres argumentu w dedykowanym rejestrze; odmiana
adresowania poĻredniego
¤ indeksowe
(indexed)
- w rejestrze indeksowym adres argumentu w pamiħci
¤ indeksowe bez przesuniħcia
(indexed, no offset)
- adres w rejestrze
indeksowym, brak przesuniħcia (Motorola)
¤ rejestrowe poĻrednie
(register indirect)
- w rejestrze adres operandu
(argumentu) w pamiħci; adres rejestru stanowi czħĻę rozkazu
N
0
zawartoĻę rejestru jest
adresem pamiħci
OP-Code
operand1
rejestr
N
0
zawartoĻę rejestru jest
adresem pamiħci
OP-Code
operand1
rejestr
Pamiħę danych:
Pamiħę danych:
Rejestr A, C
Rejestr A
Data
Data
addr2+1
addr2+1
B = addr2
BC = addr2
addr2-1
addr2-1
Rejestr B = addr2
Rejestry BC = addr2
Pamiħę programu:
Pamiħę programu:
addr1+1
addr1+1
Fetch
Fetch
Dekoder rozkazw
Dekoder rozkazw
PC = addr1
PC = addr1
addr1-1
addr1-1
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
3
Tryby adresowania - indeksowe
(1/2)
Tryby adresowania - indeksowe
(2/2)
¤ absolutne indeksowe
(absolute indexed)
- adres argumentu jest sumĢ
zawartoĻci rejestru indeksowego i 16-bitowego przesuniħcia
¤ indeksowe z 8-bitowym przesuniħciem
(indexed, 8-bit offset)
- adres jest
sumĢ zawartoĻci rejestru indeksowego i 8-bitowego przesuniħcia (Motorola)
¤ indeksowe z 16-bitowym przesuniħciem
(indexed, 16-bit offset)
- adres jest
sumĢ zawartoĻci rejestru indeksowego i 16-bitowego przesuniħcia
¤ rejestrowe poĻrednie z przesuniħciem
(register indirect with displacement lub
absolute offset indirect)
- adres pamiħci jest sumĢ zawartoĻci rejestru i
przesuniħcia; adres rejestru i przesuniħcie stanowĢ czħĻę rozkazu
¤ absolutne indeksowe
(absolute indexed)
- adres argumentu jest sumĢ
zawartoĻci rejestru indeksowego i 16-bitowego przesuniħcia
¤ indeksowe z 8-bitowym przesuniħciem
(indexed, 8-bit offset)
- adres jest
sumĢ zawartoĻci rejestru indeksowego i 8-bitowego przesuniħcia (Motorola)
¤ indeksowe z 16-bitowym przesuniħciem
(indexed, 16-bit offset)
- adres jest
sumĢ zawartoĻci rejestru indeksowego i 16-bitowego przesuniħcia
¤ rejestrowe poĻrednie z przesuniħciem
(register indirect with displacement lub
absolute offset indirect)
- adres pamiħci jest sumĢ zawartoĻci rejestru i
przesuniħcia; adres rejestru i przesuniħcie stanowĢ czħĻę rozkazu
Pamiħę danych:
Data
Rejestr A
addr2+1
N
0
BC + disp = addr2
OP-Code
rejestr
zawartoĻę rejestru
addr2-1
Rejestry BC
+
displacement (1#2)
displacement (2#2)
Pamiħę programu:
disp
przesuniħcie disp
PC = addr1+1
Dekoder rozkazw
Fetch
jest adresem pamiħci
PC = addr1
addr1-1
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
Tryby adresowania - wzglħdne
Tryby adresowania - poĻrednie + INC
¤ wzglħdne
(relative lub relative direct)
- adres argumentu jest sumĢ bieŇĢcej
zawartoĻci licznika rozkazw PC i 8- lub 16-bitowego przesuniħcia
¤ rejestrowe poĻrednie zautoinkrementacjĢ
(register indirect, autoincrement /
with post-increment)
- adres argumentu w rejestrze; adres rejestru stanowi
czħĻę rozkazu, po wykonaniu rozkazu autoinkrementacja zawartoĻci rejestru
N
0
zawartoĻę rejestru jest
adresem pamiħci
rejestr + 1 (dostħp bajtowy)
lub
rejestr + 2 (dostħp sþowowy)
OP-Code
zawartoĻę PC
przesuniħcie disp
N
0
displacement (1#2)
displacement (2#2)
+
OP-Code
operand
rejestr
jest adresem pamiħci
Pamiħę danych:
po BC = addr2+1
Pamiħę danych:
Rejestr A
Data
addr2+1
PC + disp =
addr1+ disp = addr2
Data
Rejestry A, B, C
przed BC = addr2
BC = addr2
po wykonaniu instrukcji
BC = addr2 + 1
addr2-1
addr2-1
Pamiħę programu:
Pamiħę programu:
disp
PC = addr1+1
addr1+1
Dekoder rozkazw
Fetch
Fetch
Dekoder rozkazw
PC = addr1
PC = addr1
addr1-1
addr1-1
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
Tryby adresowania - inne ?
Linia kodu programu
¤ wzglħdne
(relative lub relative direct)
- adres argumentu jest sumĢ bieŇĢcej
zawartoĻci licznika rozkazw PC i 8- lub 16-bitowego przesuniħcia
¤ wzglħdne poĻrednie
(relative indirect)
- adres argumentu jest sumĢ
bieŇĢcej zawartoĻci licznika rozkazw i rejestru lub rejestrw
¤ indeksowo-rejestrowo-poĻrednie
(indirect-register-indexed)
- adres jest
sumĢ zawartoĻci rejestru indeksowego i rejestru oglnego przeznaczenia
instrukcja
mnemonik instrukcji [operand1], [operand2], ..
[etykieta:]
[; komentarz]
dyrektywa
etykieta
- symboliczny adres,
¤ wzglħdne indeksowe
(relative indexed)
- adres argumentu jest sumĢ
bieŇĢcej zawartoĻci licznika rozkazw, rejestru indeksowego i 16-bitowego
przesuniħcia
¤ wzglħdne poĻrednie z przesuniħciem
(relative offset indirect)
- adres
argumentujest sumĢ bieŇĢcej zawartoĻci licznika rozkazw, rejestru
(rejestrw) i 16-bitowego przesuniħcia
instrukcja
- rozkaz wykonywany przez procesor,
mnemonik
- symboliczna nazwa instrukcji,
operand
- argumenty instrukcji,
dyrektywa
- polecenie dla asemblera,
¤ bitowe
(bit)
- adres bitu zawarty w kodzie operacyjnym rozkazu lub w
kolejnym bajcie lub bajtach stanowiĢcych rozkaz
komentarz
- tekst pomijany przez asembler, od Ò;Ó do CR LF
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
4
Format instrukcji - PIC
Format instrukcji - C51
(1/3)
PIC16C77x (Microchip Technology Inc.)
- staþa dþugoĻę instrukcji rwna 14-bitw
Byte-oriented
file register
operations:
rozkazy 1- bajtowe
, 2-bajtowe i 3-bajtowe
13
8
7
6
0
kod rozkazu bez argumentw lub z pojedynczym, ukrytym argumentem:
0 0 0 0 0 0 0 0
OP-Code
d
f (FILE #)
np. NOP
d = 0 for destination W (Working register - accumulator)
d = 1 for destination f (register file address: 0 .. 7Fh)
f = 7-bit file register address (0 .. 7Fh)
1 0 0 1 0 0 1 1
np. MOVC A, @A+DPTR
kod rozkazu i argumenty:
1 bit dla adresowania poĻredniego:
Bit-oriented
file register
operations:
13
10
9
7
6
0
OP-Code
b = 3-bit address (bit address within an 8-bit file register)
f = 7-bit register address (0 .. 7Fh)
b (BIT #)
f (FILE #)
1 1 1 0 0 1 1
i
np. MOV A, @Ri
3 bity dla adresowania rejestrowego:
1 1 1 0 1
r r r
13
11
10
0
CALL
and
GOTO
instructions
np. MOV A, Rn
OP-Code
k = 11-bit immediate value (label address)
k (literal)
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
Format instrukcji - C51
(2/3)
Format instrukcji - C51
(3/3)
rozkazy
1-bajtowe,
2- bajtowe
i
3- bajtowe
rozkazy
1-bajtowe, 2-bajtowe i
3-bajtowe
kod rozkazu i argumenty:
3 bajty dla jednego, 2-bajtowego argumentu:
kod rozkazu i argumenty:
2 bajty dla adresowania bezpoĻredniego:
1 1 1 1 0 1 0 1
0 0 0 1 0 0 1 0
np. MOV addr, A
addr_16
15..8
addr_16
7..0
np. CALL addr_16
addr
3 bajty dla dwch 1-bajtowych argumentw:
Format rozkazu wykorzystujĢcy rŇne podane kombinacje:
1 0 1 1 1
r r r
data
rel
1 0 1 1 0 1 0 1
addr
rel
np. CJNE A, addr, rel
np. CJNE Rn, #data, rel
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
PREFIX w kodach rozkazw C51
Format instrukcji - Pentium
IA-32 Intel§ Architecture Software DeveloperÓs Manual. Volume 2: Instruction Set Reference
x0
x1
x2
x3
x5
operandy w:
¤ rejestrach
¤ pamiħci
AJMP
addr11
LJMP
addr16
RR
A
INC
addr
0x
NOP
kod operacyjny rozkazu
przesuniħcie
operand
JBC
bit, rel
ACALL
addr11
LCALL
addr16
RRC
A
DEC
addr
ADD
A, addr
OPCODE
PREFIX = 0A5h
dodatkowe
instrukcje np.
80C51MX
(Philips)
C251
(Intel/Atmel)
1x
SIB
(Scale-Index
-Base)
JB
bit, rel
AJMP
addr11
RL
A
Instruction
Prefixes
Opcode
ModR/M
Displacement
Immediate
2x
RET
ORL
C, /bit
AJMP
addr11
MOV
C, bit
INC
DPTR
OPCODE
PREFIX
Up to four
prefixes of
1-byte each
(optional)
1 or 2 byte
opcode
1 byte
(if required)
1 byte
(if required)
Address
displacement
of 1, 2, or 4
bytes or none
Immediate
data of
1, 2, or 4
bytes or none
Ax
POP
addr
ACALL
addr11
LJMP
addr16
RR
A
DJNZ
addr, rel
MOV
A, addr
MOV
addr, A
Brak
instrukcji:
dla CODE
do 2KB
bez P0 i P2
Dx
MOVX
A,@DPTR
AJMP
addr11
MOVX
A, @Ri
Ex
¤ w instrukcjach powtrzeı
(REPNE/REPNZ -
F2h
, REP -
F3h
, .. )
¤ wskazanie innego typu segmentu
(CS -
2Eh
, SS -
36h
, DS. -
3Eh
, .. )
¤ operandy 16-/32-bitowe
(operand-size override -
66h
)
¤ adresowanie 16-/32-bitowe
(address-size override -
67h
)
MOVX
@DPTR,A
ACALL
addr11
MOVX
@Ri, A
Fx
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
K
ATEDRA
M
ETROLOGII
E
LEKTRONICZNEJ
I F
OTONICZNEJ
opracowanie
A
ndrzej
S
tĨpieIJ
5
Plik z chomika:
pir23
Inne pliki z tego folderu:
01.pdf
(2217 KB)
02.pdf
(948 KB)
03.pdf
(2327 KB)
04.pdf
(794 KB)
05.pdf
(692 KB)
Inne foldery tego chomika:
3L-Stepien
Zgłoś jeśli
naruszono regulamin