Budowa komputera Komputer computer computare

Podobne dokumenty
Budowa Mikrokomputera

LEKCJA TEMAT: Współczesne procesory.

Organizacja typowego mikroprocesora

Budowa i zasada działania komputera. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski

LEKCJA TEMAT: Zasada działania komputera.

Architektura systemów komputerowych

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

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

Projektowanie. Projektowanie mikroprocesorów

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

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

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Podstawy Informatyki Systemy sterowane przepływem argumentów

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

Architektura komputera

ARCHITEKTURA PROCESORA,

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

Architektura mikroprocesorów TEO 2009/2010

Architektura komputerów

Procesory. Schemat budowy procesora

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

Architektura systemów komputerowych. Przetwarzanie potokowe I

Struktura i działanie jednostki centralnej

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

Mapowanie bezpośrednie

Budowa komputera KROK PO KROKU! Opis wszystkich części komputera w sposób zrozumiały dla nowatorów

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

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

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

Architektura komputerów wer. 7

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

Magistrala systemowa (System Bus)

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

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

Architektura komputerów wer. 3

MIKROKONTROLERY I MIKROPROCESORY

Podstawy Techniki Mikroprocesorowej

Komputer i urządzenia z nim współpracujące.

Programowanie Niskopoziomowe

Architektura komputerów

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

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

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

Technologie Informacyjne Wykład 2

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

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

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

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

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

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

Architektura komputerów egzamin końcowy

Abstrakcyjny model maszyny przetwarzającej dane To pomysł jak zapisać komputer jako działające urządzenie i tu pojawia się pomysł na maszynę Turinga.

Przetwarzanie potokowe pipelining

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

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

Pracownia Komputerowa. Wyk ad I Magdalena Posiada a-zezula

Architektura typu Single-Cycle

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

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

urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.

Architektura komputerów

Architektura komputerów

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

Architektura komputerów

Technologie Informacyjne Wykład 3

Technologie informacyjne - wykład 2 -

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

Arytmetyka liczb binarnych

Wykład 2. Mikrokontrolery z rdzeniami ARM

Podzespoły Systemu Komputerowego:

UKŁADY MIKROPROGRAMOWALNE

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

Architektura potokowa RISC

Architektura systemów komputerowych. dr Artur Bartoszewski

Maszyny liczace - rys historyczny

Budowa komputera. Lubię to! - podręcznik

Architektura komputerów

Tranzystor JFET i MOSFET zas. działania

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

Przykładowe pytania DSP 1

Stronicowanie w systemie pamięci wirtualnej

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Podstawy Informatyki Układ sterujący

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

Architektura komputerów

System pamięci. Pamięć podręczna

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

Budowa systemów komputerowych

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

Język programowania: Lista instrukcji (IL Instruction List)

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

Transkrypt:

11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego. Obecnie większość komputerów cechuje możliwość ich programowania, czyli wprowadzenia do pamięci komputera listy instrukcji, które mogą być wykonane w innym czasie. Budowa takiej maszyny opiera się na architekturze stworzonej w 1945 przez Johna von Neumanna. Dzieliła ona komputer na trzy podstawowe części: procesor (w ramach którego wydzielona bywa część sterująca oraz część arytmetyczno-logiczna) pamięć komputera (zawierająca dane i sam program) urządzenia wejścia/wyjścia System komputerowy zbudowany w oparciu o architekturę von Neumanna powinien: mieć skończoną i funkcjonalnie pełną listę rozkazów mieć możliwość wprowadzenia programu do systemu komputerowego poprzez urządzenia zewnętrzne i jego przechowywanie w pamięci w sposób identyczny jak danych dane i instrukcje w takim systemie powinny być jednakowo dostępne dla procesora informacja jest tam przetwarzana dzięki sekwencyjnemu odczytywaniu instrukcji z pamięci komputera i wykonywaniu tych instrukcji w procesorze.

