» Wyszukiwarka» Kategorie
» Multiprofile
|
» Kategoria: Internet i Komputery / Software - OprogramowanieStruktura systemu komputerowego - część 2RatujPC 23.08.2010, czytano 591 razy, pobrano kod HTML 3 razy, komentarzy 0.
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.
Podobał Ci się ten artykuł? Oceń na TAK lub NIE.
|
|||||||||||||||||||||||||
Liczba komentarzy: 0