Blitter

In einem Computersystem ist ein blitter ein Stromkreis, manchmal als ein Coprozessor oder ein Logikblock auf einem Mikroprozessor, der der schnellen Bewegung und Modifizierung von Daten innerhalb des Gedächtnisses dieses Computers gewidmet wird. Ein blitter ist dazu fähig, große Mengen von Daten von einem Speicherbereich bis einen anderen relativ schnell, und in der Parallele mit der Zentraleinheit zu kopieren.

Der Name kommt aus dem Akronym BLIT, der für Block-Bildübertragung eintritt. Ein typischer Gebrauch für einen blitter ist die Bewegung eines großen bitmap in einem 2. Computerspiel oder Demo.

Das historische Bedürfnis nach einem blitter

In frühen Computern mit der Rastergrafikproduktion wurde der Schirm-Puffer normalerweise im Hauptgedächtnis gehalten und unter der Kontrolle der Zentraleinheit gezogen. Für viele einfache Grafikroutinen, wie Elfe-Unterstützung oder Überschwemmungsfüllungsvielecke, mussten große Beträge des Gedächtnisses manipuliert werden. Ein typischer Grund, große Datengebiete zu bewegen, ist entstanden, als er bitmaps, solcher als gezogen hat, als er den folgenden Rahmen während eines Computerspieles oder Demo gezogen hat. Ein Image, das sich glatt über den Schirm bewegt, könnte das Bedürfnis nach einem bitmap verursachen (das Image vertretend), um jeder Rahmen bewegt zu werden. Spielentwerfer mussten die Grafik ihres Spiels entwerfen, so dass die Summe der bitmap Datenübertragung, die erforderlich ist, jeden Rahmen zu ziehen, innerhalb der Kapazität der Zentraleinheit war.

Da Grafikhardware hoch entwickelter geworden ist, ist framebuffers größer mit höheren Entschlossenheiten und Farbentiefe gewachsen. Spielentwerfer haben größere Images verwenden wollen, um Spielelemente zu vertreten, und annehmbaren framerates aufrechtzuerhalten. Grafikoperationen haben dann immer mehr verlangt, dass Daten Geschwindigkeit übertragen, um diese Bitmap-Bewegungen zu vollbringen. Diese Arbeit hat unten die Zentraleinheit gebunden, es davon abhaltend, auf anderen Aufgaben zu funktionieren oder es unausführbar zu machen, große Images innerhalb der zugelassenen endlichen Zeit zu übertragen, zwischen Rahmen in einer Prozession gehend.

Blitters in der Hauscomputerwissenschaft

Computerhersteller haben blitters eingeführt, um zu helfen, diese Grafiklast auf der Zentraleinheit zu vermindern, oder kompliziertere Grafik zu erlauben. Mehrere Hauscomputer verfertigt haben in den 1980er Jahren ein Grafikcoprozessor eingeschlossen, das einen blitter enthalten hat. Die Zentraleinheit würde eine Beschreibung des notwendigen Bit blit Operationen zum blitter senden, der dann die Operation viel schneller ausführen würde, als die Zentraleinheit, und in der Parallele gekonnt hat.

Der Kommodore Amiga war der erste Personalcomputer, um einen voll gezeigten blitter zu verwenden, und der erste US-Patent-Feilstaub, um den Begriff blitter zu gebrauchen, war "Personalcomputerapparat für die Block-Übertragung von Rasterbilddaten," hat Commodore-Amiga, Inc zugeteilt. Oben auf der Fähigkeit, große Gebiete der Grafik zu kopieren und zu manipulieren, hat die Hardware, die den blitter von Amiga auch enthalten hat, Linienzeichnung und bereichsfüllende Hardware eingeschlossen.

Spätere Modelle von ST von Atari haben auch ein blitter Coprozessor eingeschlossen, das in allen Kapitalen als der BLITTER Span genannt wurde. Eine Geschichte stellt fest, dass die Herstellung von Verzögerungen seine Einführung in die ST-Linie aufgeschoben hat, bis sich der erste STs eingeschifft hatte. Ein anderer ist das der Hauptmitbewerber von ST von Atari, Amiga, war wegen seines blitter berühmt, und so hat Atari denjenigen ebenso eingeführt. Obwohl Atari eine Steigung geplant hat, um Händlern zu erlauben, den blitter Span zu installieren, war dieser Plan später fallen gelassen. Statt dessen wurde der BLITTER auf der Reihe von Mega eingeführt, und dann auch auf spätesten Maschinen (außer dem Atari TT) unterstützt.

Grafikorientierte Software (besonders Spiele), auf Systemen laufend, die keinen blitter hatten, musste andere Methoden finden, großen bitmaps zu übertragen. Einige Spiele wurden über Plattformen geschrieben, von denen einige einen blitter enthalten haben, und von denen einige nicht getan haben. Ein typisches Beispiel würde ein Spiel sein, das für Atari ST und Amiga geschrieben ist. Beide Maschinen haben ähnliche Hardware einschließlich des MC68000 Verarbeiters enthalten, aber Amiga hat einen blitter enthalten, und früher Ataris hat nicht getan. Solch ein Spiel konnte sich auf die Anwesenheit eines blitter nicht verlassen. Eine Annäherung an das Berühren davon sollte alle verfügbaren 68000 Datenregister mit Daten vom bitmap im Gedächtnis laden, und dann die Daten in den Rahmenpuffer in so wenigen Operationen wie möglich stoßen.

