Computer Graphics Hardware

Goto Computer Systems Notes main page

Brian Bramer, 
Faculty of Computing and Engineering Sciences 
De Montfort University, Leicester, UK


Contents

  1. Introduction
    1. Interactive Computing
    2. Graphical presentation of results
    3. Interactive Computing
      1. Interactive Graphics
  2. The CRT (Cathode Ray Tube)
    1. Colour CRT
  3. Television picture generation using raster techniques
    1. Interlaced raster display systems
  4. Graphics screen co-ordinate systems
  5. Important characteristics of graphics displays
  6. The raster graphics display
    1. Colour lookup tables or palettes
    2. The true colour system
    3. Information in the bitmaps
    4. Raster graphics is fairly new
  7. The storage tube display
  8. The random-vector (directed beam) refresh display
    1. The use of a light pen
  9. The connection of VDUs etc, to a host computer
  10. Modern graphics workstations
  11. Appendix A: Display file on a raster display system

References


Newman, W.M. & Sproull, R.F. ‘Principals of interactive Computer Graphics, McGraw Hill, 1979.
Floey, J.D. & Van Dam, A., ‘Fundamentals of Interactive Computer Graphics’, Addison Wesley.
Jankel, A., Creative Computer Graphics’, Cambridge
Daken, J., ‘Computer Images’, Thames & Hundon


1 Introduction

1 .1 Interactive Computing

In the 1960’s and early 1970’s mainframe computers were generally operated in batch mode; programs being submitted on punched cards and the results returned via printer listings. The main problem with this system was that the response time (the time between handing in the cards and receiving the printed output) could be very poor (at best 30 minutes to a few days in many cases). Although this method of operation was suitable for much of the routine commercial data processing and scientific work it was soon realised that there were many applications where some interaction with the user would be very useful if not essential. For example in a design process it may not be possible to program algorithms which have the ability to make all the decisions along the way, either because:
(a) the processing required to make the decisions would take too much time; or
(b) it was impossible to specify, design and write algorithms to make the decisions, e.g. the abilities of a human being was needed in a ‘trial and error’ process.
If such a design process was implemented using a batch system it would require a large number of expensive program runs to get a final design.

The first widespread interactive computing facility was via electromechanical teletypes (a typewriter type device used for the Telex communications system) attached to mainframe computer systems. Although these were very slow (10 or 15 characters per second) they were a great improvement on the batch environment in that users could type in commands to the operating system and run programs. The programs presented intermediate results to the user, who could then make decisions effecting the future action of the program. The operating system operated a time-sharing scheduling algorithm in which each program ran for a short period of time (usually with some prioritisation). If the system was not overloaded or the computation excessive, the users could effectively interact in ‘real time’ with the program.

During the 1970's the mechanical teletypes were replaced with VDU (Visual Display Unit) terminals using a television type screen to display information and a keyboard for input. These were much faster than teletypes (100’s of characters per second) and could be equipped with graphics facilities (see next subsection)
 

1.2 Graphical presentation of results

From the relatively early days of the use of computer systems it was realised that the presentation of results in text and/or numerical form (from printers or interactive teletypes) was unsuitable for many application areas. For example, civil and mechanical engineers using finite element techniques could produce tens of thousands of lines of results. The problems that arose were:
  1. such long listings were very time consuming to examine;
  2. it was very easy to miss important or critical results buried in such vast amounts of information.
The presentation of results in pictorial form was therefore essential and could take many forms:
(a)  graphs, histograms, pie-charts.
(b)  drawings, e.g. electrical circuits, buildings, mechanical components, etc.
(c)  pictures, e.g. textile designs, artists paintings, etc.
(d)  images from TV camera or created by artists or combinations of these.
It has been said a picture is worth a thousand words, i.e. a picture conveys an immediate impression of the overall intormation.

