Video display controller

Last updated
Block diagram of a NEC mPD7220 graphics display controller NECuPD7220BlockDiagram.svg
Block diagram of a NEC μPD7220 graphics display controller

A video display controller (VDC), also called a display engine or display interface, is an integrated circuit which is the main component in a video-signal generator, a device responsible for the production of a TV video signal in a computing or game system. Some VDCs also generate an audio signal, but that is not their main function. VDCs were used in the home computers of the 1980s and also in some early video picture systems.

Contents

The VDC is the main component of the video signal generator logic, responsible for generating the timing of video signals such as the horizontal and vertical synchronization signals and the blanking interval signal. Sometimes other supporting chips were necessary to build a complete system, such as RAM to hold pixel data, ROM to hold character fonts, or some discrete logic such as shift registers.

Most often the VDC chip is completely integrated in the logic of the main computer system, (its video RAM appears in the memory map of the main CPU), but sometimes it functions as a coprocessor that can manipulate the video RAM contents independently.

Video display controller vs. graphics processing unit

The difference between a display controller, a graphics accelerator, and a video compression/decompression IC is huge, but, since all of this logic is usually found on the chip of a graphics processing unit and is usually not available separately to the end-customer, there is often much confusion about these very different functional blocks.

GPUs with hardware acceleration became popular during the 1990s, including the S3 ViRGE, the Matrox Mystique, and the Voodoo Graphics; though earlier examples such as the NEC μPD7220 had already existed for some time. VDCs often had special hardware for the creation of "sprites", a function that in more modern VDP chips is done with the "Bit Blitter" using the "Bit blit" function.

One example of a typical video display processor is the "VDP2 32-bit background and scroll plane video display processor" of the Sega Saturn. Another example is the Lisa (AGA) chip that was used for the improved graphics of the later generation Amiga computers.

That said, it is not completely clear when a "video chip" is a "video display controller" and when it is a "video display processor". For example, the TMS9918 is sometimes called a "video display controller" and sometimes a "video display processor". In general however a "video display processor" has some power to "process" the contents of the video RAM (filling an area of RAM for example), while a "video display controller" only controls the timing of the video synchronization signals and the access to the video RAM.

The graphics processing unit (GPU) goes one step further than the VDP and normally also supports 3D functionality. This is the kind of chip that is used in modern personal computers.

Types

Video display controllers can be divided in several different types, listed here from simplest to most complex;

List of example VDCs

Examples of video display controllers are:

Video shifters

CRT Controllers

Video interface controllers

Video coprocessors

Alternatives to a VDC chip

Note that many early home computers did not use a VDP chip, but built the whole video display controller from a lot of discrete logic chips, (examples are the Apple II, PET, and TRS-80). Because these methods are very flexible, video display generators could be very capable (or extremely primitive, depending on the quality of the design), but also needed a lot of components.

Many early systems used some form of an early programmable logic array to create a video system; examples include the ZX Spectrum and ZX81 systems and Elektronika BK-0010, but there were many others. Early implementations were often very primitive, but later implementations sometimes resulted in fairly advanced video systems, like the one in the SAM Coupé. On the lower end, as in the ZX81, the hardware would only perform electrical functions and the timing and level of the video stream was provided by the microprocessor. As the video data rate was high relative to the processor speed, the computer could only perform actual non-display computations during the retrace period between display frames. This limited performance to at most 25% of overall available CPU cycles.

These systems could thus build a very capable system with relatively few components, but the low transistor count of early programmable logic meant that the capabilities of early PLA-based systems were often less impressive than those using the video interface controllers or video coprocessors that were available at the same time. Later PLA solutions, such as those using CPLDs or FPGAs, could result in much more advanced video systems, surpassing those built using off-the-shelf components.

An often-used hybrid solution was to use a video interface controller (often the Motorola 6845) as a basis and expand its capabilities with programmable logic or an ASIC. An example of such a hybrid solution is the original VGA card, that used a 6845 in combination with an ASIC. That is why all current VGA based video systems still use the hardware registers that were provided by the 6845.

Modern solutions

ATi R300 chip block diagram. The display controller is labelled "display interface". Radeon R300 block diagram.svg
ATi R300 chip block diagram. The display controller is labelled "display interface".

With the advancements made in semiconductor device fabrication, more and more functionality is implemented as integrated circuits, often licensable as semiconductor intellectual property core (SIP core). Display controller System In Package (SiP) blocks can be found on the die of GPUs, APUs and SoCs.[ citation needed ]

They support a variety of interfaces: VGA, DVI, HDMI, DisplayPort, VHDCI, DMS-59 and more. The PHY includes LVDS, Embedded DisplayPort, TMDS and Flat Panel Display Link, OpenLDI and CML.[ citation needed ] A modern computer monitor may has built-in LCD controller or OLED controller. [4]