Model komputera wykorzystującego architekturę von Neumanna jest często nazywany przykładową maszyną cyfrową (PMC). W początkowym okresie rozwoju komputerów budowano komputery zerowej generacji na przekaźnikach i elementach mechanicznych. Właściwie wszystkie współczesne komputery to maszyny elektroniczne. Większość współczesnych komputerów składa się z trzech podstawowych elementów: procesora podzielonego na część arytmetyczno-logiczną czyli układu, który faktycznie wykonuje wszystkie konieczne obliczenia oraz część sterującą pamięci RAM (od ang. Random Access Memory) czyli układy scalone, które przechowują program i dane (umożliwia to m.in. samo modyfikację programu) oraz bieżące wyniki obliczeń procesora i stale, na bieżąco wymienia dane z procesorem urządzeń wejścia/wyjścia które służą do komunikacji komputera z otoczeniem.

Procesor (ang. processor), także CPU (ang. Central Processing Unit) urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora. Komputer oprócz procesora głównego (CPU) ma procesory pomocnicze: obrazu (GPU), dźwięku, koprocesory arytmetyczne. Obecnie popularne procesory Intela z punktu widzenia programisty są widziane jako CISC, ale ich rdzeń jest RISC-owy. Rozkazy CISC są rozbijane na mikrorozkazy (ang. microops), które są następnie wykonywane przez RISC-owy blok wykonawczy. W praktyce okazuje się że rozwiązanie takie (pomimo wielu znaczących wad) jest podejściem znacznie bardziej wydajnym (szczególnie że RISC-owy blok wykonawczy jest znacznie bardziej nowoczesny od architektury CISC widocznej dla programisty). RISC (Reduced Instruction Set Computers) CISC (Complex Instruction Set Computers) Płyta główna (ang. motherboard, mainboard) najważniejsza płyta drukowana urządzenia elektronicznego, na której montuje się najważniejsze elementy urządzenia, umożliwiająca komunikację wszystkim pozostałym komponentom i modułom. Karta graficzna karta rozszerzeń komputera odpowiedzialna za renderowanie grafiki i jej konwersję na sygnał zrozumiały dla wyświetlacza.

