1. Ta strona wykorzystuje ciasteczka (cookies) w celu: utrzymania sesji zalogowanego Użytkownika, gromadzenia informacji związanych z korzystaniem z serwisu, ułatwienia Użytkownikom korzystania z niego, dopasowania treści wyświetlanych Użytkownikowi oraz tworzenia statystyk oglądalności czy efektywności publikowanych reklam.Użytkownik ma możliwość skonfigurowania ustawień cookies za pomocą ustawień swojej przeglądarki internetowej. Użytkownik wyraża zgodę na używanie i wykorzystywanie cookies oraz ma możliwość wyłączenia cookies za pomocą ustawień swojej przeglądarki internetowej. Dowiedz się więcej.

Dla zainteresowanych szczegulowe informacje xboxa 360

Temat na forum 'Kosz' rozpoczęty przez radas210, Grudzień 4, 2009.

  1. radas210

    radas210 Banned Użytkownik

    Dołączył:
    Sierpień 9, 2009
    Posty:
    132
    Polubienia:
    0
    Punkty za osiągnięcia:
    0
    Historia marki

    Xbox 360 to konsola, czyli urządzenie o wyspecjalizowanej architekturze stawiającej nacisk na uruchomianie gier video oraz wyświetlanie skomplikowanej grafiki trójwymiarowej. Zanim opisana zostanie konsola Xbox 360 cofniemy się do roku 2001, kiedy to do sprzedaży trafiła pierwsza konsola firmy Microsoft o nazwie XBox. Była ona pierwszym krokiem Microsoft na rynku konsol zdominowanym dotychczas przez konsole firm Japońskich tj. Sony z konsolą „PlayStation 2” oraz Nintendo z konsolą „GameCube”. Na początku ta decyzja Microsoft była określana stąpaniem po niepewnym gruncie i krytykowana, sprzedaż produktu po jego wyjściu była niezadowalająca i Microsoft odnotował 4 bilionowe straty dopłacając do każdej sprzedawanej konsoli. Po pewnym czasie jednak produkt zaczął przynosić zyski głównie dzięki wydaniu kilku przełomowych gier tzw. „system sellers” (gra na tyle dobra, że ludzie kupują konsole by w nią zagrać).
    Architektura konsoli Xbox

    Zanim napiszemy cokolwiek o konsoli nowej generacji firmy Microsoft Xbox 360 warto napisać coś o jej poprzedniku. Microsoft projektując Xbox (1) posługiwał się trochę inną filozofią a mianowicie do stworzenia Xbox'a posłużyły zwykłe niewyspecjalizowane pod kątem wyświetlania grafiki 3D części z komputerów osobistych. Sercem Xbox był zmodyfikowany procesor klasy Pentium III z CPU taktowanym zegarem o częstotliwości 733Mhz. Jego number S-Spec (numer specyfikacji procesorów Intel) leży najbliżej procesora Celeron Mobile. Za wyświetlanie grafiki odpowiadał układ NV2A firmy nVidia będący jednocześnie mostkiem północnym. Jako że jest to jeden chip, CPU i GPU mogły korzystać z jednego banku pamięci (technologia UMA), co zmniejszało koszty produkcji ponieważ nie wymagała dedykowanej pamięci video, z drugiej strony powodowało spadek wydajności ( konflikt dostępów CPU i GPU). XBox posiadał 64MB pamięci RAM działające w częstotliwości 200Mhz DDR (Double-Data-Rate). Z możliwości wyświetlania grafiki – Xbox był w stanie wyświetlać 125 milionów trójkątów na sekundę. 125 Milionów cząsteczek w efektach cząsteczkowych na sekundę. Zapewniał pełny anty – aliasing sceny. Nośnikiem danych była technologia DVD oraz karty pamięci. Został uwzględnione wsparcie telewizji HD, maksymalna rozdzielczość 1920x1080. Dźwięk 3D oraz łączność szerokopasmowa oraz modemowa.
    Xbox 360 - architektura, wstęp

    Wprowadzenie


    Pierwszy raz Xbox 360 zaprezentowany został w telewizji MTV w 12 Maja 2005 roku. Tego samego dnia ujawniona została oficjalna nazwa konsoli firmy Microsoft - Xbox 360, nazwa kodowa Xenon. Do sprzedaży trafiła 22 Listopada 2005 roku w Stanach Zjednoczonych i Kanadzie. Przy projektowaniu, konstrukcji i produkcji konsoli Microsoft sprzymierzył się z dwiema odnoszącymi sukcesy na swoich polach firmami IBM oraz ATI, oraz wieloma podwykonawcami takimi jak NEC, SiS, Samsung, Hitachi-LG.
    Wyprodukowaniem osprzętu video zajęło się ATI, a IBM stworzył procesor wykonany na bazie architektury PowerPC specjalnie dla Xbox'a 360 o nazwie Xenon. Xbox 360 pojawił się na rynku w kilku wersjach Core, Premium, Elite oraz Arcade i w zależności od wersji do dyspozycji jest różna ilość dodawanych do zestawu peryferiów (takich jak kontrolery, złącze HDMI) oraz pojemność twardego dysku (wersja Core nie posiada go w ogóle).
    Opis

    Xbox 360 posiada trój-rdzeniowy procesor PowerPC Xenon wywodzący się z architektury RISC (Reduced Instruction Set Computer) taktowany zegarem o częstotliwości 3.2 Ghz, koprocesor graficzny taktowany zegarem 500 Mhz ATI Xenos. Pamięć to 512MB GDDR3 RAM. Konsola zapewnia minimum 5.1 Channel Surround (5 dyskretnych kanałów audio i jeden kanał efektów niskich częstotliwości), posiada napęd DVD o prędkości odczytu 12x firm LG, Toshiba lub BenQ. Istnieje także możliwość podłączenia zewnętrznego napędu HD-DVD, oraz wymienienia twardego dysku. Dokładny opis dostępnych peryferiów oraz wersji konsoli na stronie.

    Xenon - Procesor konsoli Xbox 360

    Nazwa kodowa nadana mu przez IBM to „Waternoose”, Microsoft nadał mu własną nazwę kodową „XCPU”. Procesor ten składa się z 3 identycznych osobnych rdzeni PowerPC znajdujących się na jednym chipie, rdzenie te połączone są do dzielonej 1MB pamięci cache L2. Każdy z rdzeni ma dwu drożną 64K pamięć podręczną L1 o długości linii 128, podzieloną na dwie pamięci: 32K dla instrukcji i 32K dla danych. Każdy z rdzeni może obsłużyć równocześnie po 2 sprzętowe wątki przy pomocy równoczesnego przetwarzania wielowątkowego (SMT – simultaneous multithreading) – czyli sumarycznie CPU Xbox 360 może naraz obsłużyć do 6 sprzętowych wątków. Zwykle przynajmniej jeden rdzeń obsługuje dwa najważniejsze wątki: wątek hosta obsługujący grę i kontrolujący drugi ważny wątek – wątek generowania danych.


    Jak widać na rysunku komunikacja między rdzeniami a dzieloną pamięcią L2 odbywa się za pomocą przełącznicy krzyżowej XBAR, na chipie znajdują się także obwody PLL (Phase-Locked Loop) dwa dla zegarów rdzenia, dwa dla zegarów PHY (od Physical Layer), obwody służące jako interfejs komunikacji z magistralą , obwody służące mające funkcje testowania i debugowania – takie jak śledzenie, kontrolę konfiguracji oraz monitorowanie wydajności. Blok podpisany na rysunku Miscellaneous IO udostępnia port JTAG (każdy z rdzeni oraz pamięć podręczna L2 ma po dwie osobiste macierze śledzenia oraz ich kontroler, można z nich korzystać przy pomocy interfejsu JTAG), POST monitor, oraz interfejs podłączenia szeregowej pamięci EEPROM. Xenon jest procesorem symetrycznym, każdy z rdzeni jest identyczny. Przy projektowaniu procesora intensywnie wykorzystywano technologie „clock-gating”. Dzięki tej technologii poprzez dodanie dodatkowych obwodów do „drzewa zegarów” umożliwiono wyłączenie z układu tych przerzutników które nie zmieniają stanu. Całe potoki mogą zostać odłączone zmniejszając znacznie konsumpcje mocy w sytuacji gdy nie nadchodzi żadna instrukcja. W pierwszym wydaniu konsoli procesor był zbudowany w procesie technologicznym 90nm SOI (Silicon-on-Insulator), wielkość chipu 168x168mm. CPU ma do swojej dyspozycji także 16 32-bitowych sprzętowych liczników wydajności umożliwiających analizę wydajności kodu aplikacji (dla porównania w architekturze POWER4 jest ich 8, a w Pentium 4 18). Obudowa procesora to 2-2-2 FC-PBGA 31 na 31 mm.
    W budowie procesora wykorzystano także wymyśloną przez IBM technologie o nazwie eFUSE, umożliwia ona dynamiczne programowanie chipów w czasie rzeczywistym. Te bezpieczniki zostały użyte między innymi do tego by zakodować napięcie które zostanie użyte w każdym z chipów, a także do dynamicznego dostosowywania pracy systemu w sytuacjach w których któryś z podukładów zawiedzie, pobiera zbyt dużo mocy lub zbyt długo nie odpowiada. W takich sytuacjach chip reaguje natychmiastowo „przepalając” eFUSE, proces ten fizycznie nie niszczy bezpiecznika, jest odwracalny i powtarzalny.
    Obecność bezpieczników eFUSE w urządzeniu które ma wiele źródeł danych takich jak DVD,USB,dysk twardy czy ethernet wzbudziła wiele kontrowersji gdyż prawdopodobnie daje ona możliwość wprowadzenia nieodwracalnych zmian w sprzęcie takich jak permanentne odłączenie zasilania lub zwiększenie napięcia zasilania procesora do momentu jego eksplozji. Mówi się też że zostały one wykorzystane by umożliwić firmie Microsoft zdalną deaktywacje konsoli w sytuacji rozpoznania nieoryginalnego oprogramowania. Podstawowy projekt procesora oparty jest o architekturę 64-bit PowerPC z pełną kompatybilnością z PowerPC ISA (Instruction Set Architecture). Jednostka instrukcji jest jak wcześniej wspomniano wielowątkowa, z dwoma równoczesnymi wątkami. Pamięć podręczna instrukcji to 32KB. Rdzeń implementuje mikroarchitekturę dwu-wywoławczą, w kolejności. Oznacza to że dwie instrukcje są wywoływane w tym samym czasie, ale ich wykonanie w jednostkach odbywa się szeregowo.
    Pamięć podręczna instrukcji L1 to 32K Bajtowy blok z kontrolą błędów poprzez sprawdzanie parzystości. Jest ona dwu-drożną pamięcią asocjacyjna ze 128B liniami. Tłumaczenie pierwszego poziomu adresów instrukcji odbywa się przy pomocy 64 wpisowej, dwu-drożnej dzielonej asocjacyjnej pamięci podręcznej nazywanej „effective to real translation cache”.

    Wykonywanie instrukcji w pojedynczym rdzeniu.

    Dwie pobrane instrukcje mogą zostać umieszczone w jednym z pięciu potoków wykonawczych: Branch (rozgałęzień, który tak naprawdę jest częścią jednostki instrukcji), Load/Store (zapisu/odczytu), Fixed Point (stałoprzecinkowego), Floating Point (zmiennoprzecinkowego), oraz VMX. Bardziej skomplikowane instrukcje zaimplementowane są za pomocą mikrokodu, w czasie alokacji są one konwertowanie na wiele mikro-operacji. Jednostka rozgałęzień (Branch Unit) posiada 4KB dwu-drożną dzieloną asocjacyjną tablicę historii rozgałęzień, jedną na każdy wątek.
    Potok Stałoprzecinkowy w rzeczywistości dzieli się na dwie jednostki, jedna do wykonywania prostych operacji takich jak odejmowanie/dodawanie, porównywanie, operacje logiczne, oraz rotacja. I jedną do bardziej skomplikowanych operacji takich jak mnożenie lub dzielenie.
    Potok Odczytu/Zapisu odpowiada za dostęp do pamięci podręcznej L1 danych oraz za hierarchie zapisu. Tak jak pamięć podręczna L1 instrukcji, pamięć danych ma 32KB ze sprawdzaniem parzystości. Jednak w odróżnieniu od pamięci instrukcji jest ona 4-drożną dzieloną asocjacyjną pamięcią. Jest ona pamięcią typu „store-through” co umożliwia nieblokujący dostęp, przez co nie trafienie w pamięć podręczną nie wstrzyma nadchodzącego trafienia.

    Uproszczony układ jednostek oraz operacji przeprowadzanych w pojedynczym rdzeniu.

    Zwiększona liczba jednostek funkcyjnych w procesorze Xenon umożliwia równoległe wykonywanie instrukcji, niestety Xenon nie posiada zaszytego okna instrukcji które służyło by do analizowania kodu w poszukiwaniu instrukcji równoległych – więc w pewnym sensie ta „równoległość na poziomie instrukcji” nie jest w pełni wspierana przez hardware. By ją zachować programista musi sam zadbać o odpowiednią strukturę kodu. Osiąga się to dzięki wykorzystaniu wątków SMT obsługiwanych przez poszczególne rdzenie oraz przez to że ilość jednostek jest podzielona na mniejsze grupy w każdym rdzeniu. Dzięki temu pojawia się równoległość na poziomie wątku która przenosi się na równoległość na poziomie instrukcji. Takie podejście ma swoje plusy, lecz ma też także minusy: elementy które w grach wykonywane są zwykle w pojedynczym wątku np. AI (artificial intelligence), fizyka, kontrola gry ucierpią z tego powodu.
    Jak przedstawiono na rysunku, część wykonawcza pojedynczego rdzenia posiada:

    * jednostkę stałoprzecinkową
    * jednostkę zmiennoprzecinkową
    * jednostkę rozgałęzień (jedna 4K tablica historii rozgałęzień na wątek)
    * jednostkę odczytu-zapisu
    * jednostkę wektorowa VMX-128

    Jednostka VMX-128

    Na szczególną uwagę zasługuje zaprojektowana specjalnie na potrzeby Xbox 360 jednostka SIMD VMX-128 która zbudowana została na podstawie jednostki VMX stworzonej przez połączone siły firm: IBM, Apple oraz Freescale Semiconductor wykorzystującej specjalny zestaw instrukcji zmiennoprzecinkowych i całkowitych SIMD AltiVec. Jedna jednostka VMX-128 udostępnia 128 rejestrów każdy po 128 bitów na wątek. A zatem jednostka VMX-128 posiada 256 fizycznych rejestrów na kość. VMX-128 wykorzystuje zestaw instrukcji AltiVec uszczuplony o niektóre instrukcje całkowite które zostały usunięte w celu zwiększenia liczby rejestrów oraz dodania specjalnych instrukcji wspomagających zastosowania w grafice 3D i fizyce w grach np. instrukcje zapakowywania i rozpakowywania służące do konwertowania z i do typów pojedynczej precyzji z biblioteki Direct 3D.
    Wszystkie rejestry w liczbie 128 są bezpośrednio adresowalne, a pierwsze 32 rejestry są zamapowane na pierwsze 32 wpisy 128 wpisowego pliku rejestru wektora. Przydatną właściwością jednostki VMX-128 jest to że można „wyciąć” część rejestrów i zachowywać ich zawartość między wywołaniami funkcji działających w tym samym wątku co bardzo ułatwia i przyspiesza pracę z macierzami które bardzo intensywnie wykorzystywane są w grafice trójwymiarowej. W związku z wielkością rejestrów zaimplementowana została także Delayed Execution Issue Queue (kolejka ujścia opóźnionego wykonania) co zmniejsza efektywne opóźnienie załadowana z 8/10 cykli do 2. Operacje przy użyciu jednostki VMX-128 wykonywane są w czasie 4 lub 14 cyklów w zależności od operacji. Skalarne operacje podwójnej precyzji wykonywane są w czasie 10 cyklów.
    Pamięci podręczne L1 i L2

    Matryce **** wykorzystane do budowy pamięci podręcznej L1 i L2 obsługują redundancje zarówno kolumnami jak i rzędami. Redundancje tą można włączyć poprzez wypalenie odpowiednich bezpieczników.
    Instrukcje zapisu wewnątrz pojedynczego rdzenia są instrukcjami typu write-through tzn. bez buforowania zapisu co przyspiesza strumieniowe przetwarzanie danych.
    W procesorze Xenon pamięć podręczna L2 jest 8-drożną asocjacyjną pamięcią podręczną, do zachowania spójności pamięć skorzystano z protokołu MESI, jest ona tak zaprojektowana że może pracować jak standardowa pamięć L2 używana w komputerach osobistych tzn. mogą do niej trafiać instrukcje i dane wykorzystywane raz po raz. Jest to pamięć nie blokująca, zastosowano w niej strategie agresywnego trafienia pod „chybieniem” (hit under miss) tzn. rdzeń ma dostęp do bloku pamięci podręcznej nawet jeśli pamięć podręczna przemieszcza blok który spowodował chybienie. Do zarządzania pamięcią podręczną L2 wykorzystywana jest jednostka kontroli katalogu która kieruje instrukcjami kolejkowanymi dla poszczególnych rdzeni. Dla zwiększenia osiągów pracy pamięci podręcznej L2 istnieją dwie kopie katalogu co umożliwia równoległą pracę wszystkich rdzeni oraz podejrzewanie I/O. Detekcja błędów bazuje na mechanizmie ECC. Jak widać na załączonym rysunku rdzenie komunikują się z pamięcią L2 przez przełącznice krzyżową z pełną częstotliwością pracy procesora. Pozostała część pamięci podręcznej operuje z częstotliwością 1.6GHz. Na każdy rdzeń przypada 8 buforów gromadzenia danych (STG – Store Gathering Buffer) przy czym dane nie przeznaczone do trafienia do pamięci podręcznej są kierowane inną ścieżką na której znajdują się 4 bufory STG na rdzeń. Wprowadzono je by ułatwić kolejkowanie powyższych operacji.

    Architektura pamięci podręcznej L2

    Jest też inny tryb pracy pamięci podręcznej L2, może się zdarzyć że część pamięci L2 zostanie zaalokowana jako bufor lokalny dla strumieniowej transmisji danych między CPU a GPU. To czy tak się stanie znajduje się pod pełną kontrolą programisty, i by pamięć L2 mogła tak pracować programista musi umieścić wątek w trybie „write streaming mode” tzn. tryb zapisu strumieniowego. Wtedy system zablokuje pewien ustalony zestaw linii pamięci L2 i przyporządkuje wyłącznie dla danego wątku, ta część pamięci jest wtedy inicjalizowana jako kolejka FIFO tak by mogła służyć jako bufor zapisu dla wątku generującego dane. Dane te (najczęściej są to dane wierzchołków) mogą być dzięki temu przesłane bezpośrednio do GPU przy pominięciu pamięci podręcznej L1. Taki sposób przesyłania danych przydaje się zwłaszcza w sytuacjach gdy GPU nie nadąża z konsumowaniem danych produkowanych przez procesor, i zapobiega zanieczyszczeniu pamięci L1 oraz reszty L2 poprzez strumień zapisywanych danych.


    Istnieje także inny tryb który daje programiście kontrole nad pamięcią podręczną jest to „read streaming mode” czyli tryb strumieniowego odczytu. Ma taki sam cel jak wcześniej omawiany tryb to jest zapobieganie zanieczyszczeniu pamięci podręcznej danymi strumieniowanymi które nie będą ponownie użyte – umożliwia odczyt danych z szyny systemowej do bezpośrednio do pamięci podręcznej L1 lub do rejestrów. Te dwa tryby dają programiście możliwość kontroli nad hierarchią pamięci podręcznej.
    Front Side Bus

    FSB została zaprojektowana specjalnie by sprostać wymaganiom stawianym przez ma przepustowość oraz czas dostępu wymagany w platformie do gier. Przepustowość FSB osiąga 21,6 GB/s. Taktowana jest zegarem 5.4GHz. Protokół FSB dzieli się na 3 warstwy warstwę łącza, transakcji i fizyczną. Warstwa łącza odpowiada za nawiązywanie połączenia, detekcje błędów oraz retransmisje i sterowanie przepływem. Warstwa transakcji odpowiada za standardowy interfejs między dwoma chipami (CPU i GPU) a także przeprowadza reorganizacje poleceń oraz zarządza dwoma wirtualnymi kanałami. Te dwa kanały wykorzystywane są do żądania oraz odpowiedzi i zostały stworzone głównie w celu uniknięcia zakleszczeń, wykorzystywane są jednak także by zapewnić konfiguracje osiągów dzięki ustawialnemu priorytetowaniu kanałów. Warstwa fizyczna FSB ma postać dwóch nieukierunkowanych połączeń z których każde jest wstanie transmitować z szybkością 10.8GB/s. Każde z tych połączeń dzieli się na dwa jedno-bajtowe pasy z których każdy ma swój zegar. Połączenia są zsynchronizowane ze źródłem więc zegar odbiorcy jest wysyłany z danymi. W celu zwiększenia tolerancji zakłóceń oraz zmniejszenia wahań sygnału, analogowe odbiorniki i nadajniki wykonano w technologii CML (Curren Mode Logic).
    Mostek południowy

    Mostek południowy jest kontrolerem audio oraz wejścia/wyjścia tzn. odpowiada za komunikacje z kodekami audio, urządzeniami przechowywania danych, portami USB, kontrolerami oraz innymi urządzeniami I/O. Procesor komunikuje się z nim za pośrednictwem GPU, za pomocą magistrali szeregowej 10.8GB/s między GPU a CPU dla zapisu i odczytu. Połączenie między GPU a mostkiem południowym zrealizowane jest przy pomocy dwóch pasów PCI-Express które umożliwiają zapis i odczyt z prędkością 500MB/s. Mostek południowy został wykonany przez firmę SiS.
    Pamięć

    Xbox 360 posiada 512MB (8 chipów po 64MB) pamięci GDDR3 RAM (Graphics Double Data Rate 3) została zaprojektowana przez ATI specjalnie do wykorzystania w kartach graficznych na podstawie pamięci DDR2, jednocześnie zmniejszono pobór mocy oraz wymagania rozpraszania ciepła. W celu zwiększenia przepustowości pamięć GDDR3 przesyła 4 bity danych na pin w ciągu 2 cykli zegara. Pamięć ta w Xbox 360 jest taktowana zegarem 700 MHz co daje 1.4GHz efektywnej transmisji przy użyciu 128 bitowej szyny. Pamięć jest dzielona między CPU i GPU przy pomocy technologii UMA. Przepustowość do GPU to 22.4 GB/s.

    GPU

    Chip wykorzystany w Xbox 360 o nazwie Xenos został zaprojektowany przez ATI, w czasie projektowania nazywany był „C1” oraz „R500”. Chip ten taktowany jest zegarem 500MHz i pobiera poniżej 35 Watów mocy w czasie pełnego obciążenia. Moc całego układu to 240 GFLOPS (10 FLOPS * 48 potoków shaderów * 500 MHz). Xenos składa się z dwóch głównych elementów:

    *

    „kości rodzica” (nazywanej też rdzeniem graficznym lub rdzeniem shaderów), złożonej z 235 milionów tranzystorów, wykonanej w technologii 90 nm – która jest jednocześnie mostkiem północnym. W układzie znajduje się też 16 jednostek filtrowania tekstur oraz 16 jednostek adresowania tekstur. Z powodu niedużej wielkości za komunikacje z pamięcią wewnętrzną odpowiada przełącznica krzyżowa podzielona na dwa 64 bitowe bloki. Część ta została wykonana przez TSMC.
     
  2. Lotnik421 Xbox One

  3. radas210

    radas210 Banned Użytkownik

    Dołączył:
    Sierpień 9, 2009
    Posty:
    132
    Polubienia:
    0
    Punkty za osiągnięcia:
    0
    *

    „kości córki (nazywanej także modułem eDRAM) złożonej z 90 milionów tranzystorów, która odpowiada za funkcje zwykle wykonywane w jedno-chipowych GPU takie jak obsługa Z-bufora lub alpha-blendingu. GPU zostało zaprojektowane na 2 osobnych kościach głównie z powodów ekonomicznych – kość córki zawiera w sobie dużą macierz pamięci dynamicznej. Ponieważ pamięć dynamiczna ma dużą awaryjność podczas procesu produkcji pozwala to zmniejszyć odrzut spowodowany wadliwymi pamięciami z całkowitego odrzutu. Cześć ta została wykonana przez NEC.


    GPU jest też bezpośrednio połączony z mostkiem południowym który jest kontrolerem audio oraz wejścia/wyjścia. Dodatkowo ATI dodało do swojego chipu wyjścia DVI oraz HDMI (zostały one wykorzystane dopiero w później wprowadzonych na rynek, droższych wersjach Xbox 360).
    Pamięć GPU

    GPU jest podłączone do pamięci systemowej 128 bitową magistralą o przepustowości 22.4GB/s a także jak już było wspomniane wcześniej jest bezpośrednio podpięte do pamięci podręcznej L2 CPU. Pamięć podręczną L2 oraz GPU łączy szyna 24GB/s. Wielkość magistrali łączącej GPU z pamięcią systemową (128 bitów) często była podawana jako jedno z wąskich gardeł systemu – szczególnie że w czasie projektowania GPU w komputerach osobistych były już stosowane 256 bitowe magistrale. Odpowiedzią na to jest wewnętrzna dynamiczna pamięć eDRAM o wielkości 10MB znajdująca się w „kości córce” jej wewnętrzna przepustowość między pamięcią a logiką to 256GB/s a między GPU a „kością córki” 32GB/s, używana jest jako bufor tła, a operacje najbardziej zaborcze przepustowościowo takie jak stencil-buffering, anti-aliasing, Z-buffering oraz Alpha Blending wykonywane są właśnie w tej pamięci wewnętrznej i nie wymagają dostępów do pamięci systemowej co powoduje że 128 bitowa magistrala to tejże jest ponad wystarczająca.
    Zunifikowana architektura Shaderów

    Jedną z najważniejszych cech procesora graficznego konsoli Xbox 360 jest jego architektura stworzona w technologii zunifikowanych shaderów. ATI jako pierwsza firma wprowadziła tą technologie przy pełnym poparciu Microsoft'u, było to bardzo innowacyjne rozwiązanie i chociaż mamy 2008 rok karty graficzne przeznaczone do komputerów osobistych wspierające technologie zunifikowanych shaderów dopiero raczkują. Głównym powodem tak powolnego wchodzenia tej technologii na rynek był sprzeciw nVidii która postanowiła wspierać starą technologie która stawiała na osobne jednostki shaderów wierzchołków i pikseli.
    Aby wyjaśnić na czym polega technologia zunifikowanych shaderów warto przybliżyć samą ideę shaderów oraz pierwotną technologię wykorzystywaną przed nadejście Xbox 360 oraz kart graficznych wspierających bibliotekę DirectX 10 stworzoną przez Microsoft.

    Shader – jest to zestaw instrukcji napisany w assemblerze lub specjalnie zaprojektowanym do tego celu języku wykorzystywanych przez zasoby graficzne do renderowania efektów dający programiście dodatkową kontrole nad sposobem ich renderowania. Shadery dają programiście możliwość zaprogramowania programowalnego potoku przetwarzania w GPU. W dalszej części tekstu na równi będą używane równoznaczne dla GPU określenia jednostki shaderów lub jednostki ALU.

    Dotychczas w kartach graficznych umieszczano dwa osobne mechanizmy shaderów z odmiennymi zestawami instrukcji oraz odmiennymi mechanizmami pamięci podręcznej. Były dwa osobne potoki i w sytuacji gdy jedynie jeden był wykorzystywany drugi marnował się ponieważ zwykle ich praca była dominowana w danym momencie poprzez przetwarzanie jedynie wierzchołków lub jedynie pikseli.

    Mechanizm zunifikowanych shaderów wprowadza jedno sprzętowe rozwiązanie które zajmuje się zarówno shaderami wierzchołków jak i pikseli. Zunifikowane shadery łączą zestawy instrukcji, wprowadzają ujednolicony mechanizm pamięci podręcznej i umożliwiają elastyczne dostosowanie jednostek shaderów do danej sytuacji. W GPU Xbox 360 znajduje się 48 jednostek ALU zunifikowanych shaderów, podzielonych na 3 równoległe grupy po 16 shaderów każda. Każda z 48 jednostek może równocześnie wykonywać jedną instrukcje Vector4 (typ danych z biblioteki DirectX określający wektor w przestrzeni 4 wymiarowej) oraz jedną skalarną. Każde ALU przetwarza wszystko z precyzją FP32 (32 bity na piksel, 8 na czerwony,zielony,niebieski oraz alpha). Dodatkowo każda z jednostek ALU posiada dodatkowe obwody wykonujące wszystkie obliczenia operacji interpolacji shaderów pikseli. Jednostki shaderów mogą być wykorzystywane wszystkie naraz zarówno do przetwarzania wierzchołków jak i pikseli, lub też jeśli zachodzi taka potrzeba będą rozdysponowane pomiędzy dwa shadery. Istnieje też możliwość przejęcia przez programistę kontroli nad rozdysponowywaniem jednostek shaderów. Dzięki ich zastosowaniu programista może napisać dzięki obszernemu zestawowi instrukcji jeden program zajmujący się różnymi danymi. Wersja shaderów używana w Xenosie to rozszerzona wersja Shader Model 3.0.
    Możliwości

    Jednostki shaderów w liczbie 48 są wstanie równocześnie wykonywać 64 wątki na grupie 64 wierzchołków lub pikseli. W zależności od obciążenia te ALU mogą być dynamicznie i automatycznie przypisywane do przetwarzania wierzchołków lub pikseli. Każda z ALU jednostek shaderów może wykonać jedną operacje wektorową i jedną skalarną w trakcie jednego cyklu zegarowego, co sumarycznie daje 96 operacji shaderów na cykl zegarowy. Ładowanie tekstur może odbywać się równoległe z operacjami wykonywanymi w ALU. W momencie maksymalnego obciążenia GPU może wykonywać 48 bilionów operacji shaderów na sekundę. GPU udostępnia programiście wiele możliwości jeśli chodzi o debugowanie, mianowicie kontrol
    GPU może osiągnąć szczytowe wypełnianie pikselami o wysokości 4+ gigapiksela na sekundę (16 gigasampli na sekundę z 4 krotnym anty-aliasingiem). Szczytowe przetwarzanie wierzchołków to 1.5 biliona operacji na sekundę. A szczytowe przetwarzanie trójkątów także o wysokości 500+ milionów na sekundę.
    Jako że Xenon został zaprojektowany z myślą o wyjściach wysokiej definicji, 10MB eDRAM'u wystarcza do obsługi obrazu w formacie 720p jak i 1080i/1080p (Bufor obrazu 720p mieści się w całości w eDRAM'ie, 1080i oraz 1080p przy wykorzystaniu specjalnych technik).
    Specjalnie dla nowej architektury graficznej Xenona zaimplementowany został rozszerzony zestaw instrukcji Direct3D bazujący na wersji DirectX 9.0c. W nowej wersji dodano dodatkowe formaty skompresowanych tekstur oraz nowy silnik mozaikowania. Zapewniono wsparcie dla języka pisania shaderów HLSL dla modelu 3.0+.
    Xenos udostępnia technologie MEMEXPORT która przybiera postać specjalnej instrukcji memexport, umożliwia ona odczytywanie i zapisywanie danych wektorowych do i z systemowej pamięci RAM. Dla zwykłego programu shaderów (pikseli lub wierzchołków) miejsce przeznaczenia danych wejściowych jest statyczne i zwykle zostają one odebrane przez tą część hardware'u która jest zaraz za potokiem. Funkcja MEMEXPORT umożliwia GPU wyrzucenie danych wierzchołków lub pikseli do pamięci a potem ponowne załadowanie ich na wejścia wybranych programów shaderów. Daje to bardzo duże możliwości przetwarzania obrazu 3D. Funkcja ta umożliwia także zamienienie GPU w koprocesor służący do obliczeń fizyki.

    * http://dwl.xbox-scene.com
    * Just like being there: Papers from the Fall Processor Forum 2005: Application-customized CPU design
    * Advanced Micro Devices Inc.
    * AnandTech: your source for hardware analysis and news
    * Ars Technica
    * Ars OpenForum 3.0b - Powered by Social Strata
    * Xbox Interview Articles (All)
    * Beyond3D
    * The Tech Report - PC Hardware Explored
    * Gamedev.no
    * IBM - United States
    * PS3 Forums
    * Wikipedia, wolna encyklopedia
    * Wikipedia, the free encyclopedia
     
  4. sebolek

    sebolek Użytkownik Użytkownik

    Dołączył:
    Marzec 19, 2008
    Posty:
    443
    Polubienia:
    1
    Punkty za osiągnięcia:
    18
    Miasto:
    Legionowo
    Gratulacje a czyżbyś nie wiedział że my to wiemy?

    PS. No i Gratuluje Wikipedii
     
  5. Ruzyk

    Ruzyk V.I.P V.I.P Użytkownik

    Dołączył:
    Sierpień 7, 2009
    Posty:
    264
    Polubienia:
    0
    Punkty za osiągnięcia:
    16
    Miasto:
    Przemyśl
    szczegulowe!
    jak coś to szczegółowe :D jak ktoś by chciał takie pierdółki wiedzieć to google nie boli
     
  6. Dodop

    Dodop Użytkownik Użytkownik

    Dołączył:
    Listopad 14, 2009
    Posty:
    28
    Polubienia:
    0
    Punkty za osiągnięcia:
    1
    Miasto:
    Wrocław
    ...czy google od teraz jest płatne ? hahahahah .
     
  7. MikkpoL11

    MikkpoL11 Użytkownik Użytkownik

    Dołączył:
    Listopad 8, 2009
    Posty:
    47
    Polubienia:
    0
    Punkty za osiągnięcia:
    6
    Miasto:
    Poznań
    Chyba tak , hehe :)

    Pozdrawiam
     
Wczytywanie...

Poleć forum