Architektura systemów komputerowych. dr Artur Bartoszewski

Podobne dokumenty
Architektura systemów komputerowych

Budowa i zasada działania komputera. dr Artur Bartoszewski

LEKCJA TEMAT: Współczesne procesory.

Wykład III. Procesor. Studia Podyplomowe INFORMATYKA Architektura komputerów

Procesory. Schemat budowy procesora

Budowa komputera Komputer computer computare

Budowa Mikrokomputera

Organizacja typowego mikroprocesora

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

LEKCJA TEMAT: Zasada działania komputera.

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Architektura mikroprocesorów TEO 2009/2010

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

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

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Projektowanie. Projektowanie mikroprocesorów

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

Architektura komputerów

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

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Magistrala systemowa (System Bus)

Podstawy Techniki Mikroprocesorowej

Architektura komputerów

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

UKŁADY MIKROPROGRAMOWALNE

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

MIKROKONTROLERY I MIKROPROCESORY

Architektura komputera

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

Programowanie Niskopoziomowe

Mikroprocesory rodziny INTEL 80x86

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Mikroprocesor Operacje wejścia / wyjścia

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

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

ARCHITEKTURA PROCESORA,

Architektura mikroprocesorów z rdzeniem ColdFire

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

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

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

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

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

WPROWADZENIE Mikrosterownik mikrokontrolery

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

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

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

Opracował: Jan Front

Architektura systemów komputerowych. dr Artur Bartoszewski

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

Technologie Informacyjne Wykład 3

architektura komputerów w. 4 Realizacja sterowania

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

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

Wykład Mikroprocesory i kontrolery

Architektura Systemów Komputerowych

Struktura i działanie jednostki centralnej

Przykładowe pytania DSP 1

Architektura komputerów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

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

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Wydajność obliczeń a architektura procesorów

Architektura potokowa RISC

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

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

Podstawy Informatyki Systemy sterowane przepływem argumentów

Architektura komputerów

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

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Podstawy Informatyki Układ sterujący

Zarządzanie pamięcią w systemie operacyjnym

Architektura von Neumanna. Jak zbudowany jest współczesny komputer? Schemat architektury typowego PC-ta. Architektura PC wersja techniczna

Architektura typu Single-Cycle

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

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

System mikroprocesorowy i peryferia. Dariusz Chaberski

Krótka wycieczka do wnętrza komputera

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

4.2. Współczesne generacje procesorów

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

dr inż. Jarosław Forenc

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

Urządzenia zewnętrzne

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

Architektura systemów komputerowych. Przetwarzanie potokowe I

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Maszyny liczace - rys historyczny

Programowanie współbieżne Wykład 2. Iwona Kochańska

Technika mikroprocesorowa I Wykład 1

Technika mikroprocesorowa

Podstawy Informatyki JA-L i Pamięci

Budowa systemów komputerowych

Transkrypt:

Architektura systemów komputerowych 1 dr Artur Bartoszewski

Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat blokowy CPU 4. Architektura CISC i RISC 2

Jednostka arytmetyczno-logiczna 3

Schemat blokowy mikroprocesora (I) Najważniejszym elementem procesora jest ALU jednostka arytmetyczno-logiczna (ang. Arithmetic Logic Unit) nazywana też niekiedy arytmometrem. Jest to uniwersalny układ cyfrowy w którym wykonywane są operacje arytmetyczne (dodawanie, odejmowanie, dzielenie, mnożenie) oraz logiczne na dostarczanych do niego liczbach. Dane pobierane są z pamięci operacyjnej lub rejestrów, a o tym, jaka operacja zostanie na nich wykonana decydują sygnały sterujące. 4

Jednostka arytmetyczno-logiczna Zestaw operacji ALU powinien być funkcjonalnie pełny, tzn. taki za pomocą którego jesteśmy w stanie zrealizować dowolny algorytm przetwarzania informacji. Każda lista rozkazów zawiera kilka grup działań występujących w różnych wersjach niemal w każdym komputerze są to: przesłania, działania arytmetyczne, działania logiczne, przesunięcia, sterowanie przebiegiem programu, przesłania wejścia-wyjścia, działania zmiennopozycyjne, działania na argumentach upakowanych. ALU nie posiada pamięci ani urządzeń umożliwiających współpracę z pamięcią RAM. Współpracuje z zestawem rejestrów. 5

Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu podajemy dane. Układ wykonuje na danych określone operacje. Układ zwraca wyniki. Układ cyfrowy to nie to samo co procesor czy nawet ALU. Pojęcie Układu cyfrowego obejmuje każde urządzenie elektroniki, i automatyki spełniające powyższe funkcje. 6

