drklaus 1 Model funkcjonalny komputera struktura, funkcje, komputer dr inż. Rafał KLAUS STRUKTURA I DZIAŁANIE KOMPUTERA

Podobne dokumenty
dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Organizacja typowego mikroprocesora

Logiczny model komputera i działanie procesora. Część 1.

LEKCJA TEMAT: Współczesne procesory.

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

LEKCJA TEMAT: Zasada działania komputera.

Architektura komputerów

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Urządzenia wejścia-wyjścia

Budowa i zasada działania komputera. dr Artur Bartoszewski

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

ARCHITEKTURA PROCESORA,

Architektura komputera

Struktura i działanie jednostki centralnej

Architektura systemów komputerowych

Mikroprocesor Operacje wejścia / wyjścia

Architektura komputerów

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Architektura komputerów

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

MIKROKONTROLERY I MIKROPROCESORY

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Urządzenia zewnętrzne

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Architektura komputerów. Układy wejścia-wyjścia komputera

Magistrala systemowa (System Bus)

SYSTEM MIKROPROCESOROWY

Budowa komputera Komputer computer computare

organizacja procesora 8086

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Budowa Mikrokomputera

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

Instytut Teleinformatyki

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

2. Architektura mikrokontrolerów PIC16F8x... 13

dr inż. Jarosław Forenc

Układy wejścia/wyjścia

Podstawy Informatyki Układ przerwań

UTK jednostki wykonawczej EU (Ex ecution Unit), jednostki steruj c ej CU,

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Architektura systemów komputerowych. dr Artur Bartoszewski

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Podstawy Techniki Mikroprocesorowej

architektura komputerów w 1 1

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Technika mikroprocesorowa I Wykład 2

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Sprzęt i architektura komputerów

Krótka wycieczka do wnętrza komputera

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

WPROWADZENIE Mikrosterownik mikrokontrolery

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Programowalne układy logiczne

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Architektura systemów komputerowych. dr Artur Bartoszewski

Programowanie niskopoziomowe

Podstawy Informatyki Układ sterujący

Procesory. Schemat budowy procesora

Architektura mikroprocesorów z rdzeniem ColdFire

Sprzęt i architektura komputerów

Systemy operacyjne. dr inż. Jerzy Sas.

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Architektura komputerów Wykład 2

Systemy operacyjne. Struktura i zasady budowy. Rozdział 1 Wprowadzenie do systemów komputerowych

dr inż. Jarosław Forenc

Architektura komputerów. Asembler procesorów rodziny x86

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Podstawowe zadanie komputera to wykonywanie programu Program składa się z rozkazów przechowywanych w pamięci Rozkazy są przetwarzane w dwu krokach:

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Architektura Komputerów

Programowanie Niskopoziomowe

Budowa systemów komputerowych

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

Model programowy komputera I: format rozkazów, lista rozkazów, tryby adresowania, cykl rozkazowy, realizacja programu w komputerze.

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

BUDOWA I DZIAŁANIE MIKROPROCESORA

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Architektura komputerów

Architektura typu Single-Cycle

Architektura harwardzka Architektura i organizacja systemu komputerowego Struktura i funkcjonowanie komputera procesor, rozkazy, przerwania

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

MIKROPROCESORY architektura i programowanie

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Działanie systemu operacyjnego

Stronicowanie w systemie pamięci wirtualnej

Technologie informacyjne - wykład 2 -

Transkrypt:

Szablon wykładu należy uzupełnić podczas spotkania z wykładowcą STRUKTURA I DZIAŁANIE KOMPUTERA dr inż. Rafał Klaus Instytut Informatyki Politechnika Poznańska rafal.klaus@cs.put.poznan.pl www.cs.put.poznan.pl/rklaus Struktura i działanie komputera W1 struktura, funkcje, komputer PN-ISO/IEC 2382-1:1996-01.03.03, PN-N-01602:1997-2.24 STRUKTURA to sposób wzajemnego powiązania składników FUNKCJE określają działanie poszczególnych składników jako części struktury KOMPUTER - jednostka funkcjonalna, która może wykonywać obliczenia, włączając w to liczne operacje arytmetyczne i operacje logiczne, bez interwencji człowieka. Programy użytkowe System operacyjny Sprzęt 2 Model funkcjonalny komputera Komputer w ogólności realizuje cztery funkcje: przetwarzanie danych przechowywanie danych przenoszenie danych sterowanie Urządzenie do przechowywania danych Środowisko użytkowe źródło i miejsce przeznaczenia danych Urządzenie do przemieszczania danych Urządzenie sterujące Urządzenie do przetwarzania danych 3 drklaus 1

