Architektura komputera

      Elementy funkcjonalne wg von Neumann’a

      Modularna budowa komputera klasy PC

      Przegląd standardów podzespołów PC

      Podsystem graficzny komputera PC

      Zarys sposobu działania komputera PC

      Zarys architektury systemów sieciowych

Architektura wg von Neumann’a

     Procesor

     Pamięć operacyjna

     Urządzenia wejścia/wyjścia

Architektura wg von Neumann’a

      Pamięć jest uporządkowana w sposób jednowymiarowy (komórka pamięci ma adres, wyrażony liczbą).

      Instrukcje i dane są przechowywane w pamięci (w postaci liczb - nierozróżnialne).

      Interpretacja (znaczenie) danych nie jest przechowywane wraz z nimi.

      Instrukcje są wykonywane sekwencyjnie.

Nomenklatura

      Procesor – Central Processing Unit (CPU)
= Arithmetic/Logic Unit (ALU) + Control Unit

      Pamięć operacyjna – Random Access Memory (RAM)

      Urządzenia wejścia/wyjścia – Input/Output (I/O)

      Płyta główna – Motherboard (MB)

      Układ sterowania – Chipset

      Jednostka zmiennoprzecinkowa – Floating Point Unit (FPU)

      Pamięć stała (tylko do odczytu) – Read-Only Memory (ROM)

Modularna budowa komputera PC

      Standaryzacja elementów w oparciu o publicznie dostępne specyfikacje

      Otwarta architektura urządzeń wejścia/wyjścia

      Płyta główna - tablica obwodów drukowanych  łączących wszystkie elementy komputera wraz

ze sterującymi układami elektronicznymi i standardowymi gniazdami I/O.

      m-procesor - układ scalony b. wysokiej skali integracji.

      Chipset - układy sterujące połączeniami płyty głównej.

      Pamięć RAM - w postaci modułów dołączanych do płyty głównej.

      Urządzenia wejścia/wyjścia - np. klawiatura, dysk twardy (pamięć masowa), karta graficzna,

mysz, itp. - dołączane do płyty głównej poprzez gniazda (porty) I/O.

Płyta główna komputera PC

Architektura wewnętrzna procesora

Rodziny procesorów

      Intel x86 (komputery PC):

    16 bitowe: 8086/88, 80286

    32 bitowe: i386, i486, Pentium, Pentium Pro, Pentium II, Celeron, Pentium III, Celeron II, Pentium IV, Xeon

    64 bitowe: Itanium (architektura EPIC)

      AMD (zgodna z x86):

    32 bitowe: AMD486, 5x86, K5, K6, Athlon, Duron

      Motorola 68k (komputery Apple):

    68000, 68020 (16-bit), 68030, 68040, 68060 (32-bit)

      architektury RISC (32, 64- bitowe – systemy UNIX):

    Alpha (DEC/Compaq), MIPS (SGI), SPARC (Sun), PA (HP), Power (IBM), PowerPC (IBM/Motorola)

i wiele innych, tu nie wymienionych.

Chipset-y

      Układy zarządzające komunikacją pomiędzy procesorem, pamięcią, magistralami dołączającymi urządzenia I/O

      W znacznym stopniu decydują o funkcjonalności komputera (możliwościach rozbudowy)

      Zbudowane zwykle z 2 obwodów scalonych zwanych mostkami (north and south bridge)

      Produkowane przez wielu producentów: Intel, AMD,
VIA, ALI, SIS

Pamięć RAM

      Statyczna  – Static RAM (SRAM)

   bardzo szybka, bardzo droga  –  służy jako pamięć buforująca między pamięcią operacyjną

 i procesorem (tzw. pamięć cache - poziomu /level/ I, II, III)

      Dynamiczna – Dynamic RAM (DRAM)

   tania pamięć wymagająca cyklicznego odświeżania

      Synchroniczna – SDRAM – dominuje w PC

      Podwójnej wydajności – Dual Data Rate (DDR)

      RAMBUS – duża wydajność, wysoka cena

Magistrale wejścia/wyjścia

      ISA (Industry Standard Architecture)

   16-bitowe złącze do obsługi starszych urządzeń

      PCI (Peripheral Component Interconnect)

   32-bitowe standardowe złącze stosowane we współczesnych komputerach (są wersje 64-bitowe)

      USB (Universal Serial Bus)

   magistrala umożliwiająca łańcuchowe dołączanie urządzeń zewnętrznych (modemów, drukarek)

      Porty równoległe (Parallel Ports) Centronics

      Porty szeregowe (Serial Ports) RS-232C

Magistrale PC

Urządzenia wejścia/wyjścia

      Pamięci masowe:

   dyskietki (FDD)

   dyski twarde (HDD)

   dyski optyczne (CD-ROM, CD-RW, DVD)

   napędy taśmowe (streamer’y)

      Klawiatura

      Karta graficzna (i monitor)

      Urządzenie wskazujące (mysz)

      Karty sieciowe, modemy i in.

Dyski twarde

      Złącze ATA (AT Attachment) (IDE - Integrated Drive Electronics) – standardowo po 2 porty obsługujące do 2 urządzeń (master-slave):

   prędkości transmisji: 16, 33, 66, 100 MB/s.

      Złącze SCSI (Small Computers System Interface)

   do 7 (a w wersji Wide i Ultra 15) urządzeń na jednej magistrali,

   zaawansowane sterowanie transmisją,

   prędkości transmisji: 10, 20, 40 , 80, 160 (320) MB/s.

      Fibre Channel – technologia kanału optycznego

   zastosowania: super-serwery, macierze dyskowe.

Dyski optyczne

      CD-ROM – tylko do odczytu, poj. ok. 650 MB, standard zapisu jak w CD-Audio, spiralnie

      CD-RW – zapisywalne, oddzielne sesje zapisu, technologia magneto-optyczna, poj. do 800 MB

      DVD – duża gęstość zapisu, dwuwarstwowe (4.5 GB), dwustronne (18 GB), zapisywalne:

   DVD-R – 3.95GB/strona (zapis jednorazowy),

   DVD-RAM – 2.6 GB/strona (zapis swobodny),

   DVD-RW – 3.95GB/strona (zapis sekwencyjny).

System graficzny komputera PC

      stanowi część systemu wejścia/wyjścia umożliwiającą interakcję systemu z użytkownikiem

      jest sterowany za pośrednictwem sterownika programowego systemu operacyjnego

      jest zwykle wyposażony w specjalizowane układy przetwarzania obrazów, pamięci obrazu, konwersji cyfrowo/analogowej

      współpracuje z zewnętrznym urządzeniem wyświetlającym VDU (Video Display Unit) np. monitorem ekranowym CRT (Cathode Ray Tube), wyświetlaczem ciekłokrystalicznym LCD (Liquid Crystal Diplay)

Tryby pracy systemu graficznego

      Tryb tekstowy – wartościom poszczególnych bajtów pamięci są przypisane określone symbole alfanumeryczne wyświetlane na ekranie, wg tzw. tablicy kodowej.

      Tryb graficzny – obraz jest budowany z punktów (pikseli), których parametry są określane przez zawartość od jednego do kilku bajtów tzw. pamięci obrazu.

             Standardy karty graficznych PC

      MDA (Monochrome Display Adapter)

   tryb tekstowy, monochromatyczny

      Hercules – tryb tekstowy i graficzny, mono, wysoka rozdzielczość (por. z VGA)

      CGA, EGA (Color Graphics Adapter, Enhanced)

   tryby tekstowe i graficzne, palety kolorów

      VGA, SVGA (Video Graphics Array, Super)

   tryby graficzne z szeroką paletą kolorów, wysoka rozdzielczość (640x480, 800x600, 1024x768 i więcej)

      Akcelerowane – wyposażone w specjalne układy (3D)

 

 

Karta graficzna