Systemu mikroprocesorowy Zadaniem CPU oprócz przetwarzania informacji jest także sterowanie pracą pozostałych układów systemu. Wszystkie działania i operacje w systemie są sterowane lub zainicjowane przez procesor. Rodzaj tych działań uzależniony jest od ciągu instrukcji dostarczonych do mikroprocesora nazywanych programem. Tak więc, każde działanie wykonane przez system jest wynikiem działania programu lub jego fragmentu. Program musi być przechowywany w pamięci o krótkim czasie dostępu i dostępie swobodnym (pamięć półprzewodnikowa). Pamięci masowa nie nadają się - mają zbyt długi czas dostępu i dostęp sekwencyjny. 7

Schemat blokowy mikroprocesora (I) ALU a mikroprocesor 8

Schemat blokowy mikroprocesora (I) W procesorze są dwie części różniące się pełnionymi funkcjami BLOK STERUJĄCY ( CU, control unit) BLOK WYKONAWCZY (EU execution unit) 9

Schemat blokowy mikroprocesora (I) Jednostkę arytmetyczno-logiczną wraz z zespołem rejestrów nazywamy blokiem wykonawczym procesora. ALU można wyobrazić sobie, jako zestaw wielu prostych układów elektroniki cyfrowej, z których każdy wykonuje pojedynczą operację arytmetyczną lub logiczną. Sygnały sterujące uaktywniają taką kombinację tych układów, która jest potrzebna w danej chwili, do wykonania aktualnie przetwarzanego rozkazu lub jego części. Zmiana sygnałów sterujących powoduje uaktywnienie nowej kombinacji układów i przełączenie się ALU inna operację. 10

Schemat blokowy mikroprocesora (I) Przetwarzaniem poleceń programu rozkazów asemblera dla danego procesora na wewnętrzne sygnały sterujące zajmuje się blok sterujący. W jego skład wchodzą: rejestr rozkazów (IR), w którym przechowywany jest kod aktualnie wykonywanego rozkazu; dekoder rozkazów, którego zadaniem jest rozpoznanie pobranego z pamięci operacyjnej rozkazu i wygenerowanie na jego podstawie sekwencji sygnałów sterujących dla ALU oraz pozostałych podzespołów procesora; pamięć ROM zawierająca słownik rozkazów (nie należy mulić z pamięcią ROM umieszczoną na płycie głównej). 11

Schemat blokowy mikroprocesora (II) Zadaniem części sterującej jest pobieranie rozkazów z pamięci, dekodowanie ich, przygotowanie argumentów i generowanie sygnałów sterujących mikrooperacjami w fazie wykonania. Układ sterujący może być zrealizowany na dwa sposoby - jako sterowanie mikroukładowe (hardwired control) lub sterowanie mikroprogramowane (micropwgrammed control). 12

Lista rozkazów Definicja: Rozkazem nazywamy najprostszą operacje w programowaniu, taką której wykonania program może zażądać od procesora Definicja: Lista rozkazów to pełny zestaw instrukcji maszynowych jakie może wykonać procesor 13

Lista rozkazów Każdy rozkaz składa się z kilku pól. Jedno z nich występuje zawsze i nosi nawę pola kodu operacji. Kod ten definiuje funkcję rozkazu, czyli czynności jakie należy wykonać. Pozostałe pola zawierają argumenty operacji. Liczba tych pól zależy od rodzaju operacji, jakiej odpowiada rozkaz. W rozkazach bez argumentów pola dodatkowe nie występują. Definicja: Sposób rozmieszczenia wymienionych elementów w słowie lub słowach komputera nazywamy formatem rozkazu. 14

Lista rozkazów 15

Cykl rozkazowy procesora Cykl rozkazowy procesora obejmuje dwie powtarzające się czynności: 16

Cykl rozkazowy procesora Faza pobrania: Kolejne etapy fazy pobierania i wykonywania: 1. Podanie zawartości licznika rozkazów PC na magistralę adresową AB 2. Wczytanie zawartości zaadresowanej komórki do rejestru rozkazów (IR) 3. Zwiększenie zawartości licznika rozkazów Faza wykonania: 4. Zdekodowanie kodu rozkazu i wytworzenie sygnałów sterujących realizujących rozkaz 4 1 Cykl von Neumana 2 3 17

Cykl rozkazowy procesora Faza pobrania: 1. Podanie zawartości licznika rozkazów PC na magistralę adresową AB 2. Wczytanie zawartości zaadresowanej komórki do rejestru rozkazów (IR) 3. Zwiększenie zawartości licznika rozkazów Faza wykonania: 4. Zdekodowanie kodu rozkazu i wytworzenie sygnałów sterujących realizujących rozkaz 18

