Narzędzia informatyki



Podobne dokumenty
1. Budowa komputera schemat ogólny.

LEKCJA TEMAT: Zasada działania komputera.

dr inż. Jarosław Forenc

Dydaktyka Informatyki budowa i zasady działania komputera

Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Technologie informacyjne - wykład 2 -

Architektura mikroprocesorów TEO 2009/2010

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.

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Budowa Mikrokomputera

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

Architektura komputerów

Budowa komputera Komputer computer computare

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

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

Architektura komputerów

Technologia informacyjna. Urządzenia techniki komputerowej

Podstawy Informatyki Systemy sterowane przepływem argumentów

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

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Podstawy Informatyki. Rodzaje komputerów. dr. inż Adam Klimowicz

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

Magistrala systemowa (System Bus)

Architektura komputerów

Ćwiczenie Wstawianie spisu treści, indeksu alfabetycznego i indeksu ilustracji Wstaw > Indeksy i spisy > indeksy i spisy) Wskazówka:

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

Budowa komputera. Lubię to! - podręcznik

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

URZĄDZENIA WEJŚCIA-WYJŚCIA

Wprowadzenie do architektury komputerów. Taksonomie architektur Podstawowe typy architektur komputerowych

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

KOMPUTER. Zestawy komputerowe podstawowe wiadomości

BUDOWA KOMPUTERA. Monika Słomian

Budowa Komputera część teoretyczna

Twardy dysk. -urządzenie pamięci masowej

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

Płyta główna (ang. motherboard) najważniejsza płyta drukowana urządzenia elektronicznego, na której zamontowano najważniejsze elementy urządzenia, umo

Płyty główne rodzaje. 1. Płyta główna w formacie AT

ARCHITEKTURA PROCESORA,

Budowa i zasada działania komputera. dr Artur Bartoszewski

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

Test wiedzy z UTK. Dział 1 Budowa i obsługa komputera

Procesory. Schemat budowy procesora

Architektura komputerów

Temat 2. Logiczna budowa komputera.

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

16. Taksonomia Flynn'a.

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

Architektura komputera

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

Z parametrów procesora zamieszczonego na zdjęciu powyżej wynika, że jest on taktowany z częstotliwością a) 1,86 GHz b) 540 MHz c) 533 MHz d) 1 GHz

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

Budowa systemów komputerowych

Budowa komputera: Jednostka centralna. Klawiatura Urządzenia peryferyjne

Podzespoły Systemu Komputerowego:

Architektura komputerów

2. Podstawowe elementy PC

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

WPROWADZENIE Mikrosterownik mikrokontrolery

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

Magistrale i gniazda rozszerzeń

System mikroprocesorowy i peryferia. Dariusz Chaberski

Sprawdzian test egzaminacyjny GRUPA I

Mikroprocesor Operacje wejścia / wyjścia

Publiczne Technikum Informatyczne Computer College w Koszalinie

Organizacja typowego mikroprocesora

Informatyka 1. Wykład nr 7 ( ) Plan wykładu nr 7. Politechnika Białostocka. - Wydział Elektryczny. Architektura von Neumanna

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

W sklepie komputerowym sprzedawca zachwala klientowi swój najnowszy towar: -Ten komputer wykona za pana połowę pracy! - W takim razie biorę dwa.

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -

Podstawy Informatyki JA-L i Pamięci

Urządzenia zewnętrzne

Lp. Nazwa Parametry techniczne

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

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

Standard transmisji równoległej LPT Centronics

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

Architektura komputerów

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

Architektura komputerów wer. 3

Architektura komputerów wer. 7

Sprawdzian test egzaminacyjny 2 GRUPA I

PYTANIA BUDOWA KOMPUTERA kartkówki i quizy

Struktura i działanie jednostki centralnej

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

Plan wykładu. 1. Urządzenia peryferyjne 2. Rodzaje transmisji danych 3. Interfejs COM 4. Interfejs LPT 5. Plug and Play

KOMPUTER. jaki jest, każdy widzi. Mówiąc komputer, mamy najczęściej na myśli zestaw... urządzeń podłączonych jednocześnie do jednostki centralnej.

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

Architektura komputerów

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Budowa komputerów. Ewelina Langer UTW w Chrzanowie

LEKCJA TEMAT: Współczesne procesory.

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

Architektura systemów komputerowych. dr Artur Bartoszewski

Interfejs urządzeń peryferyjnych

Transkrypt:

Narzędzia informatyki dr inż. Anna Kobusińska Anna.Kobusinska@cs.put.poznan.pl www.cs.put.poznan.pl/akobusinska Literatura Duch W., Fascynujący świat komputerów, Nakom, Poznań 1997 Skorupski P., Podstawy budowy i działania komputerów, WKiŁ, Warszawa 1997 Norton P., W sercu PC, Helion, Gliwice 1995 Rubin C., Podręcznik Microsoft: Excel 2000, Wyd. RM., Warszawa 1999 Dodge M., Stinson C., Podręcznik Microsoft: Word 2000, Wyd. RM, Warszawa 1999 Pfaffenberger B., Schafer S. M., White C., Karow B., HTML, XHTML i CSS. Biblia, Helion, Gliwice 2005 Naik D. C., Internet Standards and Protocols, Microsoft Press, Washington 1998 Null L., Lobur J., Struktura organizacyjna i architektura systemów komputerowych, Helion, 2004

Plan wykładu Budowa i zasada działania komputera Organizacja systemu komputerowego System operacyjny Informatyczne narzędzia biurowe: Microsoft Word Microsoft Excel Power Point Systemy rozproszone Sieci komputerowe usługi i protokoły Narzędzia informatyki Narzędzia informatyki Komputery Oprogramowanie

Komputer osobisty Urządzenia elektroniki użytkowej TECHNOLOGIA CYFROWA Wspólna platforma sprzętowa komputer telewizor cyfrowy sprzęt video sprzęt audio telekomunikacja fotografia cyfrowa inteligentny dom

Komputer: Komputer - trochę teorii elektroniczna maszyna licząca (ang. compute obliczać), urządzenie elektroniczne służące do automatycznego przetwarzania informacji (danych), przedstawionych cyfrowo (tzn. za pomocą odpowiednio zakodowanych liczb), wyposażone w możliwość wprowadzania, przechowywania i wyprowadzania danych Komputer - trochę teorii Słowo komputer pochodzi od łacińskiego computare (liczyć) i w XVII wieku przez francuskie compter zostało przejęte przez angielski [9]. Używane nazwy: - pomoc obliczeniowa, - aparat matematyczny, - mózg elektronowy, - maszyna matematyczna, - elektroniczna maszyna obliczeniowa, - elektroniczna maszyna cyfrowa - maszyna cyfrowa.

Komputery wczoraj i dziś Lampy elektronowe (1935-1960) Komputery wczoraj i dziś Tranzystory (1950-1960) Prototyp tranzystora Bell Labs, USA, 1947

Komputery wczoraj i dziś Układy scalone Układ scalony INTEL 4004, 1971 2300 tranzystorów, pow. 3x4mm, 4 bity Komputery wczoraj i dziś Układy scalone PENTIUM, 1993 3,2 mln. tranzystorów, 60-200 MHz

Komputery wczoraj i dziś Układy scalone Pentium 4, 2000 55 mln. tranzystorów, 3 GHz Komputery wczoraj i dziś Taśma perforowana Karta perforowana

Komputery wczoraj i dziś Eniac 1946 System komputerowy 1960-1970 Osborne 1 1981 Komputery wczoraj i dziś Komputery współczesne

Teraźniejszość i przyszłość komputerów Palmtopy (handheld) Teraźniejszość i przyszłość komputerów Tablety

Ciekawostki Podział komputerów Ze względu na cenię i możliwości możemy podzielić komputery następująco: Komputery osobiste Superkomputery Wielkie komputery Desktop Klastry i gridy Notebook Minikomputer Palmtop Handheld Stacje robocze Barebone

Superkomputery komputer, który ma jedną z największych mocy obliczeniowych na świecie w danym momencie. Jest to pojęcie względne gdyż moc obliczeniowa komputerów rośnie nieustannie i dany superkomputer pozostaje w tej klasie zwykle tylko kilka lat. Za pierwszy superkomputer uznaje się CDC 6600 z 1963 roku(control Data Corporation. według projektu i pod ścisłym nadzorem Seymoura Craya maszyna wykonywała 3 miliony operacji na sekundę pierwszy komputer gdzie zastosowano tranzystory krzemowe technika chłodzenia podzespołów freonem Klastry komputerowe (ang. cluster) Grupa połączonych jednostek komputerowych, które współpracują ze sobą w celu udostępnienia zintegrowanego środowiska pracy. Komputery wchodzące w skład klastra (będące członkami klastra) nazywane są węzłami (ang. node).

Klastry komputerowe - podział Klastry wydajnościowe: pracujące jako komputer równoległy. Celem ich budowy jest zwiększenie mocy obliczeniowej. Wiele obecnych superkomputerów działa na tej zasadzie. Klastry niezawodnościowe: pracujące jako zespół komputerów dublujących nawzajem swoje funkcje. W razie awarii jednego z węzłów, następuje automatyczne przejęcie jego funkcji przez inne węzły. Grid (ang. grid) System przetwarzania danych, który integruje i zarządza zasobami będącymi pod kontrolą różnych domen (od instytucji po system operacyjny) połączony siecią komputerową, używa standardowych, otwartych protokołów i interfejsów ogólnego przeznaczenia (odkrywania i dostępu do zasobów, autoryzacji, uwierzytelniania) oraz dostarcza usług odpowiedniej jakości (QoS, oferuje usługi wyższego poziomu).

Grid Twórcą jest Ian Foster, profesor na Uniwersytecie w Chicago, naukowiec pracujący w ANL (ang. Argonne National Laboratory). Grid jest rozwinięciem idei klastra poza tradycyjne granice domeny. Pierwsze idee gridu: GIMPS (Great Internet Mersenne Prime Search) SETI@home (Search for Extra-Terrestrial Intelligence) Stacja robocza Odmiana komputera osobistego wyposażona jednak CPU o dużej mocy obliczeniowej, monitor wysokiej klasy, dysk twardy o dużej pojemności oraz dużą ilość pamięci RAM.

Stacja robocza Stacje robocze są często wykorzystywane do tworzenia profesjonalnej grafiki i animacji telewizyjnych lub też do obliczeń numerycznych. Jedną z pierwszych takich stacji była 3Station firmy 3Com. Dzisiejsze stacje robocze wykorzystują interfejs SCSI lub światłowodowy do obsługi dysków twardych, wysokiej klasy akceleratory grafiki 3D, jeden lub więcej procesorów 64-bitowych i spore zasoby pamięci operacyjnej. Konieczne są też zaawansowane systemy chłodzenia. Mainframe komputer (ew. kilka) o dużej wydajności przetwarzania danych i większych możliwościach niż komputer domowy, którego celem jest świadczenie usług dużej liczbie użytkowników

Mainframe cechy W odróżnieniu od superkomputera Mainframe nie posiada dużej mocy obliczeniowej. Specjalizuje się w wydajnych operacjach I/O i bardzo wysokimi współczynnikami wielozadaniowości. Może obsługiwać dziesiątki tysięcy równolegle pracujących użytkowników zachowując równocześnie cały czas rozsądne czasy reakcji (poniżej 1 sekundy). Komputery klasy mainframe są ważnym elementem rynku biznesowego (ocenia się, że są odpowiedzialne za przetwarzanie prawie 90% krytycznych danych na tym rynku) ze względu na nieporównywalną z domowymi komputerami wydajność, łatwość zarządzania, możliwości rozbudowy i bezpieczeństwo. Serwer Komputer o dużej mocy przetwarzania udostępniający swoje usługi innym komputerom podłączonym do sieci. Wykorzystanie serwerów: serwery www serwery poczty serwery plików klastry obliczeniowe bazy danych firewalle serwer wydruku

Komputer osobisty i barebone Komputer osobisty komputer o stosunkowo niewielkiej mocy obliczeniowej, przeznaczony dla indywidualnego użytkownika. Barebone jest to rodzaj komputera osobistego, ale o bardzo małych wymiarach. Komputer taki ma zazwyczaj małe możliwości rozbudowy, ale zajmuje mało miejsca i może spełniać dodatkową rolę, np.: radia, odtwarzacza CD, bez konieczności uruchomienia systemu. Komputery przenośne Laptop Palmtop Tablet PC PDA

Przyszłość komputerów Komputer kwantowy Komputer kwantowy byłby urządzeniem, przy pomocy którego można by skutecznie symulować dowolny inny układ kwantowy w sposób niemożliwy dla klasycznych komputerów. Komputer optyczny Jego niewątpliwymi zaletami byłyby: odporność na zakłócenia elektromagnetyczne, szybkość (strumień fotonów porusza się znacznie szybciej niż elektrony i ma szersze pasmo) oraz to, że ten sam element może równolegle przetwarzać sygnały przenoszone przez światło o różnej długości fali. Komputer kwantowy Komputer kwantowy byłby urządzeniem, przy pomocy którego można by skutecznie symulować dowolny inny układ kwantowy w sposób niemożliwy dla klasycznych komputerów.

Architektura von Neumana Komputery różnią się wielkością, rozmiarem, ceną i wydajnością Przytłaczająca większość komputerów ogólnego przeznaczenia stanowi realizację modelu zaproponowanego przez Johna von Neumana i innych w 1946r. Architektura von Neumana W Elementy 1946 roku funkcjonalne John von Neumann w Princeton Institute for Advanced komputera: Studies zaprojektował komputer, który wykorzystywał program przechowywany w pamięci.

Architektura von Neumana Architektura von Neumanna rodzaj architektury komputera, przedstawionej po raz pierwszy w 1945 roku przez von Neumanna stworzonej wspólnie z Johnem W. Mauchly ym i Johnem Presper Eckertem. Inna spotykana nazwa: store-program computer (koncepcja przechowywanego programu) Architektura von Neumana Architektura von Neumanna zakłada podział komputera na trzy podstawowe części: procesor (w ramach którego wydzielona bywa część sterująca oraz arytmetyczno-logiczna) pamięć komputera (zawierająca dane i sam program) urządzenia wejścia/wyjścia

Architektura von Neumana Architektura von Neumana założenia Moduł kontrolny (jednostka sterująca; Control Unit): interpretuje rozkazy z pamięci i powoduje ich wykonanie Jednostka arytmetyczno-logiczna (ALU - Arithmetic Logic Unit): wykonuje działania na liczbach binarnych Pamięć (Memory): zawiera dane i program (instrukcje programu, rozkazy programu) Urządzenia wejścia-wyjścia (Input/Output): ich pracą kieruje jednostka sterująca Jednostka arytmetyczno-logiczna oraz sterująca tworzą obecnie procesor (CPU - Central Processing Unit)

Architektura von Neumana Charakterystyka systemu komputerowego zbudowanego w oparciu o architekturę von Neumanna: instrukcje tworzące program są przechowywane w pamięci w taki sam sposób, jak dane. pamięć składa się z pewnej liczby ponumerowanych komórek dostęp do pamięci następuje poprzez podanie przez procesor numeru komórki numer komórki nazywamy adresem Architektura von Neumana Z powyższych postulatów wynika w praktyce, że: zazwyczaj komputer będzie pobierał kolejne instrukcje programu z kolejnych komórek pamięci komórki te będą wybierane przez zwiększający się adres, który powinien być przechowywany i inkrementowany w procesorze adres ten jest przechowywany w specjalnym rejestrze - tzw. liczniku instrukcji (Program Counter- PC)

Architektura harwardzka Realizacja maszyny von Neumanna z oddzielnymi hierarchiami pamięci programu i danych Nazwa architektury pochodzi od nazwy komputera Harward Mark I, zaprojektowanego przez Howarda Aikena, w którym: pamięć instrukcji stanowiła taśma dziurkowana pamięć danych elektromechaniczne liczniki Architektura harwardzka

Architektura harwardzka Pamięci przeznaczone do przechowywania danych i instrukcji nie muszą być takie same, mogą różnić się technologią wykonania, strukturą adresowania, długością słowa Pamięć na instrukcje jest zazwyczaj większa niż pamięć na dane Pamięć instrukcji i danych zajmują inną przestrzeń adresową Procesor może w tym samym czasie czytać instrukcje oraz uzyskiwać dostęp do danych Architektura harwardzka Dzięki prostszej budowie oraz możliwości jednoczesnego odczytywania instrukcji i danych architektura harwardzka jest szybsza od architektury von Neumanna Architektura harwardzka jest stosowana w mikrokomputerach jednoukładowych, procesorach sygnałowych oraz przy dostępie procesora do pamięci cache

Architektura Princeton Wzorcowa realizacja maszyny von Neumanna ze wspólną hierarchią pamięci instrukcji i danych Wspólna hierarchia wyklucza równoczesne pobieranie instrukcji i operacje na danych (tzw. von Neumann bottleneck). Nieograniczone możliwości modyfikacji programu: obiekt zapisany przez procesor danych do hierarchii pamięci jako dana może być następnie pobrany przez procesor instrukcji jako instrukcja możliwość programowania - potrzebna w komputerach uniwersalnych program może sam siebie modyfikować (automodyfikacja) - nie zawsze jest to pożądana cecha Architektura Princeton

Różnice pomiędzy architekturą von Neumanna i harvardzką Pamięć instrukcji i pamięć danych zajmują różne przestrzenie adresowe Pamięć instrukcji i pamięć danych mają oddzielne szyny (magistrale) do procesora Pamięć instrukcji i pamięć danych są zaimplementowane w inny sposób Zmodyfikowana architektura harvardzka (mieszana) łączy w sobie cechy architektury harwardzkiej i architektury von Neumanna charakteryzuje się oddzieloną pamięcią danych i rozkazów, (pamięci te wykorzystują jednak wspólną magistralę danych i adresową) pozwala na dostęp do pamięci instrukcji tak jakby były to dane

Zmodyfikowana architektura harvardzka (mieszana) część pamięci instrukcji może zawierać stałe dane, np. łańcuchy znaków, które mogą być przesyłane bezpośrednio do procesora z pominięciem pamięci na dane - zapewnia to oszczędność pamięci na dane zazwyczaj w architekturze harwardzkiej pamięć instrukcji jest tylko do odczytu, a pamięć danych do odczytu i zapisu stwarza to problemy z inicjalizacją wartości w pamięci danych rozwiązaniem powyższego problemu jest właśnie dodanie odpowiednich połączeń i instrukcji umożliwiających przesyłanie danych z pamięci instrukcji do pamięci danych Architektura von Neumanna i harvardzka - podsumowanie W obecnie stosowanych procesorach występują elementy obu architektur: von Neumanna i harwardzkiej Pamięć operacyjna komputera jest to typowa architektura von Neumanna Pamięć cache jest podzielona na pamięć instrukcji i pamięć danych jeśli danych nie ma w pamięci cache to są ściągane z pamięci głównej

Architektura von Neumanna i harvardzka - podsumowanie Z punktu widzenia programisty posługujemy się architekturą von Neumana, zaś implementacje sprzętowe zawierają architekturę harwardzką Większość stosowanych obecnie mikrokontrolerow jest oparta na zmodyfikowanej architekturze harwardzkiej Struktura systemu komputerowego Przedstawienie struktury i zasady działania komputerów jest zagadnieniem skomplikowanym, ponieważ: istnieje ogromna różnorodność sprzętu komputerowego (od komputerów masywnie równoległych do zwykłych komputerów PC) technika komputerowa rozwija się bardzo szybko, ciągle pojawiają się nowe technologie, interfejsy, standardy komputer jest systemem złożonym z bardzo dużej liczby elementów

Struktura systemu komputerowego Z powyższych powodów zazwyczaj przedstawia się hierarchiczną strukturę systemu komputerowego system hierarchiczny jest to układ wzajemnie powiązanych podsystemów, z których każdy ma również strukturę hierarchiczną na każdym poziomie określana jest struktura składników systemu (sposób ich wzajemnego powiązania) oraz funkcje składników systemu (działanie poszczególnych składników jako części struktury) Hierarchiczna struktura przedstawiana jest od góry do dołu Architektura komputera odnosi się do atrybutów systemu, które są widzialne dla programisty i mają bezpośredni wpływ na logiczne wykonywanie programu do atrybutów architektury należą m.in. lista rozkazów, liczba bitów wykorzystywanych do prezentacji różnych typów danych, mechanizmy wejścia/wyjścia, metody adresowania pamięci

Organizacja komputera odnosi się do jednostek operacyjnych i ich połączeń, które stanowią realizację specyfikacji typu architektury atrybuty organizacyjne są to rozwiązania sprzętowe niewidzialne dla programisty, np. sygnały sterujące, interfejsy między komputerem a urządzeniami peryferyjnymi, wykorzystywana technologia pamięci Funkcjonowanie komputera Funkcje realizowane przez komputer: przetwarzanie danych przechowywanie danych (krótkotrwałe lub długotrwałe) przenoszenie danych (pomiędzy komputerem a światem zewnętrznym) urządzenia peryferyjne - proces wejścia/wyjścia duża odległość - transmisja danych sterowanie (trzema powyższymi funkcjami)

Struktura komputera Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem komputera i realizuje funkcje przetwarzania danych pamięć główna przechowuje dane wejście-wyjście przenosi dane między komputerem a jego otoczeniem zewnętrznym magistrala systemowa - połączenia systemu; wszystkie mechanizmy zapewniające komunikację między jednostką centralną, pamięcią główną a wejściemwyjściem Wszystkie powyższe składniki mogą występować w komputerze pojedynczo lub w większej liczbie Architektura komputera z punktu widzenia poziomu maszynowego pamięć magistrala procesor DMA urządzenia wejścia-wyjścia sterownik przerwań

Architektura komputera Komputer złożony z pamięci, procesora i układów wejścia/wyjścia będzie prawidłowo funkcjonował, o ile coś nada mu rytm pracy tym elementem jest zegar systemowy. procesor układ elektroniczny realizujący przetwarzanie informacji pamięć przechowywanie informacji. układy wejścia/wyjścia (I/O) komunikacja z otoczeniem. Częstotliwość cyklu zegarowego Podstawowa szybkość w cyklach na sekundę, z jaką komputer wykonuje podstawowe operacje. Szybkość komputera mierzona jest w procesor następujących układ elektroniczny jednostkach: realizujący MIPS przetwarzanie (Milion Instructions informacji per Second) milionów rozkazów procesora wykonywanych przez pamięć sekundę przechowywanie informacji. Megaflop- jednostka szybkości działania układy komputera wejścia/wyjścia równa 1,048,576 (I/O) komunikacja operacji z zmiennoprzecinkowych na otoczeniem. sekundę

Jak działa komputer? Struktura procesora Główne składniki strukturalne procesora to: jednostka sterująca - steruje działaniem procesora i pośrednio całego komputera jednostka arytmetyczno-logiczna (ALU) - realizuje funkcję przetwarzania danych przez komputer rejestry - realizują wewnętrzne przechowywanie danych w procesorze połączenia procesora wszystkie mechanizmy zapewniające komunikację między jednostką sterującą, ALU i rejestrami

Klasyfikacja rejestrów procesora Rejestry ogólnego przeznaczenia (ang. general purpose registers) mogą przechowywać dowolne wartości (np. tymczasowe wyniki), a ich zawartość nie ma bezpośredniego wpływu na sposób przetwarzania lub wybór danych Rejestry specjalnego przeznaczenia (ang. special purpose registers) rejestry, które pełnią szczególną rolę w czasie wykonywania programu (np. licznik rozkazów, wskaźnik stosu) Rejestry ogólnego przeznaczenia ze specyficzną funkcjonalnością mogą na ogół przechowywać dowolne wartości, ale spełniają szczególną funkcję w czasie wykonywania niektórych instrukcji (np. licznik pętli, rejestr bazowy) Typowe rejestry procesora Akumulator przechowuje operand lub wynik operacji arytmetycznej Licznik rozkazów zawiera adres następnej instrukcji do wykonania Rejestr flagowy zawiera bity, które są ustawiane w celu zasygnalizowania specyficznego stanu przetwarzania (np. przeniesienie, przepełnienie, bit znaku, bit przerwania itp.)

Budowa procesora jednostka zarządzania pamięcią (MMU) magistrala systemowa PROCESOR jednostka adresowa jednostka arytmetycznologiczna (ALU) rejestry jednostka sterująca Zasada działania komputera Podstawowe zadanie komputera to wykonywanie programu Program składa się z zestawu rozkazów przechowywanych w pamięci Programy przekazują rozkazy do procesora Rozkazy są przetwarzane w dwu krokach:

Cykl pobrania (ang. fetch) odczytanie rozkazu z pamięci licznik programu (PC) pozwala na śledzenie, który rozkaz ma być pobrany jeśli procesor nie otrzyma innego polecenia, to powoduje inkrementację licznika PC po każdym pobraniu rozkazu i wykonuje następny rozkaz w ciągu Cykl wykonania (ang. execution) może zawierać kilka operacji, jest zależny od natury rozkazu pobrany rozkaz jest ładowany do rejestru w procesorze zwanego rejestrem rozkazu (IR) rozkaz ma formę kodu binarnego określającego działania, które ma podjąć procesor procesor interpretuje rozkaz i przeprowadza wymagane działania

Działanie komputera W celu przyspieszenia pracy systemu stosuje się tzw. wstępne pobranie instrukcji (ang. prefetching) Działanie komputera Działania procesora można podzielić na cztery grupy: procesor-pamięć -przesłanie danych z procesora do pamięci lub odwrotnie procesor-we/wy - przesłanie danych z procesora do modułu we/wy lub odwrotnie przetwarzanie danych - operacje arytmetyczne lub logiczne na danych sterowanie - np. zmiana sekwencji wykonywania programu, czyli pobranie innego rozkazu niż kolejny Wykonywanie rozkazów może zawierać kombinacje powyższych działań

Graf stanów cyklu wykonania rozkazu (3) - analizowanie rozkazu w celu określenia rodzaju operacji, która ma być wykonana oraz w celu określenia argumentu (jednego lub kilku) (8) - zapisanie wyniku w pamięci lub skierowanie go do urządzeń we/wy Graf stanów cyklu wykonania rozkazu Mogą wystąpić sytuacje, w których jeden rozkaz może określać operacje na wektorze liczb lub na szeregu znaków, co wymaga powtarzania operacji pobrania i/lub przechowywania

Podział rozkazów procesora Rozkazy transferu (kopiowania) danych wewnętrznie pomiędzy rejestrami pomiędzy rejestrami a pamięcią pomiędzy rejestrami a portami wejścia-wyjścia Rozkazy przetwarzania danych rozkazy arytmetyczne dodawanie, odejmowanie, mnożenie, dzielenie, inkrementacja itp. bitowe rozkazy logiczne AND, OR, XOR, NOT itp. Rozkazy porównania Rozkazy przekazywania sterowania rozkazy skoków i rozgałęzień warunkowych rozkazy wywołania podprogramu i powrotu z podprogramu Tryby adresowania Każdy rozkaz przechowywany jest w postaci binarnej, ma określony format i używa określonego trybu adresowania Format rozkazu jest to sposób rozmieszczenia informacji w kodzie rozkazu Rozkaz zawiera: kod operacji - rodzaj wykonywanej operacji operandy - argumenty lub adresy argumentów wykonywanych operacji kod operand Tryb adresowania - sposób uzyskiwania argumentów z pamięci

Tryby adresowania Jeśli argument można uzyskiwać na wiele sposobów, czyli procesor ma dużo trybów adresowania, to programowanie jest łatwiejsze i bardziej efektywne. Tryby adresowania: natychmiastowy bezpośredni rejestrowy pośredni rejestrowy pośredni Tryb natychmiastowy Operand znajduję się w pamięci wraz z kodem rozkazu (stanowi składową samego rozkazu) kod rozkaz operand

Tryb bezpośredni Operand znajduję się w pamięci pod adresem wskazanym bezpośrednio w rozkazie kod rozkaz adres pamięć operand Tryb pośredni Operand znajduje się w pamięci pod adresem przechowywanym w miejscu wskazanym w rozkazie. kod rozkaz adres pamięć adres operand

Tryb rejestrowy Operand znajduje się w jednym z rejestrów procesora, wskazanym odpowiednio w rozkazie kod rozkaz nr rejestru rejestry operand Tryb rejestrowy pośredni Operand znajduję się w pamięci pod adresem przechowywanym w jednym z rejestrów, wskazanym w rozkazie rejestry kod rozkaz nr rejestru pamięć adres operand

Tryb indeksowy Operand znajduje się w pamięci pod adresem przesuniętym o pewną wartość podaną w rozkazie w stosunku do adresu przechowywanego w jednym z rejestrów, również wskazanym w kodzie rozkazu (adres operandu jest sumą zawartości rejestru oraz przesunięcia) rozkaz rejestry kod nr rejestru adres indeks pamięć operand Przerwania a działanie komputera Wykonywanie kolejnych rozkazów przez procesor może być przerwane poprzez wystąpienie tzw. przerwania Przerwania zostały zaimplementowane w celu poprawienia efektywności przetwarzania Poprzez wykorzystanie przerwań procesor może wykonywać inne rozkazy, gdy jest realizowana operacja we/wy

Klasy przerwań Wyróżniane klasy przerwań: programowe - generowane po wystąpieniu błędu podczas wykonania rozkazu (np. przepełnienie arytmetyczne, dzielenie przez zero) zegarowe - generowane przez wewnętrzny zegar procesora we/wy - generowane przez sterownik we/wy w celu zasygnalizowania normalnego zakończenia operacji lub zasygnalizowania błędu uszkodzenie sprzętu - generowane przez uszkodzenie, np. defekt zasilania, błąd parzystości pamięci Cykl przerwania W celu realizacji przerwania do cyklu rozkazu jest dodawany cykl przerwania - po sygnale przerwania procesor: zawiesza wykonanie bieżącego programu i zachowuje jego kontekst ustawia licznik programu na początkowy adres programu obsługi przerwania wykonuje program obsługi przerwania wznawia wykonywanie programu użytkowego

Realizacja przerwania Przerwania wielokrotne Podczas obsługi jednego przerwania może pojawić się sygnał kolejnego przerwania Problem przerwań wielokrotnych rozwiązywany jest na dwa sposoby: Pomimo przetwarzania przerwania uniemożliwienie innych przerwań Określenie priorytetów przerwań - przerwanie o wyższym priorytecie powoduje przerwanie programu obsługi przerwania o niższym priorytecie

Pamięć podręczna Czas przetwarzania jednego rozkazu nie jest zwykle dłuższy od pojedynczego cyklu zegarowego (5ns przy częstotliwości 200 MHz). Czas oczekiwania na kolejna porcję danych z pamięci może być parokrotnie dłuższy. Rozwiązanie wprowadzenie pamięci cache Cache to podręczna pamięć procesora. Charakteryzuje się wyjątkowo krótkim czasem dostępu (poniżej 10 ns). Jest ona używana do przechowywania danych, które będą niedługim czasie przetwarzane. Pamięć podręczna pamięć podręczna zawiera kopię części zawartości pamięci głównej przed odczytaniem słowa z pamięci następuje sprawdzenie czy znajduje się ono w pamięci podręcznej jeśli tak, to jest przesyłane do procesora jeśli nie, to blok pamięci głównej (ustalona liczba słów) jest wczytywany do pamięci podręcznej, a następnie słowo jest przesyłane do procesora

Rodzaje pamięci podręcznej Rozróżniamy trzy rodzaje pamięci Cache: Pierwszego poziomu (Cache L1) Drugiego poziomu (Cache L2) Trzeciego poziomu (Cache L3) Pamięć podręczna L1 Pierwszego poziomu (Cache L1) zintegrowana z procesorem z którym porozumiewa się z częstotliwością równą częstotliwości wewnętrznej procesora Tego typu pamięć ma zwykle pojemność od 16 do 64 KB.

Pamięć podręczna L2 Drugiego poziomu (Cache L2) znajdująca się zwykle na płycie głównej gdzie z procesorem porozumiewa się z częstotliwością taktowania zewnętrznego. Od momentu pojawienia się Pentium II na stałe jest wbudowana w procesor. W nowoczesnych komputerach jej pojemność wynosi zwykle 512, a czasem nawet 1024 KB. Pamięć podręczna L3 Trzeciego poziomu (Cache L3) umieszczana jest najczęściej na płycie głównej komputera. Pamięć L3 to rozszerzenie pamięci L2 i stosuje się ją wtedy, gdy pamięć L2 jest zintegrowana z procesorem. Wielkość pamięci L3 wynosi od 512 kb do 2 MB.

Wydajność procesora Parametry wpływające na wydajność procesora (szybkość wykonywania operacji): szybkość (częstotliwość taktowania MHz) Wszystkie operacje wykonywane przez procesor synchronizowane są impulsami przychodzącymi z zegara. Jedna instrukcja jest wykonywana w czasie kilku taktów zegara. Dlatego, gdy jego częstotliwość jest większa, procesor pracuje szybciej. wielkość magistrali danych (liczba przesyłanych jednocześnie bitów), częstotliwość taktowania magistrali danych (szybkość przekazywania danych do urządzeń wejściowych i wyjściowych) wielkość pamięci CACHE: L1, L2 i L3 Prawo Moore a W 1965 roku Roger Moore, współzałożyciel firmy Intel, wyraził hipotezę dotyczącą rozwoju technologii produkcji układów elektronicznych. Główne założenia Moore'a: Podwojenie ilości tranzystorów w układzie scalonym co dwa lata Podwojenie mocy obliczeniowej procesora co 1,5 roku Czterokrotne zwiększenie ilości pamięci komputera co 3 lata Podwojenie wydajności pamięci operacyjnej co 10 lat Podwojenie wydajności kompletnego komputera w stosunku do jego ceny w okresie krótszym niż dwa lata

Prawo Moore a na wykresie Intel 4004 pierwszy mikroprocesor powstał w 1971 roku 4-bitowy 2300 tranzystorów częstotliwość : 740 khz 46 instrukcji najdroższy (!!!) procesor w chwili obecnej :)