For example:

  1. a sales manager can look at a graph which shows the sales by each salesman throughout the year and gain an impression of trends throughout the year, poor months, poor salesmen, etc. From a table of sales presented as figures this would be difficult, although reference to such tables is required to obtain detail which cannot be read from a graph.

  2.  
  3. A civil engineer can look at a pictorial representation of a bridge under load conditions and identify any problem areas, e.g. deformation, stress and other information would be shown.

1.2.1 Graph Plotters

Even in the days of batch processing graphical presentation of information was available via ‘hard copy’ mechanical graph plotters. The program controlled the movement of a pen moving over a drum or flat surface enabling graphical presentation of results. However, many design activities are interactive and require many attempts with data being modified, programs run and results examined. For such applications interactive graphics facilities were required.
 

1.2.2 Interactive Graphics

During the 1970’s graphics terminals appeared which allowed the user to interact with a program which would then display results in text and/or graphical form. The user would interact with the program, entering instructions and data and viewing intermediate information, until acceptable results were obtained.

The main problem with early interactive graphics was cost. In 1975 such a device could cost anything between $5000 and $50000 (and colour was almost unknown except on very expensive devices). Their use tended to be limited to applications where such devices were cost effective, i.e. design of aircraft, buildings, engines, etc. The reduction in the cost of computer circuits and memories since that time has enabled interactive graphics facilities to be provided even on home computers.


2 The CRT (Cathode Ray Tube)

The majority of current interactive displays make use of some form of CRT (cathode ray tube) a simplified diagram of which is shown in Fig. 1. the electron gun emits a stream of negatively charged electrons which are attracted by a large positive voltage applied to the phosphor coated screen. The electron beam is focused into a narrow beam by the focusing system and deflected to a particular point on the screen by the deflection system. The above diagram shows electrostatic deflection in which negative or positive voltages applied to the four plates repel or attract the beam respectively. When the election beam hits the screen light is emitted:
  1. the intensity of which is a function of the phosphor and the number of electrons over a period of time (varied by controlling the emission rate of the electron gun).
  2. the light emission decay’s over a short period of time (milliseconds to seconds) determined by the type of phosphor (this is called the persistence of the phosphor).
  3. the colour of the light emitted is a function of the type of phosphor.
Thus pictures may be drawn on the screen with light by:
(a) applying suitable signals to the deflection system and
(b) varying the emission rate of the electron gun.
Because the light emission at any point decays rapidly after the beam moves on, the picture must be redrawn continuously to provide a stable image; this process is called refreshing and must be performed at least 40 times per second to provided a flicker free image when using a low persistence phosphor, e.g. as used in a domestic television system.





2.1 Colour CRT

Different phosphors give off different coloured light when excited by an electron beam. Thus by having three electron guns focused on dots of different phosphors (the three primary colours red, green an blue) it is possible to make a colour picture. By mixing the three primary colours it is possibly to obtain any colour including white (red + green + blue). In practice the phosphor dots are so small the eye averages the three primary colours to form a composite colour thus, by varying the intensity of the electron beams from the three guns, enabling any colour combination to be formed and complex colour pictures drawn.


3 Television picture generation using raster techniques

Television systems use a technique in which a picture frame is built by scanning the screen with a raster of horizontal lines as shown in Fig. 2. The electron beam starts at the left hand side of screen and is deflected across to the right at a fixed rate. When it reaches the right hand side it quickly moves back to the left hand side to the start of the next line (called horizontal retrace or flyback; the vertical deflection system having moved one line down the screen). At the end of the last line the beam returns to the top left hand of the screen (vertical retrace) and the process repeated every 1/50 or 1/60 of a second to refresh the image (typically 50 or 60 times per second).

The emission rate of the electron beam is changed as it moves across the screen to vary the intensity of the light displayed at any point. In Fig. 2 - is assumed to be zero light emission and x intensity, i.e. the viewer sees a house. If there are sufficient lines on the screen the eye averages the light across the lines and perceives a continuous image. In a low quality system or standing very close to a large TV set it is possible to see the individual lines. The UK television system uses 625 lines some of which are over the top and bottom edges of the screen.
 