Operacje realizowane przez komputer przemieszczanie sterowanie przemieszczanie sterowanie pamięć przetwarzanie pamięć przetwarzanie przemieszczanie sterowanie przemieszczanie sterowanie pamięć przetwarzanie pamięć przetwarzanie 4 Struktura komputera Urządzenia peryferyjne Komputer pamięć przetwarzanie Jednostka centralna - procesor steruje działaniem komputera i realizuje jego funkcje przetwarzania danych Pamięć główna Przechowuje dane Wejście-wyjście Przenosi dane między komputerem a jego otoczeniem zewnętrznym Połączenia systemowe Mechanizmy zapewniające łączność między procesorem, pamięcią a wej.-wyj. wejściewyjście komputer Linie komunikacyjne Pamięć główna Połączenia systemowe Jednostka centralna 5 Cztery główne składniki procesora komputer Pamięć wejściewyjście główna Połączenia systemowe Jednostka centralna Jednostka sterująca steruje działaniem procesora i przez to komputera Jednostka arytmetycznologiczna (ALU) realizuje funkcje przetwarzania danych Rejestry realizują wewnętrzne przechowywanie danych w procesorze Połączenia wewnętrzne Mechanizm zapewniający łączność między jednostką sterującą, ALU a pamięcią rejestry Jednostka centralna Połączenia wewnętrzne Jednostka sterująca Jednostka arytmetyczno -logiczna 6 drklaus 2

procesor Jednostka sterująca rejestry magistrale Jednostka sterująca ALU Wykonanie rozkazu to szereg kroków zwanych cyklami (pobranie, adresowanie, wykonanie,..) Każdy cykl to sekwencja operacji - mikrooperacji np. przeniesienie danych między rejestrami, magistralą zewnętrzną, ALU Jednostka sterująca ma dwa zadania: Wykonanie mikrooperacji przez procesor we właściwej kolejności wynikającej z realizowanego programu Generowanie sygnałów sterujących, które powodują wykonanie mikrooperacji (otwieranie, zamykanie bram logicznych) Układy logiczne szeregowania Jednostka sterująca Pamięć sterująca Rejestry i dekodery jednostki sterującej 7 Komputer PN-ISO/IEC 2382-1:1996-01.03.04 Urządzenie, które jest sterowany przez wewnętrznie zapamiętane programy i który jest zdolny wykorzystać wspólną pamięć dla całego programu, bądź jego części, a także dla wszystkich lub części danych koniecznych do wykonania programów; wykonuje programy napisane lub zlecone przez użytkownika; wykonuje zlecone przez użytkownika manipulacje na danych dyskretnych reprezentowanych cyfrowo, włączając w to operacje arytmetyczne i operacje logiczne; także wykonuje programy, które się same modyfikują w trakcie przetwarzania. 8 www.mklaus.prv.pl Hardware und Software in einem Computersystem 9 drklaus 3

www.mklaus.prv.pl Aufbau eines Computersystems 10 Podstawowy cykl rozkazu Procesor realizując program wykonuje pewne powtarzające się czynności, polegające na cyklicznym pobieraniu kodów rozkazu z pamięci i wczytaniu ich do układu sterowania procesora, a następnie realizacji rozkazów, których kod został pobrany. W cyklu rozkazowym wyróżniamy dwie podstawowe fazy: fazę pobrania (fetch) i fazę wykonania (execution). 11 www.mklaus.prv.pl Aufbau eines Mikrocomputersystems 12 drklaus 4

Cykl rozkazu www.jlk.prv.pl Odczytanie z pamięci operacyjnej rozkazu wskazywanego przez licznik rozkazów LR i umieszczenie go w rejestrze rozkazów RR Dekodowanie rozkazu określenie jego typu i liczby ewentualnych dalszych argumentów Jeśli to konieczne to wyznaczenie adresów i pobranie potrzebnych argumentów Przesłanie do rejestru adresowego RA adresów argumentów i zmiana zawartości LR tak, aby wskazywał na następny rozkaz do pobrania Wykonanie wymaganych czynności wskazywanych przez rozkaz i zapamiętanie wyniku, a mianowicie, po zdekodowaniu i zinterpretowaniu rozkazu, układ sterujący generuje ciąg odpowiednich sygnałów. Rozkaz wykonuje ALU w procesorze, wykorzystując do tego celu rejestry robocze. W zależności od wyniku wykonania rozkazu ustawiane są znaczniki (ang. flags), które informują układ sterowania o bieżącym stanie procesora Odczytanie stanu procesora i przejście do kroku pierwszego 13 CYKLE www.jlk.prv.pl Cykl maszynowy Sekwencja operacji w jednostce centralnej, odpowiadająca jednemu cyklowi pamięci, cyklowi wejścia/wyjścia (we/wy) albo równoważnej operacji wewnętrznej. Rozkaz do jednego wykonania może wymagać jednego lub więcej cykli maszynowych, a cykl maszynowy zawiera zwykle więcej niż jeden cykl zegarowy. Cykl rozkazu Wykonanie programu Cykl rozkazu pobranieadresowaniewykonanieprzerwanie µop µop... 14 www.mklaus.prv.pl 15 drklaus 5

Przykład zależności czasowych związanych z operacją wczytania danych z urządzenia wejściowego. Cykl rozkazowy Cykl maszynowy 1 Cykl maszynowy 2 Cykl maszynowy 3 Impulsy taktujące 0T 1T 2T 3T 4T 5T 6T 7T 8T 9T 10T Cykl zegarowy Etap pobrania oraz Etap pobrania adresu Etap wczytania dekodowania rozkazu urządzenia wejścia danych 16 17 Adresowanie zawartością wskaźnika rozkazów Rozkaz przesłania D:=C a) sieć działań; b) pobranie rozkazu; c) wykonanie rozkazu 18 drklaus 6

Adresowanie zawartością wskaźnika danych 19 Adresowanie zawartością wskaźnika danych (pointer addressing) 20 Rozkaz z argumentem bezpośrednim = rozkaz z adresem natychmiastowym (immediate addressing) 21 drklaus 7

Adresowanie bezpośrednie (direct addressing) 22 Formaty rozkazów 0 B 1 C 2 D 3 E 4 H 5 L 6 M(HL) 7 A 00 d 110 n 00 001 110 10011000 MVI C,152D 0011 010 al ah 0 STA 1 LDA M(a):=A A:=M(a) 23 Z zero Z=1 gdy wynik operacji wynosi zero S- znak - najbardziej znaczący cy bit wyniku P parzystość gdy wynik zawiera parzystą liczbę jedynek CY przeniesienie przeniesienie (pożyczka) z najbardziej znaczącego cego bitu AC- przeniesieni pomocnicze przeniesieni z 3 go bitu A = 1001 0101 +y = 1101 0111 1 0110 1100 CY A 24 drklaus 8

Skok do podprogramu a) z programu głównego b) z innego podprogramu (zagnieżdżenie) www.jlk.prv.pl 25 Zapis i odczyt informacji ze stosu www.jlk.prv.pl 26 11001101 al ah 11001001 27 drklaus 9

Zespół jednostki centralnej prostego mikroprocesora www.mklaus.prv.pl 28 Fluβdiagramm der Operationsschritte 29 30 drklaus 10

Rozkaz RST www.jlk.prv.pl 31 Rozkaz MOV M,B www.jlk.prv.pl 32 www.jlk.prv.pl 33 drklaus 11