For example, a VGA-signal, which is created by GPU is being transported over a VGA-cable to the monitor built-in controller. Both ends of the cable end in a VGA connector. Laptops and other mobile computers use different interfaces between the display controller and the display. A display controller usually supports multiple computer display standards.

KMS driver is an example of a device driver for display controllers and AMD Eyefinity is a special brand of display controller with multi-monitor support.

RandR (resize and rotate) is a method to configure screen resolution and refresh rate on each individual outputs separately and at the same time configure the settings of the windowing system accordingly.

An example for this dichotomy is offered by ARM Holdings: they offer SIP core for 3D rendering acceleration and for display controller independently. The former has marketing names such as Mali-200 or Mali-T880 while the latter is available as Mali-DP500, Mali-DP550 and Mali-DP650. [5]

History

In 1982, NEC released the NEC μPD7220, one of the most widely used video display controllers in 1980s personal computers. It was used in the NEC PC-9801, APC III, IBM PC compatibles, DEC Rainbow, Tulip System-1, and Epson QX-10. [6] Intel licensed the design and called it the 82720 graphics display controller. [7]

Previously, graphic cards were also called graphic adapters, and the chips used on these ISA/EISA cards consisted solely of a display controller, as this was the only functionality required to connect a computer to a display. Later cards included ICs to perform calculations related to 2D rendering in parallel with the CPU; these cards were referred to as graphics accelerator cards. Similarly, ICs for 3D rendering eventually followed. Such cards were available with VLB, PCI, and AGP interfaces; modern cards typically use the PCI Express bus, as they require much greater bandwidth then the ISA bus can deliver.

See also

Related Research Articles

<span class="mw-page-title-main">Motherboard</span> Main printed circuit board used for a computing device

A motherboard is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It holds and allows communication between many of the crucial electronic components of a system, such as the central processing unit (CPU) and memory, and provides connectors for other peripherals. Unlike a backplane, a motherboard usually contains significant sub-systems, such as the central processor, the chipset's input/output and memory controllers, interface connectors, and other components integrated for general use.

<span class="mw-page-title-main">MOS Technology</span> Semiconductor company based in Pennsylvania, U.S.

MOS Technology, Inc. ("MOS" being short for Metal Oxide Semiconductor), later known as CSG (Commodore Semiconductor Group) and GMT Microelectronics, was a semiconductor design and fabrication company based in Audubon, Pennsylvania. It is most famous for its 6502 microprocessor and various designs for Commodore International's range of home computers.

<span class="mw-page-title-main">IBM 8514</span> IBM graphics card and computer display standard

IBM 8514 is a graphics card manufactured by IBM and introduced with the IBM PS/2 line of personal computers in 1987. It supports a display resolution of 1024 × 768 pixels with 256 colors at 43.5 Hz (interlaced), or 640 × 480 at 60 Hz (non-interlaced). 8514 usually refers to the display controller hardware. However, IBM sold the companion CRT monitor which carries the same designation, 8514.

<span class="mw-page-title-main">Commodore 128</span> Home computer released in 1985

The Commodore 128, also known as the C128, C-128, or C= 128, is the last 8-bit home computer that was commercially released by Commodore Business Machines (CBM). Introduced in January 1985 at the CES in Las Vegas, it appeared three years after its predecessor, the Commodore 64, the bestselling computer of the 1980s. Approximately 2.5 million C128s were sold during its four year production run.

<span class="mw-page-title-main">Video Graphics Array</span> Computer display standard and resolution

Video Graphics Array (VGA) is a video display controller and accompanying de facto graphics standard, first introduced with the IBM PS/2 line of computers in 1987, which became ubiquitous in the IBM PC compatible industry within three years. The term can now refer to the computer display standard, the 15-pin D-subminiature VGA connector, or the 640 × 480 resolution characteristic of the VGA hardware.

A blitter is a circuit, sometimes as a coprocessor or a logic block on a microprocessor, dedicated to the rapid movement and modification of data within a computer's memory. A blitter can copy large quantities of data from one memory area to another relatively quickly, and in parallel with the CPU, while freeing up the CPU's more complex capabilities for other operations. A typical use for a blitter is the movement of a bitmap, such as windows and icons in a graphical user interface or images and backgrounds in a 2D video game. The name comes from the bit blit operation of the 1973 Xerox Alto, which stands for bit-block transfer. A blit operation is more than a memory copy, because it can involve data that's not byte aligned, handling transparent pixels, and various ways of combining the source and destination data.

<span class="mw-page-title-main">TI-99/4A</span> Home computer by Texas Instruments

The TI-99/4 and TI-99/4A are home computers released by Texas Instruments in 1979 and 1981, respectively. Based on Texas Instruments's own TMS9900 microprocessor originally used in minicomputers, the TI-99/4 was the first 16-bit home computer. The associated TMS9918 video display controller provides color graphics and sprite support which were only comparable with those of the Atari 400 and 800 released a month later. The TI-99 series also initially competed with the Apple II and TRS-80.