Tryb tekstowy

      proste systemy terminali, rozwinięcie koncepcji dalekopisu

      związany bezpośrednio ze sposobem reprezentacji znaków alfanumerycznych w pamięci komputera

      Kod ASCII (American Standard Code for Information Interchange) – 7-bitowy (127 znaków)

      Rozszerzony kod ASCII – 8-bitowy (255 znaków)

Kodowanie znaków

      kod ASCII – znaki alfabetu łacińskiego plus tzw. semigrafika

      strony kodowe ISO – znormalizowane wykorzystanie górnej połowy kodu ASCII do reprezentacji znaków diakrytycznych różnych języków

      Inne strony kodowe np. IBM CP852 (DOS-PL), MS CP1250 (Windows-PL), Mazovia

      UNICODE – kodowanie 16-bitowe, umożliwiające zapis wszystkich bardziej znanych alfabetów, także ideograficznych

 

Tryb tekstowy

      Realizacja sprzętowa: układy EEPROM z zapisem wyglądu poszczególnych znaków

   systemy terminalowe, konsola Unix, DOS

      Realizacja programowa: wstępne określenie kształtu znaków układzie pamięci obrazu lub całkowita symulacja w systemie okien

   Programowalny tryb tekstowy DOS, okno wiersza poleceń Windows, X-Window (X11)

 

 

Tryb graficzny

      Dominujący sposób realizacji interfejsu użytkownika we współczesnych systemach operacyjnych

      Komputer buduje w pamięci mapę reprezentującą wszystkie punkty obrazu (piksele), które mają być wyświetlone na ekranie

      Rozmiar pamięci potrzebnej do opisania wyglądu ekranu jest zależny od:

   rozdzielczości obrazu – determinuje ona ilość pikseli tworzących obraz,

   palety barw – determinuje ona ilość informacji potrzebnej do opisania wyglądu pojedynczego piksela,

   opcjonalnego buforowania obrazu – możliwe jest budowanie następnego kadru w czasie wyświetlania poprzedniego, komponowanie kilku obrazów np. wzajemnie przesłaniających się (bufor Z).

Reprezentacja barw

     Do opisu parametrów piksela stosuje się:

  paletę predefiniowanych kolorów,

  reprezentację barw podstawowych RGB
(
Red, Blue, Green).

      Reprezentacja barw w programach graficznych na wydrukach jest osobnym zagadnieniem (np. CMYK Cyan, Magenta, Yellow, blacK, HSV  Hue, Saturation, Value).

      Paleta kolorów – tablica umieszczona w wydzielonym obszarze pamięci, przypisująca poszczególnym elementom predefiniowaną barwę i jasność.

      Wygląd piksela jest określony liczbą wskazującą daną pozycję (zwykle do kilkudziesięciu) w palecie kolorów:

    1bit – obraz monochromatyczny,

    4 bity 16 barw,         – 8 bitów – 256 barw.

      Metoda jest stosowana do wyświetlania obrazów niskiej jakości małe wymagania sprzętowe.

Reprezentacja RGB

      Piksele są opisane trójką liczb reprezentujących intensywność barw podstawowych RGB.

      Ilość dostępnych kombinacji jest określona łączną długością tych liczb, np.:

   15 bitów – 32 768 barw (High Color),

   24 bity – 16 777 216 barw (Full Color).

      Determinuje to:

   ilość pamięci niezbędnej do przechowania obrazu,

   prędkość generowania poszczególnych obrazów.

Akceleratory graficzne

      specjalizowane układy (procesory) przejmujące od procesora głównego zadania przeliczania parametrów geometrycznych i kolorystycznych wyświetlanego obrazu

      szybkie układy pamięci umożliwiające jednoczesny zapis i odczyt

      specjalne złącza umożliwiające szybkie przesyłanie między pamięcią główną i pamięcią obrazu na karcie graficznej:

   AGP – Accelerated Graphics Port

AGP