www.jlk.prv.pl 34 Zapisać w pamięci RAM od adresu 0000H 3 bajty rozkazu CALL 01ABH. Wykonać rozkaz w cyklu maszynowym obserwując zmiany na magistrali. Jaki rozkaz powinien poprzedzać CALL? W celu poprawnego zadziałania rozkazu CALL należy najpierw ustawić wskaźnik stosu SP. W celu dokonania tej poprawki należy na początku programu dodać rozkaz LXI SP, 04 który to ustawi wskaźnik stosu na adres 04. Adres 00 0001h 0002h Adres 00 0001h 0002h 0003h 0004h 0005h Wartość CDh ABh 01h Wartość 31h 04h CDh ABh 01h Mnemonik CALL 01ABh Mnemonik LXI SP, 04 CALL 01ABh 35 Wprowadzić do pamięci RAM program ustawiający wskaźnik stosu na adres 400H wykonujący kolejno rozkazy RST 7-4 i zatrzymujący mikroprocesor (rozkaz HALT ). Pod odpowiednimi adresami, do których odwołują się RST 7-4, umieścić rozkaz powrotu z podprogramu. Adres 00 0001h 0002h 0003h 0004h 0005h 0006h 0007h 0020h 0028h 0030h 0038h Wartość 31h 10h FFh F7h EFh E7h 76h Mnemonik LXI SP, 10 RST 7 RST 6 RST 5 RST 4 HLT Adres= 8*n Np. dla RST 7 8*7=56D=38H 36 drklaus 12

Interakcja jednostki centralnej ze sterownikiem urządzenia wejścia-wyjścia działa? Odpytywanie (ang. polling) procesor co jakiś czas (w szczególności bez przerwy) wykonuje rozkaz odczytu odpowiedniego rejestru sterownika, sprawdzając jego stan. Sterowanie przerwaniami (ang. interrupt-driven I/O) procesor inicjalizuje pracę sterownika a o jej zakończeniu lub zaistnieniu określonego stanu informowany jest przez przerwanie, które zgłasza sterownik. Bezpośredni dostęp do pamięci (ang. direct memory access) zadanie przekazywania danych pomiędzy sterownikiem a pamięcią spada na specjalizowany układ (DMA), który wykonuje swoje zadanie bez angażowania procesora. 37 Przerwanie Wstrzymanie takiego procesu, jak wykonanie programu maszynowego, spowodowane przez zdarzenie zewnętrzne w stosunku do tego procesu i realizowane w taki sposób, że proces może być jeszcze wznowiony. procesor inicjalizacja operacji sterownik przerwań sprawdzanie stanu rejestry adaptera adapter 38 Sterowanie przerwaniami przepływ sterowania program użytkownika moduł sterujący realizacja na osi czasu 1 1 2a 2b 3a 3b zapis I/O zapis I/O rozkaz I/O podprogram obsługi przerwania 4 5 4 2a 5 2b 4 3a 5 3b realizacja operacji I/O realizacja operacji I/O 39 drklaus 13

Sekwencyjna obsługa przerwań przepływ sterowania program użytkownika procedura obsługi przerwania 1 procedura obsługi przerwania 2 40 Zagnieżdżona obsługa przerwań przepływ sterowania program użytkownika procedura obsługi przerwania 1 procedura obsługi przerwania 2 41 Priorytetowa obsługa przerwań przepływ sterowania program użytkownika procedura obsługi przerwania o średnim priorytecie procedura obsługi przerwania o wysokim priorytecie procedura obsługi przerwania o niskim priorytecie 42 drklaus 14

