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 wykonywania takich operacji, co ma szczególne znaczenie w generowaniu grafiki 2D.[1]
Działanie na przykładzie blittera Atari ST
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[2]
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
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[3]. 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
- ↑ Przemysław Cieślak. Blitter - Trylogii część pierwsza. „Commodore & Amiga”. 11/93 (11), s. 18-19, listopad 1993. Spółdzielnia "Bajtek". ISSN 0867-8022. [dostęp 2026-02-17].
- ↑ Truecolor gouraud shading using the blitter
- ↑ US Patent 4874164 "Personal computer apparatus for block transfer of bit-mapped image data
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.