560 likes | 2.04k Views
Logiczny model komputera. Opracowanie: Maria Wąsik. Wprowadzenie. Pierwsze komputery budowano w celu rozwiązywania konkretnych problemów. Gdy pojawiało się nowe zadanie, należało przebudować komputer.
E N D
Logiczny model komputera Opracowanie: Maria Wąsik
Wprowadzenie • Pierwsze komputery budowano w celu rozwiązywania konkretnych problemów. • Gdy pojawiało się nowe zadanie, należało przebudować komputer. • Logiczny model komputera opracowany przez Johna von Neumanna umożliwił odseparowanie programów użytkowych od sprzętu. • Wg modelu von Neumana: • programy i dane mają taką samą postać, • Programy i dane są przechowywane w tej samej pamięci.
Szyna sterowania Obszar pamięci Pamięć stała Pamięć BIOS-u Procesor Układ sterowania Licznik rozkazów Pamięć obrazu cz.1 Sterowniki urządzeń we / wy wejście Rejestry danych Pamięć operacyjna Pamięć obrazu cz.2 Rejestry rozkazów System operacyjny Programy dane arytmometr wyjście Dysk twardy, Czytnik CD Pamięć masowa Szyna danych Szyna adresowa
Cykl pracy procesora • Przetwarzanie danych w komputerze odbywa się dzięki sekwencyjnemu odczytywaniu instrukcji z pamięci komputera i ich wykonywaniu przez procesor. • Każda instrukcja programu, który wykonuje komputer, musi być rozbita na elementarne operacje: rozkazy z listy rozkazów procesora. • Rozkazy procesora są kodami informacji w postaci zero-jedynkowej. Fizycznie reprezentowane są jako impulsy elektryczne. • Wykonanie skomplikowanych programów jest możliwe dlatego, że komputery wykonują operacje bardzo szybko, np. procesor o częstotliwości 2,5 GHz wykonuje 2,5 mld operacji na sekundę. • Praca komputera sterowana jest taktowaniem zegara systemowego.
Cykl maszynowy • Cykl maszynowy to cykl, podczas którego następuje wymiana danych między procesorem a pamięcią lub układem wejścia wyjścia (odczyt albo zapis). • Typowy cykl maszynowy składa się z następujących etapów: • Pobranie rozkazu z pamięci i przesłanie go do rejestru rozkazów, • Dekodowanie rozkazu oraz pobranie z pamięci i umieszczenie w rejestrze jego argumentów, • Wykonanie rozkazu przez arytmometr, • Zapisanie wyniku w rejestrze lub w pamięci komputera.
Przerwania • Sekwencyjna praca procesora może być przerwana przez sygnały lub zdarzenia zewnętrzne, np. naciśnięcie klawisza, ruch myszki. • Przerwanie (interrupt) lub żądanie przerwania (IRQ – Interrupt ReQuest) jest to sygnał powodujący zmianę przepływu sterowania, niezależnie od aktualnie wykonywanego programu. Pojawienie się przerwania powoduje wstrzymanie aktualnie wykonywanego programu i wykonanie przez procesor kodu procedury obsługi przerwania (interrupt handler).
Rodzaje przerwań • Sprzętowe. • Zewnętrzne – sygnał przerwania pochodzi z zewnętrznego układu obsługującego przerwania sprzętowe. Przerwania te służą do komunikacji z urządzeniami zewnętrznymi, np. z klawiaturą, myszką itp. • Wewnętrzne (wyjątki) – zgłaszane przez procesor dla sygnalizowania sytuacji wyjątkowych (np. dzielenie przez zero): • faults (niepowodzenia) – aktualnie wykonywana instrukcja powoduje błąd. Procesor powracając do wykonywania przerwanego kodu wykonuje tę samą instrukcję, która wywołała wyjątek; • traps (pułapki) – sytuacja, która nie jest błędem, jej wystąpienie ma na celu wykonanie określonego kodu; wykorzystywane przede wszystkim w debugerach. Procesor powracając do wykonywania przerwanego kodu wykonuje instrukcję następną w kolejności po tej, która wywołała wyjątek. • aborts – błędy, których nie można naprawić. • Programowe – procedura obsługi przerwania wywoływana jest z kodu programu