Schemat blokowy mikroprocesora (II) Rozkaz jest odczytywany z pamięci na podstawie adresu w tzw. liczniku rozkazów (PC, program counter lub IP, instruction pointer} Rozkaz wpisywany do rejestru rozkazów, w którym przebywa aż do zakończenia cyklu rozkazowego. Poszczególne części rejestru rozkazów, odpowiadające polom słowa rozkazowego, są dekodowane określając dalszy przebieg cyklu. Wykrywana jest długość pobranego rozkazu i o te wielkość zwiększa się licznik rozkazów, wskazując od tej pory adres kolejnego rozkazu. Ten mechanizm zapewnia sekwencyjne działanie komputera - rozkazy są pobierane i wykonywane w takiej kolejności, w jakiej są umieszczone w pamięci, czyli tak jak były zapisane w programie. Jedynie rozkazy sterujące (skoki) mogą w czasie wykonania, a więc przed pobraniem następnego rozkazu, zmienić zawartość PC. 19

Przepływy informacji w cyklu rozkazowym 20

Przepływy informacji w cyklu rozkazowym 1. Adres zawarty w liczniku rozkazów podawany jest do pamięci. 2. Zawartość zaadresowanej komórki przepisywana jest do rejestru rozkazów. 3. Przykładowy rozkaz ( z rys. na poprzednim slajdzie) zawiera: kod rozkazu. adres pierwszego z argumentów (adres w pamięci RAM), adres (nazwę) rejestru w, którym znajduje się drugi argument, adres (nazwę) rejestru do którego ma być zapisany wynik. 4. Argumenty pobrane z RAM-u i rejestru trafiają do ALU (arytmometru) 5. Wynik zapisywany jest w rejestrze 21

Schemat blokowy mikroprocesora (III) 22

Schemat blokowy mikroprocesora (III) BU (Bus Unit) - wyizolowany blok komunikacyjny odpowiadający za współpracę z pamięcią Prefeth kolejka oczekujących na wykonanie danych IU (instruction Unit) blok dekodera korzysta on z pamięci ROM w której znajduje się słownik tłumaczący przyjmowane kody rozkazów na sekwencje instrukcji wewnętrznych mikroprocesora EU (Execution Unit) układ wykonawczy realizujący operacje określone przez kod rozkazu. Znaczna część programu podlega obróbce w module ALU (Arithmetic- Logic Unit) sterowanym z bloku CU (Control Unit). Dla przyspieszenia pracy procesora operacje zmiennoprzecinkowe przekazywane są do wyspecjalizowanej jednostki FPU (Floating Point Unit) 23

Schemat blokowy mikroprocesora Konieczność zapewnienia płynnego funkcjonowania procesora wymaga, by dane do wykonania (kod programowy) pobierane były w większych porcjach i gromadzone w kolejce Prefetch, gdzie oczekują na wykonanie. 24

Schemat blokowy mikroprocesora Ich odtwarzania odbywa się w bloku dekodera (IU - Instruction Unit). Praca tego układu wspomagana jest często przez obszerną podręczną pamięć stałą (ROM), w której zawarty jest słownik tłumaczący przyjmowane kody rozkazowe na sekwencje ukrywających się pod nimi operacji. 25

Schemat blokowy mikroprocesora Rozkodowane instrukcje przekazywane są do właściwego układu wykonawczego (EU -Execution Unit), gdzie realizowana jest operacja określona danym kodem rozkazowym. Znaczna część powszechnie używanego kodu pracuje na liczbach stałoprzecinkowych (Integer) i podlega obróbce w module ALU (Arithmetic-Logic Unii) sterowanego z bloku CU (Control Unit). 26

Schemat blokowy mikroprocesora Jeśli jednak rozkaz dotyczył obiektów zmiennoprzecinkowych przekazuje się go do wyspecjalizowanej jednostki zmiennoprzecinkowej (FPU - Floating Point Unit). 27

Schemat blokowy mikroprocesora Rozkazy posługują się zwykle pewnymi argumentami (parametry funkcji, na przykład składniki przy dodawaniu), które również trzeba pobrać z pamięci operacyjnej. Często wymaga się, by wynik operacji przesłać pod określony adres. Obsługę przesyłania bierze na siebie jednostka adresowania (AU Addressing Unit). Względy natury technicznej (omówione na poprzednim wykładzie) powodują, iż dostęp do pamięci operacyjnej wymaga pewnych dodatkowych nakładów, których realizacji poświęca się jednostkę zarządzania pamięcią (MMU - Memory Management Unit). 28