Blitting war nicht die einzige Lösung der Versorgung der Hochleistungsgrafik in Leistungsbeschränkten Maschinen. Eine allgemeinere Lösung in frühen Maschinen war der Gebrauch von Elfen, die zwei verschiedene Grafikpfade verwendet haben, um Images zu ziehen, die dann im Videoanzeigeschaltsystem in ein einzelnes Image verbunden wurden. Elfen waren kleine bitmaps, die auf dem des normalen bitmap Hintergrunds unabhängigen Schirm eingestellt wurden, ihnen erlaubend, Bildschirm-durch die Anpassung der Werte mehrerer Zeitmesser bewegt zu werden. Das Videoschaltsystem hat angefangen, die Elfen zu ziehen, nachdem der Zeitmesser abgelaufen war, ihnen erlaubend, für kleine Kosten gezogen zu werden, und das Bedürfnis vermeidend, Gedächtnis zu bewegen, um das Trugbild der Bewegung zur Verfügung zu stellen. Die Kehrseite dieser Annäherung ist, dass die Elfe-Systeme allgemein Grenzen zur Zahl von Elfen hart codiert hatten, die sie, häufig zwischen zwei (der Atari VCS) und acht (Kommodore 64) zeigen konnten. Blitters hat die Fähigkeit angeboten, jede Zahl von Gegenständen, beschränkt nur durch die Leistung des blitter und des Gedächtnisses zu haben, mit dem es gesprochen hat. Da die Leistung dieser Stromkreise zugenommen hat, hat die Flexibilität des blitter jeden Leistungsvorteil in der Elfe-Annäherung überwältigt, und viele Elfe-Systeme sind blitters verkleidet geworden.

Operation

Gewöhnlich würde ein Computerprogramm Information in bestimmte Register stellen, die beschreiben, was Speicherübertragung vollendet werden und die logischen Operationen, um auf den Daten durchzuführen, dann den blitter auslösen musste, um zu beginnen, zu funktionieren. Die Zentraleinheit ist dann frei, eine andere Operation zu beginnen, während der blitter funktioniert.

Der Bestimmungsort für die Übertragung ist gewöhnlich der Rahmenpuffer. Jedoch kann ein blitter auch für die Nichtgrafikarbeit verwendet werden. Zum Beispiel könnte ein Gebiet des Gedächtnisses zeroed (gefüllt mit zeroes) das Verwenden eines blitter schneller sein, als es mit der Zentraleinheit vollbracht werden kann. Zusätzlich können einfache mathematische Operationen von grundlegenden logischen Operationen gebaut werden.

Das Image am Recht hilft zu illustrieren, wie ein blitter eine 'Maske' verwenden kann, um zu entscheiden, welche Pixel zu übertragen, und welch man unberührt verlässt. Die Maske funktioniert wie eine Matrize, sich zeigend, welche Pixel im Quellimage dem Bestimmungsort-Gedächtnis geschrieben werden. Die logische Operation würde Dest = ((Hintergrund) UND (Maske)) ODER (Elfe) sein.

Aktuelle Technologie

Blitters haben sich zur modernen Grafikverarbeitungseinheit entwickelt. Der moderne GPU ist im Wesentlichen ein sehr fortgeschrittener blitter und teilt sich mit früher blitters die Absicht des schnellen Kopierens, Umwandelns, und das Schreiben hat bitmaps (mehr allgemein Texturen) zu einem framebuffer umgestaltet. Aber während frühe blitters auf das Durchführen einfacher logischer Operationen auf den Zieldaten beschränkt wurden, fügen moderne GPUs die Fähigkeit hinzu, diese bitmaps auf mathematisch fortgeschrittene Weisen zu modifizieren, wie Hilfe interessantere Effekten wie Schattierung erzeugen, um Beleuchtungseffekten und das Mischen für die Durchsichtigkeit zu erzeugen. Zusätzlich kann moderner GPUs bitmaps dem Bestimmungsort-Gedächtnis auf solche Art und Weise schreiben, um das Trugbild der Tiefe zur Verfügung zu stellen. Während früher blitters darauf beschränkt wurden, von Quellpixeln zu Bestimmungsort-Pixeln geradlinig isomorph kartografisch darzustellen, kann moderner GPUs stattdessen Quellpixel zu Bestimmungsort-Pixeln auf eine nichtlineare Weise kartografisch darstellen, das Äußere der Perspektive zu erzeugen. Die Unterstützung für fortgeschrittenere mathematische Transformationen erlaubt auch dem modernen GPU, Blöcke von Koordinaten in einem 3. Raum umzugestalten. Diese Fähigkeit, die mit der Schattierung verbunden ist und zwischen Quelle und Bestimmungsort-Pixeln nichtlinear kartografisch darzustellen, hilft, die flüssige 3. in vielen heutigen Spielen gefundene Erfahrung zu schaffen.

Siehe auch


Franco Columbu / Bit blit
Impressum & Datenschutz