<span class="mw-page-title-main">MOS Technology VIC-II</span> Video microchip in the Commodore 64 and C128 home computers

The VIC-II, specifically known as the MOS Technology 6567/6566/8562/8564, 6569/8565/8566 (PAL), is the microchip tasked with generating Y/C video signals and DRAM refresh signals in the Commodore 64 and Commodore 128 home computers.

<span class="mw-page-title-main">Chips and Technologies</span> Company

Chips and Technologies, Inc. (C&T), was an early fabless semiconductor company founded in Milpitas, California, in December 1984 by Gordon A. Campbell and Dado Banatao.

<span class="mw-page-title-main">TMS9918</span> Video display controller

The TMS9918 is a video display controller (VDC) manufactured by Texas Instruments, in manuals referenced as "Video Display Processor" (VDP) and introduced in 1979. The TMS9918 and its variants were used in the ColecoVision, CreatiVision, Memotech MTX, MSX, NABU Personal Computer, SG-1000/SC-3000, Spectravideo SV-318, SV-328, Sord M5, Tatung Einstein, TI-99/4, Casio PV-2000, Coleco Adam, Hanimex Pencil II, PECOS and Tomy Tutor.

<span class="mw-page-title-main">Motorola 6845</span> Display controller

The Motorola 6845, or MC6845, is a display controller that was widely used in 8-bit computers during the 1980s. Originally intended for designs based on the Motorola 6800 CPU and given a related part number, it was more widely used alongside various other processors, and was most commonly found in machines based on the Zilog Z80 and MOS 6502.

<span class="mw-page-title-main">Atari TT030</span> Personal computer by Atari

The Atari TT030 is a member of the Atari ST family, released in 1990. It was originally intended to be a high-end Unix workstation, but Atari took two years to release a port of Unix SVR4 for the TT, which prevented the TT from ever being seriously considered in its intended market.

<span class="mw-page-title-main">Dual-ported video RAM</span> Dual-ported variant of dynamic RAM

Dual-ported video RAM (VRAM) is a dual-ported variant of dynamic RAM (DRAM), which was once commonly used to store the framebuffer in graphics adapters.

<span class="mw-page-title-main">MOS Technology 8568</span> Graphics processor for the Commodore 128DCR personal computer

The MOS Technology 8568 Video Display Controller (VDC) was the graphics processor responsible for the 80 column or RGBI display on the Commodore 128DCR personal computer.

An MSX-ENGINE chip is a specially developed integrated circuit for home computers that are built according to the MSX specifications. Generally, such a chip combines the functions of many separate, older/simpler chips into one. This is done to reduce required circuit board space, power consumption, and production costs for complete systems.

In addition to the Amiga chipsets, various specially designed chips have been used in Commodore Amiga computers that do not belong to the 'Amiga chipset' in a tight sense.

<span class="mw-page-title-main">Tandy Graphics Adapter</span> Computer display standard for the Tandy 1000 series

Tandy Graphics Adapter is a computer display standard for the Tandy 1000 series of IBM PC compatibles, which has compatibility with the video subsystem of the IBM PCjr but became a standard in its own right.

<span class="mw-page-title-main">Poisk (computer)</span> 1989 Soviet personal computer

Poisk is an IBM-compatible computer built by KPO Electronmash in Kyiv, Ukrainian SSR during the Soviet era. It is based on the K1810VM88 microprocessor, a clone of the Intel 8088. Developed since 1987 and released in 1989, it was the most common IBM-compatible computer in the Soviet Union.

References

  1. M. Rasch, B. Bertelsons (1995). Scott Slaughter (ed.). PC Underground: Unconventional Programming Topics. US: Abacus Software Inc. p. 58-68. ISBN   978-1557552754. "Cathode Ray Tube Controller (CRTC) is responsible for generating the video signal and is programmable. CRTC-Registers bit meaning tables for VGA, EGA, CGA, Hercules, SVGA, Mode X."
  2. "NES NTSC Video". NESdev.org. 2024-06-04.
  3. "NES PAL Video". NESdev.org. 2024-06-24.
  4. https://www.xhpanel.com/info-detail/lcd-controller-boards-everything-you-need-to-know
  5. "Initial support for ARM Mali Display Controller". Linux kernel mailing list. 2016-04-01.
  6. Dampf, Guido (1986). "Graphics with the NEC 7220: Direct access with Turbo Pascal" . Retrieved 27 July 2013. (Translation of "Grafik mit dem 7220 von NEC", mc, 1986, H11, pp. 54-65)
  7. Changon Tsay (January 1, 1986). A graphics system design based on the INTEL 82720 graphics display controller. University of Texas at El Paso. pp. 1–152.{{cite book}}: |work= ignored (help)