EP0481534B1 - Système vidéo - Google Patents
Système vidéo Download PDFInfo
- Publication number
- EP0481534B1 EP0481534B1 EP91121915A EP91121915A EP0481534B1 EP 0481534 B1 EP0481534 B1 EP 0481534B1 EP 91121915 A EP91121915 A EP 91121915A EP 91121915 A EP91121915 A EP 91121915A EP 0481534 B1 EP0481534 B1 EP 0481534B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- address
- register
- memory
- position code
- raster position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/001—Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/005—Adapting incoming signals to the display format of the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/391—Resolution modifying circuits, e.g. variable screen formats
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
- G09G5/397—Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/06—Details of flat display driving waveforms
- G09G2310/061—Details of flat display driving waveforms for resetting or blanking
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/126—The frame memory having additional data ports, not inclusive of standard details of the output serial port of a VRAM
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/128—Frame memory using a Synchronous Dynamic RAM [SDRAM]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/18—Use of a frame buffer in a display terminal, inclusive of the display panel
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/399—Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
Definitions
- This invention relates to electronic computer systems and the like, and more particularly relates to improved methods and apparatus for achieving a video display having high resolution.
- each pixel used to form the image is illuminated by a separate output data signal from the processing section of the computer, and that an increase in resolution requires a screen having a greater number of pixels. More particularly, since each video data signal must also be stored before being transferred to the video screen, an increase in image resolution also requires that the data storage section have a corresponding increase in the number of memory cells for receiving and holding all of these data signals.
- a computer system with a plurality of memories is disclosed in United States Patent document 4,286,320 also assigned to the applicants.
- Each memory of the computer system has an address counter for automatically incrementing to the next sequential address following a memory readout.
- a page select signal enables each memory readout only when the page designation portion of the address matches an identifier associated to the memory (each memory has a unique identifier).
- each memory unit is a standard design, all the memory cells of the memory unit are unloaded to generate the display image, although to enable the system to operate with a variety of displays there will be more memory cells than are necessary to reproduce the image on the display. Consequently, there will be an inherent delay as the redundant cells are unloaded.
- the invention provides a video system comprising: a data processor for manipulating image pixel data corresponding to a video image in accordance with program instructions, the data processor being connected to a data bus, a first address bus and a control bus for transmitting control signals including an XY memory access signal;
- the video memory is preferably a multiport dynamic random access memory organized in a plurality of colour planes,
- the video system controller performs automatic refresh of this dynamic random access memory.
- the video system controller may include a row address latch and a column address latch.
- FIG. 1 there is a block diagram of an embodiment of the video system controller according to the invention.
- the blocks that are shown in Figure 1 include a microprocessor 1, a video system controller 3, a display memory 5 such as that disclosed in U.S. Application 567,040 (US-A-4 639 890) assigned to assignee of the present invention.
- the Output of the display memory 5 is connected to a shift register 7 which shifts data to an optional digital to analog converter 9 for application to an appropriate monitor or television display 11 or other output or input device via bidirectional data bus 9A.
- a system dynamic RAM 19 is provided for the storage of data and/or instructions for processing by a microprocessor 1.
- the microprocessor 1 contains data inputs from terminal 15 and applies the data to a bi-directional bus 17 which connects the microprocessor 1 to the video system controller 3, the display memory 5 and the system dynamic RAM 19. Additionally, the microprocessor provides address information to the video system controller 3 and to a second terminal 15A which in conjunction with terminal 15 are connected to a port device such as a keyboard, as well as other peripheral devices which may be utilized by the system. The microprocessor 1 provides address information to the video system controller 3 via an address bus 21. The handling of the interface between the microprocessor 1 and video system controller 3 is provided by the bi-directional bus 23 over which the control signals are transferred between the microprocessor 1 and the video system controller 3.
- the output of the video system controller 3 is applied in the form of address information and control signals to the display memory 5 and system dynamic RAM 19 via address bus 25.
- the control of the transfer of data to and from the display memory 5 and the system dynamic RAM 19 is provided from the video system controller 3 via the control bus 27. Additionally, a sync and blanking signal is provided to the CRT monitor 11 via sync line 29.
- the microprocessor 1 executes the program instructions that are provided to it either by the data bus 17 or stored within its own internal memories. In response to these program instructions, control signals and data in the form of commands are passed to the video system controller 3.
- the video system controller 3 performs four basic functions.
- the display memory 5 includes a bit map RAM unit or chip having sufficient cells to accomodate any screen display intended for the CRT monitor 11 and further includes a serial shift register that has a plurality of taps at locations corresponding to different preselected columns of cells in the display memory 5. Additionally, provisions are included for selecting taps to unload only a portion of the shift register containing the bits of interest, whereby unused portions of the shift may be effectively excluded and the time for transferring of data of interest to the CRT monitor 11 is reduced.
- the optional high speed shift register 7 is interfaced to the internal shift register ports of the display memories 5 via conductors 31, and shifts the data to an optional digital to analog video signal converter 9 or other output devices and input devices.
- the CRT monitor 11 displays the information that is provided to it from the microprocessor 1 via the data bus 17 under the control of the video system controller 3 which handles the transfer of data from the display memory 5 to the CRT monitor via the optional shift
- FIG. 2 is a functional block diagram of the video system controller 3 of Figure 1 in which a multiplexer 49 accepts addresses from the microprocessor 1 via address bus 21 as well as from a refresh address counter 45 which is used to refresh the memory cells of the display memory 5, from an X-Y address register 43 and the shift register address from the control and video internal register 39.
- the addresses are converted to a 9 bit row in column address required for the display memory 5 and/or the system DRAM 19.
- the address that is provided by the microprocessor 1 is divided into two groups, RA0-RA8 are the row address bits which are applied to a row address latch 47 via data bus 21R and the CA0-CA8 address bits which are the column address bits which apply to the column address latch 41 via data bus 21C.
- An arbitor-ready logic 37 determines the source of the addresses that is applied by a multiplexer 49 and data bus 25 to the display memory 5 as well as providing a ready/hold signal to the microprocessor 1 as a portion of the control signals carried via data bus 23.
- the control signals used to control the multiplexer 49 and the subsequent multiplexing of the row column addresses as they are outputted on the data bus 25 in the form of MA0-MA8, which stands for memory address is generated by a memory cycle controller 35.
- the row and column address inputs from the microprocessor 1 are stored in a row address latch 47 and a column address latch 41 respectively by the falling edge of the control signal "ALE" prior to being multiplexed to the display memory 5.
- Both the X-Y registers 43 and the control and video register 39 are programmable registers which are directly accessible by the microprocessor 1.
- Data bus 17 in the embodiment of Figure 2 is only 8 bits wide, each register of the X-Y address register 43 and the control and video register 39 is 16 bits wide. Consequently, the microprocessor 1 accesses the high and low bits of the registers in separate cycles.
- the bit value inputted on column address bit line that is a part of address bus 21C determines whether the high or low byte of the register is addressed.
- An access of an internal register is enabled by setting the appropriate function code select which is designated by the function select lines FS0 - FS2 at the start of the cycle. Selection of one of the registers, which in the embodiment of Figure 2 total up to 18, is determined by the 5 bit code input on data lines CA6 through CA2 which are a portion of address bus 21C during the access by the microprocessor 1.
- the value input on CA1 selects the high or low bytes of the register.
- the state of the read and write line, R/W- input which must be valid prior to and during the time the column address enable low byte, CEL, which is a control line that is present on data bus 23 goes low, which determines whether the register access is a read or a write.
- the control and video registers include video timing registers, display update registers, and control registers.
- the video timing registers are programmed to generate the horizontal and vertical sync and blanking signals needed to control the CRT monitor 11 of Figure 1.
- the values loaded into these registers are customized to fit the particular display resolution and timing requirements of the CRT monitor 11. Both interlaced and non-interlaced scan modes are available.
- the video system controller can be programmed to lock up to externally generated sync signal, an application in which the graphic image generated within the display memory 5 is to be superimposed upon an external video signal.
- the display update registers are required because the video system controller 3 generates the display update cycles necessary to periodically refresh the video display.
- the display update registers maintain the row and tap point address output to the display memory 5 during each display update cycle.
- the display update cycle is a special type of display memory 5 access which transfers 256 bits of data between the memory cell array and the shift register within each display memory 5 in the memory system. In graphics application, the display update cycle takes place during horizontal blanking to load the shift register with a new load of data from the memory cell array.
- the contents of the shift registers within the display memory 5 are clocked from the serial out pads and displayed on the CRT monitor 11.
- the video system controller 3 can be programmed to transfer data in the opposite direction, i.e., from the shift register to the memory cell array, all of which are contained within the display memory 5. This mode of operation is convenient for capturing video images that are generated externally and then clocked into the shift register through the serial input during the preceding active horizontal scan.
- the display control registers contain a starting display address corresponding to the location within the display memory 5 that is displayed at the upper left of the screen.
- the amount by which the display address is incremented between display update cycles is also programmable.
- These programmable features include (1) specifying the number of scan lines between successive display update cycles; (2) specifying the direction (read or write) of data transfer; (3) specifying the horizontal sync, Hsync, and vertical sync, Vsync, lines to be either inputs or outputs; and the selection of either interlaced or non-interlaced video. These features are controlled by means of the values loaded into the control registers and the video timing registers.
- control registers which control the specification of a number of programmable features, including the various modes of operation supported by the video system controller 3 that have already been mentioned.
- Each active register can be both read or written too by the microprocessor 1.
- the status register which can be read but not written to.
- a status register contain three active bits. One of these bits indicates when a particular horizontal scan on the screen has been displayed. The other two status bits indicate error conditions. One bit indicates when a pending request for a DRAM refresh cycle has been locked out for too long, and the other bit indicates when a pending request for a display update cycle has been blocked for too long. When enabled, these status conditions cause interrupt requests to be sent to the microprocessor 1.
- the X-Y address register 43 maintains the X-Y addresses that represent the concatenation of the X and Y coordinates of a location on the graphics screen that is being displayed by the display monitor 5.
- the video system controller 3 can be configured to provide an internal 20 bit X-Y address in place of the address provided by the microprocessor 1. This feature is useful in extending the address reach of certain processors. Even when the microprocessor 1 has sufficient address reach to directly access any pixel on the screen, the hardware updating of the X-Y address between accesses is likely to be more efficient than the same functions performed in the microprocessor 1's software.
- the X-Y portion of the address can be independently incremented, decremented, or cleared, under control of the inputs CA4-CA1 supplied by the microprocessor 1 during each X-Y address register 43 access.
- the incrementing takes place following completion of the access in preparation for the transfer of the next X-Y address to the X-Y address register 43.
- the video system controller's X-Y addressing feature permits internal algorithms such as line drawings or custom character drawing routines to access a series of adjacent pixels on the screen at hardware assisted speeds.
- An arbitor 37 is responsible for generating requests for memory and register access cycles. When more than one request is outstanding, the arbitor is responsible for deciding which request is to be generated next based upon the relative priorities of the completed requests. Since the display update and the DRAM refresh cycles are generated internally by the video system controller 3 typically utilize fewer than 2% of the available memory cycles, the arbitor is likely to grant a request from the microprocessor 1 for a memory register access immediately. However, when a display memory 5 refresh request has been outstanding for sometime, its priority is increased to insure that the refresh cycle occurs before memory data is lost. The arbitor holds the microprocessor 1 in check by means of the RDY/HOLD- signal.
- a memory cycle generator 35 is responsible for performing the memory cycles assigned to it by the arbiter/ready logic 37.
- the memory cycle generator controls the multiplexer 49 and generates the timing for control signals and addresses during a memory cycle.
- the memory cycle generator 35 can perform microprocessor-direct memory access, X-Y addressing, display update, refresh of the display memory 5 and the system dynamic random access memory (DRAM) 19, shift register read and shift register write cycle.
- DRAM system dynamic random access memory
- the video system control can perform refresh cycles to the display memory 5 and system DRAM 19 at regular intervals.
- the refresh address counter 45 generates a 9 bit row address output during a refresh cycle. Contained within the refresh address counter 45 determines the number of refresh cycles per horizontal scan line. Timing for this transfer is illustratesd in Figure 38.
- a refresh address register within the refresh address counter 45 is inaccessible to the microprocessor 1, maintains the current row address and is incremented following each memory refresh cycle.
- the enabling of refresh cycles and the frequency of refresh cycles are determined by three control register bits within the control register 39C.
- the CRT controller 57 also contains a 4 bit scan line counter which is used to count the number of active horizontal scan lines output to the CRT monitor 11 between successive display update cycles. Any number of scan lines from 1 to 16 can be specified. For example, in a system in which each display update cycle transfers enough data to do the video shift register within the display memory 5 for two complete scan lines, a display update cycle is required only at the beginning of every other scan line.
- Figure 38 depicts four successive scan lines on the CRT monitor 11 and will be used to reference the locations at which various video system controller 3 activities ocur.
- LIne segments 901A through 901D represent the active portion of each horizontal scan line.
- Intervals 902A through 902D represent the blanked portion of each horizontal scan line.
- the microprocessor 1 may request a memory access at any time and the video system controller 3 will grant the access and perform the memory cycle based on arbitration logic within the VSC. Two types of cycles are produced by the VSC at particular times during the raster.
- the video system controller 3 performs a display update cycle also known as a shift register reload cycle.
- intervals 901A-D represents the end of the horizontal blanking interval.
- the video system controller begins performing refresh cycles to all memories of the system. Up until point 903A-D on each scan line, microprocessor 1 requested memory access cycles are granted with priority over internally requested refresh cycles. Half way through the active scan line, denoted by 903A-D, refresh cycles are given priority over microprocessor requested cycles. Display update cycles are always given priority over microprocessor requested cycles.
- FIG. 3 to which reference should now be made is a wiring diagram of circuit blocks used to implement the functional blocks of Figure 2 on a single metal oxide silicon chip with field effort transistors.
- System 53 contains the memory cycle generator 35, registers 39A which are a portion of the control and video internal registers 39 of Figure 2, the multiplexer 49, the refresh counter 45, and the arbiter/ready logic 37.
- Video block 57 completes the functions of the CRT controller 51 as well as the video internal registers 39C.
- the X-Y logic block 43 corresponds to the X-Y registers 43 of Figure 2.
- the FS decode logic 63 contains not only the row and column address latches 41 and 47, but also the function select decode logic which decodes the function select input signals FS (2-0).
- the CA-decode logic 55 which is a portion fo the control and video internal registers 39 of Figure 2, contains the decode circuits associatesd with the column address latch 41.
- control registers are contained within the control reg block 39C of Figure 3 and input pins 59 and data status 61 contain input logic for receipt of data from the microprocessor 1 of Figure 2 and to provide the status to the microprocessor 1 of Figure 1 as well as providing the control signals necessary to implement the bidirectional transfer of data between the microprocessor 1 and the display memory 5 and system DRAM 19.
- Table 1 provides a definition for the pneumonics used in Figure 3 to describe the different signals that are illustrated on the figure.
- CA8-CA0 In Column Address 8 to 0 (9 input lines) These 9 address inputs are multiplexed to memory address lines MA8-MA0 during column address time when a microprocessor 1 initiated memory access cycle is performed.
- a register is selected by the code input on CA6-CA2, and the upper or lower byte of the register is selected by the value input on CA1.
- the value input on CA4-CA1 determines the manner in which the X-Y address stored within the X-Y register is incremented or decremented following completion of the cycle. These inputs are latched by the falling edge of ALE.
- CA0 is the LSB.
- RS1, RS0 In RAS Select 1 and 0 During microprocessor 1 direct cycles and shift-register-transfer cycles, these two lines determine which of the four row address strobes, RAS3- to RAS0-, is driven active-low. RS1-RS0 are latched by the falling edge of ALE. If extended-row address select mode is enable, these inputs are ignored. CEH- In Column Address Enable High Byte This signal enables the activation of CASHI- during an initiated memory cycle by the microprocessor 1. CEL- In Column Address Enable Low Byte This signal enables the activation of CALS0- during a microprocessor 1 initiated memory access cycle.
- CEL- is also used to strobe data into the internal registers during register write cycles and to enableregister data onto D7-D0 during register read cycles.
- ALE In Address Latch Enable The high-to-low transition of ALE latches the CS-, RAS0-RAS8, CAS0-CAS8, RS1-RS0, and FS2-FS0 inputs, and is interpreted by the Video Display Controller 3 as a command from the host processor to initiate the cycle specified by the values latched at these inputs.
- ALE is required to be synchronous to SYSCLK, and must meet setup and hold times specified with regard to each low-to-high SYSCLK transition.
- R/W- In Read, Not Write
- R/W- indicates the direction of the data transfer (high for read, low for write), and determines the state of the W- signal output from the Video System Controller 3 to the memory.
- the microprocessor 1 initiated memory cycle can be a read, write, early write, or read-modify-write cycle.
- R/W- indicates whether the data is transferred to or from the register. At the beginning of the register access cycle, R/W- is required to be valid prior to the high-to-low transition on the CEL- input.
- the interrupt request output is driven active-low to indicate that an interrupt condition previously enabled by the microprocessor 1 has occurred. INT- will remain active until the microprocessor 1 initiates a read of the Status Register.
- the Video System Controller 3 can be programmed to generate an interrupt at the start of a particular scan line in each vertical field, and also when a refresh or display-update error has occurred.
- D7-D0 I/0 Data Bus Lines 7 to 0
- the microprocessor 1 accesses the registers internal to the Video System Controller 3 through this 8-bit bidirectional data bus.
- D0 is the LSB. Each of the 18 16-bit registers within the VSC that are accessible one byte at a time via D7-D0.
- the microprocessor 1 must be accessed one byte at a time via D7-D0.
- the microprocessor 1 accessed the memory through a separate data path external 1 to the Video System Controller 3, whose width is determined by the width of the microprocessor 1's data bus.
- RDY/HOLD- Out Ready or Hold The operation and timing of the RDY/HOLD- output are configured by means of several control bits contained in Control Register 39, and also by the state of the HOLDACK- input at the end of reset. With the Video System Controller 3 configured in ready or wait mode, the RDY/HOLD- line remains in high impedance until the microprocessor 1 requests a memory cycle. In hold/hold acknowledge mode, the RDY/HOLD- line is always driven.
- HOLDACK- In Hold Acknowledge When the Video System Controller 3 is configured in hold/hold acknowledge mode, the HOLDACK- input is driven active-low by the microprocessor 1 to acknowledge a hold requests from the Video System Controller 3. While in this mode, the Video System Controller 3 can perform an internally-requested cycle (display update or refresh) only upon receipt of a hold acknowledgment from the microprocessor 1.
- a second use of the HOLDACK- line is to configure active level of the VSC's RDY/HOLD-line at system power-up. The level input on the HOLDACK- line just prior to the end of reset determines whether the RDY/HOLD- output is initially configured as active-high or active-low.
- CS- In Chip Select This input operates as a master chip select. Before any microprocessor 1-initiated access involving the Video System Controller 3 can begin, CS- must be active-low.
- FS2-FS0 In Function Selects 2 to 0
- the three-bit function-select code input on FS2-FS0 indicates the type of cycle requested by the microprocessor 1. All cycles initiated by the microprocessor 1 begin on the high-to-low transition of ALE.
- SYSCLK In System Clock SYSCLK is the system input clock, which is used to generate the timing of signals output to the memory, and the timing of the INT- and RDY/HOLD- signals output to the microprocessor 1. Additionally, all microprocessor 1 interface signals input to the Video System Controller 3 must be synchronous to SYSCLK.
- RESET- In Reset The RESET- input is driven active-low to place the Video System Controller 3 in a known initial state. While RESET- is low, the internal registers are forced to their default values, and all display memory 5 control outputs are forced to their inactive levels. RESET- should be driven low when power is first applied, and remain low for at least 1 msec. After RESET- is brought inactive-high, the microprocessor 1 accesses neither the Video System Controller 3 nor the memory it controls for another 1 msec. This time is required to allow the Video System Controller 3 to perform at least 8 RAS-only refresh cycles, thus bringing the display memory 5 it's current initial state.
- the registers internal to the Video System Controller 3 should be loaded with the values appropriate to the application.
- MA8-MA0 Out Memory Address 8 to 0 The 9 memory address outputs are multiplexed address lines designed to interface directly to display memory 5, as well as to conventional DRAMs.
- the Video System Controller 3 multiplexes 9 bits of row address and 9 bits of column address over these lines.
- the display memory 5 is 256K DRAMs that require 9 bits of row and column address interface to all 9 memory address outputs, while 64K DRAMs requiring only 9 bits of row and column address are connected to MA7-MA0.
- MA0 is the LSB.
- RAS3- T0 RAS0 Out Row Address Strobe 3 to 0 These active-low outputs are designed to directly drive the RAS- inputs on both conventional memory 13 and the display memory 5.
- the default mode of operation is that the four row-address-strobe outputs, RAS3- to RAS0-, are controlled by the RS1 and RS0 inputs.
- the two-bit code input on RS1-RS0 determines which of the four RAS outputs is driven active-low during the cycle.
- the Video System Controller 3 can be configured to use two control register bits in place of the RS1-RS0 to determine which of the four RAS outputs is active during a microprocessor 1-direct cycle. During a DRAM-refresh cycle all four RAS- outputs are always driven active-low. During a display-update cycle, the default mode of operation is that all four RAS- outputs are driven active-low. Alternately, the Video System Controller 3 can be configured to drive only one of the four RAS outputs low during a display-update cycle. CASHI- Out Column Address Strobe, High Byte This active-low output is designed to directly drive the CAS- inputs on both conventional memory 13 and the display memory 5.
- CALS0- typically is used to enable the low byte (8 LSBs) of the memory data bus.
- CASL0- is driven active-low during internally-requested display-update cycles, and remains inactive-high during DRAM-refresh cycles.
- W- Out Write Control This signal is intended to drive the W- inputs on both conventional DRAMs and TMS4161 multiport DRAMs. W- is driven active-low during write cycles requested by the host processor. During internally-initiated display-update cycles, W- is driven active-low if a write is indicated by control bit B6 in Control Register 39C. TR-/QE- Out Shift Register Transfer and Output Enable The TR-/QE- output can directly drive the TR-/QE- inputs on the display memory 5.
- BLANK- Out Video Blanking The BLANK- output is used to control the blanking input on a CRT monitor 11. BLANK- is driven active-low during both horizontal blanking and vertical blanking intervals. This output is TTL-compatible. The entire screen is blanked immediately following reset, and the active portions of the screen are unblanked only after control bit B13 in Control Register 39C is set. HSYNC- I/0 Horizontal Sync Except when external sync mode is enabled, HSYNC-operates as an output, generating the horizontal sync pulses used to control a CRT monitor 11.
- HSYNC- is driven active-low during horizontal sync intervals, the timing of which is determined by the values programmed into the Video System Controller 3's horizontal timing registers.
- HSYNC- In external sync mode, HSYNC- is an input rather than an output, and a high-to-low transition on HSYNC- forces the Horizontal Counter Register to zero.
- This bidirectional pin is TTL-compatible.
- VSYNC- I/0 Vertical Sync Except when external sync mode is enabled, VSYNC- operates as output, generating the vertical sync pulses used to control a CRT monitor.
- VSYNC- is driven active-low during vertical sync internals, the timing of which is determined by the values programmed into the Video System Controller 3's vertical timing registers.In external sync mode, VSYNC- is an input rather than an output, and a high-to-low transition on VSYNC- forces the Vertical Counter Register to zero.
- This bidirectional pin is TTL-compatible.
- VIDCLK In Video Clock The video input clock drives the portion of the logic within the Video System Controller 3 chip that is responsible for generating the timing for the sync and blanking signals. VIDCLK also drives the logic responsible for generating internal requests for display-update and DRAM-refresh cycles. Typically,VIDCLK is harmonically related to the dot (or pixel) clock used to stream video data from the external shift registers in the memory system to the CRT monitor. This input is TTL-compatible.
- the system 53 includes the logic to implement memory cycle generator 35. This is divided into several logic components which include the row address select RAS, decode logic 65 which decodes a row address select operation; memory pins 69 which control the loading of data through the memory that is provided by a memory cycle generator 67; memory cycle 67 generates the memory cycle transfers to handle the transfer of data between the microprocessor 1 and the display memory 5 or the system DRAM 19; and control 71 generates the internal control signals that are used by the video system controller 3. Additionally, the arbiter ready logic 37 is contained in the system block diagram as is the refresh address counter 45 which is a portion of the system block diagram 53.
- FIG 5 is a connecting diagram of the video block 57 of Figure 3 and includes the CRT controller 51 which contains the CRT logic 73 which generates the CRT signal such as blank and sync, both horizontal and vertical and applies these signals to the video pins 75 which converts this signals to signals which are voltage and current levels acceptable by the CRT monitor 11.
- the display memory 5 in the preferred embodiment, has built in shift registers in which the microprocessor 1 may write to directly. The control of data transfer to the shift register is provided by the SR logic 79 which is a portion of the video block 57.
- Figure 6 is a connection diagram of the DA-ST block 61 of Figure 3. It includes data pins for receiving the data and converting it to logic levels levels acceptable by the video system controller 3. Additionally, as part of the interface to the microprocessor 1, the display memory 5, and the system memory 19 status is provided by a status block 81 of Figure 6.
- FIG. 7 is shown a connection diagram of the CRT block 73 of Figure 5.
- the CRT block includes the vertical control logic 97, the horizontal control logic 95, a horizontal counter 93 and a vertical counter 99. Additionally, there are 9 programmable registers which can be both written to and read from by the microprocessor 1 through an 8 bit data pad 18 that is provided by the DA-ST block 61 to the video block 57. Each register in the embodiment shown in Figure 7 is 12 bits wide.
- the microprocessor 1 accesses the programmable registers within the CRT block 73 as well as other areas of the video system controller 3 by means by special read and write cycles.
- a register access cycle is selected by setting the functions select inputs FS2-FS0 to one of two 3 bit codes, either 000 or 010. Being there are 18 programmable registers in the video system controller 3 and only 9 in the CRT block 73 the information described here is applicable to all 18 programmable registers.
- One of 18 registers is selected by a 5 bit register address input in the column address input CA6-CA2.
- Binary codes 00000 thru 10001 are valid register addresses. Codes 10010 through 11111 are reserved. The high or low byte of the register is selected by the value input on CA1. If CA1 is zero, the low byte is selected; otherwise, the high byte is selected.
- the logic represented by the CRT block 73 generates the horizontal sync, vertical sync, and blanking outputs needed to control CRT monitor 11. These signals are outputed on the HSYNC-VSYNC-BLANK linear.
- the video system controller may be programmed to provide sync and blanking signals appropriate to the particular CRT monitor 11 and screen resolution selected for the desired application.
- the video system controller 3 can be programmed to interrupt the microprocessor 1 at the end of any horizontal scan line by driving an interrupt, INT- to its active low level by the control of the INTV signal that is present on line 23. These signals are programmed by the parameters loaded into the nine registers of the CRT block 73 by the microprocessor 1.
- registers include the horizontal end sync register 89, HESYNC; the horizontal end blank 87, HEBLNK; horizontal start blank 85, HSBLNK; horizontal total 91, HTOTAL; vertical end sync 109, VESYNC; vertical end blank 103, VEBLNK; vertical start blank 105, VSBLNK; vertical total 101, VTOTAL; and vertical interrupt 107, VINT.
- the two additional registers, the horizontal counter 93 and the vertical counter 95, are used in generating the video timing signals.
- the horizontal counter 93 is a counter whose contents are compared with the horizontal end sync register 89, the horizontal end blank register 85, the horizontal start blank register 85 and the horizontal total register 91 to determine the limits of the horizontal sync and blanking intervals.
- the vertical counter 99 is a counter whose contents are compared with the vertical end sync register 109, the vertical end blank register 103, the vertical start blank register 105, and the vertical total register 101 to determine the limits of the vertical sync and blank in intervals.
- the contents of the vertical interrupt register 107 are compared with the vertical counter 99 to determine when a particular scan line is being outputed to the CRT monitor 11.
- the microprocessor 1 can be interrupted when this condition is detected.
- video system controller 3 In performing a role as a controller for the display memory 5, and system DRAM 19, the display update controller, and CRT monitor 11 timing controller, video system controller 3 must perform several types of access cycles. Some of these types of cycles are initiated by the microprocessor 1, while others are initiated automatically by the video system controller.
- the memory cycle generator 35 performs most of the access cycles. And in particular, the cycle generator 67 which is shown in Figures 8 and performs the following cycles:
- the control circuit 71 handles the request for all internal cycles including the CRT monitor display update cycles, and the memory 5 and 19 refresh cycles.
- the horizontal blank signal tells the control logic 71 the location of the raster on the CRT for request of a display update or refresh. This request is transferred to the cycle generator 67 for implementing the display update cycle or the refresh update cycle.
- FIG 8 is a schematic diagram of the control block 71 and includes two synchronizer circuits 111 and 113.
- Synchronizer circuit 111 synchronizes the horizontal blanking signal with the internal clock that is used to control the logic within the system block 53.
- the CRT monitor 11 uses a separate clock system than the system 53 and consequently the horizontal blank signal and the horizontal stop blank signal that are applied to the system 53 from the video block 57 use a different clock which needs to be sychronized with the internal clock that is used to operate the control 71.
- the control 71 includes a Mealy-model state machine that is comprised of a plurality of programmable logic arrays 115 and an OR-gate 117 and a latch circuit 119.
- each output of each stage in the embodiment of Figure 9 there are four stages 121, 123, 125 and 127 is applied to the column lines A, B, C, and D the compliments thereof are applied to XA, XB, XC and XD column lines. Additional controls are provided to the programmable logic arrays 115 in the row lines at data lines 129. Additionally, the Mealy state machine includes a PLA 133 and the decode logic 135 at point 131. The output of the control circuit is applied to the cycle generator 67 via data bus 137 to the ready hold logic via data line 139 and to the data status block 61 via data bus 141.
- a unique feature of the control logic is the state machine is laid out on "N" channel metal oxide silicon field effect transistor logic circuits utilizing a standard cell that is multiple repeated and programmed by placement of a transistor 143 which determines the operation of the state machine that is used to implement the control block 71.
- Logic gates 117 are configured with a plurality of input leads 217. These leads may be tied to a large number of outputs from the programmable logic array 115 that is illustratsed at 219 or connected to a minimal number of inputs to the NOR gate 117 as illustrated at 221 or just a single line with all the inputs of the NOR gate tied together as is illustrated at location 223 to provide for the implementation of a standard cell NOR gate.
- the arbiter and ready hold logic 37 is based upon its operation by the cycle generator 67 in which logic circuits 151 of Figure 8 determine the priority of the operation whether it's internal or external to the video system controller 3.
- EXT and compliment, XEXT signals which are based on the ALE signal represent a request from the microprocessor 1 for a memory access cycle.
- ALE is latched on to the cycle generator by the latch 153 .
- circuit 155 provides buffering for the internal cycle request XINT.
- the cycle generator 57 includes a Moore-model state machine composed of a first stage 161, a second stage 165, a third stage 167, a fourth stage 169, a fifth stage 171, a sixth stage 173, and a seventh stage 175.
- Each stage includes a PLA 115, an OR gate 117, an a latch circuit 119 with the output of each stage applied to the row lines A through G and the compliment applied to the XA through XG lines.
- the outputs are further decoded by logic 177 that includes a PLA 179 and decode logic 181.
- the logic 177 provides an indication at data bus 183 for an external cycle and 185 an internal cycle is in progress.
- the W conductor indicates a write operation where the TRQE provides the enable to the shift register and the output enable of memories 5 and 19.
- REFINC provides the increment refresh to the refresh logic 45 and REF2HR provides for transfer from the refresh counter to the refresh hold register contained within the refresh logic of the refresh block 45 of Figure 4.
- Data lines or outputs 185 are the controls for the address selects of the multiplexer 49 and provide for SRRASEL which is a select of the display update row address.
- the RACASEL is the row address, column address select lines used for display update and refresh cycles.
- XYRASEL is the XY row address select lines
- the XYCASEL is the XY column address select
- the EXTCASEL is the external column address select lines. If none of these are active, then the row address (RA) 21d is selected.
- Lines 187 provide for the internal column address enable, ICASEN, and the external column address enable, ECASEN. Row address enable RASEN is provided on the data line 189.
- Data lines 191 select the source to the RAS decode logic 65 which includes the XY cycle, XYCCL, the shift register cycle SRCCL, and the refresh cycle REFCCL. Additionally, line 193 is the completion line indicating that an internal cycle operation is complete and the XYGO signal is the adjust enable to the XY register 43 and is present on data line 195.
- FIG. 10 there is shown a block diagram of the row address select decode circuit that is represented by the block 65 entitled "RAS decode”.
- the row address select override circuit provides a mode of operation that allows writing data to memory N times faster than without mode.
- N being the number of memory planes within the system, for example the display memory 5 of Figure 2 in one embodiment is configured too have four memory planes.
- four row address select planes are supported in the embodiment of Figure 10.
- One embodiment is to designate each of the four planes that are illustrated on Figure 10 at areas 177, 179, 181, and 183. Writing to one plane generates an image in one primary color. Writing the same data to two planes generates a mixed color.
- load address select override feature allows writing to both planes at the same time. To do this, the RAS override bits in the control register contained within the block 39C of Figure 3 are loaded with the binary value of the color. When writing to one plane of memory using this feature, the other planes are also selected.
- the row address select override feature also applies to shift register transfers. These shift registers, of course, are located within the display memory 5. This feature allows for clearing the screen of the CRT monitor 11 four times faster because all four row address select planes may be transferred in a single cycle. Prior to this invention, data was written to one bank of memories or plane in a single memory cycle. To draw an object requires writing to each code or plane individually.
- the row address override logic is controlled by four bits which are programmed and stored in the control register 39C by the microprocessor 1 that select which row address select output bit will be forced active during the memory access cycle. These four bits are RASOR(3-0). These four bits are gated with function decode and the R/W-signals to prevent memory read conflicts.
- the row address override feature is enabled only for the following types of memory cycles; microprocessor 1 random access write cycle, microprocessor 1 requested shift register to memory transfer, and microprocessor 1 requested memory to shift register transfer. The four gated bits are then OR'd with the row select zero and the row select one bits to form the select for the row address select output.
- the row address select enable is bit is brought to the row select decode logic from the cycle generator 67 and is represented by RASEN. This bit enables the four bits from the control registers which were previously enumerated by the OR logic 164 onto the XRAS(3-0) outputs.
- NOR gates 162 and 163 decode the function that is being implemented being it is the row address select from the function select decode circuit that is represented by RSA, the XXY from the X-Y register 43 which indicates where the data is being written into memory, a shift register, SSRRAS from the video block 57 and the extended control register row address select bits provided from the control register 39C and represented by signal CRRAS.
- These signals are multiplexed by logic 161 and with NR gate 162 and 163 in conjunction with the appropriate cycle that is being implemented being its shift register cycle represented by the signal SRCCL, a refresh cycle represented by the signal REFCCL, and an XY cycle represented by the signal XYCCL.
- These signals are of course from the cycle generator 67 of Figure 4 and were combined by logic gates 185, in addition to the signal EHAE which is brought over from the control register block 39C.
- the decode block 63 provides the function select shift register signal represented by the mnemonic FSSR and the RWB signal in which the four row select output bits are gated by the logic gates 187.
- the function select and the read/W- signals are combined by the NOR gate 189.
- Figures 11A and 11B are schematic diagrams of the multiplexer 49, which outputs the memory address to memories 5 and 19. As was discussed in conjunction with Figure 2, the multiplexer 49 selects either the output from the row address latch 47, the refresh address counter 45, the XY address register 43 or the column address latch 61.
- the multiplexer 49 includes 7 stages 250 in which the aforementioned signals are selected via pass transistors 251 and applied to the output terminals 253.
- the cycle generator 67 provides the select for each of the functions.
- EXTCASEL provides the column select
- XYRASEL provides the XY row select function
- XYCASEL is the column select of the XY register 43
- SRRASEL is the shift register row address output select enable
- RACASEL is the refresh row address and shift register column address select enable.
- test logic is provided for testing of the VSC 3 at area 261 and is enabled by the scan outs signal that is brought into the multiplexer 49 at point 263 from the cycle generator 67 and the scan out video scanout signal which is the output of the video block 57 that is applied to the multiplexer at 265.
- These two signals are the circuit of a scan path that serially connects all otherwise in accessible storage nodes within the VSC 3, and is used during test of the device.
- the memory pins 69 as shown in Figure 12 provide the control signals for writing into the display memory 5, the output of which are the write command, XW, the TRQE command and the two column address strobes XCASHI and XCASLO.
- the column address enable high and low signals that are provided from the input pins 59 are gates by ICASEN and ECASEN, both of which are generated by cycle generator 67, onto outputs XCASHI and XCASL0.
- the video system controller 3 is configured to perform refresh cycles for the display memory 5 at regular intervals.
- the refresh counters ( Figure 13) contained within the refresh address counter 45 generate 9 bit row addresses output during the refresh cycles.
- a refresh burst counter not accessible to the microprocessor 1 determines the number of refresh cycles per horizontal scan line.
- a refresh address register, also inaccessible to the microprocessor 1, maintains the current row address and is incremented following each refresh cycle.
- the enabling of the refresh cycles and the frequencies of the refresh cycles are determined by three control register bits within the video system controller 3. Eight of the nine bit row addresses are provided by the circuit 273 of Figure 13A which includes a refresh counter block 270 and a holding register 271.
- the counter 270 Upon command from the cycle generator via the SRCCL signal, the counter 270 is enabled to the multiplexer 49 via the bus XRACA which connects the refresh address counter 45 to the multiplexer.
- Figure 13B provides the remaining counter state 279 associated with counter 270.
- a Mealy-model state machine illustrated in Figure 13C at 275 which, as mentioned earlier, is not accessible to the host computer, determines the number of refresh cycles per horizontal scan line that are performed. Its output REFRQ is issued to control logic 71 indicating that additional refresh cycles need to be performed during the current scan line.
- the refresh address register 270 maintains the current row address and is incremented following each refresh cycle for the display memory 5 and system memory 19.
- the cycle generator 67 performs the arbitration for determining the priorities of the memory cycles that are to be produced.
- Ready hold logic 37 ( Figure 14) provides the ready/hold signal which informs the microprocessor of the current status of the cycle generator 67.
- Several modes of operation are available, programmed by control register bits RHMODE (1-0) and RH(2-0). These modes are ready, wait and hold modes.
- the microprocessor 1 programs a particular number of wait states that are desired during a microprocessor initiated cycle by loading RH(2-0).
- circuits 293 provide a timing sequence, which when complete, informs the host that the cycle is complete by activating ready/hold output. If an internal cycle is in progress, or a previously requestesd microprocessor requested cycle is still underway when the microprocessor 1 requests another cycle, then the previous cycle must complete.
- Wait mode does not include programmable wait states, but simply informs the microprocessor that his cycle has started by activiating the ready/hold output.
- the VSC 3 When ready hold logic is programmed to be in the hold mode, the VSC 3 must issue a request for the microprocessor 1 to "hold” because it is time for the VSC 3 to perform a refresh cycle or a shift register reload cycle.
- the microprocessor acknowledges the request for hold by providing a logic xero level on the xholdback input.
- the ready/hold output active logic level is programmable by the state of the xholdback input during reset.
- the video block 57 ( Figure 15) is used to generate the horizontal sync HSYNC-, vertical sync VSYNC-, and blanksignals used to drive the CRT monitor 11 in a bit map graphic system. These signals are synchronous to the video input clock, VIDCLK.
- the signals output at the HSYNC-, the VSYNC- and the VLANK- pins are programmed through 8 microprocessor 1 accessible video timing registers.
- the verticalcontrol logic 97 as illustrated includes a plurality of state machine cells 301 that are a PLA 115, a logic gate 117 and a latch 119.
- the state machine standard cells 301 are connected in a counter figure configuration as is illustrated in Figure 15 and provide a sequence of gating signals that select which vertical counter. When the counter reaches the value in the selected timing register, the vertical control state machine cycles to the next timing register.
- the vertical counter register 99 counts the horizontal lines in the video displays and serves as the timing base for determining the limits of the vertical sync and blanking intervals. The contents of the vertical counters are compared with the values in the vertical timing registers to mark off the vertical sync and blanking intervals. The count is incremented by one at the beginning of each horizontal sync interval with one exception.
- the increment of the vertical counter occurs at midpoint where the count and the horizontal counter 95 is equal to one-half the value in the horizontal total register 91.
- the vertical counter 97 is reset to zero upon reaching the value in the vertical total register 101 on the next following edge of the Vid lk after a high to low transition on an active reset-signal forces the vertical counter to zero.
- This interval may be read by the microprocessor 1 during the intervals between increments, but may not be written to. Multiple read cycles are normally used for accessing the vertical counter 97. Two consecutives reads returning the same data information indicates that the microprocessor 1 access is in an interval between increments.
- Figure 16 is a schematic diagram of the vertical counter 99 and provides two counter stages 303 and 305.
- the first counter stage 305 provides for 8 bits of data and is repeated 8 times and the second stage 303 provides for 4 bits of data so that there is a maximum number of 12 bits stored in the vertical counter.
- Figure 17 is a schematic diagram of the horizontal control circuit 95 in which the control signals are generated for controlling the horizontal registers 85, 87, 89, 91 and 93.
- Figure 18 is a schematic diagram of the horizontal counter 93.
- the horizontal counter is a 12 bit counter that is divided into two stages 307 and 309, with 307 providing the first 8 bits 0-7 and 309 providing the remaining 4 bits 8-11.
- the horizontal counter 93 is incremented on VIDCLK falling edge, and serves as a timing base for determining the limits of the horizontal sync and blanking intervals.
- the value of the horizontal counter is compared to the value of the four other horizontal timing registers in order to generate the signal output HYSYNC- and BLANK-.
- the horizontal counter 93 reaches the value in the horizontal total registers 91, it is reset to zero by the circuit 311.
- HYSNC- When the video system controller is configured in the external sync mode, HYSNC- is an input and the horizontal counter is forced to zero as a delay from the fallen edge of HYNC-.
- the vertical counter is reset in a similar way to activating the YSYNC-input.
- External sync mode allows the VSC 3 to "sync-up" to an external video source. This permits displaying multiple video sources on the same monitor simultaneously.
- External sync mode is enabled by writing to the EXTSYNCEN bit in control register 39C.
- Figure 38 shows the latch and synchronizing circuits which process the incoming sync pulses. An active reset- signal forces the horizontal counter 93 to zero. And this counter is not accessible to the microprocessor 1.
- Figure 19 is a schematic diagram of the basic register block 313.
- SR stands for shift registers which are contained within the display memory 5.
- a shift register read or write cycle is an access initiated by the microprocessor 1.
- Shift register cycles are specifically geared toward transferring data between the display memory 5 cell arrays and shift registers withing the display memory 5.
- Display update cycles are initiated automatically within the video system controller 3.
- Shift register cycles may also be initiated under explicit microprocessor 1 control.
- Figure 20 is a schematic diagram of the SR data control circuit that is contained within the video block 57. The direction of the transfer of data is determined by the state of control bit SRW in control register 1.
- a shift register transfer cycle can be initiated either by the VSC3 (display update) or by the microprocessor, whereby the type of cycle desired is determined by the function select code input on lines FS0-FS2.
- the function select code of a binary value of zero indicates a register access cycle, binary No. 1 an XY indirect cycle, binary 2 a register access cycle, binary 3 a microprocessor direct cycle, binary 4 a shift register cycle shift register to memory, binary 5 shift register cycle memory to shift register 6 and 7 are unused or for special functions such as test mode.
- a shift register write cycle transfers the contents of the shift register within the display memory 5 to the specific specified row within the on-chip memory cell array and a shift register read cycle transfers the contents of a specified row within the memory cell array to the shift register.
- Figure 20A shows the generation of the control logic for the shift register address which provides the memory address to display memory 5 during VSC 3 requested display update cycles.
- Figure 20B is a 4 bit control that counts up to the value specified by control bits PLC(3-0) of control register 381. The state of this count determines the period of shift register reload (display update) cycles and can vary from once every horizontal scan line to once every 16 scan lines.
- Figure 20C 20D and 20E show the logic of the 12 bit shift register address counter.
- the least significant 4 bits which are shown in Figure 20C include a full adder which allows the shift register address to be incremented. In normal operation, by 1, 2, 4, or 8.
- the least significant 2 bits of this address specify the tap point that is selected on the external display memory 5.
- the next 8 significant bits are routed to the memory address output pins and represent the row address bits.
- the final 2 most significant bits of this counter represent the row address select control bits.
- These bits are decoded to one of 4 active row address selects (RAS (3-0)) during a shift register update cycle when the VSC 3 is in the extended host address enable mode programmed by setting the EHAE bit within control register 381. If this bit is inactive, then all RAS outputs are active during a shift register update cycle.
- the FS decode circuit decodes the functions that are to be implemented by the video system controller based upon the binary value of the three function select decode signals that are applied thereto.
- the schematic diagram of the FS decode block 63 is provided in Figure 21.
- the FS decode logic 63 is illustrated in Figure 21 and receives from the microprocessor 1 control signals FS0-2, row select signal RS0-1, plus column address on data bus 21C and row address on data bus 21R, as well as the CS signal which is brought into the FS decode circuit 63. Additionally a reset signal is provided from the input pins block 59 as is the ALE signal and the no latch signal, which comes from the control registers.
- circuit 333 and 335 provides for the scan and test mode generation.
- Line drivers 334 are used to drive the row address signals and the column address signals.
- the column address decoder 55 receives the read/write command in the form of RWB, the column address enable low byte in the form of XCEL, the column addresses in the form of CAB and the internal register access function select signal in the form of FSINT.
- the output of the column address decode circuit is a clear command which is decoded by the decode circuit 341 which is used as an input to the status block 61 and is used to clear the 4 most significant bits of the data bus when a 12 bit internal register is read.
- Figures 22B through 22E shows the logic that completes the decode of the column address during internal register accesses. These outputs select which of the internal registers are accessed or loaded.
- Figure 22 is a schematic diagram of the X-Y register 43.
- the X-Y register 43 is used during an indirect cycle in which the microprocessor 1 accesses or writes a word in the display memory 5 which in the preferred embodiment is DRAM, dynamic random access memory, indirectly through the 20 bit X-Y address register 341.
- the contents of the X-Y register 341 represents the concatenation of the X-Y coordinates of a word containing one or more pixels on the screen.
- the X coordinate is represented by the least significant bits of the address and the Y coordinate is represented by the most significant bits of the word address.
- the location of the boundary between the X and Y coordinates of the address is programmable. Both X and Y increase moving from the least significant bit to the most significant bit in the register 341.
- the X and Y displacement at the origin, generally located in the upper left hand corner of the screen of the CRT monitor 11 are both 0 only in the special case in which the pixel displayed in the upper left hand corner of the screen resides in the word location at memory address 0.
- the non zero offset of the upper left corner of the screen must be compensated for from the start of memory.
- a read or write cycle that utilizes the contents of the X-Y register 43 is denoted as an X-Y indirect cycle.
- the contents of the X and Y register 43 are used in place of the row and column address applied on the RA8-RA0 data bus 21R and the CA8-CA0 data bus 21C.
- the 4 bit code input on the CA4-CA1 during an X-Y indirect cycle determines the manner in which the contents of the X-Y address register 43 are updated following completion of the X-Y indirect cycle.
- increment X With the binary value of these 4 bits is equal to 0, there is no adjustment, equal to 1 increment X, equal to 2 decrement X, equal to 3 clear X, equal to 4 increment Y, equal to 5 increment X, increment Y; equal to 6 decrement X, increment Y, equal to 7 clear X, increment Y; equal to 8 decrement Y, equal to 9 increase X, decrement Y; equal to 10 decrement X, decrement Y; equal to 11 clear X, decrement Y; equal to 12 clear Y; equal to 13 increment X, clear Y; equal to 14 decrement X, clear Y; equal to 15 clear X, clear Y.
- the address adjustments discussed above is performed automatically by the X-Y register 43 during the execution of each X-Y indirect cycles.
- This mechanism permits convenient access to an arbitrary sequence of adjacent pixels, without incurring the overhead of having to load new values into the X-Y address register prior to each access.
- the video system controller is capable of performing incremental graphics operations such as line drawing, polygon filling, and custom character generation at hardware assisted speeds.
- the X-Y address register 341 is a 20 bit register comprising of 2 parts.
- the register includes the X-Y address register 341 and parts of an offset register 342 that is illustrated on Figure 22B.
- the offset register 342 contains two accessible bits which are accessible by the microprocessor 1 and designated as bit 11 and bit 10. These two bits are not affected by the X-Y adjustment code input on the CA4-CA1 data bit.
- the second part is the remaining 18 bit which consists of 16 bits which are accessible by the microprocessor 1 contained in the X-Y register 43 and two groups of 2 bits registers concatenated to it as two most significant or least significant bits depending on the states at B7 of the control register 39C. One of these two bit registers will be enabled.
- the 16 bits contained in the address register 341 are divided into two portions.
- the Y coordinates are the most significant bits part on the register 341 and the least significant portion forms part of the X coordinate.
- the boundary between the X and Y portion is programmable.
- the signal XYLRAS is provided by the control register 39C and when it is at a logic 1 a two bit register concatenate to the XY register at the MSB. This occurs at 351.
- These two additional most significant bits and the Y portion of the 353 of the X-Y address register 341 form the Y coordinates.
- a logic 0 on the XYLRAS which originates from the control register 39C enables the two least significant bits 355.
- the two least significant bits 355 and the X portion 357 of the XY address register form the X coordinates.
- These 18 bits in the XY register 341 are linked such that it carries or borrows from the most significant bit of the X coordinate will ripple into the least significant bit of the Y coordinate only when the Y coordinate is not itself being explicitedly adjusted.
- the signal XYLRAS Upon reset of the contents of the control register 39C the signal XYLRAS returns to or is defaulted to a logic zero.
- Either the X or Y portion of the X address register 341 will transfer the contents of bits 8 and 9 of the XY offset register 342 to either the least significant bits 355 of the X coordinates or the most significant bits, 351 of the Y coordinate of the XY address register 341, regardless of the state of the XYLRAS signal.
- a read to the XY offset register 342 will always return the current value of the enable X or Y expansion bits, bits 8 and 9 of the offset register 342, in data bits D 1- D 0 but not the value stored in bit 8 and 9.
- the XY offset register 342 is always loaded prior to loading the XY address register. This is necessary to allow the two expansion bits, bits 8 and 9, to be loaded correctly. These expansion bits will be used to determine which one of the four row address strobes, REAS3-REAS0 is active during the XY indirect cycle. Bits 8 and 9 are encoded to provided the four active strobes which is performed in the RAS decode logic 5.
- the XY register 341 contains 16 microprocessor 1 accessible bits that become part of the 20 bit XY address register output.
- the boundary between the XY portion in this register is programmable to accommodate the needs of various graphic memory configurations.
- the X portion is definable to occupy anywhere from 2 to 9 of the least significant bits of the register.
- the remaining bits form part of the y portion.
- the 8 possible boundary conditions between the X and Y positions of this register is illustrated in Figure 26A and B.
- the XY offset register 342 defines the boundaries between the X and Y portion of the XY address register 341 and contains initial values of the 2 RAS select bits and bits 8 and 9 located at 357 and 359.
- the 8 least significant bits of the XY offset registers located at 361 and 363 specify the boundaries between the X and Y portions of the address contained within the X and Y register 341 as indicated in Figures 26A and B.
- Bits 8 and 9 of the two offset registers store the initial values that are loaded into the expansion bit of the X and Y address during an initiated write cycle from the microprocessor 1 to either the X portion 353 or the Y portion 357 of the XY register 341. These 2 bits are not affected by the adjustment code input on CA4-CA1 during an X-Y indirect cycle. Only the transfer and expansion bits of the XY address are changed accordingly.
- a read of the XY offset register 342 returns the current value of the expansion bits of the XY address instead of the initial value of the two bits 8 and 9 to the XY offset register 342.
- Bit 11 at 363 is the MA8 output during row address time and bit 10 located at 365 is the MA8 output during the column address times. These two bits are also unaffected by increments or decrements of the XY address pointer. Any bit in the X-Y address register indicated as unused in Figures 26A is read as a 0.
- the microprocessor 1 initiates an X-Y indirect cycle by setting FS2-FS0 inputs to the function code 001.
- the displayed memory 5 then is either read or written as specified by the R/W-line.
- the contents of the XY address register 341 can be adjusted after each XY indirect cycle to point to the adjacent word to be accessed during the next XY indirect cycles. Fifteen different adjustments are available for the XY address register 43. These adjustments are selected by the inputs on CA4-CA1 during an X-Y indirect cycle that was previously discussed. This specified adjustment occurs during the current XY cycle in anticipation of the next X-Y indirect cycle.
- the 20 bit XY address is composed of the 16 accessible bits by the microprocessor 1 of the XY address register 341 and the 2 RAS select bits plus the 2 MA8 bits residing in the XY offset register 342.
- the two RAS-select bits are not directly accessible to the microprocessor 1 which, however, can cause them to be loaded from the bits 8 and 9 of the X-Y offset register.
- the 20 bit X-Y address points to a word within the displayed memory 5 containing one or more pixels where the number of pixels is determined by by the width of the microprocessor 1's data path and the number of bits per pixel.
- the boundary between the X and Y portion of the address is programmable to accommodate a variety of memory configurations which will be discussed later.
- the video system controller uses the address contained in the address register 341 in place of the address supplied externally to the RA8-RA0 data bus 21R and the CA8-CA0 data bus 21C.
- the 8 most significant bits of the 16 bits contained in the XY address register are outputted on data bus 25 as MA0 through the MA7 as the row address and the 8 least significant bits are outputted on data bus 25 as MA0 through MA7 as a column address.
- Bits 10 and 11 of the XY offset register 342 are also multiplex on the MA8 as row and column addresses.
- the two RAS select bits not accessible to the microprocessor 1, are used in place of the RS1-RS0 inputs to determine which of the four row address strobes, RAS3 to RAS0 will become active during the cycle.
- XY addressing is flexible to allow the programmer to customize the X and Y screen dimensions to his application.
- the X portion of the address can occupy the lower 2 to 9 bits of the XY address register, while the Y portion occupies the remainder of the XY address register.
- the RAS select bits are concatenated to either the X or Y portion according to the state of the XYLRAS signal.
- Figure 27A is a schematic background of the control registers 39C.
- the Video System controller contains two directly assessable control registers, 371 & 373.
- the functions controlled by these registers include the behaviour of the interface signals between the microprocessor one and the Video system Controller 3, the timing of the display update cycles, inabling of interrupt refresh, frequency of Dram-refresh cycles, and creation of video timing functions.
- Control register 371 & 372 are both 16 BIT registers. Each may be read and written to by the microprocessor 1. The functions assigned to the individual bits within these registers or indicated in table two.
- Figure 27A shows the logic of three synchronizing circuits, 375, 377, & 379.
- the three synchronizer circuits are used to transfer the contents of the control register 381 to the output holding register 383 of the control register 371.
- the reason for this is that the microprocessor one writes to the control registers during the execution of a function by the video system controller one. To avoid glitches and interruptions, the data is loaded into the control registers 381 & then transferred to the output holding registers 383 via transfer signals TRAN 1, TRAN 2, and TRAN 3.
- Two reset signals are used to initialize the transfer signals which include VRESENT and SRESET.
- the horizontal start blank signal is applied to the synchronizing circuit 375 to implement the TRAN 1 signal.
- TRAN 1 prevents the VSC 3 from changing operating mode until the horizontal start blank signal becomes valid. This occurrs half way through the horizontal scan line.
- Figure 27C illustrates the control register 373 and the functions associated therewith.
- Figure 28 and 29 are schematic diagrams of the CRB registers that are used to make up the control registers 381 & 373.
- Figure 30 is a schematic diagram of the input pins blocks 59 and provides the logic for receiving the control signals from the microprocessor one on databus 23 and buffering the signals for application to the video system controller three.
- Circuit 400 synchronizes the system reset and video reset signals to be in synch with the appropriate clocks. This of course is done by using circuit delays @ 401, 403, & 405 to insure that the video reset is in synch with this clock being phase three and phase one signals are submultiple of the video clock, and the system reset is in synch with this clock by the synchronizing stages 407, 408 and 409. The remaining circuits are essentially buffered and amplified for application to the video system controller.
- the data status block 61 includes the status registers 81 and the data pins 83.
- Figure 31 is a schematic diagrams of the data pins 83 in which buffering and amplification is provided for driving the signals that are present on the databus 17 to the xy register 43, the column address 49,41 and the control and internal registers 39.
- Figure 32 is a schematic diagram of the status register 81 in which there is present three bits, each representing a particular internal condition. A bit value one indicates that the corresponding condition has been detected. These conditions include a vertical interrupt at logic circuit 411. A display error which indicates that the video system controller three was unable to perform a display update cycle requested during the horizontal blanking interval. The display error is stored in this circuit 413. The refresh error latch, 415 indicates that the video system controller 3 was unable to execute the designated number of Dram-refresh cycles before the begining of the next horizontal blanking interval. These three signals a combined together by and/or logic 417 and provide the interrupt conductor 23 and exact cause of interrupt is provided on the status lines 419.
- a synchronizer circuit 421 which synchronizes the interrupt from the video block 27 with the system clock.
- the interrupt is 1st synchronized with the video clock by circuit 423 which includes three gated transistors 425, 427, & 429 which are gated by phase three, phase one, and phase three. Seperating between the phase three gate and phase one, and the phase one and the phase three, is an inverting amplifier 435 & 437 respectfully.
- the output of the circuit 433 Is applied to the system clock synchronizers which includes a gated latch 441, 443 and the pulse shaping circuit 445 which provides the interrupt to the vertical interrupt circuit 411.
- Figure 33 provides for the clock circuits that are used to generate the phase one and phase three phases on the video clock at circuit 451, circut 453 generates a system clocks that are used to provide clocks to the video system controller 3.
- the dual clocks and the synchronizing circuits illustrated in the Figures 32, 9, 30, & 36 are required since the video clock, VIDCLK, which is harmonically related to the monitor dot clock, may be different from the microprocessor 1 clock, SYSCLK.
- SYSCLK is specified to run faster than VIDCLK, and permits performing memory cycles at an expedient rate.
- VIDCLK is specified to run slower than SYSCLK, however the architecture permits controlling monitors whose dot clock frequency can exceed 100 MHZ.
- One example of a memory device 5 which may be suitable for use in the system depicted in Figure 1 and depicted in Figure 34, is a 64K-bit MOS dynamic read/write memory using one transistor cells, as shown in U.S. Patent 4,239,993, and further including a serial shift register having multiple taps added.
- the random access may be one bit wide.
- Other suitable examples may be memory devices as hereinbefore described which have 256K-bits of storage or even larger.
- the individual storage devices may be X1, i.e. one bit wide, and eight of these storages may be connected in parallel for access by a typical 8-bit microcomputer 8.
- Other partitioning, such as X4 or X16, could also be employed as will hereinafter be apparent.
- the memory device 5 depicted in Figure 34 is typically made by an N-channel, self-aligned, silicon-gate, double-level polysilicon, MOS process, with all of the device being included in one silicon chip of about 1/30 of a square inch in size, which usually would be mounted in a standard dual-in-line package having twenty pins or terminals. For a 256K-bit device this package may be provided with as many as twenty-two pins or terminals. Similarly, the number of the pins would increase for larger volume devices.
- the device includes in this example an array 10-split into two halves 10a and 10b of 32,768 cells each, in a regular pattern of 256 rows and 256 columns.
- each sense amplifier is connected in the center of a column line, so 128 memory cells are connected to each side of each sense amplifier by a column line half.
- the chip requires only a single 5v supply vdd, along with a ground terminal vss.
- a row or X address decoder 12, split into two halves, is connected by sixteen lines 513 to eight address buffers or latches 14.
- the buffers 14 are made according to the invention disclosed in U.S. Patent 4,288,706.
- An eight-bit X address is applied to inputs of the address buffers 14 by eight address input terminals 525.
- the X decoder 12 functions to select one of the 256 row lines as defined by an eight bit address on the input terminals 15 received via bus 507 from the microcomputer 8. For more than 256 row lines, i.e. a 256 K-bit memory with 512 row lines, a larger than eight-bit X address and eight-bit latch must be employed.
- a column address is also received on the input pins 25 and latched into column address latches 16.
- all eight column address bits are needed, but for byte-wide access, i.e. eight bits, only five address bits are needed, and the microcomputer may output additional column address bits to select among several cascaded chips; these additional column address bits may be used by chip-select decoders of conventional construction.
- the outputs of the column address latches 16 are connected by lines 517 to a decoder 18 in the cneter of the array which selects one-of-256 columns to produce a bit wide input/output on random access input/ output line 17/31; separate input 17 and output 31 lines may be used as shown in Figure 1, or the lines 17/31 may be multiplexed as shown in Figure 34. Rows of dummy cells (not shown) are included on each side of the sense amplifiers as is the usual practice in devices of this type. As for the X-address, for larger volume devices, the number of bits and latches required to identify a column increases.
- the memory device is thus similar to a standard dynamic RAM, with bit-wide or other bit-size random access and also having a serial input/output.
- the serial access is provided by a 256-bit serial shift register 20 split into two identical halves with the halves positioned at opposite sides of the array 10. The same result may be achieved by placing both halves on the same side of the array, but laid out one above the other. However, placing the halves on opposite sides of the array balances the operation of the sense amplifiers.
- the shift register 20 may be loaded from the column lines of the array 10 for a read cycle, or loaded into the column lines for a write cycle, by 128 transfer gates 521a on one side of the array and a like number of transfer gates 521b on the other side of the array.
- Data input to the device for serial write is by a data-in terminal 22 which is connected by a multiplex circuit 523 to inputs 24a and 24b of the shift register halves. Data is read out serially from the register halves via outputs 525a and 525b, a data-out multiplex and buffer circuit 26, and a data-out terminal 527.
- the shift register 20 is operated by a clock 0 which is used to shift the bits through the stages of the register, two stages for each clock cycle. For read operations it takes only 128 cycles of the clock 0 to output 256 bits from the 256 bit positions of the split shift register.
- a control signal TR 29 applied to the transfer gates 21a and 21b connects each of the 256 bit positions of the shift register 20 to its corresponding column line in the array halves 10a and 10b.
- the sense amplifiers 511 are operated by a write command, W, occuring after TR/QE to set the column lines at a full logic level, after which one row line is selected by the address in the latches 14 and the data forced into the memory cells of this row.
- a serial read cycle starts with an address on the input 15 which is decoded to activate one of the 256 X or row address lines (and a dummy cell on the opposite side).
- the sense amplifiers 11 are then actuated by a control signal from clock generator and control circuitry 30 to force the column lines to a full logic level, and then the transfer gates 21a and 21b are actuated by control signal TRQE to move the 256 bits from the selected row into the corresponding shift register 20 halves.
- the shift clock signal 0 then applied and may move 256 bits onto the output pin 527 in serial format via the multiplex circuit 26, at two stages or bits per clock cycle, requiring 128 clock cycles for the entire register.
- the output pin 527 is connected to the shift register 7 of Figure 1.
- the memory device is similar to a standard dynamic RAM with a bit-wide or other bit-size random access with a serial input and out-put; however, according to the invention, the 256-bit serial shift register 20, which provides the serial input and output, is organized as four 64-bit shift registers. One, two, three or four 64-bit shift registers may be accessed depending upon which of the four "taps" along the 256-bit shift register is selected. Since the 256-bit shift register is split into two "halves", each 64-bit shift register is also split into halves.
- one 64-bit shift register is top half 20a and bottom half 20b
- a second 64-bit shift register is top half 20c and bottom half 20d
- a third 64-bit shift register is top half 20e and bottom half 20f
- a fourth 64-bit shift register is top half 20g and bottom half 20h.
- the tap selected determines whether the first, second, third, or fourth 64-bit shift registers is accessed.
- the tap selected is determined by a two bit code applied to the two most significant column address inputs.
- the depiction in Figure 34 is thus made of lines 517 from the column address latch 16 also inputting to the shift register 20 to select, via a binary code, the particular tap desired.
- a microcomputer 1 which may be used with the system of the invention may include a single-chip microcomputer device 1 of conventional constructions, along with additional off-chip program or data memory 80 (if needed), and various peripheral input/output devices 81, all interconnected by an address/data bus 607, and a control bus 9.
- a single bidirectional multiplexed address/data bus 7 is shown, but instead separate address and data busses may be used as in Figure 1 and also the program addresses and data or input and output addresses may be separated on the external busses; the microcomputer may be of the Von Neumann architecture, or of the Harvard type or a combination of the two.
- the microprocessor 1 could be one of the devices marketed by Texas Instruments under the part number of TMS 7000 or TMS 99000, for example, or one of the devices commercially available under part numbers Motorola 68000 or 6805, Zilog Z8000 or Intel 8086 or 8051, or the like. These devices, while varying in details of internal construction, generally include an onchip ROM or read-only memory 82 for program storage, but also may have program addresses available off-chip, but in any event have off-chip data access for the Display memory 5.
- the VSC 3 is designed to interface to all microprocessors and microcomputers which provides flexibility to system designers.
- a typical microcomputer 1, as illustrated in Figure 35, may contain a RAM or random access read/write memory 583 for data and address storage, an ALU 84 for executing arithmetic or logic operations, and an internal data and program bus arrangement 585 for transferring data and program addresses from one location to another (usually consisting of several separate busses). Instructions stored in the ROM 82 are loaded one at a time into an instruction register 587 from which an instruction is decoded in control circuitry 88 to produce controls 589 to define the microcomputer operation.
- the ROM 82 is addressed by a program counter 90, which may be self-incrementing or may be incremented by passing its contents through the ALU 84.
- a stadk 591 is included to store the contents of the program counter upon interrupt or subroutine.
- the ALU has two inputs 92 and 93, one of which has one or more temporary storage registers 94 loaded from the data bus 585.
- An accumulator 595 receives the ALU output, and the accumulator output is connected by the bus 85 to its ultimate destination such as the RAM 583 or a data input/output register and buffer 96. Interrupts are handled by an interrupt control 597 which has one or more off-chip connections via the control bus 23 for interrupt request, interrupt acknowledge, interrupt priority code, and the like, depending upon the complexity of the microcomputer device and the system.
- a reset input may also be treated as an interrupt.
- a status register 98 associated with the ALU 84 and the interrupt control 597 is included for temporarily storing status bits such as zero, carry, overflow, etc., from ALU operations; upon interrupt the status bits are saved in RAM 583 or in a stack for this purpose.
- the memory addresses are coupled off-chip through the buffers 96 connected to the external bus 607 depending upon the particular system and its complexity. This path may be employed for addressing off-chip data or program memory 80 and input/output 581 in addition to off-chip video memory 5. These addresses to bus 7 may originate in RAM 83, accumulator 95 or instruction register 87, as well as program counter 90.
- a memory control circuit 99 generates (in response to control bits 89), or responds to, the commands to or from the control bus 9 for address strobe, memory enable, write enable, hold, chip select, etc., as may be appropriate.
- the microcomputer device 1 executes a program instruction in one or a sequence of machine cycles or state times.
- a machine cycle may be 200 nsec., for example, by an output from a 5 MHz crystal clock applied to the microcomputer chip.
- the program counter 90 is incremented to produce a new address, this address is applied to the ROM 82 to produce an output to the instruction register 587 which is then decoded in the control circuitry 88 to generate a sequence of sets of microcode control bits 589 to implement the various steps needed for loading the bus 85 and the various registers 94, 595, 96, 98, etc.
- a typical ALU arithemtic or logic operation would include loading addresses (fields of the instruction word) from instruction register 587 via bus 585 to addressing circuitry for the RAM 583 (this may include only source address or both source and destination addresses). Such an operation may also include transferring the addressed data words from the RAM 583 to a temporary register 94 and/or to the input 92 of the ALU.
- Microcode bits 589 would define the ALU operation as one of the types available in the instruction set, such as add, subtract, compare, and, or, exclusive or, etc.
- the status register 98 is set dependent upon the data and ALU operation, and the ALU result is loaded into the accumulator 595.
- a data output instruction may include transferring a RAM address from a field in the instruction to the RAM 583 via bus 585, transferring this addressed data from the RAM 583 via bus 585 to the output buffer 96 and thus out onto the external address/data bus 7.
- Certain control outputs may be produced by memory control 99 on lines of the control bus 23 such as write enable, etc.
- the address for this data output could be an address on the bus 607 via buffer 96 in a previous cycle where it is latched in the memory 80 or memory 5 by an address strobe output from the memory control 99 to the control bus 9.
- An external memory controller device may be used to generate the RAS and CAS strobes.
- a two-byte address for the memory 5 would be applied to the bus 607 in two machine cycles if the bus 607 is 8-bit, or in one cycle if the bus is 16-bit.
- the instruction set of the microcomputer 8 includes instructions for reading from or writing into video memory 5, the additional memory 19 or the input/output ports of peripheral equipment 581, with the internal source or destination being the RAM 583, program counter 90, temporary registers 94, instruction register 587, etc.
- each such operation involves a sequence of states during which addresses and data are transferred on internal bus 585 and external bus 7.
- the invention may use a microcomputer 1 of the non-microcoded type in which an instruction is executed in one machine state time. What is necessary in selecting the microcomputer 1 is that the data and addresses, and various memory controls, be available off-chip, and that the data-handling rate be adequate to generate and update the video data within the time constraints of the particular video application.
- the video memory arrangement of the invention is described in terms of one bit data paths for the bus 7, although it is understood that the microcomputer system and the memory technique is useful in either 8-bit or 16-bit systems, or other architectures such as 24-bit or 32-bit.
- One utility is in a small system of the type having 8-bit data paths and 12-bit to 16-bit addressing, in which no external memory 80 is needed and the peripheral circuitry 81 consists of merely a keyboard or like interface, plus perhaps a disc drive.
- a bus interface chip such as an IEEE 488 type of device could be included in the peripheral circuitry 81, for example.
- Figure 36 is an Block Diagram of the video system according to the invention in which the video system 805 is a 512X512 pixel graphic system with 16 colors.
- the displayed memory 5 has been expanded from a single multiport memory device to four groups of memory devices, 5A, 5B, 5C, 5D by 4D.
- the output of the multiport memory 5A-5D are applied to the 4 bit shift registers 7A-7D and to the CRT monitor 11 via the Digital to analog converter 9 and an optional color pallet register 801.
- the color pallet registers of course contains the coded information for generating the program colors that are addressed to it by the microprocessor.
- Figure 37 is a block diagram of a 1024X1024 pixel resolution color graphic system.
- the display memory five has been replaced with 4 groups of multi-port memories 5E, 5F, 5G, 5H which are 16 bits deep.
- the shift register 7 has been expanded to include four shift registers 7E-7H which are 16 bits wide.
- the remainder of the circuits of figures 36 & 37 is. identical to that disclosed in figure 1.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Digital Computer Display Output (AREA)
- Memory System (AREA)
Claims (11)
- Système vidéo comprenant :un processeur de données (1) pour traiter des données de pixels d'image correspondant à une image vidéo en fonction d'instructions de programme, le processeur de données (1) étant connecté à un bus de transmission de données (17), à un premier bus de transmission d'adresses (21) et à un bus de commande (23) pour la transmission de signaux de commande y compris un signal d'accès en mémoire XY ;une mémoire vidéo (5) connectée au bus de transmission de données (17) et à un second bus de transmission de d'adresses (25) pour mémoriser des données de pixels d'image en des emplacements de mémoire correspondant à des adresses reçues par l'intermédiaire du second bus de transmission d'adresses (25) ;des moyens d'affichage (11) connectés à la mémoire vidéo (5) pour produire un affichage perceptible par l'opérateur et correspondant à des données de pixels d'image mémorisées dans la mémoire vidéo (5) ;un contrôleur (3) du système vidéo connecté au bus de transmission de données (17), audit premier bus de transmission d'adresses (21) et audit second bus de transmission d'adresses (25) pour commander le transfert de données entre ledit processeur de données (1) et la mémoire vidéo (5) par commande de l'adresse appliquée à la mémoire vidéo (5) par l'intermédiaire du second bus de transmission d'adresses (25), le contrôleur du système vidéo incluant :un registre d'adresses XY (341) connecté au bus de transmission de données (17) pour mémoriser des adresses correspondant à un emplacement particulier d'affichage exprimé par un code de position de trame ayant une partie X et une partie Y ;en ce que le registre d'adresses XY (341) est agencé de manière à contenir une pluralité de bits accessibles par le microprocesseur, la limite entre la partie X et la partie Y étant programmable de sorte que la partie X peut être définie de manière à occuper certains des bits du registre d'adresses XY (341), les bits restants faisant partie de la partie Y ; eten ce que le contrôleur du système vidéo inclut en outre :un registre à décalage XY (342) connecté audit registre d'adresses XY (341), le registre à décalage XY (342) étant agencé de telle sorte que certains des bits du registre à décalage XY (341) spécifient la limite entre les parties X et Y de l'adresse contenue dans le registre d'adresses XY (341) ; etdes moyens d'adressage (35, 43, 49) raccordés audit bus de commande (23), audit premier bus de transmission d'adresses (21), audit second bus de transmission d'adresses (25) et audit registre d'adresses XY (341) pour exécuter un cycle d'accès direct en mémoire XY, en envoyant une adresse provenant dudit registre d'adresses XY (341) à ladite mémoire vidéo (5) par l'intermédiaire dudit second bus de transmission d'adresses (25) lors de la réception d'un signal d'accès à la mémoire XY.
- Système vidéo selon la revendication 1, dans lequel : ledit registre d'adresses XY (341) est capable de mettre à jour ledit code de position de trame X et des codes de position de trame Y, mémorisés dans ce registre, en fonction de signaux de commande envoyés par le microprocesseur (1) pendant chaque cycle d'accès indirect dans la mémoire XY.
- Système vidéo selon la revendication 2, dans lequel : lesdits moyens d'adressage (35, 43, 49) délivrent ladite adresse provenant dudit registre d'adresses XY (341) à ladite mémoire vidéo (5) par concaténation dudit code de position de trame X, dudit code de position de trame Y et d'une pluralité de bits mémorisés dans le registre à décalage XY (342).
- Système vidéo selon la revendication 2 ou 3, dans lequel :ladite mémoire vidéo (5) possède une pluralité de plans de mémoire, chaque plan de mémoire ayant une entrée d'autorisation d'écriture en mémoire, qui permet à des données d'être chargées de façon indépendante dans un plan sélectionné de la mémoire, ce qui a pour effet que des données de pixels d'image possédant ladite pluralité prédéterminée de bits sont mémorisées dans chaque emplacement de mémoire ;ledit registre à décalage XY (342) est agencé de manière à comprendre une pluralité de bits de sélection pouvant être modifiés ;et lesdits moyens d'adressage sont agencés de manière à produire une sélection de plans de ladite mémoire vidéo en fonction desdits bits de sélection mémorisés dans ledit registre à décalage XY (342).
- Système vidéo selon l'une quelconque des revendications précédentes, dans lequel ladite mémoire vidéo (5) est agencée de manière à recevoir une adresse de ligne et une adresse de colonne multiplexées dans le temps dans ledit second bus de transmission d'adresses (25), et le système vidéo comprend un circuit (46) de verrouillage d'adresses de lignes, connecté audit premier bus de transmission d'adresses (21) pour mémoriser une adresse de ligne reçue depuis ledit processeur de données (1), et un circuit (41) de verrouillage d'adresses de colonnes connecté audit premier bus de transmission d'adresses (21) pour mémoriser une adresse de colonne reçue de la part dudit processeur de données (1).
- Système vidéo selon la revendication 5 comprenant: un multiplexeur (49) connecté audit second bus de transmission d'adresses (25) et audit second circuit de verrouillage d'adresses de lignes (47), audit circuit de verrouillage d'adresses de colonnes (41) et audit registre d'adresses XY (341) pour appliquer séquentiellement ladite adresse de ligne mémorisée dans ledit circuit de verrouillage d'adresses de lignes (47) et appliquer ladite adresse de colonne mémorisée dans ledit circuit de verrouillage d'adresses de colonnes (41) audit second bus de transmission d'adresses (25) en réponse à un signal de commande d'accès direct en mémoire (ALE, FS2-FS0) et pour envoyer séquentiellement ladite adresse de ligne mémorisée dans ledit registre d'adresses XY (341) audit second bus de transmission d'adresses (25) en réponse à un signal (ALE, FS2-FS0) de commande d'accès indirect dans la mémoire XY.
- Système vidéo selon la revendication 6, dans lequel :ledit registre à décalage XY (341) est agencé de manière à inclure une pluralité de bits de sélection pouvant être modifiés, qui sont mémorisés dans ce registre, etledit multiplexeur (49) est agencé pour envoyer ladite adresse de colonne à ladite mémoire vidéo (5) par l'intermédiaire dudit second bus de transmission d'adresses (25) lors de la réception d'un signal (ALE, FS2-FS0) d'accès à la mémoire XY en envoyant lesdits bits de sélection en tant que bits les moins significatifs de ladite adresse de ligne ou en tant que bits les plus significatifs de ladite adresse de colonne, conjointement avec les autres bits de ladite adresse de ligne et de ladite adresse de colonne provenant dudit registre d'adresses XY (341).
- Système vidéo selon l'une quelconque des revendications précédentes, dans lequel des parties du contenu dudit registre à décalage XY (342) peuvent être modifiées par ledit processeur de données (1).
- Système vidéo selon la revendication 8, dans lequel les bits situés dans le registre à décalage XY (341), qui spécifient la limite entre les parties XY de l'adresse contenue dans le registre à d'adresses (341), peuvent être modifiés.
- Système vidéo selon l'une quelconque des revendications précédentes, dans lequel ledit registre d'adresses XY (341) peut exécuter les opérations d'incrémentation, de décrémentation, d'effacement ou d'absence de modification dudit code de position de trame X et dudit code de position de trame Y en réponse à un signal de commande de mise à jour d'adresses XY.
- Système vidéo selon la revendication 10, dans lequel :ledit signal de commande de mise à jour des adresses XY est à même de spécifier le type de mise à jour du type de position de trame X et du type de position de trame Y lors dudit signal de commande d'accès direct dans la mémoire XY ; etledit registre d'adresses XY (341) ne modifie pas ledit code de position de trame X et ledit code de position de trame Y en réponse à un signal de commande de mise à jour d'adresses XY dans un premier état ;incrémente ledit code de position de trame X en réponse à un signal de commande de mise à jour d'adresses XY dans un second état ;décrémente ledit code de position de trame X en réponse à un signal de commande de mise à jour d'adresses XY dans un troisième état ;efface ledit code de position de trame X en réponse à un signal de commande de mise à jour d'adresses XY dans un quatrième état ;incrémente ledit code de position de trame X en réponse à un signal de commande de mise à jour d'adresses XY dans un cinquième état ;incrémente ledit code de position de trame X et incrémente ledit code de position de trame Y en réponse à un signal de commande de mise à jour d'adresses XY dans un sixième état ;décrémente ledit code de position de trame X et incrémente ledit code de position Y en réponse à un signal de commande de mise à jour d'adresses XY dans un septième état ;efface ledit code de position de trame X et incrémente ledit code de position de trame Y en réponse à un signal de commande de mise à jour d'adresses XY d'un huitième état ;décrémente ledit code de position de trame X en réponse à un signal de commande de mise à jour d'adresses XY dans un neuvième état ;incrémente ledit code de position de trame X et décrémente ledit code Y en réponse à un signal de commande de mise à jour d'adresses XY dans un dixième état ;décrémente ledit code de position de trame X et décrémente ledit code de position de trame Y en réponse à un signal de commande de mise à jour d'adresses XY dans un onzième état ;efface ledit code de position de trame X et décrémente ledit code de position de trame Y en réponse à un signal de commande de mise à jour d'adresses XY dans un douzième état ;efface ledit code de position de trame Y en réponse à la commande de mise à jour d'adresses XY dans un treizième état ;incrémente ledit code de position de trame X et efface ledit code de position de trame Y en réponse à un signal de commande de mise à jour d'adresses XY dans un quatorzième état ;décrémente ledit code de position de trame X et efface ledit code de position de trame Y en réponse à un signal de commande de mise à jour d'adresses XY dans un quinzième état ;et efface ledit code de position de trame X et efface ledit code de position de trame Y en réponse à un signal de commande de mise à jour d'adresses XY dans un seizième état.
Applications Claiming Priority (17)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63338784A | 1984-07-23 | 1984-07-23 | |
US633387 | 1984-07-23 | ||
US06/633,383 US4660156A (en) | 1984-07-23 | 1984-07-23 | Video system with single memory space for instruction, program data and display data |
US06/633,367 US4691289A (en) | 1984-07-23 | 1984-07-23 | State machine standard cell that supports both a Moore and a Mealy implementation |
US633384 | 1984-07-23 | ||
US633389 | 1984-07-23 | ||
US06/633,385 US4656597A (en) | 1984-07-23 | 1984-07-23 | Video system controller with a row address override circuit |
US06/633,384 US4665495A (en) | 1984-07-23 | 1984-07-23 | Single chip dram controller and CRT controller |
US06/633,386 US4656596A (en) | 1984-07-23 | 1984-07-23 | Video memory controller |
US633386 | 1984-07-23 | ||
US06/633,389 US4654804A (en) | 1984-07-23 | 1984-07-23 | Video system with XY addressing capabilities |
US06/633,388 US4660155A (en) | 1984-07-23 | 1984-07-23 | Single chip video system with separate clocks for memory controller, CRT controller |
US633385 | 1984-07-23 | ||
US633388 | 1984-07-23 | ||
EP85305225A EP0182454B1 (fr) | 1984-07-23 | 1985-07-23 | Contrôleur de système vidéo avec un circuit de dépassement de l'adresse de ligne |
US633367 | 1996-04-16 | ||
US633383 | 2000-08-07 |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP85305225.6 Division | 1985-07-23 | ||
EP85305225A Division EP0182454B1 (fr) | 1984-07-23 | 1985-07-23 | Contrôleur de système vidéo avec un circuit de dépassement de l'adresse de ligne |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0481534A2 EP0481534A2 (fr) | 1992-04-22 |
EP0481534A3 EP0481534A3 (en) | 1992-08-26 |
EP0481534B1 true EP0481534B1 (fr) | 1998-01-14 |
Family
ID=27575495
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP85305225A Expired - Lifetime EP0182454B1 (fr) | 1984-07-23 | 1985-07-23 | Contrôleur de système vidéo avec un circuit de dépassement de l'adresse de ligne |
EP91121915A Expired - Lifetime EP0481534B1 (fr) | 1984-07-23 | 1985-07-23 | Système vidéo |
EP91121918A Expired - Lifetime EP0482678B1 (fr) | 1984-07-23 | 1985-07-23 | Système vidéo |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP85305225A Expired - Lifetime EP0182454B1 (fr) | 1984-07-23 | 1985-07-23 | Contrôleur de système vidéo avec un circuit de dépassement de l'adresse de ligne |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP91121918A Expired - Lifetime EP0482678B1 (fr) | 1984-07-23 | 1985-07-23 | Système vidéo |
Country Status (3)
Country | Link |
---|---|
EP (3) | EP0182454B1 (fr) |
JP (2) | JPH05281934A (fr) |
DE (3) | DE3587744T2 (fr) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63201791A (ja) * | 1987-02-12 | 1988-08-19 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 処理システム |
US4884069A (en) * | 1987-03-19 | 1989-11-28 | Apple Computer, Inc. | Video apparatus employing VRAMs |
EP0283565B1 (fr) * | 1987-03-20 | 1992-12-30 | International Business Machines Corporation | Système d'ordinateur avec un sous-système vidéo |
US5001652A (en) * | 1987-03-20 | 1991-03-19 | International Business Machines Corporation | Memory arbitration for video subsystems |
JP2854867B2 (ja) * | 1987-09-14 | 1999-02-10 | ジーディーイー システムズ インコーポレイテッド | イメージ処理システム及び画素データ転送法 |
US5113180A (en) * | 1988-04-20 | 1992-05-12 | International Business Machines Corporation | Virtual display adapter |
JP3068842B2 (ja) * | 1990-08-27 | 2000-07-24 | 任天堂株式会社 | 画像処理装置におけるダイレクトメモリアクセス装置およびそれに用いる外部記憶装置 |
EP0847571A1 (fr) * | 1995-08-28 | 1998-06-17 | Cirrus Logic, Inc. | Circuits et methodes de commande du rafraichissement d'un tampon d'images comprenant une zone hors ecran |
TW316965B (fr) * | 1995-10-31 | 1997-10-01 | Cirrus Logic Inc | |
EP0786756B1 (fr) * | 1996-01-23 | 2009-03-25 | Hewlett-Packard Company, A Delaware Corporation | Arbitrage pour le transfert de données dans un contrôleur d'affichage |
US6678204B2 (en) * | 2001-12-27 | 2004-01-13 | Elpida Memory Inc. | Semiconductor memory device with high-speed operation and methods of using and designing thereof |
WO2010027983A1 (fr) * | 2008-09-03 | 2010-03-11 | Marvell World Trade Ltd. | Programmation de données dans une mémoire flash multi-plan |
US8300056B2 (en) | 2008-10-13 | 2012-10-30 | Apple Inc. | Seamless display migration |
US8368702B2 (en) | 2010-01-06 | 2013-02-05 | Apple Inc. | Policy-based switching between graphics-processing units |
US8797334B2 (en) | 2010-01-06 | 2014-08-05 | Apple Inc. | Facilitating efficient switching between graphics-processing units |
US8648868B2 (en) | 2010-01-06 | 2014-02-11 | Apple Inc. | Color correction to facilitate switching between graphics-processing units |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5810135B2 (ja) * | 1973-03-20 | 1983-02-24 | 松下電器産業株式会社 | ハイガスジヨウカヨウシヨクバイタイ |
JPS5834836B2 (ja) | 1975-12-29 | 1983-07-29 | 株式会社日立製作所 | デ−タヒヨウジセイギヨホウシキ |
US4125873A (en) * | 1977-06-29 | 1978-11-14 | International Business Machines Corporation | Display compressed image refresh system |
DE2922540C2 (de) * | 1978-06-02 | 1985-10-24 | Hitachi, Ltd., Tokio/Tokyo | Datenverarbeitungsanlage |
US4288706A (en) | 1978-10-20 | 1981-09-08 | Texas Instruments Incorporated | Noise immunity in input buffer circuit for semiconductor memory |
US4286320A (en) * | 1979-03-12 | 1981-08-25 | Texas Instruments Incorporated | Digital computing system having auto-incrementing memory |
JPS5926031B2 (ja) * | 1979-03-28 | 1984-06-23 | 日本電信電話株式会社 | 記憶素子 |
JPS5614346A (en) * | 1979-07-12 | 1981-02-12 | Toshiba Corp | Write and read system for frame memory unit |
JPS5631154A (en) * | 1979-08-23 | 1981-03-28 | Victor Co Of Japan Ltd | Memory device |
FR2465281A1 (fr) * | 1979-09-12 | 1981-03-20 | Telediffusion Fse | Dispositif de transmission numerique et d'affichage de graphismes et/ou de caracteres sur un ecran |
US4347587A (en) * | 1979-11-23 | 1982-08-31 | Texas Instruments Incorporated | Semiconductor integrated circuit memory device with both serial and random access arrays |
JPS5678881A (en) * | 1979-12-03 | 1981-06-29 | Hitachi Ltd | Graphic display device |
JPS56103642A (en) * | 1980-01-18 | 1981-08-18 | Shigekazu Nakamura | Crane having outrigger |
US4390780A (en) * | 1980-11-10 | 1983-06-28 | Burroughs Corporation | LSI Timing circuit for a digital display employing a modulo eight counter |
DE3138930C2 (de) * | 1981-09-30 | 1985-11-07 | Siemens AG, 1000 Berlin und 8000 München | Datensichtgerät |
DE3141882A1 (de) * | 1981-10-22 | 1983-05-05 | Agfa-Gevaert Ag, 5090 Leverkusen | Dynamische schreib- und lesespeichervorrichtung |
JPS58187996A (ja) * | 1982-04-28 | 1983-11-02 | 株式会社日立製作所 | 表示メモリ回路 |
JPS58189690A (ja) * | 1982-04-30 | 1983-11-05 | 株式会社日立製作所 | 画像表示装置 |
US4424372A (en) * | 1982-09-20 | 1984-01-03 | Timex Corporation | 4-Substituted phenyl 4'-(5-N-alkyl-1,3-dioxan-2-yl) thiobenzoates |
JPS5960488A (ja) * | 1982-09-29 | 1984-04-06 | フアナツク株式会社 | カラ−グラフイツクメモリのデ−タ書き込み装置 |
US4562435A (en) * | 1982-09-29 | 1985-12-31 | Texas Instruments Incorporated | Video display system using serial/parallel access memories |
JPS5974590A (ja) * | 1982-10-20 | 1984-04-27 | 株式会社日立製作所 | デイスプレイ装置のメモリ制御方式 |
JPS5991488A (ja) * | 1982-11-18 | 1984-05-26 | 株式会社東芝 | カラ−グラフイツクデイスプレイ装置 |
JPS5994590A (ja) * | 1982-11-19 | 1984-05-31 | Origin Electric Co Ltd | 被溶接物の位置合せ機能を備えた溶接治具 |
JPS59114588A (ja) * | 1982-12-22 | 1984-07-02 | 株式会社東芝 | パタ−ン書込み制御回路 |
JPS59114589A (ja) * | 1982-12-22 | 1984-07-02 | 株式会社東芝 | パタ−ン書込み制御回路 |
US4566005A (en) * | 1983-03-07 | 1986-01-21 | International Business Machines Corporation | Data management for plasma display |
JPH01193793A (ja) * | 1983-12-30 | 1989-08-03 | Texas Instr Inc <Ti> | メモリ装置 |
US4639890A (en) | 1983-12-30 | 1987-01-27 | Texas Instruments Incorporated | Video display system using memory with parallel and serial access employing selectable cascaded serial shift registers |
US4688197A (en) * | 1983-12-30 | 1987-08-18 | Texas Instruments Incorporated | Control of data access to memory for improved video system |
JPH0210434A (ja) * | 1988-06-28 | 1990-01-16 | Mitsubishi Electric Corp | プログラム言語トランスレータ |
JPH0254956A (ja) * | 1988-08-19 | 1990-02-23 | Mitsubishi Electric Corp | リードフレームの製造方法 |
JP3347773B2 (ja) * | 1992-09-17 | 2002-11-20 | 川崎製鉄株式会社 | 粉末冶金用純鉄粉混合物 |
JPH06100895A (ja) * | 1992-09-21 | 1994-04-12 | Nissan Motor Co Ltd | プラスチックバンパーの洗浄方法 |
JP3235878B2 (ja) * | 1992-09-21 | 2001-12-04 | 関東電化工業株式会社 | 固形洗浄剤の製造法 |
JPH06100896A (ja) * | 1992-09-22 | 1994-04-12 | Tatsuro Nagashima | 粉末洗剤の製造方法 |
-
1985
- 1985-07-23 EP EP85305225A patent/EP0182454B1/fr not_active Expired - Lifetime
- 1985-07-23 EP EP91121915A patent/EP0481534B1/fr not_active Expired - Lifetime
- 1985-07-23 EP EP91121918A patent/EP0482678B1/fr not_active Expired - Lifetime
- 1985-07-23 DE DE19853587744 patent/DE3587744T2/de not_active Expired - Fee Related
- 1985-07-23 DE DE19853588173 patent/DE3588173T2/de not_active Expired - Fee Related
- 1985-07-23 DE DE19853588174 patent/DE3588174T2/de not_active Expired - Fee Related
-
1991
- 1991-06-07 JP JP3162472A patent/JPH05281934A/ja active Pending
-
1997
- 1997-06-11 JP JP9153659A patent/JPH1091136A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE3587744D1 (de) | 1994-03-17 |
DE3588174D1 (de) | 1998-02-19 |
EP0482678A3 (en) | 1992-09-16 |
DE3588173T2 (de) | 1998-06-10 |
EP0481534A2 (fr) | 1992-04-22 |
DE3588173D1 (de) | 1998-02-19 |
EP0182454A3 (en) | 1988-03-23 |
EP0182454B1 (fr) | 1994-02-02 |
EP0482678B1 (fr) | 1998-01-14 |
DE3588174T2 (de) | 1998-06-10 |
EP0182454A2 (fr) | 1986-05-28 |
JPH05281934A (ja) | 1993-10-29 |
EP0482678A2 (fr) | 1992-04-29 |
EP0481534A3 (en) | 1992-08-26 |
JPH1091136A (ja) | 1998-04-10 |
DE3587744T2 (de) | 1994-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4665495A (en) | Single chip dram controller and CRT controller | |
EP0481534B1 (fr) | Système vidéo | |
US5345552A (en) | Control for computer windowing display | |
US5218274A (en) | Flat panel display controller using dual-port memory | |
US4907086A (en) | Method and apparatus for overlaying a displayable image with a second image | |
US4991110A (en) | Graphics processor with staggered memory timing | |
US5353402A (en) | Computer graphics display system having combined bus and priority reading of video memory | |
US5488385A (en) | Multiple concurrent display system | |
US4710767A (en) | Method and apparatus for displaying multiple images in overlapping windows | |
US4953101A (en) | Software configurable memory architecture for data processing system having graphics capability | |
US6094193A (en) | Display controller | |
EP0568078A1 (fr) | Interface externe pour un adaptateur graphique à haute performance assurant la compatibilité graphique | |
US4654804A (en) | Video system with XY addressing capabilities | |
US4782462A (en) | Raster scan video controller with programmable prioritized sharing of display memory between update and display processes and programmable memory access termination | |
US4656597A (en) | Video system controller with a row address override circuit | |
US4656596A (en) | Video memory controller | |
US5216413A (en) | Apparatus and method for specifying windows with priority ordered rectangles in a computer video graphics system | |
EP0279225B1 (fr) | Compteurs à configuration variable pour l'adressage dans les systèmes de visualisation graphiques | |
US4660155A (en) | Single chip video system with separate clocks for memory controller, CRT controller | |
US5058041A (en) | Semaphore controlled video chip loading in a computer video graphics system | |
US4691289A (en) | State machine standard cell that supports both a Moore and a Mealy implementation | |
US4660156A (en) | Video system with single memory space for instruction, program data and display data | |
EP0778577B1 (fr) | Circuit intégré à mémoire synchrone à semi-conducteurs, méthode d'accès et système comprenant cette mémoire | |
US5559533A (en) | Virtual memory hardware cusor and method | |
JP3017882B2 (ja) | 表示制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19920114 |
|
AC | Divisional application: reference to earlier application |
Ref document number: 182454 Country of ref document: EP |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): DE FR GB |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): DE FR GB |
|
17Q | First examination report despatched |
Effective date: 19941121 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AC | Divisional application: reference to earlier application |
Ref document number: 182454 Country of ref document: EP |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB |
|
REF | Corresponds to: |
Ref document number: 3588173 Country of ref document: DE Date of ref document: 19980219 |
|
ET | Fr: translation filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20010702 Year of fee payment: 17 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20010731 Year of fee payment: 17 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20030201 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20030331 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20040615 Year of fee payment: 20 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20050722 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: PE20 |