3.1 Interlaced raster display systems

The technique of Fig. 2 in which the raster starts at the top of the screen, drawn to the bottom and repeated continuously is called a non-interlaced raster system. Interlacing is a technique used to reduce the bandwidth or information rate of the system.

Consider a television system of 625 lines refreshed 50 times per second. Assume each line can be considered as 500 points across the screen the information rate is 625*500*50 = 15625000 bits per second or a bandwidth of approximately 15MHz. In an interlaced system this data rate is reduced by half by only drawing each line 25 times per second.

In an interlaced system a picture frame is built by scanning the screen twice. In the first scan the odd numbered lines are displayed and in the second scan the even numbered lines are displayed. For example, Fig 3a and 3b shows how the house in the non-interlaced system of Fig. 2 would be drawn using an interlaced system

Fig. 3a shows the first scan (odd lines drawn in 1/50 or 1/60 of a second);

Fig. 3b shows the second scan would fill in the even lines (next 1/50 or 1/60 of a second) to form the complete frame.

UK television uses a 625 line interlaced system refreshed at 25 frames per second (each odd/even scan taking 1/50 of a second). Interlaced refreshing works by making the following assumptions about 'real life’ television pictures:

  1. that is little difference between the information on adjacent lines hence the eye averages the two scans of each frame and little or no flicker is perceived.
  2. there are few situations where edge boundaries on a picture are exactly horizontal, i.e. along a scan line, and even less where a horizontal line on a picture would be one scan line wide.
In many computer generated images the above assumptions do not apply. A computer is quite capable of drawing a horizontal line one scan line wide (see section below on the Raster Scan Graphics Display). If an interlaced display is used in such situations flicker will then be perceived. i.e. the line will only be redrawn 25 times per second and will flicker. High quality computer graphics systems use non-interlaced displays refreshing at 50 or 60 times per second.

The advantage of using interlaced displays is that the bandwidth is halved over a non-interlaced system; leading to reductions in the complexity and cost of the overall system, ie cheaper CRT tube, deflection circuits, decoding circuits, memory on a computer graphics system, etc.


4 Graphics screen co-ordinate systems


Fig. 4 Coordinate system of a typical display system

A graphics terminal has some co-ordinate system related to its physical size and shape. User programs can address the co-ordinate system drawing lines between points, characters, etc. Fig. 4 shows a terminal with 1000*1000 points which may be addressed with 0,0 in the bottom left hand corner and 999,999 in the top right hand corner (in some cases 0,0 may be at the top left hand corner or in the middle of the screen -  some co-ordinate systems start at 0,0 at 1,1).

Usually a user program will use a graphics package which enables the user to work in his own coordinate system with the graphics package mapping this onto the display co-ordinate system.
 


5 Important characteristics of graphics displays

Persistence of phosphor:  The decay rate of light emission after a point has been excited by the electron beam. Long persistence screens reduce the need to refresh so often and are suitable for the display of slow changing (over seconds) information, e.g. radar screens. Using a long persistence screen for ‘real time’ information display, such as domestic television, leads to smearing of the image.

6 The Raster Scan Graphics Display

This type of graphics display uses the raster scan display techniques described above. The screen is divided up into a matrix of addressable points called pixels (typical matrices are 640*200. 640*400, 256*256, 51 2*512, 1024*1024, etc., depending upon the quality of picture required). With each point on the screen is associated one or more bits in a RAM memory; usually called the bitmap. In a single plane system (one bit/pixel) if a particular bit is set (value 1) the associated pixel on the screen is illuminated, if it is zero the pixel is blank. A vector or character can be represented by a sequence of bits in the bitmap being set on and hence the associated pixels illuminated. Additional memory planes can be used to represent various levels of intensity or colour. Fig. 5 shows a simple shape (an arrow) stored in memory and the resultant display.

Fig. 5 Building up an image using a raster of pixels