12. Struktura procesora W funkcjonalnej strukturze procesora, niezależnie czy jest to CPU, czy GPU można wyróżnić takie elementy, jak: bardzo szybką pamięć podręczną (cache) zespół rejestrów do przechowywania danych i wyników, rejestry mogą być ogólnego przeznaczenia lub mają specjalne przeznaczenie, jednostkę arytmetyczną (arytmometr) do wykonywania operacji obliczeniowych na danych, układ sterujący przebiegiem wykonywania programu, inne układy, w które producent wyposaża procesor w celu usprawnienia jego pracy. Jednym z parametrów procesora jest rozmiar elementów budujących jego strukturę. Im są one mniejsze, tym niższe jest zużycie energii, napięcie pracy oraz wyższa możliwa do osiągnięcia częstotliwość pracy. Przykładowe rozkazy procesora: kopiowanie danych: z pamięci do rejestru, z rejestru do pamięci, z pamięci do pamięci; działania arytmetyczne (dodawanie, odejmowanie, porównywani, dwóch liczb, dodawanie i odejmowanie jedności, zmiana znaku liczby działania na bitach (iloczyn/suma logiczna, suma modulo XOR, negacja NOT, przesunięcie skoki

13. Cykl rozkazowy procesora Cykl rozkazowy procesora to pewien schemat powtarzających się czynności, realizujących wykonywanie instrukcji programu. Na cykl rozkazowy składają się dwie fazy: faza pobrania, faza wykonania. W fazie pobrania procesor pobiera kod rozkazu z komórki pamięci. Adres pod którym znajduje się rozkaz przechowywany jest w liczniku rozkazów. Wartość tego licznika wysyłana jest na magistralę adresową a licznik rozkazów zostaje zwiększony tak, aby wskazywał na następny rozkaz przeznaczony do wykonania. Po fazie pobrania następuje faza wykonania, w której procesor dekoduje rozkaz i określa jego typ. Układ sterowania generuje odpowiednie sygnały sterujące, realizujące dany rozkaz. Jeżeli rozkaz wymaga pobrania argumentów, to przed jego wykonaniem są one pobierane z pamięci i umieszczane w odpowiednich rejestrach. We współczesnych procesorach oba te cykle wykonywane są jednocześnie. W czasie wykonywania rozkazu pobierany jest już następny.

14. Metody odwzorowania pamięci głównej w pamięci podręcznej. Odwzorowanie bezpośrednie - najprostsza metoda, znana jako odwzorowanie bezpośrednie, polega na odwzorowywaniu każdego bloku pamięci głównej na tylko jeden możliwy wiersz pamięci podręcznej. Odwzorowywanie jest wyrażane jako: i = j modulo m gdzie i - numer wiersza pamięci podręcznej j - numer bloku pamięci głównej m - liczba wierszy w pamięci podręcznej Metoda odwzorowywania bezpośredniego jest prosta i tania przy wdrażaniu. Jej główną wadą jest to, że dla danego bloku istnieje stała lokalizacja w pamięci podręcznej. W rezultacie, jeśli program będzie się często odwoływał do słów z dwóch różnych bloków przypisanych do tego samego wiersza, to bloki te będą ciągle przenoszone do pamięci podręcznej, co obniży ogólną szybkość.

Odwzorowywanie skojarzeniowe eliminuje wady odwzorowywania bezpośredniego, gdyż umożliwia ładowanie każdego bloku pamięci głównej do dowolnego wiersza pamięci podręcznej. W tym przypadku sterujące układy logiczne pamięci podręcznej interpretują adres pamięci po prostu jako znacznik i pole słowa. Pole znacznika jednoznacznie określa blok pamięci głównej. W celu stwierdzenia, czy blok znajduje się w pamięci podręcznej, sterujące układy logiczne pamięci podręcznej muszą jednocześnie zbadać zgodność znacznika każdego wiersza. W przypadku odwzorowywania skojarzeniowego blok do zastąpienia jest wybierany elastycznie, kiedy nowy blok jest wczytywany do pamięci podręcznej. Opracowano algorytmy zastępowania służące do maksymalizacji współczynnika trafień. Główną wadą odwzorowywania skojarzeniowego są złożone układy wymagane do równoległego badania znaczników wszystkich wierszy pamięci podręcznej. Odwzorowywanie sekcyjno-skojarzeniowe stanowi kompromis łączący zalety odwzorowywania bezpośredniego i skojarzeniowego; jest ono pozbawione wad charakteryzujących te metody. W tym przypadku pamięć podręczna jest dzielona na v sekcji, z których każda składa się z k wierszy. W przypadku odwzorowywania sekcyjno-skojarzeniowego blok Bj może być odwzorowywany na dowolny wiersz sekcji i. W tym przypadku sterujące układy logiczne pamięci podręcznej interpretują adres pamięci jako trzy pola: znacznik, sekcja i słowo. Za pomocą d bitów sekcji precyzuje się jedną z v = 2d sekcji, a s bitów znacznika w połączeniu z polem sekcji określa jeden z 2s bloków pamięci głównej.

15. Przetwarzanie potokowe. Przetwarzanie potokowe (Używanie w celu zwiększenia wydajności) sposób pracy procesora polegający na wykonywaniu kolejnych instrukcji, przy czym rozpoczęcie następnej nie wymaga zakończenia poprzedniej. Uzyskuje się dzięki temu pełniejsze wykorzystanie mocy obliczeniowej procesora. cykl przetwarzania dzieli się na odrębne bloki przetwarzania, z których każdy oprócz pierwszego i ostatniego jest połączony z następnym. Dane po przejściu przez jeden blok trafiają do następnego, aż osiągną ostatni blok. Dzięki temu, że przetwarzanie odbywa się w rozdzielnych blokach system może przetwarzać jednocześnie tyle danych ile zdefiniowano bloków. Wadą takiego rozwiązania jest dłuższy czas oczekiwania na zakończenie pierwszej operacji po chwili przestoju, gdyż dla potoku o długości n etapów minimalny czas oczekiwania wynosi n cykli zegarowych. Jedynym sposobem ograniczenia tego problemu jest zwiększanie częstotliwości taktowania układu oraz likwidowanie przerw w przetwarzaniu.