Podać +12V na wyjście INTA. Sprawdź czy przerwanie zostanie przyjęte. Jaki rozkaz i pod jakim adresem umieścić, aby możliwe było przyjęcie przerwania? Adres 00 0001h 0002h 0003h 0004h 0005h 0006h 0038h Wartość 31h 10h C3h 03h Mnemonik LXI SP, 10 NOP JMP 0003h Program ten nie reaguje na sygnał przerwania. W celu włączenia obsługi przerwań należy wykonać rozkaz. W podanym powyżej programie należałoby go umieścić np. zamiast rozkazu NOP 0003h FBh 43 Kiedy pojawia się INTE? Czy przerwanie, które przyszło przed otwarciem systemu przerwań jest zapamiętywane i obsługiwane po otwarciu? Wysłać przerwanie w czasie pobrania kodu rozkazu JMP. Kiedy rozpocznie się reakcja na przerwanie? Kiedy pojawia się INTA? Kiedy zmienia się INTE? sygnał INTE pojawia się po wykonaniu następnego (w stosunku do ) rozkazu przerwanie które przyszło przed otwarciem systemu przerwań zostanie zignorowane przerwanie które pojawi się w trakcie wykonywania rozkazu zostanie zignorowane (układ przerwań jest włączany po wykonaniu się kolejnego rozkazu) rozpoczęcie obsługi przerwania wysłanego w trakcie wykonywania się rozkazu JMP zostanie obsłużone po wykonaniu skoku sygnał INTA pojawia się w momencie rozpoczęcia obsługi przerwania chwilę później zostaje zdjęty z magistrali sygnał INTE w celu zapobiegnięcia przerwania obsługiwanego właśnie przerwania (można oczywiście jeśli potrzebujemy ręcznie odblokować system przerwań rozkazem ) Adres 00 0001h 0002h 0003h 0004h 0005h 0006h 0038h Wartość 31h 10h FBh C3h 03h Mnemonik LXI SP, 10 JMP 0003h 44 Napisać program umożliwiający przyjmowanie i zliczanie przerwań. Program obsługi przerwania znajduje się w pamięci od adresu 38H. Zliczanie przerwań ma Obsługa następować w przerwań komórce pamięci o adresie 80H. Adres 00 0001h 0002h 0003h 0004h 0005h 0006h 0007h 0008h 0009h 000Ah 000Bh 0038h 0039h Wartość 31h 10h 21h 80h 36h FBh C3h 08h 34h Mnemonik LXI SP, 10 LXI H, 0080h MVI M, JMP 0008h INR M adres 0000 0003 0004 0005 0038 0039 0042 mnemonika LXI SP,400H NOP JMP 4 INR A STA 80H 45 drklaus 15

Zmodyfikować program tak, aby przerwania były przyjmowane w Obsługa stanie HALT przerwań Adres 00 0001h 0002h 0003h 0004h 0005h 0006h 0007h 0008h 0009h 0038h 0039h 003Ah Wartość 31h 10h 21h 80h 36h FBh 76h 34h FBh Mnemonik LXI SP, 10 LXI H, 0080h MVI M, HLT INR M adres 0000 0003 0004 0005 0038 0039 0042 mnemonika LXI SP 400H HALT JMP 4 INR A STA 80H 46 Zmodyfikować program tak, aby po przyjęciu 20 przerwań zamknąć system przerwań i zasygnalizować fakt urządzeniom zewnętrznym (np. port 8255). Adres 00 0001h 0002h 0003h 0004h 0005h 0006h 0007h 0008h 0009h 0038h 0039h 003Ah 003Bh 003Ch 003Dh 003Eh 003Fh 0040h 0041h 0042h 0043h Wartość 31h 10h 21h 80h 36h FBh 76h 34h 7Eh FEh 20h CAh 41h FBh D3h 13h Mnemonik LXI SP, 10 LXI H, 0080h MVI M, HLT INR M MOV A, M CPI 20h JZ 0041h OUT 13h 47 Klaus R. Lemieszewski Ł.: Systemy operacyjne cykl wykładów, WOM, Gorzów Wlkp., 2007, ISBN 978-83-89560-19-3 179 stronicowy podręcznik akademicki podzielono na dwie części. W pierwszej opisane zostały podstawy teoretyczne budowy systemów operacyjnych. Wdrugiejczęści książki znajdują się ćwiczenia, stanowiące podstawę zdobycia praktycznych umiejętności obsługi istniejących na rynku systemów operacyjnych. Książka została wzbogacona o płytę CD zawierającą zbiór programów freeware poszerzających zakres materiału do nauki systemów operacyjnych. Ksiązka jest cenową alternatywą dla innych tego typu pozycji na rynku. Kupić można w Księgarni Akademickiej na Politechnice Poznańskiej (budynek BM) lub u autora. (rafal.klaus@cs.put.poznan.pl) 48 drklaus 16

Dziękuję za uwagę Komentarze i pytania Prawo Balaniego: Jak długo trwa minuta, zależy od tego, po której stronie drzwi toalety się znajdujesz. 49 drklaus 17