Standardy programowe obsługi grafiki

      Środowisko MS Windows – rodzina standardów DirectX (DirectDraw, Direct3D, i in.) – zestaw procedur (realizowanych głównie sprzętowo) umożliwiających szybkie tworzenie i obróbkę elementów obrazu za pomocą prostych operacji wywołania gotowych funkcji.

      OpenGL –  standard przemysłowy obsługi grafiki trójwymiarowej, opracowany przez firmę SGI.

      PHIGS – (Programmer's Hierarchical Interactive Graphics System) zestaw opracowany przez ANSI i ISO.

      PEX – (PHIGS Extensions to X) rozszerzenie środowiska X-Window (X11) o obsługę obiektów 3D, stosowany w środowisku UNIX.

 

Zarys działania komputera PC

      Inicjalizacja systemu – BIOS (Basic Input/Output System) umieszczony w ROM

   testowanie podstawowych elementów komputera (POST- Power On Self Test),

   rozpoznanie konfiguracji sprzętowej,

   odnalezienie urządzenia startowego (boot device)

    załadowanie programu ładującego (loader) z pierwszego sektora urządzenia (boot sector),

   ładowanie systemu operacyjnego przez loader.

Zarys działania komputera PC

      Zadania systemu operacyjnego:

   ponowne rozpoznanie konfiguracji sprzętowej (załadowanie programowych sterowników urządzeń),

   uruchomienie domyślnej konfiguracji programowej,

   obsługa zadań generowanych przez urządzenia I/O (tzw. przerwań – interrupts),

   ładowanie programów użytkowych do pamięci,

   udostępnianie zasobów sprzętowych programom użytkowym – pamięć wirtualna, wielozadaniowość, obsługa komunikacji z urządzeniami I/O,

   usuwanie programów z pamięci.

Systemy sieciowe - pojęcia podstawowe

      Warunek: systemy wielozadaniowe – możliwość quasi-jednoczesnego wykonywania wielu programów.

      Systemy wielodostępne – możliwość jednoczesnej obsługi wielu sesji z użytkownikami:

    dostęp za pomocą linii szeregowych i terminali alfanumerycznych, graficznych,

    dostęp za pomocą protokołów sieciowych symulujących działanie terminali (np. protokół Telnet),

    Przykłady: UNIX, MVS/OS370, VMS/VAX, Windows Terminal Server (WTS), Citirix.

      NOS – sieciowe systemy operacyjne

      Przetwarzanie rozproszone

Network Operating Systems (NOS)

   Systemy sieciowe z serwerem:

   udostępnianie zasobów I/O np. dysków, drukarek,

   przetwarzanie na stacjach roboczych a nie na serwerze.

   Przykłady: Novell Netware, Windows Server, Linux+Samba (SMB).

   Systemy Peer-to-Peer (każdy z każdym):

   udostępnianie części własnych zasobów innym węzłom, połączone z pełną obsługą lokalnego użytkownika.

   Przykłady: Windows (sharing), Lantastic, NFS.

 

 

 

 

Przetwarzanie rozproszone

      Architektura klient–serwer:

    aplikacja podzielona na część klienta (front-end) wykonywaną na stacji roboczej/PC np. klient systemu księgowego oraz

    aplikację serwera (back-end) wykonywaną na wydzielonym silnym komputerze (Windows NT/2k, Netware, UNIX, mainframe) np. serwer bazy danych.

      Architektury wielowarstwowe:

    middleware – warstwa pośrednia np. tzw. serwer aplikacyjny.

      Przetwarzanie równoległe:

    w zastosowaniach naukowych, b. dużych bazach danych,

    podział problemu na części realizowane równolegle.

Realizacje sprzętowe serwerów

      Serwery entry level – architektura zbliżona do PC

      Systemy wieloprocesorowe SMP:

   architektura x86 – systemy Windows, Netware, Linux,

   architektura RISC – dedykowane  systemy UNIX.

      Klastry (grona):

   grupy serwerów wykonujących tę samą aplikację np. rozproszony serwer bazy danych.

      Systemy wysokiej wydajności (HPC):

   wektorowe – specjalne rejestry (quasi-równoległość),

   MPP – przetwarzanie masowo-równoległe.