In addition to the pixels representing lines and characters, areas or blocks of the screen can be filled in to form TV like images and information can be erased by clearing bits in the memory.

Fig. 6 Three plane raster display system

Fig. 6 shows a diagrammatic representation of a three plane raster display system. A three plane system can be used to represent 8 different colours or intensities, i.e. a three bit number read from the bitmaps can take the values 0 to 7. The number of planes directly effects the number of colours or intensities available, e.g. 8 colours (3 planes), 16 colours (4 planes) 256 colours (8 planes) up to 24 plane systems (16 million colours generated using 8 bits for green, 8 for blue and 8 for red) used to produce images of TV type quality.
 

6.1 Colour lookup tables or palettes

On cheap displays the colours are fixed, e.g. the basic IBM/PC CGA system, while on the more expensive systems they can be modified at run time using a colour lookup table (sometimes called a palette), as shown in Fig. 7.

Fig. 7 Colour lookup table or palette

In Fig. 7 each location in the colour lookup table contains three values defining the intensity (each typically 8 bits allowing 256 levels) of a primary colour (green, red, blue; in this case the lookup table initialised to the primary and secondary colours plus black and white). As each pixel on the screen is addressed the associated value from the 3 memory planes is decoded to select one of the 8 colours from the lookup table, e.g. if the value from the memory planes was 011 binary the colour cyan would be selected. Under program control the contents of a location in the lookup table can be changed, e.g. red changed to brown, and the displayed image changes immediately. This is very powerful in applications such as textile design, where the same design may be used with different colour combinations. Extra memory planes can be added to give more colours or intensity changes.
 

6.2 The true colour system

For high quality TV type work a technique called 'true colour’ is usually used In this technique 24 planes (or more) are used with 8 planes used to store the green value, 8 for blue and 8 for red. No lookup table is used with the encoded values driving the video circuits directly.
 

6.3  Information in the bitmaps

Although there is information in the bitmap memory on the vectors and characters that go to make up the image, there is no simple one to one relationship between user calls to draw and the contents of memory as in the display file of the random-vector refresh display (see below). So if a light pen is pointed at a pixel on the screen, the X and Y co-ordinates can be obtained, but it is a difficult task to determine if the pixel belonged to a vector or character and what segment it was part of. Therefore it is difficult to use picture segmentation techniques on the simple raster scan display described above (Appendix A describes a software based technique).
 

6.4 Raster graphics is fairly new

Domestic and commercial high quality television systems have been around for thirty or forty years (colour for twenty or thirty). However, until the early 1980’s the computer graphics display market was dominated by random-vector storage tubes and refresh displays (see below). The reason for this was memory costs.

Consider a black and white raster display with 1024*1024 addressable points, i.e. similar in quality to low cost storage tube and refresh displays. The memory requirement to store the bitmap would be 1024*1024/8 = 131072 bytes of RAM. In the mid 1970’s this would have cost between $30K and $50K, meaning a typical graphics system  to cost in the order of $100K, far more than the equivalent storage tube $4000 and refresh display ($20K). Raster displays were used however in applications which needed TV type images, i.e. with area shading, etc., and where cost was not an important factor.
Today 1Mbyte of RAM can cost as little as $100 and raster displays are the norm being available even on cheap home microcomputers.


7 The Storage Tube Display

During the 1970’s and early 1980’s this type of random-vector display was probably the most widely used in industry, research and education for graphics applications. It was cheap ($4000 in 1980), simple to use and easy to program. The storage tube behaves like a normal CRT with an extremely long-persistence phosphor. Information written onto the screen remains visible for up to an hour without the need to refresh. This ability to store the data requires a special type of CRT but simplifies the external circuits because there is no need to refresh the picture. The main drawback with this display is that there is no means of selective erasure of parts of the drawn picture. If parts of the picture are to be changed, the screen has to be cleared and the image redrawn. Some of the storage tubes displays have the ability to refresh a small amount of picture so this can be used for parts that are to be changed, whereas the permanent part of the picture is stored.

The input devices of this display are keyboard and thumbwheel cursor as standard with various options including tablets.

Advantages

(i) cheap
(ii) simple to use
(iii) large amount of software available for it
(iv) flat screen
(v) good resolution.
Disadvantages
(i) no selective erasure
(ii) single intensity
(iii) no colour.
Advantage (v), good resolution, was of major importance. The basic storage tube display was the Tektronix 4010 with a 10 inch screen having 1024*1024 addressable points. The higher quality Tektronix 4014 used a 14 inch tube having 4096*4096 addressable points. The resolution of the 4014 was excellent and this was used extensively where pictures containing fine detail were required, eg. chemical plant layout.


8 The random-vector (directed beam) refresh display.

Fig. 8 shows an outline drawing of a typical random-vector refresh display. The control processor accepts commands from the host computer and encodes these into a suitable form into a display file in memory. The display processor unit (DPU) is a special type of processor which instead of carrying out instructions to add, subtract, AND, etc., as in a normal processor, carries out instructions to draw vectors, characters, etc. on the screen of the display. The instructions for the DPU are placed in the display file which is then read by the DPU and the commands obeyed. The display screen is a normal CRT so the display processor unit has to go through the display file regularly (once every 1/50 of a second) to refresh the picture on the screen. Fig. 9 shows a typical GINO-F program and the resultant display file.

Fig. 8 Diagram of a random-vector refresh display

Fig. 9 Display file of a typical refresh display

The control processor can access the display file at any time allowing the user program to issue commands to modify segment attributes. The control processor would then modify that part of the display file which contains the segment. For example:

(a) segment on/off.  To switch off a segment the control processor places a JUMP instruction in the header of the segment, so the next time the DPU comes to refresh the segment it will jump to the start of the next and the switched ott segment will disappear from the screen. To switch back on, the JUMP is removed and the segment reappears on the next refresh.

(b) segment delete. A JUMP is again placed in the segment header but an addition bit would be set to indicate a deleted segment, i.e. so it cannot be switched on again. After a time there will be many deleted segments in the display file and the file will be shuffled to remove them and clear space at the end for new segments.

(c) PICBEG open a new segment. This will check to see if a segment of the same number exists and if so will delete it. The Header of this new segment is then entered in the display file.

(d) PICEND. Close segment.

(e) PICINT change segment intensity. The attributes word in the segment header setting up the intensity is changed.

(f) PICSEN make pen sensitive or insensitive. The attributes word in the header that indicates if this segment is pen sensitive is changed.

Thus by modifying various attributes words in the segment header it is possible to modify dynamically the attributes of a segment. On the next refresh the change will appear on the screen.
The techniques used to update the display file vary from display to display:  Some require the DPU to be halted while making updates (this time is very small so the user does not notice it) while others wait for the end of the current refresh before making changes. In the display there is normally a clock which interrupts the control processor every 1/50 or 1/60 of a second to indicate that refresh should start again. If the picture cannot be drawn in a 1/50 of a second the refresh rate then drops to 25 times per second leading to flicker.
 
 

8.1 The use of a Light Pen on a random-vector refresh Display.

The light pen is a device which is sensitive to the light given off by the screen of the display. The DPU goes through the display file executing instructions to draw vectors or characters. It the light pen was pointed at a particular vector or character on the screen a signal would be sent back to the control processor causing an interrupt (this signal also halts the DPU). Thus the program counter (memory pointer) of the DPU will be pointing to the memory location after the instruction to draw the vector or character seen by the light pen. The control processor can read the value of the program counter of the DPU and by examining the display file at that point, work out what segment the vector or character belonged to. This segment number would then be passed back to the user program for contro purposes. For example a menu could be displayed on the screen so:

HALT
PLOT
EXECUTE
ENTER VALUES

each item in the menu would be in a different segment, i.e. HALT in segment 1, PLOT in 2, etc. The user when selecting a menu item points the light pen at the appropriate item, e.g. PLOT, and the segment number associated with it is passed back to the program (number 2). The program from the value of the segment decides what to do, i.e. plot a picture. Thus the light pen is a very powerful tool for identifying parts of a picture drawn on the screen. All the user has to do is point the pen at the item required and the program identifies it from the segment number. In practice a light pen can be very tiring on the arm, in particular when using a very large screen.
In the segment header is a word indicating if it is pen sensitive or insensitive. If the segment is insensitive the light pen is disabled by the hardware while it is drawn and it cannot be ‘seen’. This enables the user to make pensensitive (using PICSEN under GINO-F) only those segments the program needs to see at any time.

Advantages of the directed beam refresh display
(i) very powerful facilities with fancy input such as the light pen
Disadvantages
(i) very expensive (in 1976 cheapest $15000 rising to $250000)
(ii) difficult to program, requires assembler code programmers


9 Connection of VDU’s and early graphics terminals to a host computer.

The terminal is usually connected to its host computer system via an asynchronous serial communication line (can sometime be synchronous or parallel) as shown in Fig. 10.

Fig. 10 Connection of a VDU or displays terminal to a host computer

In Fig. 10 the host computer controls the SlO (Serial I/O) interface or MUX (Multiplexer) encoding commands to control the display or draw into characters. The data to be passed to the display is encoded into ASCII characters because this enables devices to be linked into the normal time sharing I/O system of the computer. As far as the host computer is concerned the display is just another terminal connected to it and running jobs. The line speed used depends upon the capability of the host computer and the performance (drawing speed) required by the user. This can vary from 300 baud (30 characters/second) over telephone lines to 9.6 Kbaud (9600 characters/second) over local lines. As it can take four or five characters to represent a vector the vector drawing speed is directly related to the line speed.

The control circuits of the display can vary from the simple fixed logic circuits of the VDU and other simple interactive devices up to microprocessor circuits used in the advanced graphics displays with many facilities. The advantage of the microprocessor control circuits is that the control program can easily be changed to add new facilities i.e. extra input devices, special characters or symbols, etc.

Input devices would consist of a keyboard as standard plus cursor (cross hairs), light pen, tablet, tracker ball, joystick, etc., depending upon the facilities required by the user.
 
 

10 Modern graphics workstations

Early graphical terminals had very little computing power of their own and required a host computer to perform the calculations. The terminal would be linked to the host via a communications channel. This varies from a simple serial line when using a medium cost system, up to a high speed parallel system when using expensive displays. As computer hardware costs fell, more and more power was moved into the terminal. With the advent of microprocessors the graphical display terminals could become stand-alone systems.

Today, low cost home computers have a simple colour graphics facility. In engineering applications personal workstations with the power of a large microcomputer or small minicomputer and with high quality graphics are becoming the norm. The workstations are generally connected in a network to allow access to shared databases, plotters and centralised mainframes for number crunching applications.


Appendix A: Implementing a display file on a raster scan display

One technique is to implement a display file in the host computer is shown in Fig. A.1.

Fig. A.1 Implementing a display file on a host computer for a raster display

Commands to draw vectors and characters are sent to the display and a copy entered into the display file in a format similar to that of a random-vector refresh display. Picture segment information can also be entered into the display file. A command to change segment attributes is not sent to the raster display as it has no facilities to carry it out. Instead, the graphics software looks up the segment in the display tile and then sends a modified copy to the display.

For example, to change the position of a segment (GINO-F command PICTO) the segment is found in the display tile. The display is switched into erase mode and the segment redrawn so it disappears from the screen. Its position is updated in the display file, the display switched into normal mode and the segment then redrawn at the new position on the screen. Although this enables the powerful techniques of the refresh display to be implemented on the much cheaper raster scan display the whole display needs to redrawn occasionally as wholes are left in the image where picture segments are been erased.