For faster navigation, this Iframe is preloading the Wikiwand page for Blitter.

Blitter

Blitter (zapis stylizowany: BLiTTER; akronim od ang. block image transferrer) – specjalizowany układ realizujący operacje przenoszenia danych z jednego obszaru pamięci (także VRAM) do innego. Zadaniem jego jest odciążenie głównego procesora od takich operacji, co ma szczególne znaczenie w generowaniu grafiki 2D.

Działanie na przykładzie blittera Atari ST

[edytuj | edytuj kod]

Blitter w komputerach Atari został wprowadzony dopiero w wersji "Mega series". Była to próba nawiązania walki rynkowej z komputerem Amiga firmy Commodore, który Blitter posiadał od samego początku. Ze względu na to, że twórcy gier starali się wykorzystać najniższy wspólny mianownik sprzętowy rodziny Atari ST, Blitter Atari, jako dostępny tylko na niektórych maszynach, był rzadko wykorzystywany w grach. Od wersji TOS 1.02 (rok 1987) operacje interfejsu graficznego GEM (VDI oraz AES) były wspomagane Blitterem.

Atari Blitter operuje na 16 bitowych słowach, pobierając i zapisując je nieliniowo.

W jednym przebiegu może:

  • pobierać dane z trzech źródeł:
    • Source - pamięć RAM,
    • Halftone - 16 rejestrów Blittera, każdy o szerokości 16 bitów,
    • Destination - pamięć RAM,
  • rotować binarnie,
  • dokonywać na nich 21 różnych operacji logicznych:
    • 4 - pomiędzy Source i Halftone,
    • 16 - dla Source i Destiantion,
    • 1 - dla Source i Mask
  • maskować,
  • oraz zapisywać wynik (Destination).

Operacje Logiczne pomiędzy źródłem Source i Destination:

  • 0
  • Source AND Destination
  • Source AND NOT Destination
  • Source
  • NOT Source AND Destination
  • Destination
  • Source XOR Destination
  • Source OR Destination
  • NOT Source AND NOT Destination
  • NOT Source XOR Destination
  • NOT Destination
  • Source OR NOT Destination
  • NOT Source
  • NOT Source OR Destination
  • NOT Source OR NOT Destination
  • 1

Operacje pomiędzy źródłem Source i Halftone:

  • 1
  • Halftone
  • Source
  • Source & Halftone (specjalny tryb w którym zawartość Source jest indeksem dla rejestru Halftone)

Operacja logiczna pomiędzy Source i Mask

  • Source AND Mask

BLiTTER w Atari ST/Falcon ma dostęp do całej pamięci ST RAM i do rejestrów sprzętowych. Dzięki tej właściwości może być wykorzystywany jako szybki kanał DMA.

Przykładowo może:

  • zmieniać zawartość rejestrów kolorów Shiftera - więcej kolorów w linii niż w Spectrum512!
  • odbierać dane z portu kartridża
  • wysyłać/odbierać dane z DSP poprzez Hostport
  • wysyłać/odbierać dane z dysku IDE (powstał sterownik dysków twardych dla ST, który był niezwykle wydajny)
  • cieniować wielokąty metodą Gouraud[1]

Wykorzystując tryb 'Source & Halftone' można dokonywać transformacji Chunky do Planar (c2p).

W Atari ST pojawił się razem z Mega ST i dedykowanym systemem Atari TOS 1.02 (Blitter TOS) w roku 1987. Instalacja Blittera możliwa jest również we wszystkich Atari ST wyprodukowanych po 1987 roku, mają wolne miejsce na płycie głównej.

Inne platformy

[edytuj | edytuj kod]

Pierwszym komputerem osobistym wyposażonym w pełni funkcjonalny Blitter była Amiga firmy Commodore. Pierwszy patent w USA zawierający słowo "Blitter" również dotyczył Amigi[2]. Wszystkie współczesne procesory graficzne zawierają w sobie funkcjonalność blittera, ale obecnie jej wykorzystanie jest niewielkie.

Wiele innych urządzeń ma obecnie bezpośredni dostęp do pamięci (DMA) co odciąża procesor pozwalając asynchronicznie przesyłać dane, na przykład z/do kontrolerów dysków, kart sieciowych czy układów kryptograficznych. Istnieją również specjalizowane układy realizujące tylko tę funkcję (tzw. silniki DMA, w procesorach jak Xeon czy Cell lub oddzielnych układach na płycie głównej), stosowane w wydajnych serwerach, na przykład jako bardzo szybki sprzętowy i asynchroniczny sposób wykonania funkcji memcpy na dużych blokach pamięci (które występują np. w trakcie operacji IO pomiędzy jądrem systemu operacyjnego a programami przestrzeni użytkownika).

Przypisy

[edytuj | edytuj kod]
{{bottomLinkPreText}} {{bottomLinkText}}
Blitter
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?