F14 CADC F14A Central Air Data Computer (1970) ujawniony w 1998 20-bitowym układ z techniką potokową Przykłady procesorów June 1978 5 Mhz / 12 Mhz brak 29,000 3 µ Intel 8086 April 1998 266 MHz/ 2.2GHz 128KB / 256KB 7 500,000 milion 0.25, 0.18, 0.13 µ Intel Celeron February 1982 6 MHz / 25 MHz brak 134,000 1.5 µ Intel 80286 September 1998 400MHz / 2.8GHz 256 Kb / 2 Mb L2 7 500,000 0.25, 0.18, 0.13 µ Intel Xeon March 1993 60 Mhz / 266Mhz 8Kb 3 100,000 0.80, 0.35, 0.28, 0.25µ Intel Pentium June 2000 600MHz / 1.3GHz 128KB L1, 64KB L2 25 000,000 0.18 µ AMD Duron

Solo, Duo, Quadro January 2006 1.66GHz / 2.5GHz 64K / 2048K 151 000,000 0,065 µ June 2006 1.66GHz / 2.93GHz 64K / 4048K 291 000,000 0,065 µ Przyszłość

Czy istnieje granica szybkości? Częstotliwość x Liczba Wydajność instrukcji w cyklu Zużycie energii Pojemność dynamiczna x Napięcie 2 x Częstotliwość Precyzja wykonania procesora