Architektura CISC i RISC Początkowo listy rozkazów były niewielkie i zawierały operacje niezbędne do wykonywania działań arytmetycznych i do tworzenia elementarnych struktur progra mowych (skoki, pętle, rozgałęzienia warunkowe, podprogramy). Później dołączono rozkazy działające na znakach, a ostatnio rozkazy ukierunkowane na zastosowania w obsłudze operacji multimedialnych. Po wprowadzeniu języków symbolicznych (asemblerów), które stały się głównym narzędziem programowania systemowego (systemy operacyjne, kompilatory), nowe listy rozkazów wyposażano w coraz bardziej złożone instrukcje ułatwiające programowanie. Celem stało się zniwelowanie luki semantycznej między asemblerami, a więc i językami maszynowymi, a językami algorytmicznymi wysokiego poziomu. 29

Architektura CISC CISC Architektura CISC bazuje na sterowaniu mikroprogramowym. Pojedynczy, złożony rozkaz rozbijany był wewnątrz procesora na kilka prostszych rozkazów, a jego wykonanie trwa kilka lub nawet kilkanaście taktów zegara. Sterowanie mikroprogramowe wymaga wyposażenia procesora w skomplikowana jednostkę sterującą. 30

Architektura CISC CISC Procesory ze złożoną listą instrukcji są określane jako CISC (ang. Complex Instruction Set Computer). Charakteryzują się: dużą liczbą rozkazów o różnych długościach; dużą liczbą trybów adresowania; Zalety: łatwością tworzenia oprogramowania Wady: bogactwo rozkazów maszynowych prowadziło do tego, że rozkazy były długie i różnej długości, co komplikowało strukturę i działanie układu sterującego 31

Koncepcja CISC CISC 32

Architektura CISC i RISC RISC Procesory ze zredukowaną (uproszczoną) listą rozkazów RISC (ang. Reduced Instruction Set Computer) charakteryzują się: niewielką liczbą rozkazów małą liczbą trybów adresowania prostą i szybką jednostką sterującą Zalety: prosta (a więc tania) jednostka sterująca; możliwość zwiększania taktowania procesora; przetwarzanie potokowe; Wady trudnością w tworzeniu oprogramowania duże obciążenie magistral pamięciowych 33

Architektura CISC i RISC RISC Szybkość przetwarzania instrukcji w technologii RISC osiągnięto poprzez sterowanie mikroukładowe. W procesorze dysponującym niewielką liczba prostych rozkazów nie zachodzi, w przeciwieństwie do architektury CISC, konieczność rozbijania ich na prostsze operacje składowe. Realizacją każdego rozkazu może zajmować się wyspecjalizowany układ logiczny bloku wykonawczego. 34

Architektura CISC i RISC RISC Procesor zbudowany w technologii RISC wykonuje w krótkim czasie bardzo dużo prostych rozkazów. Rozkazy te (wraz z ich argumentami) muszą być dostarczane w odpowiednim tempie. Wymaga to dużej przepustowości magistrali łączącej procesor z pamięcią operacyjną. Problem ten nie występował w technologii CISC, gdzie pojedynczy rozkaz był wczytany i wykonywany przez kilkanaście taktów zegara. Procesory RISC są natomiast w stanie pobrać więcej niż jeden rozkaz w pojedynczym takcie zegara (tak, to możliwe superskalarność). Dla zapewnienia odpowiednio szybkiej komunikacji z pamięciom RAM współczesne procesory wyposażone są w dwa lub trzy poziomy pamięci podręcznej CACHE (L1, L2 i L3). 35

Koncepcja RISC RISC 36

RISC czy CISC? Rozwój rynku mikroprocesorów w ciągu ostatnich 20 lat pokazał, że koncepcja RISC daje lepsze efekty mierzone stosunkiem wydajności procesora do jego kosztu. Współczesne procesory rodziny x86 produkowane przez firmy Intel oraz AMD mają listy rozkazów dużo dłuższe, niż starsze procesory wykonane w technologii CISC. Jednocześnie procesory te posiadają większość kluczowych cech technologii RISC (mała liczba trybów adresowania, podział pamięci Cache na blok danych i blok instrukcji, możliwość pracy potokowej i superskalarnej). Procesory te łączą cechy obu typów architektury. Długa lista rozkazów zapewnia zgodność ze starszym oprogramowaniem, a szybkie, oparte na koncepcji RISC, przetwarzanie programu wewnątrz procesora zwiększa jego moc obliczeniowa. 37

Koncepcja RISC Architektura CISC RISC Liczba rozkazów: duża mała Format (długość) rozkazów: zmienna stała Rodzaj sterowania jednostka wykonawczą: mikroprogramowe mikroukładowe Budowa jednostki sterującej: skomplikowana prosta Konieczność stosowania wysokowydajnych magistral pamięci: NIE TAK Konieczność stosowania pamięci Cache: NIE TAK Możliwość przetwarzania potokowego: NIE TAK Możliwość przetwarzania superskalarnego: NIE TAK 38

Dziękuję za uwagę 39