18 lipca 2011

Struktura systemu komputerowego - część 2

Struktura systemu komputerowego - część 2

Autorem artykułu jest RatujPC



W zależności od rodzaju przesłania rozróżnia się cykl maszynowy: pobrania kodu operacji, odczytu i zapisu pamięci/rejestrów, odczytu i zapisu wejścia-wyjścia, przyjęcia przerwania. Jeden cykl maszynowy wykonywany jest w czasie jednego lub kilku/kilkunastu taktów zegara systemowego.

Cykl pamięci (ang. memory cycle) - ciąg operacji składających się na jeden dostęp (odczyt lub zapis) do pamięci. W każdym cyklu maszynowym następuje wysłanie:

adresu na magistralę adresową,danych na magistralę danych,sygnałów sterujących, informujących o rodzaju cyklu, na magistralę sterującą.

Układy pamięci lub wejścia - wyjścia powinny w tym czasie wykonać odpowiednie czynności - zapisać dane lub wysłać je na magistralę danych. Cykl pamięci często jest utożsamiany z cyklem maszynowym.

Licznik rozkazów (ang. program counter) – rejestr procesora; adresuje pamięć programu, przechowując adres, spod którego należy pobrać kod następnego rozkazu lub argument bieżącego rozkazu (np. rozkaz MOVC A,@A+PC z listy procesora Intel 8051).

Przykład:

Rozkazy Znaczenie

MOV R2, #n; R2 ß n

MOV [R1],[R3+]; wykonaj n-razy:

{

[R1] ß [R3]

R1 ß R1 + 1

R3 ß R3 + 1

}

R1, R2, R3 – rejestry robocze,

[Rx] – adres komórki pamięci zapisanej w Rx.

Wskaźnik stosu (ang. stack pointer) – rejestr procesora; adresuje pamięć o organizacji typu „stos” (ang. LIFO – last in first out), wskazując tzw. wierzchołek stosu, czyli adres ostatnio zapisanych danych. Wykorzystywany jest do:

· tymczasowego zapisu danych:§ przechowywanych w rejestrach (rozkazy połóż na stos, zdejmij ze stosu),§ w fazie wykonywania niektórych rozkazów przez mikroprocesor (np. dodawanie danych wielobajtowych);· zapisu zawartości licznika rozkazów PC podczas wykonywania rozkazu wywoływania podprogramu lub obsługi przerwania. Adres przechowywany w PC zostaje zapamiętany na stosie w celu umożliwienia powrotu do programu głównego po zakończeniu wykonywania podprogramu;· przechowywania danych wyrażanych za pomocą notacji przyrostkowej, zwanej również odwrotną notacją polską.

Rozkazy procesora – typy i przetwarzanie

Rozkazy maszynowe są przetwarzane przez procesor jako dane binarne (zerojedynkowe). Każdy rozkaz posiada unikatowy kod operacji oraz opcjonalnie dodatkowe elementy:

przedrostek (ang. prefix) – warunkuje sposób wykonania rozkazu,kod operacji (ang. opcode) – określa operację, jaka ma być przeprowadzona;przyrostek (ang. postfix) – określa rodzaj i typ argumentów, odniesienie do argumentów źródłowych (ang. source), którymi mogą być: dane bezpośrednie, adresy pamięci lub układów we-wy, rejestry procesora;odniesienie do argumentów przeznaczenia (ang. destination) lub wyniku (ang. result), którymi mogą być: adresy pamięci lub układów we-wy, rejestry procesora;odniesienie do następnego rozkazu – określa adres następnego rozkazu, który będzie wykonany po rozkazie bieżącym.

Przykład 1:

NOP; nic nie rób

NOP – opcode zapisany w języku symbolicznym, tzw. mnemonik,

Przykład 2:

ADD A , R1; A ß A + R1

ADD – opcode,

A, R1 – argumenty źródłowe, A – argument przeznaczenia.

Przykład 3:

MOVX A , @R1; A ß [R1]

MOV – opcode, X – przyrostek, oznacza zewnętrzną pamięć lub układy wejścia-wyjścia,

[R1] – argument źródłowy, A – argument przeznaczenia.

Przykład 4:

LJMP adres; PC ß adres

L – przyrostek (ang. long)

JMP – opcode,

adres – adres następnego rozkazu.

Typowe rodzaje operacji wykonywane przez procesor:

transferu (przesłań) danych,arytmetyczne,logiczne,konwersji (translacji),wejścia-wyjścia,sterowania systemowego,przekazywania sterowania.

Opis skrótów:

aź – argument źródłowy,

ad – argument docelowy (przeznaczenia),

aźd – argument jednocześnie źródłowy i docelowy.


---

Serwis Laptopów Katowice


Artykuł pochodzi z serwisu www.Artelis.pl

Brak komentarzy:

Prześlij komentarz