Jak duży jest nanometr? Cleanroom

www.top500.org Lp Komputer Kraj Rok Procesory Moc [Tflop/s] BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 1 USA 2008 122 400 1 026 000 DOE/NNSA/LANL / IBM 2 eserver Blue Gene Solution DOE/NNSA/LLNL / IBM USA 2007 212 992 478 200 3 Blue Gene/P Solution Argonne National Laboratory / IBM USA 2007 163 840 450 300 4 SunBlade x6420, Opteron Quad 2Ghz, Infiniband Texas Advanced Computing Center/Univ. of Texas / Sun Mic USA 2008 62 976 326 000 5 Cray XT4 QuadCore 2.1 GHz DOE/Oak Ridge National Laboratory / Cray Inc. USA 2008 30 976 205 000 RoadRunner Supercomputer

Klocki dla dużych dzieci? Trendy

Architektura procesorów Szybkość procesora zależy od szybkości zegara, ale też od architektury procesora, czyli wewnętrznej, sprzętowej implementacji danego modelu programowego, określającego sposób wykonywania operacji przez procesor, szczegółową budowę wewnętrzną procesora itd. Ze względu na architekturę procesory można wyróżnić trzy główne podejścia: CISC RISC VLIW EPIC CISC - Complex Instruction Set Computers duża liczba rozkazów (instrukcji) mała optymalizacja - niektóre rozkazy potrzebują dużej liczby cykli procesora do wykonania występowanie złożonych, specjalistycznych rozkazów duża liczba trybów adresowania do pamięci może się odwoływać bezpośrednio duża liczba rozkazów mniejsza od procesorów RISC częstotliwość taktowania procesora powolne działanie dekodera rozkazów

Procesory rodziny CISC Przykłady rodzin procesorów o architekturze CISC: AMD x86 M68000 RISC - Reduced Instruction Set Computers Zredukowana liczba rozkazów do niezbędnego minimum - upraszcza to znacznie konstrukcję procesora. Redukcja trybów adresowania - większość operacji wykonuje się wg schematu: rejestrc = rejestra operacja rejestrb. Ograniczenie komunikacji pomiędzy pamięcią a procesorem. Do przesyłania danych pomiędzy pamięcią a rejestrami służą instrukcje Load (załaduj z pamięci) oraz store (zapisz do pamięci); pozostałe instrukcje operują wyłącznie na rejestrach.

RISC - Reduced Instruction Set Computers Schemat działania załaduj daną z pamięci do rejestru, na zawartości rejestru wykonaj działanie, przepisz wynik z rejestru do pamięci. Zwiększenie liczby rejestrów (np. 32, 192, 256, x86 jest 8), co również ma wpływ na zmniejszenie liczby odwołań do pamięci RISC - Reduced Instruction Set Computers Podejście RISC wprowadzono na początku lat 80tych XX wieku (projekt IBM 801, architektury MIPS i Berkeley RISC). Ważniejsze współczesne architektury RISC: MIPS SPARC ARM