PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH
|
|
- Ludwika Szczepaniak
- 8 lat temu
- Przeglądów:
Transkrypt
1 PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH WYKŁAD NR 6 KARTY GRAFICZNE I PROCESORY GRAFICZNE dr Artur Woike
2 Historia rozwoju kart graficznych
3 IBM MDA Standard MDA (Monochrome Display Adapter) powstał w 1981 r. Jest to monochromatyczny sterownik graficzny stosowany w oryginalnych komputerach IBM PC. Wykorzystywał dwa kolory: czarny i biały (w rzeczywistości jasnozielony). Umożliwiał pracę wyłącznie w trybie tekstowym (25 wierszy, 80 znaków). Teoretyczna obsługiwana rozdzielczość ekranu wynosiła 720x350 pikseli. Pojedynczy znak miał wysokość i szerokość odpowiednio 14 i 9 pikseli.
4 IBM MDA Posiadał 4 kb pamięci wideo oraz niewielką pamięć ROM przechowującą zestaw znaków strony kodowej CP437.
5 Oryginalne karty IBM MDA posiadały również złącze przeznaczone dla drukarki (IBM MDPA, Monochrome Display and Printer Adapter).
6 IBM CGA Standard CGA (Color Graphics Adapter) również powstał w 1981 r. Umożliwiał dwa tryby graficzne wyświetlania obrazu: rozdzielczość 320x200 pikseli, 4 kolory z palety 16 kolorów; rozdzielczość 640x400 pikseli, 2 kolory. Umożliwiał dwa tryby tekstowe wyświetlania obrazu: 25 wierszy, 40 znaków, 16 kolorów; 25 wierszy, 80 znaków, 16 kolorów. W trybie tekstowym pojedynczy znak miał rozmiar 8x8 pikseli. 16 kb pamięci wideo oraz pamięć ROM przechowująca zestaw znaków strony kodowej CP437.
7 W trybie graficznym oficjalnie dostępne były tylko dwie różne 4-kolorowe palety. W trybie tekstowym dla tła dostępne było 8 kolorów oraz efekt migania.
8 W trybie tekstowym dla oryginalnych kart IBM CGA dostępne były dwie grubości czcionki przełączane za pomocą sprzętowej zworki.
9 Hercules Karty HCG (Hercules Graphics Card) pojawiły się na rynku w 1982 r. Hercules umożliwiał wykorzystanie takich samych trybów tekstowych jak karty IBM MDA. W trybie tekstowym pojedynczy znak miał wysokość i szerokość odpowiednio 14 i 9 pikseli (symbol znaku zajmował szerokość tylko 7 pikseli). Karty HCG umożliwiały dodatkowo wyświetlanie 2-kolorowego obrazu w rozdzielczości 720x350 (dokładnie 720x348) pikseli.
10 Karty HCG udostępniały dwie różne przestrzenie adresowe pamięci wideo. Często były wykorzystywane jako dodatkowa karta graficzna do obsługi drugiego monitora.
11 IBM EGA Standard EGA (Enhanced Graphics Adapter) powstał w 1984 r. Wprowadzono obsługę nowych trybów graficznych: rozdzielczość 640x350, 16 kolorów z palety 64 kolorów. rozdzielczość 720x350, 2 kolory. Ulepszono dostępne tryby tekstowe i graficzne: Programowalne generatory znaków; Możliwość zmiany rozmiaru znaków; Konfigurowalne tryby pracy. Od 64 do 256 kb pamięci wideo oraz pamięć 16 kb pamięci ROM przechowującej BIOS karty EGA.
12
13 VGA Standard VGA (Video Graphics Array) powstał w 1987 r. VGA jest zgodny z MDA, CGA i EGA. Standardowy tryb tekstowy umożliwia wyświetlenie 25 wierszy i 80 znaków: Pojedynczy znak ma rozmiar 9x16 pikseli; 16 (lub 2 dla zgodności z IBM MDA) kolorów. Dodatkowy tryb tekstowy 50 wierszy 80 znaków o rozmiarze 8x8 pikseli.
14 Dla kart VGA dostępna jest paleta kolorów. Standardowe tryby graficzne VGA: Rozdzielczość 320x200 pikseli, 256 kolorów z palety; Rozdzielczość 640x480 pikseli, 16 kolorów z palety. Karta VGA generowała analogowy sygnał wideo. 256 kb pamięci wideo.
15 Złącze VGA (DE-15, D-SUB) Złącze BNC (Bayonet Neill-Concelman)
16 SVGA Nie ma jednolitego standardu SVGA (Super VGA). Producenci kart graficznych niezależnie od siebie zaczęli wprowadzać modyfikacje: Większa ilość pamięci (co najmniej 512 kb); Nowe tryby graficzne (800x600, 1024x768, 1280x1024). Większe palety kolorów (16 i 32 bitowe palety kolorów). Powstaje konsorcjum VESA (Video Electronics Standards Association) w celu opracowania norm standaryzacyjnych: Numeracja rozszerzonych trybów graficznych; Jednolite rozszerzenie funkcji BIOS-u kart graficznych; Parametry monitorów współpracujących z kartami SVGA.
17
18 Zasada działania kart graficznych 2D
19 Budowa kart graficznej 2D Podstawowe elementy funkcjonalne karty graficznej 2D: Układ sekwencyjny odpowiada za generowanie sygnału zegarowego, przesyłanie danych pomiędzy modułami funkcjonalnymi karty oraz za odwołania do obsługiwanego zbioru znaków. Układ graficzny odpowiada za przekazywanie danych pomiędzy pamięcią obrazu a procesorem i układem sterowania atrybutem. Układ sterowania atrybutem odpowiada za zamianę kolorów zapisanych w pamięci obrazu na indeksy kolorów przechowywane w pamięci wzorców kolorów.
20 Układ sekwencyjny odpowiada za generowanie sygnału zegarowego, przesyłanie danych pomiędzy modułami funkcjonalnymi karty oraz za odwołania do obsługiwanego zbioru znaków. Układ graficzny odpowiada za przekazywanie danych pomiędzy pamięcią obrazu a procesorem i układem sterowania atrybutem. Układ sterowania atrybutem odpowiada za zamianę kolorów zapisanych w pamięci obrazu na indeksy kolorów przechowywane w pamięci wzorców kolorów. Układ sterowania wyświetlaczem odpowiada za wyświetlanie obrazu oraz kursora. Przetwornik cyfrowo-analogowy (karty VGA i SVGA) odpowiada za konwersję sygnału cyfrowego na sygnał analogowy przesyłany do monitora. Programowalne rejestry sterujące.
21 Procesor widzi kartę graficzną jako układ złożony ze zbioru portów I/O oraz obszaru pamięci obrazu. Obszar pamięci obrazu jest odwzorowany bezpośrednio w przestrzeni adresowej CPU. Programowanie karty graficznej 2D sprowadza się do zapisu oraz odczytu do i z pamięci obrazu oraz portów I/O.
22 Tryby tekstowe Pamięć obrazu ma taką samą organizację dla kart MDA, CGA, EGA, VGA i SVGA: Każdy znak jest reprezentowany przez dwa bajty. Pierwszy bajt przechowuje kod ASCII znaku. Drugi bajt określa atrybut znaku. Znak w lewym górnym rogu ekranu znajduje się w zerowym wierszu i zerowej kolumnie. Karta graficzna zawiera standardowe zestawy obsługiwanych znaków zapisane w pamięci stałej. Karty EGA, VGA i SVGA umożliwiają zmianę adresu obszaru pamięci przechowującej standardowe znaki.
23 Tryby graficzne We wszystkich trybach graficznych kolejne komórki pamięci obrazu odpowiadają kolejnym punktom obrazu: 2 kolory 1 bit na 1 punkt; 4 kolory 2 bity na 1 punkt; 16 kolorów 4 bity na 1 punkt; 256 kolorów 8 bitów na 1 punkt. Punkty obrazu są odczytywane od lewej do prawej i od góry do dołu. Karty SVGA dostarczają również trybów 16 i 32 bitowych.
24 Pamięć obrazu kart CGA Standardowo 128 kb pamięci obrazu oraz przestrzeni adresowej CPU. Spakowana (Packed) metoda odwzorowania pamięci: Każdemu punktowi na ekranie odpowiada fragment bajtu (pole) zawierający numer koloru tego punktu. Pole odpowiadające pojedynczemu punktowi to 1, 2, 4 lub 8 bitów (2, 4, 16 lub 256 kolorów).
25 Pamięć obrazu kart EGA i VGA Standardowo 256 kb pamięci obrazu. Płatowa (Planar) metoda odwzorowania pamięci: Pamięć obrazu jest podzielona na 4 płaty (bloki) po 64 kb. Każdemu punktowi na ekranie odpowiada jedno pole w każdym bloku pamięci obrazu. 256 kb pamięci obrazu wymaga tylko 64 kb przestrzeni adresowej CPU.
26 Pamięć obrazu kart SVGA Standardowo co najmniej 512 kb pamięci obrazu. Stronicowana (Paged) metoda odwzorowania pamięci: Różne fragmenty pamięci obrazu (strony lub banki) są kojarzone z niewielkim obszarem (oknem) w przestrzeni adresowej CPU. Rozmiar banku i okna wynosi zazwyczaj 64 kb. Dostęp do różnych obszarów pamięci obrazu wymaga zmiany zawartości odpowiedniego rejestru sterującego wyborem banku. Kolejne banki mogą mieć część wspólną. W obrębie banku odwzorowanie pamięci obrazu w przestrzeni adresowej CPU jest takie same jak dla kart VGA.
27 Trzy sposoby stronicowania pamięci obrazu: Pojedyncze okno; Dwa nakładające się okna; Dwa nie nakładające się okna.
28 Rozdzielczości obrazu Monitory analogowe: Istotne są jedynie parametry geometryczne rozdzielczości (liczba pikseli w poziomie i pionie). Liczba odtwarzanych kolorów nie jest ograniczona. Monitory ciekłokrystaliczne: Rozdzielczość wynika z fizycznej konstrukcji matrycy. Złącza cyfrowe: Ograniczona jest liczba możliwych do wyświetlenia kolorów. Informacja o kolorze jest kodowana za pomocą ograniczonej liczby bitów.
29 Standardowe tryby rozdzielczości kart SVGA: Skrót Rozdzielczość Pełna nazwa QVGA 320x240 Quarter VGA VGA 640x480 Video Graphics Array SVGA 800x600 Super VGA XGA 1024x768 extended Graphics Array HDTV 720p 1280x720 High-Definition TV 720p HDTV 1366x768 High-Definition TV SXGA 1280x1024 Super XGA WSXGA+ 1680x1050 Widescreen Super XGA UXGA 1600x1200 Ultra XGA HDTV 1080p 1920x1080 High-Definition TV 1080p QXGA 2048x1536 Quad XGA
30
31 Standard VESA Standard VESA (od 1989 r.) posiada kilka rewizji i dotyczy: Parametrów technicznych monitorów przeznaczonych do współpracy z kartami SVGA; Numeracji i rozdzielczości trybów znakowych i graficznych; Interfejsu programowego (czyli dodatkowych funkcji BIOS-u) kart SVGA; Magistrali lokalnej (VESA Local Bus) przeznaczonej dla kart SVGA. Każda kolejna rewizja rozszerza poprzednią. Początkowo ustandaryzowano tylko jeden tryb rozszerzony (rozdzielczość 800x600 pikseli, 16 kolorów).
32 Historia rozwoju procesorów graficznych
33 Akceleratory grafiki 3D W połowie lat 90-tych XX w. karty graficzne zaczęto wyposażać w obsługę sprzętową funkcji przyspieszających generowanie grafiki 3D. Pierwsze karty graficzne powszechnie uważane za akceleratory 3D pojawiły się w 1995 r. Początkowo wydajność połączonych akceleratorów 2D/3D była niezbyt duża. W 1996 r. pojawiły się pierwsze akceleratory 3D firmy 3Dfx Interactive (początek serii kart Voodoo). Samodzielne akceleratory grafiki 3D wymagały do działania połączenia z tradycyjną kartą graficzną 2D.
34 Zazwyczaj pierwsze akceleratory wyposażano w funkcje takie jak: Rasteryzacja (zamiana trójkątów na piksele); Mapowanie tekstur (nakładanie tekstur na trójkąty); Cieniowanie pikseli (nakładanie na piksele dodatkowych wzorów, mieszanie kolorów). Około 2000 r. akceleratory 2D/3D miały już zaimplementowane sprzętowo większość funkcji dostępnych do tej pory wyłącznie dla wysoko wyspecjalizowanych graficznych stacji roboczych. W 1998 r. 3Dfx wprowadza tryb SLI (Scan Line Interleave). W 1999 r. Ati wprowadza tryb AFR (Alternate Frame Rendering).
35 S3 Virge 3D (od 1995 r.)
36 ATi Rage 3D (od 1995 r.)
37 nvidia NV1 (od 1995 r.)
38 3Dfx Voodoo (od 1996 r.)
39 Procesory graficzne W 1999 r. nvidia wprowadza na rynek kartę GeForce 256 (NV10). NV10 został wyposażony w obsługę funkcji wykonywanych dotychczas przez CPU: Sprzętowa obsługa T&L (Transform and Lightning); Sprzętowe wspomaganie dekodowania MPEG-2. nvidia pierwsza wprowadziła termin GPU (Graphics Processing Unit). Wyspecjalizowane GPU NV10 w swoich typowych zastosowaniach było znacznie szybsze od CPU.
40 GeForce 256 (od 1999 r.)
41 Radeon 7500 (od 2000 r.)
42 Programowalne GPU GPU z biegiem czasu stają się coraz bardziej programowalne: Programowalne procesory graficzne zastępują dotychczasowe układy logiczne o ustalonych funkcjach; Zachowanie podstawowego potoku przetwarzania grafiki 3D; Obliczenia stają się coraz dokładniejsze (przejście od tablic kolorów kolejno do obliczeń na liczbach całkowitych, a następnie rzeczywistych liczbach stałoprzecinkowych i zmiennoprzecinkowych o rosnącej precyzji); W 2001 r. pojawiają się pierwsze GPU wyposażone w programowalne jednostki Pixel Shader i Vertex Shader.
43 GeForce 3 (od 2001 r.)
44 Radeon 8500 (od 2001 r.)
45 Uniwersalne jednostki cieniujące Kolejnym krokiem w rozwoju programowalnych GPU jest wprowadzenie tak zwanych uniwersalnych jednostek cieniujących. Wraz z pojawieniem się API Direct3D 10 wprowadzono trzeci typ jednostek cieniujących (Geometry Shader). Jednocześnie zrezygnowano ze sztywnego podziału jednostek cieniujących na konkretne typy. Pojawiają się pierwsze języki programowania przeznaczone dla uniwersalnych jednostek cieniujących.
46 GeForce 8 (od 2006 r.)
47 Radeon HD 2900 (od 2007 r.)
48 Ewolucja GPU Obecnie GPU ewoluowały od stosunkowo prostych układów o ustalonych funkcjach do postaci programowalnych zrównoleglonych procesorów. Podstawą konstrukcji współczesnych GPU jest koncepcja skalowalności (SPP, Scalable Parallel Processor). CPU i GPU tworzą wspólnie niejednorodny układ wieloprocesorowy. GPU obecnie mogą już być wykorzystywane do wykonywania obliczeń z pominięciem tradycyjnych API przeznaczonych dla grafiki 3D.
49 Zasada działania akceleratorów 3D
50 Podstawowe cechy GPU GPU są koprocesorami wspierającymi CPU. Zazwyczaj GPU operują na danych rzędu od kilkuset MB do kilku GB. GPU nie polegają na złożonych podsystemach pamięci cache. GPU do optymalizacji wydajności wykorzystują sprzętową obsługę wielowątkowości. Podukłady pamięci GPU są optymalizowane w kierunku maksymalnej przepustowości. Zazwyczaj GPU obsługują jednocześnie o wiele większe ilości wątków niż CPU.
51 CPU vs GPU Początkowo CPU miało istotny udział w przetwarzaniu grafiki. Z tego powodu istniejące mikroarchitektury procesorów zaczęto wyposażać w obsługę instrukcji SIMD (Single Instruction Multiple Data) Zarówno CPU jak i GPU mogą być traktowane jako procesory wielordzeniowe typu MIMD (Multiple Instructions Multiple Data) o wielopotokowych rdzeniach typu SIMD.
52 Wielordzeniowy CPU z SIMD GPU Rdzenie SIMD Potoki SIMD/rdzeń Sprzętowe wsparcie dla wielowątkowości SIMD (liczba wątków) Rozmiar najwyższego poziomu pamięci cache MB 0.75 MB Rozmiar przestrzeni adresowej 64 bity 64 bity Rozmiar pamięci głównej do 256 GB do 6 GB
53 Schemat połączenia z GPU
54 Oddzielne jednostki GPU i CPU posiadające własne odrębne podsystemy pamięci. GPU jest połączone z resztą systemu za pomocą 16- liniowego łącza PCI-Express. GPU i CPU mają wzajemny dostęp do swoich podsystemów pamięci. Systemy UMA (Unified Memory Architecture) są nisko kosztową wersją nie posiadającą podsystemu pamięci GPU. Systemy ze zintegrowanymi GPU posiadają układy graficzne wbudowane w układ otoczenia procesora lub bezpośrednio w procesor. Systemy wysoko wydajne używają wielu GPU pracujących w sposób równoległy. Aplikacje graficzne wywołują funkcje API (zazwyczaj Direct3D lub OpenGL), które wykorzystują GPU w roli koprocesora.
55 Organizacja potoku graficznego Etapy potoku graficznego dzielimy na dwa typy: O stałej funkcji; Programowalne. Programowalne etapy potoku graficznego: Vertex Shader; Geometry Shader; Pixel Shader;
56 Vertex Shader: Działa na własnościach wierzchołków (np. położenie, kolor, tekstura). Nie tworzy nowych wierzchołków. Geometry Shader: Modyfikacje siatki wierzchołków (dodawanie, usuwanie). Tworzenie nowych obiektów geometrycznych. Tesselacja. Rasteryzacja: Proces zamiany figur i brył geometrycznych na postać rastrową (czyli piksele) możliwą do odwzorowania na urządzeniu rastrowym. Pixel Shader: Odpowiada za ostateczne wyliczenie koloru pikseli.
57 Schemat GPU (ATI R420)
58 CPU poprzez interfejs przesyła do GPU żądanie wyświetlenia na ekranie grupy obiektów 3D. Sygnał (dane i polecenia) trafiają na magistralę danych GPU. Niewidoczne części obiektów 3D są przekazywane do wyspecjalizowanej jednostki Hyper Z. Pozostałe części obiektów 3D trafiają do silnika geometrycznego (Vertex Engine). Po wstępnej obróbce dane trafiają do silnika ustawień (Setup Engine). Niewidoczne części przetwarzanych obiektów 3D są przekazywane do jednostki Hyper Z. Pozostałe części przetwarzanych obiektów trafiają do silnika renderowania 3D (3D Rendering Engine). Ponownie niewidoczne części przetwarzanych obiektów 3D są przekazywane do jednostki Hyper Z. Na koniec pozostałe części obiektów 3D trafiają do układów zajmujących się ich ostateczną obróbką (Smoothvision HD). Po zakończeniu obróbki przetworzone obiekty trafiają do interfejsu graficznego, który na ich podstawie generuje obraz i przesyła go do urządzenia wyświetlającego.
59 Architektura zunifikowanego GPU Zunifikowane GPU bazują na dużej liczbie programowalnych procesorów ułożonych w postaci równoległej tablicy. Procesory zunifikowanych GPU są zbudowane w oparciu o zunifikowane jednostki cieniujące (Unified Shaders) wykorzystujące przetwarzanie równoległe. Tablica programowalnych procesorów jest ściśle zintegrowana z dodatkowymi procesorami o stałych funkcjach (np. rasteryzacja, filtrowanie tekstur).
60
61 Schemat zunifikowanego GPU (NV Tesla)
62 Jednostka Host Interface komunikuje się z głównym CPU poprzez szynę PCI-Express (między innym otrzymuje i weryfikuje instrukcje i dane). Jednostka Input Assembler zbiera podstawowe jednostki geometryczne (punkty, proste i trójkąty). Bloki Work Distribution rozdzielają wierzchołki, piksele i tablice wątków obliczeniowych do poszczególnych klastrów TPC. Klastry TPC wykonują przydzielone programy cieniowania wierzchołków, geometrii oraz tablice wątków obliczeniowych. Wyjściowe dane geometryczne są przekazywane do jednostki rasteryzującej.
63 Po rasteryzacji bloki Work Distribution ponownie kierują piksele do tablicy SPA. Tablica SPA wykonuje przydzielone programy cieniowania pikseli. Ocieniowane piksele są przesyłane poprzez wewnętrzną magistralę Interconnection Network do przetworzenia przez jednostki ROP (Raster Operations Processor). Magistrala IN zajmuje się również przekazywaniem żądań odczytu pamięci tekstur z tablicy SPA do pamięci DRAM oraz odczytuje dane z pamięci DRAM poprzez pamięć podręczną L2 do tablicy SPA. Ostatecznie przetworzone dane trafiają poprzez układ interfejsu do urządzeń wyświetlających.
64
65 128 procesorów strumieniowych (Streaming Processor, SP). SP są zorganizowane w 16 multiprocesorów strumieniowych (Streaming Multiprocessor, SM). Każdy procesor SM zawiera również współdzielone dwie jednostki specjalne (Special Function Unit, SFU) oraz podukład pamięci podręcznej. SM są zorganizowane w 8 klastrów TPC (Texture/Procesor Cluster). W ramach jednego klastra TPC procesory SM dzielą jednostki kontrolne i teksturujące. 8 klastrów TPC tworzy macierz strumieniowych procesorów (Streaming Processor Array, SPA).
66 Core i7-960 vs NVIDIA GTX 280/480
67 Pamięć lokalna akceleratora Obsługa trybów tekstowych i graficznych 2D wymaga niewielkiej ilości pamięci. Współczesne karty graficzne są przede wszystkim akceleratorami 3D. Akceleratory 3D dodatkowo obsługują elementarne funkcje graficzne odziedziczone po kartach VGA i SVGA. Pamięć lokalną akceleratora ze względu na funkcjonalność można podzielić na trzy obszary: Pamięć obrazowa (Frame Buffer); Bufor Z/W; Pamięć tekstur.
68 Frame Buffer Przechowuje składowe kolorowe wszystkich pikseli wyświetlanego obrazu. Podlega jednoczesnemu odczytowi i zapisowi. Aby usprawnić procesy dostępu do pamięci obrazu wprowadzono podwójne buforowanie (Double Buffering). Kontroler graficzny ma do dyspozycji dwa identyczne bufory pamięci: Back Buffer jest wypełniany nową treścią; Front Buffer jest przekazywany do wyświetlenia.
69 Jeśli moment przełączania buforów nie nastąpi podczas pionowego impulsu synchronizującego, to obraz zostanie przedzielony poziomą linią (Screen Tearing). Wymuszenie w trybie 3D synchronizacji pionowej może obniżyć rzeczywistą częstotliwość odtwarzania obrazu i wprowadzić tzw. Input Lag. Wykorzystanie potrójnego buforowania (Triple Buffering) eliminuje powyższy problem za cenę większego zużycia pamięci akceleratora. Nie zawsze można wykorzystać Triple Buffering. Potrójne buforowanie tylko częściowo eliminuje problem Input Lag.
70 Bufor Z/W Położenie punktu w przestrzeni trójwymiarowej jednoznacznie określa trójka współrzędnych (x,y,z). Oś Z przebiega w kierunku od płaszczyzny ekranu w głąb sceny 3D. Cały proces przetwarzania dotyczy płaszczyzny ekranu (z=0) adresowanej parą współrzędnych (x,y). Ponieważ obiekty 3D są rzutowane na ekran, więc mogą się wzajemnie przesłaniać. Zjawisko to sprowadza się do przesłaniania pojedynczych pikseli obrazu
71 Na ekranie chcemy wykreślać tylko widoczne punkty obiektów 3D. O widoczności punktu decyduje współrzędna z. Bufor Z jest dwuwymiarową tablicą Z[x,y]. Na początku elementy tablicy przyjmują wartość odpowiadającą nieskończoności. Podczas rozpatrywania kolejnych elementarnych trójkątów porównuje się współrzędne z aktualnie obliczanych pikseli z informacją przechowywaną w tablicy Z[x,y]. Jeśli z<z[x,y] to punkt jest widoczny: Zaznaczamy go w tablicy Z[x,y]:=z; Jego składowe RGB po obliczeniu trafiają do pamięci obrazowej.
72 Analizę widoczności przeprowadza się na poziomie pojedynczych punktów obrazu. Analiza widoczności funkcjonuje bezbłędnie jedynie przy założeniu zastosowania arytmetyki dokładnej. Stosowanie arytmetyki niedokładnej (stało lub zmiennoprzecinkowej) może nie gwarantować odróżnienia obiektów blisko położonych. Na skutek perspektywy rozkład wartości zmiennej z w buforze Z nie jest liniowy. Zmienną z można zastąpić zmienną w o rozkładzie liniowym (mówimy wtedy o buforze W). Korzystanie z bufora Z/W mocno obciąża pamięć lokalną akceleratora 3D.
73 Pamięć tekstur Lokalna pamięć tekstur jest przeznaczona do przechowywania map bitowych (tekstur). Podczas przetwarzania grafiki 3D występują duże ilości cykli odczytu z pamięci tekstur. Większość funkcji zwiększających wydajność GPU lub poprawiających jakość generowanej grafiki 3D generuje dodatkowe obciążenie pamięci tekstur. Optymalizacja pamięci tekstur: Odpowiednie rozlokowanie tekstur w pamięci; Lokalna pamięć podręczna; Zmiana sposobu kodowania danych; Większa szerokość lokalnej magistrali pamięci; Kompresja tekstur.
74 Kompresja tekstur S3TC Podstawowy algorytm kompresji: Tekstura jest dzielona na bloki o rozmiarach 4x4 tekseli. Każdy blok jest przetwarzany oddzielnie. W ramach bloku analizowane są wszystkie teksele w celu wyboru dwóch dominujących kolorów bazowych. Na podstawie wybranych kolorów bazowych tworzona jest paleta czterech kolorów (2 bazowe + 2 pośrednie). Każdy kolor ma określony dwubitowy indeks w palecie. Kolory pośrednie są generowane automatycznie podczas dekodowania. Kodowany blok rozmiaru 4x4 teksele jest zamieniany na tablicę dwubitowych indeksów o wymiarze 4x4. W podstawowej wersji kodowania potrzeba średnio 4 bity danych na 1 teksel tekstury.
75 Układ RAMDAC Układ RAMDAC (Random Access Memory - Digital/Analog Converter) przetwarza zakodowany cyfrowo obraz do analogowych sygnałów RGB. RAMDAC jest zbudowany z trzech niezależnych przetworników (po jednym dla każdego koloru RGB) i niewielkiej pamięci SRAM. Współczesne karty graficzne posiadają układy RAMDAC o częstotliwości taktowania 400MHz. Prawdopodobnie układy te w dotychczasowej formie znikną z kart graficznych.
76 Schemat przetwarzania grafiki 3D Dowolnie skomplikowana bryła da się zawsze przedstawić w postaci trójkątów. Trójkąt jest reprezentowany poprzez wierzchołki. Każdy wierzchołek jest reprezentowany poprzez trójkę współrzędnych (x,y,z). Operacje na trójkątach sprowadzają się do operacji na macierzach. Operacje na macierzach po przełożeniu na język maszynowy są bardzo czasochłonne. Obiekty 3D są przetwarzane w procesie przekształceń nazywanym potokiem przetwarzania 3D.
77 Użytkownik Aplikacja API Geometry Engine Rendering Engine Frame Buffer RAMDAC Monitor Aplikacja narzuca ogólną koncepcję sceny 3D. Scena może być modelowana w odpowiedzi na zachowanie użytkownika aplikacji. API zajmuje się przełożeniem opisu sceny 3D na język niższego poziomu. Procesor geometryczny (Geometry Engine): Rozmieszcza obiekty geometryczne na ekranie; Zarządza aktualnym położeniem i rozmiarem obiektów; Dzieli obiekty złożone na trójkąty elementarne. Przekazuje trójkąty elementarne do procesora rasteryzującego.
78 Procesor rasteryzujący (Raster Engine): Przetwarza trójkąty elementarne na poziomie poszczególnych puntów; Przekazuje obliczone punkty (piksele) obrazu do pamięci obrazowej. Pamięć obrazowa (Frame Buffer) przechowuje parametry koloru wszystkich punktów obrazu przeznaczonego do wyświetlenia. Układ RAMDAC odczytuje informacje o kolejnych punktach obrazu z pamięci obrazowej i przekazuje do wyświetlenia przez monitor.
79 API graficzne Aplikacje przetwarzające obiekty 3D zazwyczaj odwołują się do funkcji sprzętowych akceleratorów poprzez gotowe zestawy pewnych funkcji. Biblioteka złożona ze zbioru takich funkcji i definicji formatów danych jest nazywana interfejsem API (Application Programming Interface). API pośredniczy pomiędzy warstwą programową i sprzętową. Producenci kart graficznych wposażają swoje akceleratory w odpowiednie biblioteki w postaci sterowników.
80 Niektóre API graficzne: OpenGL: Powstała na podstawie biblioteki GL (Graphics Library) przeznaczonej dla potrzeb profesjonalnych stacji graficznych firmy Silicon Graphics International. Jest interfejsem niskopoziomowym. Działa w architekturze klient-serwer. Najnowsza wersja to OpenGL 4.5. Direct3D: Część biblioteki Microsoft DirectX początkowo przeznaczona do renderowania grafiki 3D. Od wersji 8 przeznaczona również do renderowania grafiki 2D. Najnowsza wersja 12 jest wspierana wyłącznie przez system Microsoft Windows 10.
81 Mantle: Zaprojektowane przez AMD w celu poprawy wydajności przetwarzania grafiki 3D w sytuacjach gdy CPU jest czynnikiem ograniczającym. Rozwój Mantle został wstrzymany. Vulkan: Powstał na bazie API Mantle. Ma łączyć zalety różnych API graficznych. Rozwijany przez Khronos Group. Jest dostępny na różne systemy operacyjne.
82 Procesor geometryczny Znaczną część potoku przetwarzania grafiki 3D stanowią operacje geometryczne. Procesor geometryczny (Geometry Engine) zajmuje się pięcioma podstawowymi rodzajami operacji: Tłumaczenie opisu środowiska opis sceny 3D podany jest w języku wysokiego poziomu i musi zostać przeanalizowany a następnie przetworzony na trójkąty elementarne. Oświetlenie i tekstura każdemu trójkątowi elementarnemu przypisuje się pewną teksturę oraz kierunek i typ oświetlenia.
83 Przekształcenia geometryczne przesunięcia, obroty i zmiany rozmiaru obiektów sceny realizowane za pomocą obliczeń wektorowych i macierzowych. Strefa widoczności w wyniku przekształceń sceny niektóre trójkąty mogą się znaleźć w całości lub częściowo poza polem widzenia obserwatora i muszą być odpowiednio pominięte lub obcięte. Przekazanie parametrów do jednostki rasteryzującej po przetworzeniu scenę 3D należy zrzutować na płaszczyznę 2D przy uwzględnieniu perspektywy i docelowego rozmiaru ekranu, a następnie przekazać obraz do procesora rasteryzującego.
84 Procesor rasteryzujący Rasteryzacja polega na obliczeniu ostatecznego koloru dla każdego punktu wewnętrznego przetwarzanych trójkątów elementarnych. Przed ustaleniem końcowego koloru punkt przechodzi przez wiele etapów pośrednich (np. teksturowanie, nakładanie różnych efektów specjalnych, oświetlenie). Po przejściu wszystkich etapów do pamięci obrazowej zapisywany jest pojedynczy punkt. Po skompletowaniu wszystkich pikseli w pamięci obrazowej następuje wyświetlenie obrazu.
85 Każdy trójkąt elementarny jest przekazywany do procesora rasteryzującego w postaci trzech zestawów parametrów (po jednym dla każdego wierzchołka): Współrzędnie położenia wierzchołka; Współrzędne tekstury pokrywającej trójkąt; Składowe RGB koloru wierzchołka; Informacja o stopniu przezroczystości; Parametr korekcyjny skrótu perspektywicznego. Na każdym etapie obowiązuje następująca zasada: Im bardziej skomplikowany model matematyczny, tym lepsze rezultaty końcowe. Jednym z najważniejszych etapów są obliczenia związane z generowaniem oświetlenia (ponieważ widzimy tylko obiekty oświetlone).
86 Teksturowanie Do niedawna mapowanie za pomocą tekstur w czasie rzeczywistym ze względu na dużą ilość obliczeń było dostępne jedynie dla wyspecjalizowanych stacji roboczych. Tekstura jest zwykłą mapą bitową nakładaną na wybrane miejsca obiektu 3D. Tekstury są obiektami płaskimi. Pojedyncze punkty tekstury nazywamy tekselami. Teksele i piksele mogą mieć różne rozmiary. Podczas nakładania tekstur na obiekty 3D często trzeba stosować różnego rodzaju aproksymacje. Współczesne akceleratory 3D potrafią wielokrotnie nakładać tekstury i w ten sposób uzyskiwać różne efekty specjalne.
87 Korekcja perspektywy Korekcja perspektywy wynika z rzutowania przetwarzanej sceny 3D na płaszczyznę ekranu. Perspektywa działa na geometrię obiektów oraz zakłóca proces ich mapowania. Prostokątna tekstura musi zostać odpowiednio zniekształcona przed nałożeniem na obiekt 3D.
88 Wybrane funkcje akceleratorów 3D
89 Chłodzenie DHES Chłodzenie w układzie DHES (Direct Heat Exhaust System) jest zaprojektowanie w celu usuwania na zewnątrz obudowy gorącego powietrza powstającego w procesie chłodzenia GPU. Chłodzenie w układzie DHES na ogół wymaga odpowiedniego dopływu powietrza do wnętrza obudowy.
90
91
92
93
94 Antialiasing Antialiasing polega na stosowaniu filtrów redukujących efekt schodkowy powstający na zewnętrznych krawędziach obiektów 3D. Algorytmy antialiasingu wymagają dużej liczby obliczeń, ponieważ na ogół przetwarzają obraz jako całość. Producenci GPU stale rozwijają, modyfikują i wprowadzają nowe algorytmy antialiasingu. GPU firm AMD i Nvidia stosują niekiedy odmienne algorytmy i filtry antialiasingu.
95 Crossfire/SLI Crossfire oraz SLI (Scalable Link Interface) są technologiami umożliwiającymi łączenie w wydajniejszy układ więcej niż jednego akceleratora 3D odpowiednio firmy AMD i Nvidia. Zarówno Crossfire jak i SLI oferują różne tryby pracy. Do poprawnego działania wymagane są między innymi odpowiednie sterowniki i profil aplikacji. W niektórych konfiguracjach wymagany jest odpowiedni łącznik.
96 GPGPU i GPU Computing GPGPU (General Purpose Computation on GPU): Polega na wykorzystaniu GPU do obliczeń ogólnego przeznaczenia za pomocą tradycyjnego API graficznego i potoku przetwarzania grafiki 3D. Stosowane w początkowej fazie rozwoju GPU. Wymaga przemodelowania problemu do postaci ściśle związanej z grafiką 3D. GPU Computing: Polega na wykorzystaniu GPU do obliczeń ogólnego przeznaczenia za pomocą języka programowania oraz API przeznaczonego specjalnie do obliczeń równoległych. Obecnie np. CUDA i OpenCL.
CZYM JEST KARTA GRAFICZNA.
Karty Graficzne CZYM JEST KARTA GRAFICZNA. Karta graficzna jest kartą rozszerzeń, umiejscawianą na płycie głównej poprzez gniazdo PCI lub AGP, która odpowiada w komputerze za obraz wyświetlany przez monitor.
Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor
Plan wykładu 1. Pojęcie podsystemu graficznego i karty graficznej 2. Typy kart graficznych 3. Budowa karty graficznej: procesor graficzny (GPU), pamięć podręczna RAM, konwerter cyfrowo-analogowy (DAC),
Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest
KARTA GRAFICZNA Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera
Karty graficzne możemy podzielić na:
KARTY GRAFICZNE Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera
Ogólne informacje. cią pracy, wielkości wyświetlan. cią obrazu, wietlaną rozdzielczości. częstotliwo. wieŝania obrazu.
Karty graficzne Ogólne informacje Karta rozszerzeń,, umiejscawiana na płycie p głównej poprzez gniazdo PCI lub AGP odpowiada w komputerze za obraz wyświetlany wietlany przez monitor. Karty graficzne róŝnir
Plan wykładu. Akcelerator 3D Potok graficzny
Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D
Architektura Komputerów
Architektura systemów Architektura Komputerów komputerowych Wykład nr. 9 dr Artur Bartoszewski Budowa karty graficznej Akceleratory graficzne Pamięć karty służy do przechowywania bitmapy przygotowanej
Architektura Komputerów
Architektura systemów Architektura Komputerów komputerowych Wykład nr. 9 dr Artur Bartoszewski Karty graficzne - nazwy trybów rozdzielczości Skrót Pełna nazwa Rozdzielczość VGA VGA 640x480 SVGA Super VGA
O grafice i monitorach. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski
O grafice i monitorach R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski s-rg@siwy.il.pw.edu.pl Character mapping Wyświetlanie znaków na ekranie czyli character mapping w naszej terminologii określane
Architektura komputerów
Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń
Grafika komputerowa i wizualizacja
Grafika komputerowa i wizualizacja Radosław Mantiuk ( rmantiuk@wi.zut.edu.pl, p. 315 WI2) http://rmantiuk.zut.edu.pl Katedra Systemów Multimedialnych Wydział Informatyki, Zachodniopomorski Uniwersytet
LEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
ARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Programowanie procesorów graficznych GPGPU
Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja
Budowa komputera Komputer computer computare
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
Karta graficzna. Karta graficzna przyjmuje. rozszerzeń montowanej w magistrali wejścia/wyjścia na płycie głównej. Opcjonalnie układ graficzny
Karty graficzne Wykład: budowa karty graficznej, zasada działania, standardy, parametry, GPU, RAMDAC, magistrale, interfejsy, złącza, OpenGL, DirectX, SLI, Crossfire, bufor ramki, potok graficzny, producenci:
Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC
Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową
8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.
8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE. Magistrala (ang. bus) jest ścieżką łączącą ze sobą różne komponenty w celu wymiany informacji/danych pomiędzy nimi. Inaczej mówiąc jest to zespół
i3: internet - infrastruktury - innowacje
i3: internet - infrastruktury - innowacje Wykorzystanie procesorów graficznych do akceleracji obliczeń w modelu geofizycznym EULAG Roman Wyrzykowski Krzysztof Rojek Łukasz Szustak [roman, krojek, lszustak]@icis.pcz.pl
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem
Karty graficzne. Dla DSI II
Karty graficzne Dla DSI II Czym jest karta graficzna. Karta graficzna jest kartą rozszerzeń, umiejscawianą w gnieździe magistrali I/O na płycie głównej komputera. Opcjonalnie może być też zintegrowana
GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu
Synteza i obróbka obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złożonych obliczeń, szczególnie jeżeli chodzi o generowanie płynnej
GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza dźwięku i obrazu
Synteza dźwięku i obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złożonych obliczeń, szczególnie jeżeli chodzi o generowanie płynnej
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23
Wykład 6 mgr inż. 1/23 jest to technika w grafice komputerowej, której celem jest zwiększenie szczegółowości renderowanych powierzchni za pomocą tekstur. jest to pewna funkcja (najczęściej w formie bitmapy)
Organizacja pamięci w procesorach graficznych
Organizacja pamięci w procesorach graficznych Pamięć w GPU przechowuje dane dla procesora graficznego, służące do wyświetlaniu obrazu na ekran. Pamięć przechowuje m.in. dane wektorów, pikseli, tekstury
Przegląd architektury PlayStation 3
Przegląd architektury PlayStation 3 1 Your Name Your Title Your Organization (Line #1) Your Organization (Line #2) Sony PlayStation 3 Konsola siódmej generacji Premiera: listopad 2006 33,5 mln sprzedanych
Karty graficzne: budowa, zasada działania, standardy, parametry, dodatkowe funkcje
018 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Karty graficzne: budowa, zasada działania, standardy, parametry, dodatkowe funkcje 1 UTK Treść niniejszej prezentacji oparto na artykułach pisma Komputer Świat Ekspert
Tesla. Architektura Fermi
Tesla Architektura Fermi Tesla Tesla jest to General Purpose GPU (GPGPU), GPU ogólnego przeznaczenia Obliczenia dotychczas wykonywane na CPU przenoszone są na GPU Możliwości jakie daje GPU dla grafiki
Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11
Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.
MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na
, gniazda kart rozszerzeń, w istotnym stopniu wpływają na wydajność systemu komputerowego, m.in. ze względu na fakt, że układy zewnętrzne montowane na tych kartach (zwłaszcza kontrolery dysków twardych,
Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury
1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie
Sprawdzian test egzaminacyjny GRUPA I
... nazwisko i imię ucznia Sprawdzian test egzaminacyjny GRUPA I 1. Na rys. 1 procesor oznaczony jest numerem A. 2 B. 3 C. 5 D. 8 2. Na rys. 1 karta rozszerzeń oznaczona jest numerem A. 1 B. 4 C. 6 D.
Podstawy Informatyki Systemy sterowane przepływem argumentów
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer
Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola
Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola Ogólny schemat komputera Jak widać wszystkie bloki (CPU, RAM oraz I/O) dołączone są do wspólnych
GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej
GRAFIKA RASTROWA WYKŁAD 1 Wprowadzenie do grafiki rastrowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,
Przyspieszanie sprzętowe
Synteza dźwięku i obrazu GRAFIKA KOMPUTEROWA Rozwiązania sprzętowe i programowe Przyspieszanie sprzętowe Generowanie obrazu 3D wymaga złoŝonych obliczeń, szczególnie jeŝeli chodzi o generowanie płynnej
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1
i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:
Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER
Karta przedmiotu Podstawy programowania procesorów graficznych realizowanego w ramach projektu PO WER 2017-2019 Wydział Inżynierii Elektrycznej i Komputerowej Kierunek studiów: Informatyka Profil: Ogólnoakademicki
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Architektura systemów komputerowych Ćwiczenie 3
Architektura systemów komputerowych Ćwiczenie 3 Komputer widziany oczami użytkownika Karta graficzna DirectX technologie łączenia kart 1 dr Artur Bartoszewski - Architektura systemów komputerowych - ćwiczenia
Architektura mikroprocesorów TEO 2009/2010
Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład
OpenGL - Open Graphics Library. Programowanie grafiki komputerowej. OpenGL 3.0. OpenGL - Architektura (1)
OpenGL - Open Graphics Library Programowanie grafiki komputerowej Rados$aw Mantiuk Wydzia$ Informatyki Zachodniopomorski Uniwersytet Technologiczny! OpenGL: architektura systemu do programowania grafiki
Wprowadzenie. Karty graficzne możemy podzielić na:
Karta graficzna Wprowadzenie Karta graficzna karta rozszerzeń odpowiedzialna za generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych
Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup
Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie
Elementy składowe karty graficznej
Karta graficzna Wprowadzenie Karta graficzna karta rozszerzeń odpowiedzialna za generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK
1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Część teoretyczna Informacje i wstępne wymagania Cel przedmiotu i zakres materiału Zasady wydajnego
Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII
Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII
Nowinki technologiczne procesorów
Elbląg 22.04.2010 Nowinki technologiczne procesorów Przygotował: Radosław Kubryń VIII semestr PDBiOU 1 Spis treści 1. Wstęp 2. Intel Hyper-Threading 3. Enhanced Intel Speed Technology 4. Intel HD Graphics
Architektura Procesorów Graficznych
Architektura Procesorów Graficznych Referat: Rendering 3D: potok 3D, możliwości wsparcia sprzętowego, możliwości przyspieszenia obliczeń. Grupa wyrównawcza Cezary Sosnowski 1. Renderowanie Renderowanie
Architektura komputerów
Architektura komputerów Tydzień 14 Procesory równoległe Klasyfikacja systemów wieloprocesorowych Luźno powiązane systemy wieloprocesorowe Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia.
Budowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
System mikroprocesorowy i peryferia. Dariusz Chaberski
System mikroprocesorowy i peryferia Dariusz Chaberski System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2 Pamięć rodzaje (podział ze względu na sposób
Większośćkart graficznych (i wszystkie współczesne) składająsięz następujących elementów:
KARTY GRAFICZNE Karta graficzna Karta graficzna jest urządzeniem pośredniczącym w komunikacji systemu komputerowego z monitorem. Otrzymuje ona informacje o treści obrazu od systemu i po odpowiednich działaniach
Podzespoły Systemu Komputerowego:
Podzespoły Systemu Komputerowego: 1) Płyta główna- jest jednym z najważniejszych elementów komputera. To na niej znajduje się gniazdo procesora, układy sterujące, sloty i porty. Bezpośrednio na płycie
Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy
1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć
Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek
Ćwiczenia 1 Budowa komputera PC Komputer osobisty (Personal Komputer PC) komputer (stacjonarny lub przenośny) przeznaczony dla pojedynczego użytkownika do użytku domowego lub biurowego. W skład podstawowego
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK
1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Trendy rozwoju współczesnych procesorów Budowa procesora CPU na przykładzie Intel Kaby Lake
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Architektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
16. Taksonomia Flynn'a.
16. Taksonomia Flynn'a. Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela Flynna, opierająca się
Podstawy grafiki komputerowej
Podstawy grafiki komputerowej Krzysztof Gracki K.Gracki@ii.pw.edu.pl tel. (22) 6605031 Instytut Informatyki Politechniki Warszawskiej 2 Sprawy organizacyjne Krzysztof Gracki k.gracki@ii.pw.edu.pl tel.
Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład II Reprezentacja danych w technice cyfrowej 1 III. Reprezentacja danych w komputerze Rodzaje danych w technice cyfrowej 010010101010 001010111010
Urządzenia zewnętrzne
Urządzenia zewnętrzne SZYNA ADRESOWA SZYNA DANYCH SZYNA STEROWANIA ZEGAR PROCESOR PAMIĘC UKŁADY WE/WY Centralna jednostka przetw arzająca (CPU) DANE PROGRAMY WYNIKI... URZ. ZEWN. MO NITORY, DRUKARKI, CZYTNIKI,...
Karty Graficzne. Urządzenia Techniki Komputerowej Pudełko
Karty Graficzne Urządzenia Techniki Komputerowej M@rek Pudełko Karta graficzna Karta graficzna to podzespół komputera odpowiedzialny za generowanie grafiki i wyświetlenie jej na monitorze. 2 Przykładowa
Nowoczesne technologie przetwarzania informacji
Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego
Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
Architektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych dr Artur Bartoszewski Rozwój płyt głównych - część 2 Magistrale kart rozszerzeń Rozwój magistral komputera PC Płyta główna Czas życia poszczególnych magistral Pentium
Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych
Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych Ł. Kuczyński, M. Woźniak, R. Wyrzykowski Instytut Informatyki Teoretycznej i Stosowanej
Zaawansowane systemy programowania grafiki. Wprowadzenie. Podstawy OpenGL
Zaawansowane systemy programowania grafiki. Wprowadzenie. Podstawy OpenGL Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 7 października 2014 1 /
Budowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Teoria przetwarzania A/C i C/A.
Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych
Organizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych
Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy
Publiczne Technikum Informatyczne Computer College w Koszalinie
PYTANIA KONKURS INFORMATYCZNY Informatyka, Informacja, Infostrada 3 x i II edycja z marca 2016 roku Strona 1 1. Program komputerowy z licencją Shareware upoważnia między innymi do: a) rozpowszechniania
Programowanie Mikrokontrolerów
Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:
Procesory. Schemat budowy procesora
Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu
Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.
Plan wykładu Pojęcie magistrali i jej struktura Architektura pamięciowo-centryczna Architektura szynowa Architektury wieloszynowe Współczesne architektury z połączeniami punkt-punkt Magistrala Magistrala
Architektura komputerów
Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania
Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1
Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1 Organizacja przedmiotu Dr inż. Robert Banasiak Dr inż. Paweł Kapusta 1 2 Nasze kompetencje R n D Tomografia 3D To nie tylko statyczny obraz!
Architektura Komputerów
Studia Podyplomowe INFORMATYKA Techniki Architektura Komputerów multimedialne Wykład nr. 9 dr Artur Bartoszewski Rendering a Ray Tracing Ray tracing (dosłownie śledzenie promieni) to technika renderowania
Programowanie Procesorów Graficznych
Programowanie Procesorów Graficznych Wykład 1 9.10.2012 Prehistoria Zadaniem karty graficznej było sterowanie sygnałem do monitora tak aby wyświetlić obraz zgodnie z zawartościa pamięci. Programiści pracowali
Metody optymalizacji soft-procesorów NIOS
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011
Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych
Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie
Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -
Chipset i magistrala Chipset - Układ ten organizuje przepływ informacji pomiędzy poszczególnymi podzespołami jednostki centralnej. Idea chipsetu narodziła się jako potrzeba zintegrowania w jednym układzie
Architektura komputerów
Architektura komputerów PCI EXPRESS Rozwój technologii magistrali Architektura Komputerów 2 Architektura Komputerów 2006 1 Przegląd wersji PCI Wersja PCI PCI 2.0 PCI 2.1/2.2 PCI 2.3 PCI-X 1.0 PCI-X 2.0
Wykład 4. Rendering (1) Informacje podstawowe
Wykład 4. Rendering (1) Informacje podstawowe Z punktu widzenia dzisiejszego programowania gier: Direct3D jest najczęściej wykorzystywanym przez profesjonalnych deweloperów gier API graficznym na platformie
CZĘŚĆ I ZAMÓWIENIA DOSTAWA SPRZĘTU INFORMATYCZNEGO DO PROJEKTU DOMOWY ASYSTENT OSÓB STARSZYCH I CHORYCH
ZAŁĄCZNIK I DO SIWZ CZĘŚĆ I ZAMÓWIENIA DOSTAWA SPRZĘTU INFORMATYCZNEGO DO PROJEKTU DOMOWY ASYSTENT OSÓB STARSZYCH I CHORYCH 1. Przedmiot zamówienia dotyczy dostawy komputera - tabletu Liczba - 1 sztuk.
WPROWADZENIE Mikrosterownik mikrokontrolery
WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:
Technika mikroprocesorowa. Konsola do gier
K r a k ó w 1 1. 0 2. 2 0 1 4 Technika mikroprocesorowa Konsola do gier W yk o n a l i : P r o w a d z ą c y: P a w e ł F l u d e r R o b e r t S i t k o D r i n ż. J a c e k O s t r o w s k i Opis projektu
Magistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
Architektura komputerów. Układy wejścia-wyjścia komputera
Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs
Architektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych dr Artur Bartoszewski Układy otoczenia procesora (chipset) Rozwiązania sprzętowe CHIPSET Podstawą budowy płyty współczesnego komputera PC jest Chipset. Zawiera on większość
Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:
Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej
Architektura systemów informatycznych
Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego