Display adapter

Abstract: This adapter is connected between a host processor (2) and a display unit (6) of a computerized tool. It comprises a graphics processor (1) connected between the host processor and a first part (3) of a video memory (4) associated with the display unit and a logic based hardware sub-system (7) connected between said host processor (2) and a second part (8) of said video memory. Means (1a) for deriving displays from the first part and/or the second part of the memory are also provided.

Description: The present invention relates to a display adapter. Display adapters are used to generate intermediate data to be displayed onto the display itself. Adapters may be used in all areas of video displays used in computing applications such as personal computers, workstations, graphic terminals, printers, etc.... More particularly, an adapter is connected for example between a host processor and a display unit of a personal computer or of another computerized tool in order to manage the display unit in accordance with control signals from the host processor. Currently, display systems use either non-processor based display adapters such as VGA (Video Graphics Arrays) which contain only low-level logic functions and registers and require that the host processor application software or operating system environment perform essentially all of the display generation and manipulation of graphics processor based adaptors such as TIGA (Texas Instruments General Architecture) based boards which interface via a highlevel language or command list system. Further details of arrangements of the latter type are to be found in "Texas Instruments Graphics Architecture User's Guide", 1989; "TMS34010 User's Guide", August 1988; and "TIGA340 Interface" all of which one documents currently available to the public from Texas Instruments Incorporated. Reference may also be made to United States Patent 4,752,893. In the display adapter disclosed in this reference, a graphic processor is coupled to a host processor and a display for manipulating a first display image before being stored in a video RAM. The graphic processor combines the image pixel data corresponding to this first image with that corresponding to a second display image permanently stored in a ROM, such that the pixel data corresponding to the second display image replace pixel data of the first display image in selected regions. In the past, and indeed until fairly recently, only the 'dumb' register based display adapters were available. Although some firmware was available to interface these adapters via software calls (the BIOS extensions), it was too slow and cumbersome to be used for advanced high performance applications. This limitation resulted in most application programs accessing directly to the registers and frame buffer of the display hardware. Upon the advent of higher performance hardware, either at the host processor (CPU) level or at the display adapter level it became possible to rethink the standard display interface and higher level display environments such as Microsoft Windows ® started to appear. This was further encouraged by the need for effective multitasking where several application programs need to interface to the user at the same time but with total independence from each other. Unfortunately, to fully take advantage of these display environments application programs had to be written especially for them - or at least an interface 'driver' be generated which performed the link. In addition, the old application was used to having the entire machine, including display adapter all to itself; something which is, of course, not possible in a multitasking environment. Existing application software was therefore a priori incompatible with the new graphics environment trends. Some compromise was offered by emulating the hardware model of the old logic adapter through a combination of software and the existing hardware. This, although providing a small consolation was not entirely satisfactory since the poor performance of such a system, again using Microsoft Windows as an example, limits its use to text mode displays only. The more useful graphics modes are not displayable in a window and the user must revert to full screen single task operation. Any software using EGA (Enhanced Graphics Arrays) or VGA graphics is therefore incompatible with multitasking multi-window systems which require that all display accesses are handled by the host Processor software. If an 'old application' is executed which requires unique control of the display system, then currently the displays from the multi-window manager is suspended and the 'old-application' takes control of the full screen display thereby removing the advantages of a multi-window user environment. An aim of the invention is to overcome these drawbacks. Accordingly, the present invention provides a display adapter for simultaneous execution of both high level display applications designed for multi-window multi-tasking environment and low level display applications expecting to have entire ownership of a display system, said adapter comprising, a graphics processor associated with the high-level application for manipulating data and for providing image data corresponding to a first display image, a logic based hardware sub-system associated with the low-level application for generating image data corresponding to a second display image simultaneously with and independently from operation of the graphics processor, a memory divided into at least a first memory part and a second memory part, the first memory part being arranged for storing image data corresponding to the first display image and/or the second display image, and the second memory part being arranged for storing image data corresponding to the second display image, means connected between the first memory part and the second memory part, the means being capable of transferring image data stored in the second memory part into the first memory part such that image data subsequently stored in the first memory part provides an image for display. A display system including a display adapter in accordance with the present invention may use both a low-level hardware register, based logic sub-system and also a graphics processor. This allows the generation of a multi-window display wherein both high level (GSP for example) and low level (VGA for example) applications can be executed. The invention also permits such applications to be run simultaneously and further permits a merged display of data from such applications. The system operates for example by allowing 'new' applications and display environments to interface, via their special driver routines for example, to the on-board graphics processor. The latter receives high level commands and performs the graphics execution. Because the logic-based hardware subsystem is totally independant of the graphics processor, it is available for use by the 'old' register/logic based applications. By allocating memory in separate parts to firstly the high level graphics processor based tasks and secondly to the low level hardware based tasks both can execute concurrently in the same system and can even have totally different memory uses, display formats, register values, and so on. Forming the eventual display may then be performed by software. This may be executed by a subroutine of the graphics processor, and may, in one example, be a transfer for example a block copy from the low level memory part into some locations of the high level memory part of video memory associated with the display. The display may then be derived from the first memory part only. Alternatively the second or both parts may be used. One advantage of this system appears immediately in that the data transfered can be significantly processed during the transfer allowing many different storage formats and techniques for the 'old' applications, converted to 'real' displayable format by graphics processor software. In the TIGA/VGA example, this is particularly useful to allow conversion from VGA planar organisation to the packed pixel organisation of TIGA. A number of internal registers programmed by the application program are associated with the hardware logic sub-system. All of the register values may also be stored in the common memory to facilitate the switching between 'old' applications by simply switching the local area of memory allocated to each task and allow several image areas in memory to exist at the same time allowing multiple hardware VGA windows on the same display. Base address registers in the VGA sub-system control the area of memory to be used by each task. The multi-tasking operating system would be responsible for maintaining these registers in cooperation with the software running on the associated graphics processor. The advantage of such an arrangement is that existing software can be executed by the user in a multi-window environment without loosing the multi-window display . In addition, several hardware compatible applications can be viewed at the same time without falling back to a full-screen display for each task. Software in the host processor or associated graphics processor can decide how much, if any, of the hardware generated display is copied into the relevant window and where such a window appears on the final display. The data itself can also be manipulated in a variety of ways during the copy from the hardware image zone to the multi-window display zone. Such manipulation would take care of differing plane depths, text size, palettes, etc ... which would otherwise cause incompatibility between the two otherwise independant displays. The hardware based sub-system is not limited to VGA compatibility but can be extended to cover other hardware based display standards such as 8514A, Hercules, and basically any situation which requires the concurrent execution of 'old' application software which expects to have entire ownership of the display system and 'new' applications designed for multitasking environments which do not have as 'exclusive' tastes. The invention will be better understood in view of the drawings : Fig. 1 is a block diagram of an embodiment of a display adapter according to the invention. Fig. 2 is a block diagram of a card comprising an adapter according to the invention. Fig. 3 illustrated the GSP and VGA addressing. Fig. 4 illustrates the functions integrated in a logic based hardware subsystem. Fig. 5 illustrated the logic based hardware subsystem internal architecture. As shown in Fig. 1, a display adapter according to the invention comprises a graphics processor 1 such as a TMS34010 connected between a host processor 2 of a computerized tool and a first part 3 of a video memory 4. More specifically, the graphics processor is associated with at least one software compatible application 5 running on the host processor, and the first part 3 of the video memory 4 is associated with a display unit 6 as for example a muti window display unit. The display adapter according to the invention also comprises a logic based hardware sub-system 7 as for example a VGA hardware sub-system, connected between the host processor 2 and a second part 8 of the video memory 4. More specifically the hardware sub-system 7 is associated with at least one hardware compatible application 9 running on the host processor 2 and the second part 8 of the video memory 4 comprises VGA image and registers. Merging means 1a are provided between the second part 8 and the first part 3 of the memory in order to transfer in the first part, the image data stored in the second part so that combined memory images are stored in this first part of the memory and depicted on the display unit order the control of the graphics processor 1. In one case, these merging means comprises means for copying data from the low level memory part 8 into some location of the high level memory part 3. As explained before this would typically be executed by a subroutine of the graphics processor 1. As explained before also the adaptor then uses a low level hardware logic based sub-system and also a graphics processor for allowing the generation of a multi-window display wherein both high level and low level applications can execute simultaneously. By allocating separate memory parts to the high level graphics processor based tasks and to the low level hardware logic based sub-system, both can execute concurrently in the same overall system. The card shown in Fig. 2 is a next generation, ISA compatible display adapter for personal computers. Based on a hybrid combination of a TMS34010 Graphics System Processor (GSP) and a custom designed hardware support chip it is compatible with existing register based display adapter standards such as Video Graphics Array (VGA) and also software based display standards such as Texas Instruments Graphics Architecture (TIGA). Features IBM XT/AT compatible graphics adapter card TMS34010 graphics system processor based Short AT format 100% Hardware VGA register compatible 100% VGA BIOS compatible VGA pass-through option TIGA graphics manager and communication driver available on board Supports 640 by 480,800 by 600 and 1024 by 768 resolutions. Compatible with all standard IBM PS/2 and multisync monitors Compatible with fixed frequency monitors in VGA and TIGA modes Interlaced and non-interlaced output in 1024 x 768 mode Modular memory design with 1M VRAM and from 512K to 2M DRAM Memory size The basic card comprises 1 Mbyte of VRAM 10 and 512 Kbytes of DRAM 11. This is adequate memory for all display modes up to and including 1024 by 768 in 256 colours. It also provides enough memory for simultaneous operation in both TIGA and VGA modes with distinct frame buffers and also provides working storage and memory space for downloaded extensions to TIGA such as when using MS-Windows. For operational modes which require even greater, amounts of memory, such as X windows, for example, a factory expansion option is available to increase the amount of DRAM to 2 Mbytes. The VRAM size remains 1Mbyte and display resolutions are the same. Hardware description General As explained before the graphics adapter according to the invention is based on the Texas Instruments TMS34010 Graphics System Processor (GSP12). The latter provides all the intelligence and power for high speed advanced graphics manipulation, whilst an associated ASIC device working in conjunction with the GSP provides the registers and hard-wired logic functions necessary to achieve full hardware IBM VGA compatibility. PC bus interface The PC bus interface is compatible with both 8 and 16 bit ISA standard system buses. In addition it will automatically self configure to the relevant 8 or 16 bit mode depending upon the host used. Bus operation is specified within the range 4.77 MHz up to 10 MHz. PC memory and I/O mapping The present invention allows the card to appear to the PC hardware as essentially two independent adapters on the same physical card. This is particularly the case for the address decoding and mapping into PC memory and I/O space as shown in Fig. 3. The card permits the mapping of three essentially independent functions into the host systems memory and I/O space : VGA display adapter registers and frame buffers, VGA BIOS memory and the Graphics Processor interface registers. The locations of the first two of these functions are fixed and compatible with industry standard VGA practice as shown in the table below. VGA standard function I/O address Memory address BIOS firmware routines C000:0000-C000:7FEF Fixed registers 3CO-3CF Monochrome registers 3BO-3BF Colour resgisters 3DO-3DF Monochrome text buffer B000:0000-B000:7FFF Colour text buffer B800:0000-B800:7FFF Colour graphics buffer A000:0000-A000:FFFF Extended graphics buffer A000:0000-B000:FFFF Memory and I/O locations of standard VGA display functions The third function consists of the TMS34010 Graphics System Processor host interface registers used for high level command communication and software interfaces such as TIGA. So as to interfere as little as possible with the standard memory and I/O use of a typical PC this interface can be either memory mapped to an unused part of the VGA BIOS memory space or I/0 mapped to one of two user selectable as shown in the table below. Thus a separate or direct input or output of display data is provided, for example by means of memory mapping as described. GSP host register Memory mapped option I/O mapped option 1 I/0 mapped option 2 HSTDATA msb C000:7FF8 0294 0284 lsb COOO:7FF9 0295 0285 HSTCTL msb COOO:7FFA 0296 0286 lsb C000:7FFB 0297 0287 HSTADRL msb COOO:7FFC 0290 0280 lsb COOO:7FFD 0291 0281 HSTADHR msb COOO:7FFE 0292 0282 lsb COOO:7FFF 0293 0283 Optional GSP host register interface mapping Additionally, the on board BIOS PROMS may be disabled as a user option to allow for circumstances such as the use of the card in a PC which already contains a traditional VGA adapter. This is known as 'pass-through' mode and is described below. For operational modes associated with VGA compatibility the display adapter is accessed in an identical manner to standard VGA practice. BIOS extension A pair of on-board EPROMS's 13 contains the system BIOS exension program for compatible operation. These will permit maximum speed 16 bit operation in applicable machines and will also allow 8 bit operation in machines with this bus size. The EPROM's also contain the GSP support program necessary for full board operation. This is transferred from the BIOS EPROM to GSP RAM by the PC boot procedure. The EPROM's each contain a maximum of 32k bytes. Graphics System Processor (12) The display adapter uses the Texas Instruments TMS34010 Graphics System Processor (GSP) for high performance, flexibility and ease of customisation. This is a 32 specialised graphics microprocessor with high speed RISC type pipelined architecture capable of execution speeds up to 7,5 million instructions per second. The instruction set is both general purpose allowing full development and execution of software written in high level languages such as C, and specialised allowing software efficiency and performance when manipulating graphics data. VGA interface chip (14) The hardware compatibility with VGA standard is obtained through the dedicated VGA interface chip. In will be noted that this device does not contain a fully independent VGA sub-system, but rather, provides those hardware features required for full 100% 'register level' VGA. These features include control registers, real-time logic functions and specific address and data mapping as will be described. In accordance with a feature of the present invention full VGA functionality is provided by the GSP. The VGA interface device also provides the address and data decoding for both the PC host bus and the local memory system bus. VGA Pass-through Option In addition to supplying all the necessary elements for full VGA compatible operation, the card is also capable of operating with another VGA card whilst still needing only one monitor. In this mode, called VGA pass-through mode, the card generates the TIGA compatible display portion and the other VGA card the VGA display portion. The latter is routed from the pure VGA card via a pass-through cable to the feature connector of the card whence it is fed the local palette input and then to the single monitor output. In this mode logic on the card ensures that its local palette contains a copy of the original VGA palette and that the on-board BIOS PROMS and VGA input registers are disabled. Local Memory Local memory is the term used to refer to memory contained on the display adapter which is used by the GSP and/or VGA support device but which is not accessible directly from the PC address and data buses or PC application software. The display adapter is intrinsically modular in terms of memory size. Theoretically any size of memory could be used depending upon the display resolution and number of colours required and the amount of local software. The memory is composed of a mixture of VRAM which is used for display purposes and DRAM which is used for non-display purposes such as program, character generators etcetera. The baseline system contains 1M byte of VRAM and 512K of DRAM. The extended system contains 1M byte of VRAM and 2M bytes of DRAM. Colour Palette (16) The display adapter contains an industry standard VGA compatible palette with a maximum pixel frequency of 65MHz connected at the output of a TI34098 CRT control chip 15. This allows display resolutions up to 1024 by 768 in 256 colours at a frame frequency of 60Hz. The electrical characteristics and drive capability of the monitor ouput are compatible with standard fixed mode and multi-sync type monitors. The colour of the overscan border is controlled through software via programmable on-board registers. The width and height of the border can be programmed independently from each other and other paramaters. The polarity of both the horizontal and vertical synchronisation signals set to the attached monitor can be individually controlled by GSP software. The logical states of pins of the monitor connector can be determined by GSP software in order to allow for automatic monitor type detection where applicable. The pixel output frequency can be selected by GSP software between at least 4 non-harmonically related frequencies which all lie in the range 5-65MHz. In addition, some sub-harmonics of these four frequencies are also available and selectable by GSP software. Under normal circumstances the board will be equipped with frequencies allowing compatibility with standard VGA operating modes and monitors. Due to the unique architecture of the card, the actual display function is entirely independent of the VGA sub-system and is entirely under GSP software control. This gives a very important increase in system flexibility since display output can be customised to individual user needs such as flat pannel displays or even fixed frequency monitors even through several display resolutions are used. Logic based hardware subsystem (14) The logic based hardware subsystem is a single device containing a hardware VGA subsystem designed to operate in conjuction with a TMS34010 Graphics System Processor (GSP). The logic based hardware subsystem allows the system designer to create a single board level system for the PC environment with both high performance graphics compatibility through TIGA and backward hardware compatibility at the VGA register and BIOS levels. The logic based hardware subsystem provides those essential hardware elements of the VGA standard not already provided by the GSP system such as I/O registers and real-time logic functions such as rotate, mask, etcetera. In addition, and most important, because the logic based hardware subsystem is essentially providing autonomous VGA hardware support to the TMS34010, both systems can operate simultaneously and independantly from each other, using either separate or shared memory areas in the common local memory. This enables free mixing of 'hardware' generated VGA displays with 'software' generated displays from another environment such as a windowing environment program running under TIGA. Because the VGA 'window' is hardware generated, no performance trade-off due to emulation need be endured in any mode. Furthermore, because of the logic based hardware subsystem's essential dissociation of PC side accesses to the VGA hardware model and the display of the resultant memory areas, any host machine capable of multi-tasking in virtual address spaces can have multiple active hardware VGA windows on the same physical display at the same time. For optimum integration and with a view to reducing the total number of devices in the final TIGA/VGA system, the logic based hardware subsystem chip also contains the logic interfaces between the PC expansion bus and the GSP and between the GSP and the shared memory system. The functions contained in the logic based hardware subsystem 14 are shown in Figure 4. The block diagram of the internal architecture of the logic based hardware subsystem appears in Figure 5. This logic based hardware subsystem comprises the following elements : a PC bus interface 20 a Sequence controller 21 an Address mapper 22 a Data mapper 23 Internal registers 24 a Display Controller 25 a GSP/LAD bus interface 26 an Arbitration controller 27 a Memory controller 28 The PC bus interface 20 receives as inputs the PC control, address and DATA signals and provides corresponding signals to the sequence controller 21, the address mapper 22 and the DATA mapper 23 respectively. The output of the sequence controller 21 is connected to the input of the display controller 25 whose output is connected to an input of the GSP/LAD interface 26. Another input of this interface 26 is connected to the LAD bus and an output of this interface 26 is connected to an input of the memory controller 28. The output of the address mapper 22 is connected to an input of the internal registers 24 and to an input of the access arbitration controller 27. Another input of this controller 27 is connected to an output of the GSP/LAD BUS interface 26 and an ouput of the arbitration controller is connected to an input of the memory controller 28. The output of the data mapper 23 is connected to another input of the internal registers 24 and to another input of the access arbitration controller 27. Another output of this controller 27 is connected to the memory controller 28. The output of this memory controller 28 is connected to the corresponding second part of the video memory. As explained before this sub-system provides autonomous VGA hardware support to the TMS34010. As explained before this sub-system provides autonomous VGA hardware support to the TMS34010.

Claims: A display adapter comprising: a graphics processor (1) arranged for executing are application for manipulating data and for providing image data corresponding to a display image; a memory (4) divided into at least a first memory part (3) and a second memory part (8), the first memory part (3) being arranged for storing image data corresponding to a first display image and/or a second display image, and the second memory part (8) being arranged for storing image data corresponding to the second display image; means (1a) interacting with the first memory part (3) and the second memory part (8), the means (1a) being capable of transferring image data stored in the second memory part (8) into the first memory part (3) such that image data subsequently stored in the first memory part (3) provides an image for display characterized in that: the display adapter is suitable for simultaneous and independent execution of both high-level display applications designed for multi-window multi-tasking environment and low level display applications expecting to have entire ownership of a display system; the graphics processor is arranged for executing a high level application for providing data corresponding to the first display image; the display adapter further comprises a logic based hardware sub-system (7) arranged for executing the low-level application for generating image data corresponding to a second display image simultaneously with and independently from operation of the graphics processor. The display adapter according to Claim 1, wherein the means (1a) comprises means for merging image data corresponding to the first display image stored in the first memory part (3) and image data corresponding to the second display image stored in the second memory part (8). The display adapter according to Claim 2, wherein the merging means is capable of copying image data corresponding to the second display image from the second memory part (8) into the first memory part (3). The display adapter according to any one of the preceding claims, wherein the logic based hardware sub-system (7) comprises a PC bus interface (20) for receiving as inputs PC control, PC address and PC data signals from a host processor (2). The display adapter according to Claim 4, wherein the logic based hardware sub-system further comprises a sequence controller (21) connected between a corresponding output of the PC bus interface (20) and a display controller (25), a GSP/LAD bus interface (26) connected between the display controller (25) and a corresponding input of a memory controller (28) and to a LAD bus, an address mapper (22) and a data mapper (23) connected between corresponding outputs of the PC bus interface (20) and corresponding inputs of an access arbitration controller (27) also connected at an output of the GSP/LAD bus interface (26) and two outputs of which are connected to corresponding inputs of the memory controller (28), and internal registers (24) connected to the outputs of the address and data mappers (22, 23). The display adapter according to any one of the preceding claims, wherein the memory (4) is a video memory. The display adapter according to any one of the preceding claims further comprising an input for VGA type display data. A display system including a display adapter as claimed in any preceding claims. The display system as claimed in Claim 8, wherein the graphics signal processor (1) is capable of manipulating VGA type data. A computerised tool characterized in that it comprises a display adapter as claimed in any of Claims 1 to 7.

Inventors: GODDARD MARC, TANNYERES LOUIS, GODDARD, MARC, TANNYERES, LOUIS
Applicants: TEXAS INSTRUMENTS FRANCE, TEXAS INSTRUMENTS INC, TEXAS INSTRUMENTS INCORPORATED
Application year: 1991
Main classification: G06F3
IPC codes: G09G5, G06F3