EP0255436A1 - Carte graphique et interface clavier souris - Google Patents

Carte graphique et interface clavier souris Download PDF

Info

Publication number
EP0255436A1
EP0255436A1 EP87401744A EP87401744A EP0255436A1 EP 0255436 A1 EP0255436 A1 EP 0255436A1 EP 87401744 A EP87401744 A EP 87401744A EP 87401744 A EP87401744 A EP 87401744A EP 0255436 A1 EP0255436 A1 EP 0255436A1
Authority
EP
European Patent Office
Prior art keywords
circuit
signal
video
input
processor
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.)
Granted
Application number
EP87401744A
Other languages
German (de)
English (en)
Other versions
EP0255436B1 (fr
Inventor
Bruno Cucinelli
Gérard Mantoux
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SAS
Original Assignee
Bull SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bull SAS filed Critical Bull SAS
Publication of EP0255436A1 publication Critical patent/EP0255436A1/fr
Application granted granted Critical
Publication of EP0255436B1 publication Critical patent/EP0255436B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/363Graphics controllers

Definitions

  • the present invention relates to an interface graphics card, keyboard, mouse.
  • keyboard interface cards keyboard interface cards
  • mouse interface cards graphics cards which are generally all connected to the buses of a central processor with which they cooperate to constitute a microcomputer having a certain number of functionalities.
  • the central processor is occupied not only with managing the operating programs of the system but also with managing the inputs and outputs between the various keyboard, mouse and graphical interfaces for display.
  • a first object of the invention is also to propose an electronic card making it possible to control a graphic screen with a resolution of 1024 X 768 points and to interface with a bus external to the card of the type or similar, or compatible with a bus.
  • VME type so that it can be connected to all types of central processor units having such an interface.
  • the graphics card and interface between a central processor (1) communicating asynchronously with this card by an external bus and a video monitor (9) characterized in that it comprises: - a set of video memories (45, 46) of capacity at least equal to the number of display points desired on the monitor (9), - at least one group of random access memories (43, 44 or 41, 42) for storing graphics application software, - a circuit (40) controller of the video system, managing the addresses of the different memories in order to refresh the memories, the video display and the updates of the data or programs and delivering the video signals; - a circuit (60) for serializing the delivered data by the video memory (45, 46) in cadence with a video clock H1; - a graphics processor (30) clocked by a clock (HO) and working in synchronism with the circuit (40) of the video system controller so as to execute the software programs contained in the random access memory group; - an interface circuit (20 to 22) between the external bus (VME) and the card buses
  • a second object of the invention is to propose a graphics card, interface, mouse keyboard which makes it possible to unload the central unit from the management of the display and the mouse, while having a high graphic resolution and by inserting on the same card, keyboard interface and sound generator.
  • the card further comprises: an input-output interface circuit (70) between a mouse (71), a keyboard (72) and the graphics processor (30) or the bus external (VME), this circuit being clocked by a third clock (H2).
  • a third goal is to relieve the processor of mouse management.
  • a fourth goal is to provide a graphics card that allows changes to the display graphics either by using the card's microprocessor or by a circuit specialized in block modifications.
  • the card comprises a logic block transfer circuit (50) controlled by logic (51), selected by the most significant address line (A23), and circuits logic (47 to 49) for selecting memories (41 to 46), the logic (51) ensuring sequencing control to transform a memory read-write instruction into a read-modify-write instruction by the circuit (50) and means (31) for isolating the graphics processor (31) from the memories.
  • a fifth object of the invention is to allow the loading and initialization of the system to be controlled from the central processor.
  • the card comprises a control register (29) making it possible, during the initialization of the system, to load the memories of the card and to load the different registers of the different circuits (50, 30, 40, 70).
  • a final goal is to ensure that during the serialization of the information to be transmitted to the graphic monitor, the blocking of the serialization of the data is carried out in time.
  • circuit (60) for serializing the data for the video display comprises an input for loading (LD) the data to be serialized from the registers of the video memory (45-46), allowing d '' invalidate the loading by the erasure signal (BLANK) coming from the circuit (40) of the video system controller.
  • LD input for loading
  • BLANK erasure signal
  • the central processor (1) is in communication with the card which is the subject of the invention by means of a bus external to the card of the type (VME) or similar or compatible with a bus of the VME type constituted an address bus (A) comprising 24 address lines, a data bus (D) comprising 16 data lines and a control bus (C) comprising the control lines.
  • This central unit (1) operates with a clock working at a rate different from that of the graphic interface card, keyboard and mouse, object of the invention.
  • This interface card is connected to the data bus of the external bus (VME) by a buffer (20), to the lines (1 to 20) of the address bus (A) by a buffer (21), lines (21 to 23) of the address bus and lines of the control bus by an arbitration and synchronization logic ( 23 to 27).
  • the buffer (20) is connected by a video data bus (VBD) comprising 16 lines numbered from 0 to 15, on the one hand to a set of random access memories (41, 42, 43, 44) and on the other to through a buffer (31), to a 16-bit microprocessor (30) sold by the MOTOROLA company under the reference (MC6810).
  • the video data bus (VBD) is also connected to a second set of random access memories (45, 46) will constitute what will be called hereinafter the "VIDEO RAM” which are used to store bit by bit graphic information.
  • the first two groups of memories (41, 42); (43,44) are connected by a memory address bus (AM) of 9 lines, to a circuit (40) controller of the video system marketed by the firm TEXAS INSTRUMENT under the reference "TMS9161".
  • the group of video memories (45, 46) is connected to 8 lines of the 9 bus lines (AM).
  • the microprocessor (30) and the controller (40) are synchronized with each other by a clock signal (SHO) delivered by a common clock (HO) operating at a frequency of 10 MHZ.
  • SHO clock signal
  • HO common clock
  • the video system controller (40) is connected to the video address bus (VBA) and to the given video bus (VBD) as described later with reference to FIG. 4.
  • a clock (H1) delivers on the one hand the clock signal to a serializer (60), on the other hand, this same signal to a logic circuit (62, 65) whose output (VH1) is connected to the video clock input of the circuit (40).
  • This circuit (40) also delivers the horizontal and vertical synchronization signal necessary for the display.
  • the erasure signal (BLANK) is delivered to a control logic (61) which is itself connected by its output to the circuit (60), serializing the information to be displayed.
  • the serializer (60) is connected by 16 lines of video data (VD) to the group of video random access memories (45, 46), and serializes the data signals for deliver them to a video monitor (9) responsible for displaying them.
  • the arbitration logic (23 to 27) is connected on the one hand to the graphics processor unit (30) constituted by the microprocessor (68010) and on the other hand through a control register (29) to this microporcessor (30).
  • a logic circuit for processing the interruptions (73) is connected on the one hand to the microprocessor (30), on the other hand to the outputs of a circuit (70) asynchronous communication interface adapter. On this circuit (70) are connected as input a mouse (71) and a keyboard (72).
  • This adapter (70) is connected by 8 lines to the data bus (VBD) and by 5 address lines to the address bus (VB1) of the card, and receives a clock H2.
  • a sound generator circuit (80, 82) is also connected to a number of data bus lines (VBD).
  • a bit block transfer circuit (50) is connected on the one hand by 16 lines to the data bus (VDB) on the other hand by 3 control lines to the address bus (VBA) and at the end by lines control to a logic (51) for controlling the block transfer circuit (50). This control logic (51) being selected by line 23 of the address bus (VBA), and receiving on another input the signal HO.
  • the card represented in FIG. 1 therefore essentially comprises the following functions: interface with a standard bus (VME); video controller operating at 10 MHZ; 1 mega bit video memory; 1 mega byte RAM memory; microprocessor (68010) for discharging the central microprocessor for graphics functions; a serial interface circuit (70) constituted by a circuit marketed by the firm MOSTEK under the reference (MK68564) operating as a serial interface for a mouse and a keyboard; a sound generator constituted by a circuit marketed by the firm TEXAS INSTRUMENT under the reference (SN 76496N); a bit block transfer circuit (50) sold by the firm PACIFIC MOUNTAIN RESEARCH INC under the reference (PMR 96016).
  • VME standard bus
  • video controller operating at 10 MHZ
  • 1 mega bit video memory 1 mega byte RAM memory
  • microprocessor (68010) for discharging the central microprocessor for graphics functions
  • a serial interface circuit (70) constituted by a circuit marketed by the firm MOSTEK under
  • VME data bus
  • BDO 16 lines of the data bus
  • VBDO 16 lines of card internal data
  • ENAVME / means that this signal is the inverse of the signal (ENAVME) and it is the same for the other signals of the description.
  • VME address bus
  • BAO1: 16 24 lines of the address bus (VME) sixteen (BAO1: 16) are sent on a unidirectional buffer (21) whose output is connected to the 16-bit video address bus (VBA01: 16).
  • This unidirectional circuit (21) is validated as an input by the signal (ENAVME /).
  • the following 4 lines of the address bus (VME) (BA17: 4) are connected, by a unidirectional buffer (22) operating as input to the card, to the lines (VBAM17: 4) which ensures through the video controller circuit ( 40) the selection of memory groups.
  • the input of addresses to the video controller circuit is validated by the signal (ENAVME /).
  • the last 3 lines of the address bus (VME) (BA21: 3) as well as the line (IACK /, interrupt acknowledgment) of the control bus (VME) and the line (BAS /, validation of bus addresses) of this control bus (C) are connected to the inputs (1, 2, 3) of a programmable logic network (23) (PAL).
  • This circuit (23) also receives the input signals (MPUBGT /, CSREG /, ENAVME /, VSCALE /, VCBWR /, DTA1 /, DTA2 /,) whose meaning we will see later.
  • This circuit (23) outputs a signal (MPUBRQ /), indicating a bus request from the central processor (1), this signal being sent to the input (BR) (bus request, bus request) of the microprocessor (68010) represented by the circuit (30) of FIG. 3.
  • the output signals (BGA /) (bus tuned) (VCBAS /) (validation of the addresses of the bus) (ENADS /) (validation of the data) and ( ENDTA2 /) are synchronized by a circuit (24) constituted by a set of flip-flops receiving the same clock signal (SCLOCK /) coming from the output (2810) of the clock circuit (28).
  • the programmable logic network (23) also receives as input the signal (MPUDTAC /) generated by the output of a 3-state buffer circuit (268) of FIG. 2B.
  • a buffer circuit (25) for memorizing the input of the control signals from the external control bus (VME) receives on its inputs the lines (BDS0, BDS1 /) and (WRITE /) and delivers during validation by the signal (ENAVME /) the card control signals (VCBDS0 /, VCBDS1 /) which are used respectively to distinguish the most significant and the least significant data and the signal (VCBWR /) which is sent to an inverter (251) to generate the signal (VCBWR) validating a data output towards the external bus (VME).
  • a fourth input (254) of the buffer (25) receives the signal (VMEDTAC /) and outputs a signal (BDTACK) to the control bus (VME) this signal indicating an acknowledgment of the data.
  • the signals (SYSRESET /) from the control bus (VME) is sent to two inverters (255, 256) connected in series. The output of the inverter (256) generates the signal (RESET /), which is the system reset signal.
  • a buffer (257) whose output is connected to the line (BIRQ /) of the bus (VME), transmits the interruption requests provided by the signal (INTRQ /), signal delivered by the output (IT /) of the input-output serial interface (70 fig. 7).
  • the outputs (VCBDSO /) and (VCBDS1 /) of the buffer (25) are sent on two OR doors with two inputs respectively (258, 259) one of the two inputs of which is provided by the output (Q3) of the register (24) whose input (I3) receives the data validation signal (ENADS /).
  • the output of the OR gate (258) delivers the validation signal for low addresses (VCBCEL /), which is sent on the one hand to the input (CEL) of the circuit (40) formed by the video system controller and d on the other hand on an entry of an OR gate (261) with two entries.
  • the output of the OR gate (259), delivering the signal for enabling high addresses (VCBCEH /), is sent to the input (CEH) of the circuit (40).
  • the address lines (VBAM17 to 20) are connected to a NAND gate (260) with four inputs, the output of which is itself connected to the second input of the OR gate (261).
  • the output of the AND gate (260) is also connected to an inverter (262) which outputs the signal (CSVSC /), signal for selection of the video system controller (40).
  • This signal (CSVSC /) is sent to the selection input of the circuit (CS /), of the circuit (40) constituting the video system controller.
  • the output of the OR circuit (261) delivers the signal (CSREG /) signal for selecting the registers, which is sent to the input for disabling a decoder (263).
  • This decoder (263) receives on its two inputs (A1, AO) the lines (VBAM16) and (VBAM15) respectively.
  • the output (Q0) of this decoder (263) delivers the signal (CSMAR /), signal for selection of the control register (29).
  • the output (Q1) of this decoder (263) delivers the signal (2631) which is transmitted to the input of the inverter (264 Fig. 2B), the output of which is connected to an input of a NAND gate (265) with two inputs, the second input of which receives the signal (VCBWR) supplied by the bus (VME).
  • This NAND gate (265) delivers a signal (CSBLT /) which is the selection signal for the bit block transfer circuit (50 FIG. 5).
  • the output (Q2) of this decoder (263) delivers the signal (CSON /) which is the signal for selecting the circuit sound generator (80 Fig. 8).
  • the output (Q3) of the decoder (263) delivers the signal (CSSIO /) which is the selection signal of the input-output serial interface circuit (70 Fig. 7).
  • the activation of the signals (CSMAR /, CSBLT /, CSSON /, CSSIO /), for selection of the respective boxes (29, 50, 80, 70) is given by the table below.
  • the output (CSREG /) of the OR circuit (261) is also connected to an OR gate (266) with two inputs, the second input of which receives the signal (VBAM16).
  • the output of this OR circuit (266) is connected to the input (NS) (setting a flip-flop (267) to 1 whose clock input (H) receives the signal (SNDTAC /) from the circuit ( 80) of the sound generator and the reset input (NR) receives the signal (VCBAS) for validation of the addresses of the bus coming from the circuit (23).
  • the output (Q /) of this flip-flop (267) is sent on the validation input of a 3-state buffer (268), the input of which receives a logic level 0 and the output provides the signal (MPUDTAC /) data acknowledgment signal for the microprocessor (1) and for the circuit input-output serial interface (70).
  • This signal (MPUDTAC /) is sent on the one hand on the input (DK) of the serial input-output interface (70) on the other hand on an input of an OR gate (36) with two inputs, the second input of which receives the signal (ENADTA), signal which comes from (to be completed).
  • output from the OR gate (36) delivers a signal to the input (DK) of the microprocessor (30) data acknowledgment signal for the microprocessor.
  • the signal (VCBAS /) of the circuit (23) is sent to the input of the inverter (340) whose output delivers the signal (VCBAS) to the loading input (PL) of a counter (34) of which the clock input (CP) receives the signal (E) delivered by the output (E) of the microprocessor (30).
  • This output (E) delivers a validation signal whose clock period is equal to 10 clock periods of input from the microprocessor.
  • the output (TC) of this counter (34) delivers the signal (BERR /) to the input (BERR) of the microprocessor (30), this input informing the processor that a problem has occurred in the running cycle. .
  • This signal (BERR /) (bus error) makes it possible to prohibit read access to the control register (29), the bit block transfer circuit (50) and the sound generator (80).
  • the signal (CSREG /) is active and the signal (VCBAS /) is also active.
  • This signal (VCBAS) resets the flip-flop (267) to 0 and consequently prevents the generation of the signal (MPUDTAC) which is the data acknowledgment signal for the microprocessor.
  • This signal (MPUDTAC) not being generated the input (DK) of the microprocessor (30) does not receive the acknowledgment signal and therefore after ten periods the signal (E) is generated by the microprocessor ( 30) and will generate through the counter (34) validated by the signal (VCBAS), the signal (BERR /) indicating to the microprocessor (30) indicating an error.
  • the output (CSMAR /) of the decoder (263) is sent to the input of an inverter (291) whose output is connected to an input of a NAND gate (290).
  • the second input of the NAND gate (290) receives the signal (VCBWR) which comes from the output of the inverter (251 Fig.2A).
  • the output from the NAND gate (290 Fig. 2B) delivers the signal (WRMAR /) write signal from the control register (29) consisting of a set of eight selectively addressable flip-flops.
  • the signal (WRMAR /) is sent to the validation input of all eight flip-flops (29).
  • the reset input (NR /) to "0" of the flip-flops of the circuit (29) receives the signal (RESET /) from the output of the inverter (256 fig.2A).
  • the inputs (A0 to A3) for selective addressing of the flip-flops of the circuit (29) receive the address lines (VBAO1 to 03). These address lines make it possible to individually select each of the flip-flops (Q0 to Q7).
  • the value provided by the seventh line (7) of the data bus (VBDO7) makes it possible to position the output of the selected flip-flop at 0 or 1.
  • the signal (CSMAR /) for selecting the register (29) must be made active.
  • the signal (MPUHLT /) delivered by the output (Q2) of the third flip-flop of the register (29) is sent to the input validation (I) of a buffer (35) whose data input (IO) receives a logic "0" and the output (5) transmits the signal (HT) to the input (HT) of the microprocessor (30 ).
  • This signal (MPUHLT) is used to stop the processor at the end of the current bus cycle.
  • FIG. 3 there is shown the graphics microprocessor (30) which works with a signal (SCLOCK) of 10 Mega Hertz provided by a clock (H0) operating at 20 mega Hertz connected to the clock input of a flip-flop ( 281) whose output (Q) delivers the signal (SCLOCK) at the frequency of 10 Mega Hertz.
  • the output (SCLK) of the 20 Mega Hertz oscillator (HO) is also sent to the clock input of a second flip-flop (282) whose validation input (D) receives the signal (BGACK /) for acknowledging the allocation of the bus and the output (Q) delivers the signal (ENAVME /) validation signal from the external bus (VME) enabling the buffers (20, 21, 22, 25) of the card to be validated graphic.
  • the 16 data inputs / outputs (D0 to DF) of the graphics processor (30) are decoupled, by a bidirectional buffer (31) from the data bus (VBD0: 16) of the graphics card.
  • the purpose of this buffer (31) is to isolate the graphics processor (30) from the card's data bus for block transfer operations during the use of the circuit (50) as will be seen below.
  • the output (AN) corresponding to the address bits (VA23) of the graphics processor (30) is sent to the blocking input (CD) of the buffer (31).
  • Activation of this line (VA23) causes blocking of the buffer (31) and isolation of the data bus of the graphics card (VBDO: 16) of the 16 input lines of the graphics processor (D0 to DF).
  • the 20 address input-outputs are connected on the one hand to the internal address bus on the card (VBA01: 16) coming from the buffer (21) and on the other hand to the memory address bus from the card (VBAM17: 4).
  • the outputs (US, LS) corresponding to the validation of the upper data, respectively lower, are respectively connected to the buffers (252, 251) to deliver the respective signals (VCDBS1 /, VCDBS0 /).
  • the address validation output (AS) is connected to the output of the circuit (23) delivering the signal (VCBAS /).
  • the output (WR) read, write) is connected to the output of the buffer (253) delivering the signal (VCBWR). This signal (VCBWR) indicates a write or a read.
  • the input (BR) of the circuit (30) indicating a bus request receives the signal (MPUBRQ /) coming from the circuit (23) and indicating to the microprocessor (30) a bus request from the external bus (VME) and of the unit centered on 1 (CPU).
  • the output (BG) indicates to the requesting circuit (23) that the microprocessor (30) has taken into account its request presented on the input (BR) and signals that it will cede the buses at the end of the current bus cycle. This output is sent to the input (MPUBGT /) of the circuit (23).
  • the outputs (CO, C1, C2) of the microprocessor (30) indicate the state of the processor as to whether it is in user mode, in supervisor mode or in interrupt recognition.
  • NAND gate (32) with four inputs, the fourth input of which receives the signal (VCBAS) supplied by the output of the inverter (340).
  • the output of this NAND gate (32) is sent to the input (PA) of the processor (30) and constitutes the signal (MPUVPA /).
  • This signal (MPUVPA /) valid peripheral address indicates to the microprocessor that the data transfer will be synchronized with the signal (E) because a peripheral wishes to converse with the processor synchronously. This entry also indicates that the processor will be in autovectorized mode in the event of an interruption.
  • the processor (30) receives an interrupt request from the system video controller circuit (40) or an interrupt from the mouse (71) or an interrupt from the control register (29) issued by the output (Q4) from this register and caused by the CPU (1) at through the external bus (VME).
  • the outputs (C0, C1, C2) are at level "1” and the signal (VCBAS) is also at level "1", which activates the signal (MPUVPA /) which puts the processor in mode autovectorized.
  • the interrupt vector number is generated internally depending on the level.
  • the interrupt levels are determined by the interrupt inputs (LO, L1, L2), the input (L0) corresponds to level 1 and receives the signal (VSCINT) which represents the interruptions generated by the video controller (40) .
  • the input (L1) corresponds to the level 2 interruptions and receives the signal coming from the output (Q /) of a rocker (73) indicating an interruption coming from the second channel (B) of the serial line of the circuit (70) , this channel (B) corresponding to the mouse.
  • the input (L2) corresponds to level 4 and receives the signal (MPUINT /) coming from the output (Q4) of the register (29), this signal indicating an interruption generated by the control register of the card, this interruption being activated on the bus (VME).
  • the connections of the video controller (40) with the memory groups (41 to 46), the arbitration logic and the graphics processor (30) will now be described in connection with FIG. 4.
  • the video system controller circuit (40 ) receives on its clock input (CLK) the clock signal (SCLOCK) coming from the output (Q) of the flip-flop (281) and delivering a synchronous signal of the clock signal of the graphics processor (30).
  • the outputs (BLANK, HSYNC, VSYNC) respectively deliver the signals erase, horizontal sync, and vertical sync to the video monitor.
  • the inputs (CAD to 7) are connected to the address lines (01 to 08) of the address bus (VBAO1: 8).
  • the ninth address input (CA8) receives the signal (VBAM 18) from the output of the buffer (22).
  • These eight inputs are multiplexed on the outputs of the memory addresses (MAO to MA8) during the column address intervals.
  • the inputs (RAO to RA8) receive the lines (VBA9 to VBA17) from the internal address bus of the card. These nine address inputs are multiplexed to the outputs (MAO to MA8) during the line address intervals.
  • the input (CEL) for validation of the low column addresses receives the signal (VCBCEL) coming from the output of the OR gate (258).
  • the input (CEH) for validation of the tall column addresses receives the output of the OR gate (259) constituting the signal (VCBCEH).
  • the input (R / W) receives the signal (VCBWR /) coming from the output of the buffer (253).
  • the active edges of this signal are synchronous but offset by half a period with respect to the active edges of the clock signal (SCLOCK) of the video controller (30).
  • the data inputs (D0 to D7) of the video controller (40) are connected to the data bus (VBD0: 8). These inputs are used exclusively to load the internal registers of the video controller during card initialization.
  • the output (RDY) of the circuit (40) is connected to the output (MPUDTAC) of the buffer (268) and to the input of the OR gate (36) to indicate an acknowledgment of data reception to the processor (30) since the latter has requested a memory cycle.
  • This output (RDY) is also connected to the input (DK) of the input-output serial interface (70) and to an input (4) of the circuit (23) as well as to the input of the register (244 ) of the circuit (24).
  • the input (HOLDACK) of the circuit (40) being at logic level "1" indicates that the signal (RDY) is active at the low level.
  • the output (INT /) indicating interrupt requests is connected to the input (LO) of the processor (30) corresponding to the level 1 interrupts.
  • This input (LO) and the input (L2) are each connected by a resistance R at a reference voltage +5 volts, this assembly having the aim of guaranteeing the high logic level as a rest state.
  • the input (RESET) of the circuit (40) is connected to the output of the inverter (256) of FIG. 2A.
  • the input (VIDCLK) of the circuit (40) receives the signal (SVIDCLK) coming from the output of the circuit (65) of figure 6. This input makes it possible to supply the video clock signal which is responsible for the generation of the synchronization for synchronization and erasure signals and also logic for generating internal requests for refresh of the display and random access memories.
  • the outputs (CASLO and CASH1) of the circuit (40) make it possible to select in a memory group the bits which correspond to the most significant or the least significant, that is to say the data from 0 to 8 or from 8 to 16.
  • the output (CASLO) is connected to an input of an OR gate (48), a second input of which receives the signal (ENACAS /), delivered by an output (510) of a programmable logic circuit (51) FIG. 5A for controlling the bit block transfer circuit (50).
  • the output of the OR gate (48) is connected to each of the inputs (CS) for selecting the memory boxes corresponding to the boxes of the least significant bits of each memory group.
  • the output (CASH1) is connected to an input of an OR gate (49), a second input of which also receives the signal (ENACAS /).
  • the output of the OR gate (49) is connected to each of the memory box selection inputs (CS) corresponding to the most significant bits in each memory group.
  • the output of the OR gate (49) is connected to the inputs (CS) of the memory boxes (42, 44 and 46). While the output (48) is connected to the memories (41, 43, 45).
  • the output (RAS0) of the box (40) makes it possible to select the first group of memories constituted by the boxes (41 and 42).
  • the output (RAS1) makes it possible to select the second set of memories constituted by the boxes (43, 44).
  • the output (RAS2) makes it possible to select the third group of memories constituted by the video random access memories (45, 46).
  • Each memory receives on its input (W) the signal coming from an OR gate (47) of which a first input receives the output (W /) of the box (40) and the second input the signal (ENAWR /) coming from the output (511) of the logic circuit (51) controlling the bit block transfer circuit (50).
  • the nine outputs (MAO to MA8) of the box (40) are connected to each of the nine or eight input lines of the memory boxes.
  • the output (TRQE) of the circuit (40) is connected to the inputs of the same name of the groups (45, 46) of the video random access memories. This output (TRQE) delivers the transfer signals from the registers and validation of the outputs which allow direct control of the output buffers of these video RAMs.
  • the memories are organized into two groups of 256 KMOTS of 16 bits each. Each group consists of 16 dynamic memory boxes of 256 Kbits mounted on two bars (41, 42) of eight boxes each for the first group and on two other bars (43, 44) of eight boxes each for the second group of memories vivid.
  • the video memories (45, 46) form a third group which consists of 16 dual access memory boxes of 64 Kbits marketed by TEXAS INSTRUMENTS under the reference "TMS4161" and mounted on four bars (45, 46) of four boxes.
  • the addresses (VBAM17 and VBAM18) are connected respectively to the inputs (RA8, and CA8) of the system video controller (40) to have a continuous address space with the different memory organizations, depending on what we are dealing with.
  • first and second group of random access memories 41, 42, 43, 44 or to the group of video memories (45, 46) of 64 K-Bits.
  • CA8 and (RA8) are not taken into account by the memories (45, 46) of this group because they have only 16 address bits (CA0 to CA7) and (RA0 to (RA7)
  • the selection of a group of memories among the three is done with the address lines (VBAM19 and VBAM20) according to the table below which gives the organization of the address space of the card seen by the bus. (VME).
  • the video memories (45 and 46) comprise, as can be seen in FIG. 4, two types of outputs, a first set of outputs (VDBO: 8) and (VBD08: 8) connected to the internal bus of the card (VBD0: 16 ) and a second set of outputs consisting of 250-bit shift registers used to transfer the content of the memory to the video serializer (60) figure 6. These outputs are noted (VD OO: 8) and (VDO8: 8) and are connected to the inputs (D0 to D15) of the serializer (60).
  • the sequencing is controlled by the output (TRQE) of the circuit (40) and the clock input (SHCLK) coming from the output of the circuit (66).
  • the video controller (40) has three inputs (FS0, FS1, FS2) which make it possible to identify and fix the memory access modes, which can be direct and also the accesses to the internal registers of the circuit (40).
  • the input (FS2) is permanently wired at a logic level "0" and the other inputs (FS1, FS0) respectively receive the outputs (Q1 and Q2) from a decoder (48) which generates the signals (VSCFS1 and VSCFS0 ) according to the address bits (17, 18).
  • the inputs (A0 and A1) of the decoder (480) are respectively connected to the lines (VBAM17 and VBAM18).
  • the decoder validation input (480) is connected to the output of a NAND gate (470) which receives the lines (VBAM19 and VBAM20) on its two inputs.
  • the table below gives the values present at the inputs (FS0 and FS1) as a function of the values on the address lines (VBAM), that is to say the hexadecimal addresses sent on the bus (VME).
  • VBAM address lines
  • VME hexadecimal addresses sent on the bus
  • FS0 and FS1 one obtains either direct accesses of the graphics processor (30) on the memories or the video memories either indirect accesses, or accesses registers.
  • the table below diagrams the operation of the decoding and of the video circuit (40).
  • the bit block transfer circuit (50) and the command and control circuit (51) of this circuit will now be described in connection with FIG. 5A.
  • the command and control circuit (51) constituted by a logic and programmable network which receives on its clock input the output signal of an inverter (513) whose input receives the signal (SCLK) coming from the output of the clock (H0).
  • This programmable logic network (51) synchronized on the clock (H0) receives on a first input the signal (BGACK /) of acknowledgment of receipt of the provision of the bus, on a second input the signal (VCBAS /) indicating the validation of the addresses of the bus, on a third input the signal (VA23) coming from the processor (30), on a fourth input the signal (VCBWR) coming from the output of the inverter (251) figure 2.A. On a fifth input the signal (DTA1 /) coming from the output of the fifth register of the circuit (24) of figure 2.A. On the sixth input the signal (MPUDTAC /) coming from the output of the buffer (268).
  • the output (514) delivering the signal (LDSCR /) indicating the loading of the source address is sent to the input (LDSRC /) (500) of the circuit (50).
  • the output (515) delivering the signal (LDDEST /) indicating the loading of the destination address is delivered to the input (LDDEST /) (501) of the circuit (50).
  • the output (516) delivering the signal (BLTOE /) is sent to the input (OE /) (502) input for enabling the block outputs.
  • the circuit (50) receives on its inputs (A1 to A3) the signals (VBAO1: 3) and on its inputs (DO to D15) the sixteen lines of the data bus (VBD 0: 16).
  • the inputs (A1 to A3) of the circuit (50) make it possible to select the internal registers of this circuit and the data inputs (DO to D15) make it possible to work on the memory data addressed by the processor (30).
  • the circuit (50) receives on its input (503) (CS /) for selecting the circuit the signal (CSBLT /) coming from the output of the door (265) in FIG. 2A.
  • This transfer circuit makes it possible to modify the data generated in writing by the processor (30) and by the use of suitable software makes it possible to accelerate the operations of screenshots. To do this, these circuits load the data indicated by a source address transform them according to established rules and send this data to a destination address in the video memory.
  • This circuit (50) comprises a certain number of registers which can be initialized by accesses to determined addresses so as to effect certain transformations such as rotation or video reversal or other more complex functions, according to the programming of the registers. of the circuit (50).
  • the access addresses to these registers are between the values (7E1000 and 7E800E) in hexadecimal or between the values (1E8000 and 1E800E) in hexadecimal for the graphics processor of the card.
  • the different registers of the bit block transfer circuit (50) are addressed according to the table below:
  • the first phase of the block transfer cycle consisting of a source read appears as a normal memory read cycle for the processor (30) except that the signal (LDSRC /) is activated by the programmable logic network (51) following the presence of the signals (VA 23) and (VCBAS /).
  • the active signal (LDSRC /) loads the source data into the circuit (50) when the data read is stabilized on the internal data bus (VBD).
  • the processor (30) writes to the destination address.
  • the data buffer (31) remains in the high impedance state following the activation of the signal (VA23) on the invalidation input of this buffer (31).
  • the programmable logic network (50) puts at level "1" the output (511) representing the signal (ENAWR /), signal for disabling writing in the memories. This signal (ENAWR /) deactivates the signal (RAMWR /) via the gate (47). In this way, the write cycle of the processor (30) is transformed into a memory read cycle for the second phase of the bit block transfer cycle.
  • the stabilization of the data is signaled by the activation of the signal (MPUDTAC /) by the circuit (40) and this signal sent to an input of the circuit (51) generates the signal (LDDEST /) which loads the destination data in the circuit ( 50) transfer of bit blocks.
  • the second phase corresponds to arrow 2 in the diagram in Figure 5.B.
  • the signal (DTA1 /) becomes active on the second falling clock edge following this activation. This corresponds to the wiring diagrams in the register (244). Following the activation of the signal (DTA1), this signal sent to the input of the register (51) causes the deactivation of the signal (LDDEST /) (arrow 5 in FIG. 5B) and the rising clock edge which follows this deactivation causes signal level 1 (ENACAS /). This signal (ENACAS /) sent to the inputs of the doors (48, 49) of Figure 4, causes the blocking of the column address validation signals (RAMCAS0 /, RAMCAS1 /).
  • This third phase indicated by arrow 3 in Figure 5.B ends the reading cycle on the memory and one enters the data writing cycle, modified by the circuit (50), which is constituted by phase 4.
  • the circuit (51) activates the signal (BLTOE /) and deactivates the signal (ENAWR /) so as to validate the write signal (RAMWR /).
  • the circuit (50) executes the functions programmed in advance on the destination data.
  • the circuit (51) again activates the signal (ENACAS /) to select at memory again.
  • the write signal (RAMWR /) remains validated and consequently, the writing to the destination address of the modified data is executed.
  • the passage to "0" of the signal (ENACAS /) allows the falling clock edge following this passage to let the microprocessor finish its destination write cycle in a normal manner.
  • the circuit (40) deactivates the signal (W /) which itself will cause the deactivation of the circuit output (BLTOE /) PAL (51) and therefore the end of data output for the block transfer circuit (50).
  • the interface circuit (70) parallel input-output will be described with the help of FIG. 7.
  • This interface circuit (70) receives on its input (RS) reset to "0" the signal (RESET / ) from the output of the inverter (256) of Figure 2.A.
  • Its input (CS) for selecting the box receives the signal (CSSIO /) coming from the output Q3 of the decoder (263) of FIG. 2.A, which delivers the signal for selecting the box.
  • the input (RW) receives the erection or read signal of the box coming from the output of the buffer (253) which delivers the signal (VCBWR /).
  • the input (X1) of the baud rate generator receives the output of an oscillator (H2) working at a frequency of 2.45 Mega hertz.
  • the inputs (A1 to A5) of the box (70) are connected to the lines (VBAO1 to VBAO5) of the address bus of the card so as to address each of the 25 internal registers of the housing.
  • the data inputs (DO to D7) of the circuit (70) are connected to the lines (VBD0 to VBD07) of the internal bus of the card in a way, on the one hand, of being able to load the internal registers with the desired values and d On the other hand, being able to receive and transmit data to the input and output devices that are the keyboard and the mouse.
  • the input (RDA) receives the input data from the keyboard and is connected to the differential amplifier (720) whose inputs are connected to the positive and negative connection terminals for data transmission from the keyboard.
  • the input (RDB) of the circuit (70) receives the data coming from the mouse through a differential line receiver (710).
  • the output (TDB) of the housing (70) is connected by a differential line receiver (711) and by a register (712) to the data reception input for the mouse.
  • the output (TDB) transmits the data to be transmitted to the mouse.
  • the inputs (DTRA / and DTRB /) of the circuit (70) are respectively connected to the outputs (Q4 and Q2) of the flip-flops of the circuit (29) of FIG. 2 delivering the signals (MPUINT /) and (MPUHLT /).
  • the output (IT) indicating an interrupt request is sent to the input (INTRQ /) of the flip-flop (257) connected to the bus (VME) of FIG. 2.A.
  • the output (RRDYB /) delivers the signal (MOUSIT) which after inversion by the inverter (74) is sent to the input (NS) of the scale (73).
  • the input (SYNCB /) receives the signal (INTVME /) coming from the output (Q6) of the register (29) of figure 2.B.
  • the interrupt acknowledgment input (IK) receives the signal (VCBIAC /) from the output of the same name of the circuit (23) of Figure 2.A.
  • the output (DK) acknowledgment of data is connected to the circuit delivering the signal (MPUDTAC).
  • This output (DK) delivers a signal which indicates to the processor (30) that the data is ready or that the interface circuit (70) has accepted the data.
  • the clock clock input (CK) of the circuit (70) receives the signal (SIOCLK) from the output of the register (248) of figure 2.A, register whose output is looped back to the input via an inverter so as to constitute a frequency divider by 2.
  • the output of this register (248) therefore delivers a signal (SIOCLK) with a frequency of 10 Mega Hertz since the clock of the register (CLOCK) has a frequency of 20 Mega Hertz.
  • the input-output interface (70) is connected to function as a serial-parallel interface with two separate channels, one for the keyboard and the other for the mouse, and generates interruptions to the bus. (VME).
  • VME interruptions to the bus.
  • the differential line receiver (720) of the keyboard channel makes it possible to adapt the level of data transmitted to the level of the circuit (70).
  • the circuit (70) is normally programmed to generate an interrupt by the output (IT) to the bus, upon receipt of a character. In response the signal (VCBIAC /) of acknowledgment of receipt of the interrupt from the bus (VME) is generated, which allows the circuit (70) to transmit an interrupt vector on the 8 weight bits weak data bus.
  • this interruption vector indicates that it is an interruption in the reception of a character, an interruption that could be called normal, the character received, which during this time there was stored in the internal register of the circuit (70), can then be read by the bus (VME).
  • the channel (B) of the circuit (70) manages the inputs and outputs of the mouse, the circuit (70) is programmed so that, when receiving a character from the mouse, the output (RRDYB) is activated and generates through the flip-flop (73) a level 2 interrupt on the input (L1) of the processor (30). This interrupt, thereafter, will be processed by the processor.
  • An interrupt to the bus (VME) can be generated by the local processor (30) by activating the input (SYNCB /) of the circuit (70) via the signal (INTVME /) of the register (29) of Figure 2.B. (How?).
  • the sound generator circuit (80) represented in FIG. 8 receives on its inputs (DO to D7) the lines (VBDO to VBDO7) of the internal data bus of the card.
  • the circuit input (DO) is connected to the line (VBD07) while the input (D7) is connected to the line (VBD00) of the data bus.
  • the input (WE) for writing the internal registers of the circuit (80) receives the signal (VCBWR /) from the buffer (253) of FIG. 2.A.
  • the input (CE) for selecting the circuit (80) receives the signal (CSON /) delivered by the output (Q2) of the decoder (263) of FIG. 2.A.
  • the clock input (CLK) of the circuit (80) receives the output of a NAND gate (81) one of the inputs of which receives the signal (ENASON /) delivered by the output (Q3) of the control register ( 29) and the other input receives the clock signal (SERCK) from the clock (H2) with a frequency of 2.45 Mega-Hertz which serves as a clock for the serial output input interface.
  • the signal (ENASON /) allows the power-up not to validate the clock signal for the circuit (80) therefore, to prevent the generation of a fortuitous sound as soon as the system is started up.
  • the video interface circuit comprising the serializer (60) shown in FIG. 6 has a clock generator (H1) stabilized by a 90 Mega-Hertz quartz whose signal is sent to the input (DCLK) of the serializer ( 60). This frequency is divided by 16 by the circuit (63) to generate the video clock (VIDCLOK) of the video controller (40). This clock is the basis for the generation of horizontal and vertical synchronization and erase signals.
  • the serializer (60) receives the 16 bits (VDOO: 8, VDO8: 8) on its data inputs (D0 to D15) in parallel to send them in series to the graphic screen at the clock frequency (H1) .
  • Two flip-flops (D61, D62) generate the sequencing constituted by the loading of the circuit (60) and the data shifts for the video memory (45, 46).
  • the flip-flop (62) delivers, through the amplifier (66), the signal (SHCLK) for shifting the data from the video memory.
  • the flip-flop (61) delivers the signal (SHRGLD) to the input (LD /) of the circuit (60) to trigger the loading of the data supplied by the lines (VD) of the registers of the video memories into a buffer register of the circuit (60).
  • the flip-flop (61) is validated by the output of the amplifier (64) which receives on its two inputs the signal (BLANK /) supplied by the corresponding output of the circuit (40) of the video controller and the signal (ENAVID /) of validation of the video supplied by the output (Q0) of the control register (29) of FIG. 2.A.
  • the output of the circuit (64) is sent to the input for setting "1" (S1) of the flip-flop (61) so as to block this flip-flop to prevent the loading of the data supplied by the lines (VBD) of the memory video during the horizontal and vertical return of the spot.
  • the output (Q1) of the circuit (61) is also sent to the input (CE2 /) of the circuit (62) to invalidate the output (Q2) of the flip-flop (62).
  • This output (62) provides the signal (SHCLK) which blocks the shift of the registers of the video memories (45, 46).
  • the bit block transfer circuit (50) selected by the address line (23) makes it possible to transform a read-write write cycle of the microprocessor (30) into a read-modify-write cycle when one is on the page. address range from 9 to 16 Mega bits.
  • the software for managing interruptions, controlling the video display and managing the multi-window will be stored in the memory groups (1 and 2). Memory groups 1 and 2 also allow the storage of hidden bitmaps. On this card everything has been done to obtain operation at the highest possible speed with the microprocessor (30) which is installed.
  • the main processor (CPU) (1) will never see the screen as it is and will always go through the intermediate memories (41, 42, 43, 44).
  • the keyboard as long as it is seen by interruption by the central processor (1) while the mouse can be alternately under the control of the microprocessor (30) or under the control of the central processor (1).
  • the output (RRDYB /) of the circuit (70) which sends the direct memory access requests to generate an interrupt on the processor (30) following a mouse call on the input (RDB) . This allows the mouse to wake up the graphics processor (30) by interruption.
  • the control register (29) plays the following role: when the system is started, the register is set to “O” and the processor (30) is reset to “O” by this register via the output (MPRST /) and (MPUHLT /). The processor (30) is kept stopped by the output (MPUHLT /). At this time the central processor (1) can load the software necessary for the processor (30) into the memory (41 to 44) at the location where the latter must find it. After this loading operation, the processor (30) is released by deactivating the signals (MPURST / and MPUHLT /) and begins, as during a classic reinitialization, by going to address 0 for the pointer of the first instruction of the program.
  • the register (29) When we want to modify the software in use we send by the register (29) the active signal (MPUHLT /) so as to stop the software processor to be modified and then reactivate the operation of the processor (30).
  • this register (29) makes it possible to control from the main processor (1) the processor (30).
  • the signal (ENAVIB) from the register (29) makes it possible to block the video interface, which is very useful during the entire initialization phase of the video controller (40), which is gradually initialized by the software as the 30 registers of this circuit are filled. During this period of time the video signal can be anything and to avoid that these signals do not deteriorate the very sharp video monitor we are led to block during this phase the video signal by the signal (ENAVID /).
  • this control register can be used to measure software performance. For example, it can be used to see the time taken by the central processor (1) to fill the memory of the card. In this case it is made to fill the memory without stopping and each time we reverse the output of the generator (200) which causes the sound signal to be emitted which can be analyzed in a conventional manner.
  • FIG. 2C represents the arbitration of the bus
  • FIG. 2D represents a read / write cycle by the central processor (1)
  • FIG. 2E represents the memory write / read cycle by the graphics processor (30).
  • VME bus
  • FIG. 2E represents the memory write / read cycle by the graphics processor (30).
  • the interface card works practically only in slave mode, i.e. it only requests access to the external bus (VME), only in the event of an interruption caused by the keyboard or in the case of an interruption caused by the mouse, passed on by the processor (30) to the external bus (VME).
  • the arbitration principle chosen requires that access via the external bus (VME) has priority.
  • the circuit (23) monitors the addresses (BA21 to BA23) of the bus (VME) and triggers the arbitration sequence when a hexadecimal address (6XXXX) or (7XXXXX) or an acknowledgment signal (IACK /) receive reception is generated on the bus.
  • the circuit (23) In the case of the appearance of the address signals on the bits (21 to 23) and the activation of the signal (BAS /), the circuit (23) generates the signal (MPUBRQ /) which, sent to the processor ( 30), signals to him on the input (BR) that another intelligent unit wishes to access the internal bus of the card. This is represented by arrow 1 in Figure 2.C.
  • the processor (30) responds by validating the signal (MPUBGT /) which indicates to the requesting circuit that the request has been taken into account and that the microprocessor (30) will assign the buses at the end of the current bus cycles.
  • the circuit (24) on the falling clock face following this activation activates (arrow 4) the signal (BGACK /) which arrives on the pin (BK) of the circuit ( 30) confirms on behalf of the requesting circuit the taking of the buses and their control.
  • the signal (BGACK /) makes it possible to generate, on the rising clock edge following its activation, the activation of the signal (ENAVME /) as represented by the arrow 5, FIG. 2C.
  • the address validation signal (VSCALE /) for the video system controller (40) is generated on the falling edge of the clock after the activation of the signal (BGACK /) as represented by arrow 6. This ensures the stabilization of the addresses on the internal bus, of the signals (VSCFSO, 1) and (CSVSC /) and of the signal (VSCALE /).
  • the signal (MPUBRQ /) is deactivated as shown in arrow 7, then follows the deactivation of (BAS /, BGA /, BGACK /, ENAVME /, VCBAS / and VSCALE / ).
  • the external bus (VME) emits the signal (IACK /), which causes the same arbitration at the level of the signals (MPUBRQ, BGACK) and the validation of the signal (VCBIAC /) after the validation of the signal (MPUBGT /) to allow the circuit 70 to take possession of the internal bus and to transmit, during the signal validation (VCBWR /) following validation of the signal (ENAVME /), the data from the internal bus (VBD) to the external data bus (VME).
  • FIG. 2D In the case of a read-write-memory cycle executed by the central processor 1, reference is made to FIG. 2D in which the arrows carrying the same figures correspond to the already described stages of the arbitration.
  • the validation of the signal (ENAVME /) causes the activation of the signal (VCBAS /) as represented by the arrow 8 in the 2D figure from which follows the activation of the signal (VSCALE /) of validation of the addresses for the video controller.
  • Activation of this signal causes the following falling clock edge to activate the signals (VCBCEL / and VCBCEH /).
  • (VSCALE /) is returned to the circuit (23) which activates the signal (ENADS /) which will activate through the flip-flop (243) the signals (VCBCEL and VCBCEH).
  • this step is represented by the arrow 9 in FIG. 2D.
  • Data writing is performed when the signal is activated (RAMRAS /) and following this writing the circuit (40) activates the signal (MPUDTAC /).
  • This signal causes successive activation of the signals (DTA1 / and DTA2 /) represented by arrows 10 and 12.
  • the signal (DTA2 /) being activated on the falling edge following activation of the signal (ENDTA2 /) which is activated by the circuit (23) on the activation of the signal (DTA1 /).
  • the invalidation of (VCBAS /) is synchronous invalidation of the signals (VCBDS0 / and VCBDS1 /) which cause the deactivation of the signals (VCBCEL / and VCBCEH /).
  • This step deactivates the signal (VSCALE /) as shown in arrow 15 and the signal (RAMCAS0 /, 1 /) as shown in arrow 17.
  • Inactivation of (VSCALE /) subsequently deactivates the signal (MPUDTAC /) (arrow 19) then deactivation of (DTA1 /) (arrow 20) and also deactivation of (RAMRAS /) (arrow 18).
  • the signal (MPUDTAC /) is activated without waiting cycle to allow the processor (30) to work at maximum speed, but as this signal arrives too early for the bus (VME) , since the data is not yet stabilized, this signal is delayed by the signals (DTA1 /, DTA2 /) to generate the acknowledgment signal (BDTACK /) for the bus (VME).
  • a read-write-memory cycle by the graphics processor (30) of the card will now be explained in connection with FIG. 2E.
  • the processor (30) After the processor (30) has positioned the address lines (VCBADR), it generates by the output AS the signal (VCBAS /) which will generate as in step 6 of FIG. 2D the signal ( VSCALE /).
  • the signal (VCBDS0 /, 1 /) is generated by the outputs (LS, US) of the circuit (30) according to the sequencing specific to a read-memory instruction of the microprocessor.
  • the signal (VCBWR /) is made inactive by the output (WR) of the processor (30) and therefore indicates a reading.
  • the box (40) is selected by the signal (CSVSC /) and the access mode is indicated by the signals (VSCFS0 and VSCFS1) whose values are determined as we has already seen by the values of the address lines (VBAM17 to 20). Thereafter, the signal (ENADS /) is activated then the signals (RAMRAS / and RAMCAS0 /, 1 /) are activated as for figure 2D.
  • the signal (MPUDTAC /) is activated by the circuit (40) before the data becomes available on the data bus (VBD).
  • this signal introduces four waiting cycles which are linked to the operation of the video controller circuit (40).
  • the signal (MPUDTAC /) activates the signal (DK /) (arrow 22) at the input of the circuit (30) which restarts the rest of the read-memory cycle for the processor.
  • the processor 30 invalidates the signals (VCBAS / and VCBDS0 /, 1 /) and consequently the signals (ENADS / and RAMCAS0 /, 1 /).
  • the DK signal is also disabled by VCBAS /.
  • the signal (VCBWR /) is activated in the cycle S1 and its activation causes the deactivation of the signals (RAMRAS / and MPUDTAC /), as shown by the arrows 21. Thereafter, the signals (VCBAS /, VSCALE / etc) are activated in the same way as for a reading of data-memory. The only difference lies in the fact that the data lines of the bus (VBD) are positioned at their value at the end of the cycle S2 of the processor (30). In the data cycle, we see at the bottom of Figure 2E the line (LDSRC /) which corresponds to the load signal from the source register of the bit block transfer circuit (50).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Bus Control (AREA)

Abstract

La présente invention concerne une carte d'interface et graphique entre un processeur central 1 communiquant de façon asynchrone avec cette carte par un bus externe et le moniteur vidéo 9 caractérisé en ce qu'elle comprend : - un ensemble de mémoires-vidéo 45, 46 de capacité au moins égale au nombre de points d'affichage souhaités sur le moniteur 9, - au moins un groupe de mémoires vives 43, 44 ou 41, 42 de stockage des logiciels d'application graphique, - un circuit 40 contrôleur du système vidéo, gérant les adresses des différentes mémoires en vue d'effectuer les rafraîchissements des mémoires, de l'affichage vidéo et ls mises à jour des données ou des programmes et délivant les signaux vidéo ; - un circuit 60 de sérialisation des données délivrées par la mémoire vidéo 45, 46 en cadence avec une horloge vidéo H1 ; - un processeur graphique 30 cadencé par une horloge H0 et travaillant en synchronisme avec le circuit 40 du contrôleur du système vidéo de façon à exécuter les programmes de logiciel contenus dans le groupe de mémoires vives ; - un circuit 20 à 22 d'interface entre le bus externe et les bus de la carte et un circuit 23 à 27 d'arbitrage entre le processeur graphique 30, le contrôleur de système vidéo 40 et le bus externe.

Description

  • La présente invention concerne une carte graphique interface, clavier, souris. Il existe des cartes interface clavier, des cartes interface souris, des cartes graphiques qui sont en général toutes reliées aux bus d'un processeur central avec lequel elles coopèrent pour constituer un microordinateur présentant un certain nombres de fonctionnalités. Dans ce type de solution le processeur central est occupé non seulement à gérer les programmes d'exploitation du système mais également à gérer les entrées et sorties entre les différentes interfaces clavier, souris et graphique pour l'affichage.
  • Un premier but de l'invention est également de proposer une carte électronique permettant de contrôler un écran graphique d'une résolution de 1024 X 768 points et d'interfacer avec un bus externe à la carte du type ou similaire, ou compatible à un bus de type VME de façon à pouvoir être branchée sur tout les types d'unités de processeur central possédant un tel interface.
  • Ce premier but est atteint par le fait que la carte graphique et interface entre un processeur central (1) communiquant de façon asynchrone avec cette carte par un bus externe et un moniteur vidéo (9) caractérisé en ce qu'elle comprend:
    - un ensemble de mémoires-vidéo (45, 46) de capacité au moins égale au nombre de points d'affichage souhaités sur le moniteur (9),
    - au moins un groupe de mémoires vives (43, 44 ou 41, 42) de stockage des logiciels d'application graphique,
    - un circuit (40) contrôleur du système vidéo, gérant les adresses des différentes mémoires en vue d'effectuer les rafraîchissements des mémoires, de l'affichage vidéo et les mises à jour des données ou des programmes et délivant les signaux vidéo ;
    - un circuit (60) de sérialisation des données délivrées par la mémoire vidéo (45, 46) en cadence avec une horloge vidéo H1 ;
    - un processeur graphique (30) cadencé par une horloge (HO) et travaillant en synchronisme avec le circuit (40) du contrôleur du système vidéo de façon à exécuter les programmes de logiciel contenus dans le groupe de mémoires vives ;
    - un circuit (20 à 22) d'interface entre le bus externe (VME) et les bus de la carte et un circuit (23 à 27) d'arbitrage entre le processeur graphique (30), le contrôleur de système vidéo (40) et le bus externe (VME);
  • Un deuxième but de l'invention est de proposer une carte graphique, interface, clavier souris qui permette de décharger l'unité centrale de la gestion de l'affichage et de la souris, tout en ayant une résolution graphique élevée et en insérant sur la même carte une interface clavier et un générateur sonore.
  • Ce deuxième but est atteint par le fait que la carte comprend en outre : un circuit d'interface (70) d'entrée-sortie entre une souris (71), un clavier (72) et le processeur graphique (30) ou le bus externe (VME), ce circuit étant cadencé par une troisième horloge (H2).
  • Un troisième but est de décharger le processeur de la gestion de la souris.
  • Ce troisième but est atteint par le fait que le circuit (70) du contrôleur du système vidéo génère des interruptions dues à une action sur le clavier directement sur le bus externe (VME) et les interruptions dues à une action sur la souris en direction du processeur graphique (30).
  • Un quatrième but est de proposer une carte graphique qui permette de faire des modifications de l'affichage graphique soit par l'utilisation du microprocesseur de la carte soit par un circuit spécialisé dans les modifications de bloc.
  • Ce quatrième but est atteint par le fait que la carte comprend un circuit (50) de transfert de bloc de bit commandé par une logique (51), sélectionné par la ligne d'adresse de poids le plus élevé (A23), et des circuits logiques (47 à 49) de sélection des mémoires (41 à 46), la logique (51) assurant le contrôle du séquencement pour transformer une instruction de lecture-écriture mémoire en une instruction de lecture-modification-écriture par le circuit (50) et des moyens (31) pour isoler le processeur graphique (31) des mémoires.
  • Un cinquième but de l'invention est de permettre de contrôler le chargement et l'initialisation du système à partir du processeur central.
  • Ce cinquième but est atteint par le fait que la carte comprend un registre de contrôle (29) permettant, lors de l'initialisation du système, de charger les mémoires de la carte et de charger les différents registres des différents circuits (50, 30, 40, 70).
  • Un dernier but est de s'assurer que lors de la sérialisation des informations à transmettre au moniteur graphique, le blocage de la sérialisation des données s'effectue à temps.
  • Ce dernier but est atteint par le fait que le circuit (60) de sérialisation des données pour l'affichage vidéo comporte une entrée de chargement (LD) des données à sérialiser provenant des registres de la mémoire vidéo (45-46), permettant d'invalider le chargement par le signal d'effacement (BLANK) provenant du circuit (40) du contrôleur du système vidéo.
  • D'autres avantages et caractéristiques de la présente invention apparaîteront plus clairement à la lecture de la description ci-après faite aux dessins annexés dans lesquels :
    • La figure 1 représente une vue schématique des fonctions essentielles de la carte coopérant avec le bus VME et le processeur central;
    • La figure 2 représente le schéma électronique des circuits d'entrée de la carte;
    • La figure 3 représente le schéma du branchement du microprocesseur graphique de la carte;
    • La figure 4 représente le schéma électronique du branchement de l'unité de contrôle du système vidéo et des mémoires associées;
    • La figure 5 représente le schéma électronique du circuit de transformation des informations graphiques;
    • La figure 6 représente le schéma électronique du circuit de sérialisation des données grahiques à transmettre au moniteur;
    • La figure 7 représente l'interface clavier, souris de la carte;
    • La figure 8 représente le schéma électronique des circuits générateurs de sons.
  • Sur la figure 1, le processeur central (1) est en communication avec la carte objet de l'invention par l'intermédiaire d'un bus externe à la carte du type (VME) ou similaire ou compatible à un bus de type VME constitué d'un bus d'adresse (A) comportant 24 lignes d'adresse, un bus de données (D) comportant 16 lignes de données et un bus de contrôle (C) comportant les lignes de contrôle. Cette unité centrale (1) fonctionne avec une horloge travaillant à une cadence différente de celle de la carte interface graphique, clavier et souris, objet de l'invention. Cette carte interface est reliée au bus de données du bus externe (VME) par un tampon (20), aux lignes (1 à 20) du bus d'adresse (A) par un tampon (21), aux lignes (21 à 23) du bus d'adresse et aux lignes du bus de contrôle par une logique d'arbitrage et de synchronisation (23 à 27). Le tampon (20) est relié par un bus de données vidéo (VBD) comportant 16 lignes numérotées de 0 à 15, d'une part à un ensemble de mémoires vives (41, 42, 43, 44) et d'autre part à travers un tampon (31), à un microprocesseur 16 bits (30) commercialisé par la firme MOTOROLA sous la référence (MC6810). Le bus de données vidéo (VBD) est également relié à un deuxième ensemble de mémoires vives (45, 46) constituera ce que l'on appelera par la suite les "VIDEO RAM" qui servent à mémoriser les informations graphiques bit à bit. Les deux premiers groupes de mémoires (41, 42); (43,44) sont reliés par un bus adresse mémoire (AM) de 9 lignes, à un circuit (40) contrôleur du système vidéo commercialisé par la firme TEXAS INSTRUMENT sous la référence "TMS9161". Le groupe de mémoires vidéo (45, 46) est relié à 8 lignes des 9 lignes du bus (AM). Le microprocesseur (30) et le contrôleur (40) sont synchronisés entre eux par un signal d'horloge (SHO) délivré par une horloge commune (HO) fonctionnant à une fréquence de 10 MHZ. Le contrôleur du système vidéo (40) est relié au bus d'adresse vidéo (VBA) et au bus donné vidéo (VBD) de la façon décrite ultérieurement en relation avec la figure 4. Une horloge (H1) délivre d'une part le signal d'horloge à un sérialisateur (60), d'autre part, ce même signal à un circuit logique (62, 65) dont la sortie (VH1) est branchée à l'entrée d'horloge vidéo du circuit (40). Ce circuit (40) délivre également le signal de synchronisation horizontale et verticale nécessaire à l'affichage. Le signal d'effacement (BLANK) est délivré à une logique de contrôle (61) qui est elle-même reliée par sa sortie au circuit (60), sérialisateur des informations à afficher. Le sérialisateur (60) est branché par 16 lignes de données vidéo (VD) au groupe de mémoires vives vidéo (45, 46), et sérialise les signaux de données pour les délivrer à un moniteur vidéo (9) chargé de les afficher. La logique d'arbitrage (23 à 27) est reliée d'une part à l'unité de processeur graphique (30) constituée par le microprocesseur (68010) et d'autre part au travers d'un registre de contrôle (29) à ce microporcesseur (30). Un circuit logique de traitements des interruptions (73) est relié d'une part au microprocesseur (30), d'autre part aux sorties d'un circuit (70) adaptateur d'interface de communication asynchrone. Sur ce circuit (70) sont branchés en entrée une souris (71) et un clavier (72). Cet adaptateur (70) est relié par 8 lignes au bus de données (VBD) et par 5 lignes d'adresse au bus d'adresse (VB1) de la carte, et reçoit une horloge H2. Un circuit générateur de son (80, 82) est également relié à un certain nombre de lignes bus de données (VBD). Un circuit (50) de transfert de bloc de bits est relié d'une part par 16 lignes au bus de données (VDB) d'autre part par 3 lignes de commande au bus d'addresse (VBA) et en fin par des lignes de contrôle à une logique (51) de commande du circuit de transfert de bloc (50). Cette logique de commande (51) étant sélectionnée par la ligne 23 du bus d'adresse (VBA), et recevant sur une autre entrée le signal HO.
  • La carte représentée sur la figure 1 comprend donc essentiellement les fonctions suivantes :
    interface avec un bus (VME) standard;
    contrôleur vidéo fonctionnant à 10 MHZ;
    mémoire vidéo de 1 méga bit;
    mémoire RAM de 1 méga octet;
    microprocesseur (68010) permettant de décharger le microprocesseur central pour les fonctions graphiques;
    un circuit d'interface série (70) constituée par un circuit commercialisé par la firme MOSTEK sous la référence (MK68564) fonctionnant en interface série pour une souris et un clavier;
    un générateur de son constitué par un circuit commercialisé par la firme TEXAS INSTRUMENT sous la référence (SN 76496N);
    un circuit de transfert de bloc de bits (50) commercialisé par la firme PACIFIC MOUNTAIN RESEARCH INC sous la référence (PMR 96016).
  • L'ensemble des connexions des différents circuits présentés dans le schéma général de la figure 1 vont maintenant être décrites en liaison avec les figures 2 à 8. Les 16 lignes du bus de données (VME) (BDO:16) sont reliées au bus de données interne de la carte (VBDO:16) par un tampon (20) directionnel validé en entrée vers la carte par un signal (ENAVME/) de validation du bus externe VME et validé en sor tie vers le bus externe (VME) par un signal (VCBWR). La notation (ENAVME/) si gnifie que ce signal est l'inverse du signal (ENAVME) et il en est de même pour les autres signaux de la description. 24 lignes du bus d'adresse (VME) seize (BAO1:16) sont envoyées sur un tampon unidirectionnel (21) dont la sortie est branchée sur le bus d'adresse vidéo de 16 bits (VBA01:16). Ce circuit (21) unidirectionel est validé en entrée par le signal (ENAVME/). Les 4 lignes suivantes du bus d'adresse (VME) (BA17:4) sont reliées, par un tampon (22) unidirectionnel fonctionnant en entrée vers la carte, aux lignes (VBAM17:4) qui assure à travers le circuit contrôleur vidéo (40) la sélection des groupes de mémoires. L'entrée des adresses en direction du circuit contrôleur vidéo est validée par le signal (ENAVME/). Les 3 dernières lignes du bus d'adresse (VME) (BA21:3) ainsi que la ligne (IACK/, acquittement d'interruption) du bus de contrôle (VME) et la ligne (BAS/, validation des adresses du bus) de ce bus de contrôle (C) sont reliées aux entrées (1, 2, 3) d'un réseau (23) logique programmable (PAL). Ce circuit (23) reçoit également en entrée les signaux (MPUBGT/, CSREG/, ENAVME/, VSCALE/, VCBWR/, DTA1/, DTA2/,) dont nous verrons la signification ultérieurement. Ce circuit (23) délivre en sortie un signal (MPUBRQ/), indiquant une requête du bus de la part du processeur central (1), ce signal étant envoyé à l'entrée (BR) (bus request, demande de bus) du microprocesseur (68010) représenté par le circuit (30) de la figure 3. Les signaux de sortie (BGA/) (bus accordé) (VCBAS/) (validation des adresses du bus) (ENADS/) (validation des données) et (ENDTA2/) sont synchronisées par un circuit (24) constitué par un ensemble de bascules recevant un même signal d'horloge (SCLOCK/) provenant de la sortie (2810) du circuit d'horloge (28). Le réseau logique programmable (23) reçoit également en entrée le signal (MPUDTAC/) généré par la sortie d'un circuit tampon 3 états (268) de la figure 2B. Un circuit tampon (25) de mémorisation en entrée des signaux de contrôle du bus de contrôle externe (VME) reçoit sur ses entrées les lignes (BDS0, BDS1/) et (WRITE/) et délivre lors de la validation par le signal (ENAVME/) les signaux de contrôle de la carte (VCBDS0/, VCBDS1/) qui servent respectivement à distinguer les poids forts et les poids faibles des données et le signal (VCBWR/) qui est envoyé sur un inverseur (251) pour générer le signal (VCBWR) validant une sortie des données en direction du bus externe (VME). Une quatrième entrée (254) du tampon (25) reçoit le signal (VMEDTAC/) et délivre en sortie un signal (BDTACK) au bus de contrôle (VME) ce signal indiquant un acquittement des données. Les signaux (SYSRESET/) en provenance du bus de contrôle (VME) est envoyé sur deux inverseurs (255, 256) montés en série. La sortie de l'inverseur (256) génère le signal (RESET/), qui est le signal de réinitialisation du système. Un tampon (257) dont la sortie est branchée sur la ligne (BIRQ/) du bus (VME), transmet les requêtes d'interruption fournies par le signal (INTRQ/), signal livré par la sortie (IT/) de l'interface serie d'entrée-sortie (70 fig. 7). Les sorties (VCBDSO/) et (VCBDS1/) du tampon (25) sont envoyées sur deux portes OU à deux entrées respectivement (258, 259) dont une des deux entrées est fournie par la sortie (Q3) du registre (24) dont l'entrée (I3) reçoit le signal de validation des données (ENADS/). La sortie de la porte OU (258) délivre le signal de validation des adresses basses (VCBCEL/), qui est envoyé d'une part sur l'entrée (CEL) du circuit (40) constitué par le contrôleur du système vidéo et d'autre part sur une entrée d'une porte OU (261) à deux entrées. La sortie de la porte OU (259), délivrant le signal de validation des adresses hautes (VCBCEH/), est envoyée sur l'entrée (CEH) du circuit (40). Les lignes d'adresse (VBAM17 à 20) sont reliées à une porte NON-ET (260) à quatre entrées dont la sortie est elle-même reliée à la deuxième entrée de la porte OU (261). La sortie de la porte ET (260) est également reliée à un inverseur (262) qui délivre en sortie le signal (CSVSC/), signal de sélection du contrôleur du système vidéo (40). Ce signal (CSVSC/) est envoyé sur l'entrée de sélection du circuit (CS/), du circuit (40) constituant le contrôleur du système vidéo. La sortie du circuit OU (261) délivre le signal (CSREG/) signal de sélection des registres, qui est envoyé à l'entrée d'invalidation d'un décodeur (263). Ce décodeur (263) reçoit sur ses deux entrées (A1, AO) respectivement les lignes (VBAM16) et (VBAM15). La sortie (Q0) de ce décodeur (263) délivre le signal (CSMAR/), signal de sélection du registre de contrôle (29). La sortie (Q1) de ce décodeur (263) délivre le signal (2631) qui est transmis à l'entrée de l'inverseur (264 Fig. 2B), dont la sortie est reliée à une entrée d'une porte NON-ET (265) à deux entrées, dont la deuxième entrée reçoit le signal (VCBWR) fourni par le bus (VME). Cette porte NON-ET (265) délivre un signal (CSBLT/) qui est le signal de sélection du circuit de transfert de bloc de bits (50 Fig.5). La sortie (Q2) de ce décodeur (263) délivre le signal (CSON/) qui est le signal de sélection du circuit générateur de son (80 Fig.8). La sortie (Q3) du décodeur (263) délivre le signal (CSSIO/) qui est le signal de sélection du circuit d'interface série entrée-sortie (70 Fig.7). L'activation des signaux (CSMAR/, CSBLT/, CSSON/, CSSIO/), de sélection des boitiers respectifs (29, 50, 80, 70) est donnée par le tableau ci-après.
    Figure imgb0001
  • La sortie (CSREG/) du circuit OU (261) est également relié à une porte OU (266) à deux entrées dont la deuxième entrée reçoit le signal (VBAM16). La sortie de ce circuit OU (266) est branchée à l'entrée (NS) (mise à 1 d'une bascule (267) dont l'entrée d'horloge (H) reçoit le signal (SNDTAC/) provenant du circuit (80) du générateur de son et l'entrée de remise à zéro (NR) reçoit le signal (VCBAS) de validation des adresses du bus provenant du circuit (23). La sortie (Q/) de cette bascule (267) est envoyée sur l'entrée de validation d'un tampon 3 états (268) dont l'entrée reçoit un niveau logique 0 et la sortie fournit le signal (MPUDTAC/) signal d'acquittement des données pour le microprocesseur (1) et pour le circuit d'interface série entrée-sortie (70). Ce signal (MPUDTAC/) est envoyé d'une part sur l'entrée (DK) de l'interface série entrée-­sortie (70) d'autre part sur une entrée d'une porte OU (36) à deux entrées, dont la deuxième entrée reçoit le signal (ENADTA), signal qui provient (à compléter). La sortie de la porte OU (36) délivre un signal à l'entrée (DK) du microprocesseur (30) signal d'acquittement des données pour le microprocesseur. Le signal (VCBAS/) du circuit (23) est envoyé à l'entrée de l'inverseur (340) dont la sortie délivre le signal (VCBAS) à l'entrée de chargement (PL) d'un compteur (34) dont l'entrée d'horloge (CP) reçoit le signal (E) délivré par la sortie (E) du microprocesseur (30). Cette sortie (E) délivre un signal de validation dont la période d'horloge est égale à 10 périodes d'horloge d'entrée du microprocesseur. La sortie (TC) de ce compteur (34) délivre le signal (BERR/) à l'entrée (BERR) du microprocesseur (30), cette entrée informant le processeur qu'un problème est survenu dans le cycle en cours d'exécution. Ce signal (BERR/) (erreur bus) permet d'interdire l'accès en lecture sur le registre de contrôle (29), le circuit de transfert de bloc de bits (50) et le générateur de son (80). En effet, lorsqu'on essaie de faire une lecture de l'un de ces registres le signal (CSREG/) est actif et le signal (VCBAS/) est également actif. Ce signal (VCBAS) remet à 0 la bascule (267) et par conséquent empêche la génération du signal (MPUDTAC) qui est le signal d'accusé de réception des données pour le microprocesseur. Ce signal (MPUDTAC) n'étant pas généré l'entrée (DK) du microprocesseur (30) ne reçoit pas le signal d'accusé de réception et par conséquent au bout de dix périodes le signal (E) est généré par le microprocesseur (30) et va générer au travers du compteur (34) validé par le signal (VCBAS), le signal (BERR/) indiquant au microprocesseur (30) indiquant une erreur.
  • La sortie (CSMAR/) du décodeur (263) est envoyée sur l'entrée d'un inverseur (291) dont la sortie est branchée à une entrée d'une porte NON-ET (290). La deuxième entrée de la porte NON-ET (290) reçoit le signal (VCBWR) qui provient de la sortie de l'inverseur (251 Fig.2A). La sortie de la porte NON-ET (290 Fig.2B) délivre le signal (WRMAR/) signal d'écriture du registre de contrôle (29) constitué par un ensemble de huit bascules adressables sélectivement. Le signal (WRMAR/) est envoyé sur l'entrée de validation de l'ensemble des huit bascules (29). L'entrée (NR/) de remise à "0" des bascules du circuit (29) reçoit le signal (RESET/) provenant de la sortie de l'inverseur (256 fig.2A). Les entrées (A0 à A3) d'adressage sélectif des bascules du circuit (29) recoivent les lignes d'adresse (VBAO1 à 03). Ces lignes d'adresse permettent de sélectionner individuellement chacune des bascules (Q0 à Q7). La valeur fournie par la septième ligne (7) du bus de données (VBDO7) permet de positionner à 0 ou à 1 la sortie de la bascule sélectionnée. Pour rendre l'une des bascules active il faut rendre actif le signal (CSMAR/) de sélection du registre (29). Pour ceci il faut que les lignes d'adresse (VBAM17 à 20) soient au niveau 1 et que les lignes d'adresse (15 et 16) (VBAM15, 16) soient au niveau "0". Ceci correspond à une adresse (7EOOOX) en valeur hexa­décimale, X représentant les valeurs que l'on peut coder par les lignes du bus d'adresse (BVA01 à 03). Les fonctions des bascules et les signaux délivrés par les sorties de ces dernières sont données par le tableau suivant :
    Figure imgb0002
  • Le signal (MPUHLT/) délivré par la sortie (Q2) de la troisième bascule du registre (29) est envoyé sur l'entrée de validation (I) d'un tampon (35) dont l'entrée des données (IO) recoit un "0" logique et la sortie (5) transmet le signal (HT) à l'entrée (HT) du microprocesseur (30). Ce signal (MPUHLT) permet d'arrêter le processeur à la fin du cycle bus en cours.
  • A la figure 3 on a représenté le microprocesseur graphique (30) qui travaille avec un signal (SCLOCK) de 10 Méga Hertz fournit par une horloge (H0) fonctionnant à 20 méga Hertz reliée à l'entrée d'horloge d'une bascule (281) dont la sortie (Q) délivre le signal (SCLOCK) à la fréquence de 10 Méga Hertz. La sortie (SCLK) de l'oscillateur (HO) de 20 Méga Hertz est également envoyée sur l'entrée d'horloge d'une deuxième bascule (282) dont l'entrée de validation (D) reçoit le signal (BGACK/) d'acquittement de l'attribution du bus et la sortie (Q) délivre le signal (ENAVME/) signal de validation du bus externe (VME) permettant de valider en entrée les tampons (20, 21, 22, 25) de la carte graphique. Les 16 entrées-sorties de données (D0 à DF) du processeur graphique (30) sont découplées, par un tampon bidirectionnel (31) du bus de données (VBD0:16) de la carte graphique. Ce tampon (31) a pour but d'isoler le processeur graphique (30) du bus de données de la carte pour les opérations de transfert de bloc lors de l'utilisation du circuit (50) comme on le verra par la suite. Pour ce faire, la sortie (AN) correspondant aux bits d'adresse (VA23) du processeur graphique (30) est envoyé sur l'entrée (CD) de blocage du tampon (31). L'activation de cette ligne (VA23) provoque le blocage du tampon (31) et l'isolation du bus de données de la carte graphique (VBDO:16) des 16 lignes d'entrée du processeur graphique (D0 à DF). Les 20 entrées-sorties d'adresse (A1-AK) sont reliées d'une part au bus d'adresse interne à la carte (VBA01 : 16) provenant du tampon (21) et d'autre part au bus d'adresse mémoire de la carte (VBAM17 : 4). Les sorties (US, LS) correspondant à la validation de la donnée supérieure, respectivement inférieure, sont reliées respectivement aux tampons (252, 251) pour délivrer les signaux respectifs (VCDBS1/, VCDBS0/). La sortie (AS) de validation d'adresse est reliée à la sortie du circuit (23) délivrant le signal (VCBAS/). La sortie (WR) (lecture, écriture) est reliée à la sortie du tampon (253) délivrant le signal (VCBWR). Ce signal (VCBWR) indique une écriture ou une lecture. L'entrée (BR) du circuit (30) indiquant une demande de bus reçoit le signal (MPUBRQ/) provenant du circuit (23) et indiquant au microprocesseur (30) une requête de bus de la part du bus externe (VME) et de l'unité centra le 1 (CPU). La sortie (BG) indique au circuit demandeur (23) que le microprocesseur (30) a pris en compte sa demande présentée sur l'entrée (BR) et signale qu'il cédera les bus à la fin du cycle bus en cours. Cette sortie est envoyée sur l'entrée (MPUBGT/) du circuit (23). Les sorties (CO, C1, C2) du microprocesseur (30) indique l'état du processeur à savoir s'il est en mode utilisateur, en mode superviseur ou en reconnaissance d'interruption. Ces sorties sont envoyées sur une porte NON-ET (32) à quatre entrées dont la quatrième entrée reçoit le signal (VCBAS) fournie par la sortie de l'inverseur (340). La sortie de cette porte NON-ET (32) est envoyée sur l'entrée (PA) du processeur (30) et constitue le signal (MPUVPA/). Ce signal (MPUVPA/) adresse périphérique valide indique au microprocesseur que le transfert des données sera synchronisé sur le signal (E) car un périphérique désire converser avec le processeur de manière synchrone. Cette entrée indique également que le processeur sera en mode autovectorisé en cas d'interruption. C'est le cas lorsque le processeur (30) reçoit une requête d'interruption du circuit contrôleur vidéo système (40) ou une interruption provenant de la souris (71) ou bien une interruption provenant du registre de contrôle (29) délivré par la sortie (Q4) de ce registre et provoqué par le CPU(1) au travers du bus externe (VME). Dans ce cas, les sorties (C0, C1, C2) sont au niveau "1" et le signal (VCBAS) est également au niveau "1", ce qui rend actif le signal (MPUVPA/) qui fait passer le processeur en mode autovectorisé. Dans ce mode autovectorisé le numéro de vecteur d'interruption est généré de manière interne en fonction du niveau. Les niveaux d'interruption sont déterminés par les entrées d'interruption (LO, L1, L2), l'entrée (L0) correspond au niveau 1 et reçoit le signal (VSCINT) qui représente les interruptions générées par le contrôleur vidéo (40). L'entrée (L1) correspond aux interruptions de niveau 2 et reçoit le signal provenant de la sortie (Q/) d'une bascule (73) indiquant une interruption provenant du deuxième canal (B) de la ligne série du circuit (70), ce canal (B) correspondant à la souris. L'entrée (L2) correspond au niveau 4 et reçoit le signal (MPUINT/) provenant de la sortie (Q4) du registre (29), ce signal indiquant une interruption générée par le registre de contrôle de la carte, cette interruption étant activée dans le bus (VME). Par conséquent, il n'y a pas d'encodeur de priorité sur les interruptions et la présence d'une interruption de niveau 2 et 4 en même temps correspond à une interruption de niveau 6. La suppression de l'encodeur permet donc de gagner de la place sur la carte de façon à pouvoir disposer toutes les fonctions que l'on souhaite mettre sur cette carte.
  • Les liaisons du contrôleur vidéo (40) avec les groupes de mémoires (41 à 46), la logique d'arbitrage et le processseur graphique (30) vont être maintenant décrites en liaison avec la figure 4. Le circuit contrôleur du système vidéo (40) reçoit sur son entrée d'horloge (CLK) le signal d'horloge (SCLOCK) provenant de la sortie (Q) de la bascule (281) et délivrant un signal synchrone du signal d'horloge du processeur graphique (30). Les sorties (BLANK, HSYNC, VSYNC) délivrent respectivement les signaux d'effacement, de synchronisation horizontale, et de synchronisation verticale au moniteur vidéo. Les entrées (CAO à 7) sont reliées aux lignes d'adresse (01 à 08) du bus d'adresse (VBAO1 : 8). La neuvième entrée d'adresse (CA8) reçoit le signal (VBAM 18) provenant de la sortie du tampon (22). Ces huit entrées (CA01 à 8) sont multiplexées sur les sorties des adresses mémoire (MAO à MA8) pendant les intervalles d'adresse colonne. Les entrées (RAO à RA8) recoivent les lignes (VBA9 à VBA17) du bus d'adresse interne de la carte. Ces neuf entrées d'adresse sont multiplexées vers les sorties (MAO à MA8) pendant les intervalles d'adresse ligne. Les entrées (RS0 et RS1) du boitier servant à déterminer lequel des 4 signaux de validation d'adresse ligne, fournis par les sorties (RAS0 à RAS3) du circuit (40) sont actifs. Ces entrées (RS0, RS1) recoivent respectivement les lignes d'adresse (VBAM19 et VBAM20). L'entrée (CEL) de validation des adresses colonnes basses recoit le signal (VCBCEL) provenant de la sortie de la porte OU (258). L'entrée (CEH) de validation des adresses colonnes hautes recoit la sortie de la porte OU (259) constituant le signal (VCBCEH). L'entrée (R/W) recoit le signal (VCBWR/) provenant de la sortie du tampon (253). L'entrée (ALE) de validation du verrouillage d'adresses, utilisée pour initialiser le cycle de contrôleur spécifié par les valeurs présentes aux entrées (CS, RA0 à 8, CA0 à 8, RS1, RS0 et FS0 à FS2), recoit le signal (VSCALE/) provenant de la sortie du registre (242). Les fronts actifs de ce signal sont synchrones mais décalés d'une demi période par rapport aux fronts actifs du signal d'horloge (SCLOCK) du contrôleur vidéo (30). Les entrées de données (D0 à D7) du contrôleur vidéo (40) sont reliées au bus de données (VBD0 : 8). Ces entrées servent exclusivement à charger les registres internes du contrôleur vidéo lors d'une initialisation de la carte. La sortie (RDY) du circuit (40) est reliée à la sortie (MPUDTAC) du tampon (268) et à l'entrée de la porte OU (36) pour indiquer un accusé de réception des données au processeur (30) puisque celui-ci a requis un cycle mémoire. Cette sortie (RDY) est également reliée à l'entrée (DK) de l'interface série d'entrée sortie (70) et a une entrée (4) du circuit (23) ainsi qu'à l'entrée du registre (244) du circuit (24). L'entrée (HOLDACK) du circuit (40) étant au niveau logique "1" indique que le signal (RDY) est actif au niveau bas. La sortie (INT/) indiquant des requêtes d'interruption est reliée à l'entrée (LO) du processeur (30) correspondant aux interruptions de niveau 1. Cette entrée (LO) et l'entrée (L2) sont reliées chacunes par une résistance R à une tension de référence +5 volts, ce montage ayant pour but de garantir le niveau logique haut comme état de repos. L'entrée (RESET) du circuit (40) est reliée à la sortie de l'inverseur (256) de la figure 2A. L'entrée (VIDCLK) du circuit (40) reçoit le signal (SVIDCLK) provenant de la sortie du circuit (65) de la figure 6. Cette entrée permet de fournir le signal d'horloge vidéo qui est responsable de la génération de la synchronisation pour les signaux de synchronisation et d'effacement et également des logiques de génération des requêtes internes de rafraichissement de l'affichage et des mémoires vives. Les sorties (CASLO et CASH1) du circuit (40) permettent de sélectionner dans un groupe de mémoire les bits qui correspondent aux poids forts ou aux poids faibles, c'està-àdire les données de 0 à 8 ou de 8 à 16. La sortie (CASLO) est reliée à une entrée d'une porte OU (48) dont une deuxième entrée reçoit le signal (ENACAS/), délivré par une sortie (510) d'un circuit logique programmable (51) figure 5A de commande du circuit de transfert de bloc de bits (50). La sortie de la porte OU (48) est reliée à chacune des entrées (CS) de sélection des boitiers de mémoire correspondant aux boitiers des bits de poids faibles de chaque groupe de mémoire. La sortie (CASH1) est reliée à une entrée d'une porte OU (49) dont une deuxième entrée reçoit également le signal (ENACAS/). La sortie de la porte OU (49) est reliée à chacune des entrées (CS) de sélection des boitiers mémoires correspondant aux bits de poids élevés dans chaque groupe de mémoire. Ainsi la sortie de la porte OU (49) est reliée aux entrées (CS) des boitiers de mémoires (42, 44 et 46). Tandis que la sortie (48) est reliée aux mémoires (41, 43, 45). La sortie (RAS0) du boitier (40) permet de sélectionner le premier groupe de mémoires constitué par les boitiers (41 et 42). La sortie (RAS1) permet de sélectionner le deuxième ensemble de mémoires constitué par les boitiers (43, 44). La sortie (RAS2) permet de sélectionner le troisième groupe de mémoires constitué par les mémoires vives vidéo (45, 46). Chaque mémoire reçoit sur son entrée (W) le signal issu d'une porte OU (47) dont une première entrée reçoit la sortie (W/) du boitier (40) et la deuxième entrée le signal (ENAWR/) provenant de la sortie (511) du circuit logique (51) commandant le circuit (50) de transfert de blocs de bit. Les neuf sorties (MAO à MA8) du boitier (40) sont reliés à chacune des neuf ou huit lignes d'entrée des boitiers de mémoire. La sortie (TRQE) du circuit (40) est reliée aux entrées de même nom des groupes (45, 46) des mémoires vives vidéo. Cette sortie (TRQE) délivre les signaux de transfert des registres et de validation des sorties qui permettent de commander directement les tampons de sortie de ces mémoires vives vidéo. Les mémoires sont organisées en deux groupes de 256 KMOTS de 16 bits chacun. Chaque groupe est constitué de 16 boitiers de mémoires dynamiques de 256 Kbits montés sur deux barettes (41, 42) de huit boitiers chacune pour le premier groupe et sur deux autres barettes (43, 44) de huit boitiers chacune pour le deuxième groupe de mémoires vives. Les mémoires vidéo (45, 46) forment un troisième groupe qui se compose de 16 boitiers mémoires à double accès de 64 Kbits commercialisé par TEXAS INSTRUMENTS sous la référence "TMS4161" et montés sur quatre barettes (45, 46) de quatre boitiers. Les adresses (VBAM17 et VBAM18) sont connectées respectivement sur les entrées (RA8, et CA8) du contrôleur vidéo système (40) pour avoir un espace d'adresse continu avec les différentes organisations de mémoire, suivant que l'on a à faire au premier et deuxième groupe de mémoires vives (41, 42, 43, 44) ou au groupe de mémoires vidéo (45, 46) de 64 K-Bits. Dans ce cas (CA8) et (RA8) ne sont pas pris en compte par les mémoires (45, 46) de ce groupe car elles n'ont que 16 Bits d'adresse (CA0 à CA7) et (RA0 à (RA7). La sélection d'un groupe de mémoires parmi les trois se fait avec les lignes d'adresse (VBAM19 et VBAM20) suivant le tableau ci-après qui donne l'organisation de l'espace d'adresse de la carte vue par le bus (VME).
    Figure imgb0003
  • Les mémoires vidéo (45 et 46) comportent comme on peut le voir sur la figure 4 deux types de sorties, un premier ensemble de sorties (VDBO :8 ) et (VBD08 :8) reliée au bus interne de la carte (VBD0 : 16) et un deuxième ensemble de sorties constitué par des registres à décalage de 250 Bits utilisés pour transférer le contenu de la mémoire vers le sérialisateur vidéo (60) figure 6. Ces sorties sont notées (VD OO : 8) et (VDO8 :8) et sont reliées aux entrées (D0 à D15) du sérialisateur (60). Le séquencement est contrôlé par la sortie (TRQE)du circuit (40) et l'entrée d'horloge (SHCLK) provenant de la sortie du circuit (66). Le contrôleur vidéo (40) possède trois entrées (FS0, FS1, FS2) qui permettent d'identifier et de fixer les modes d'accès mémoire, qui peuvent être directs et également les accès des registres internes du circuit (40). L'entrée (FS2) est en permanence cablée à un niveau logique "0" et les autres entrées (FS1, FS0) recoivent respectivement les sorties (Q1 et Q2) d'un décodeur (48) qui génère les signaux (VSCFS1 et VSCFS0) en fonction des bits d'adresse (17, 18). Les entrées (A0 et A1) du décodeur (480) sont respectivement reliées aux lignes (VBAM17 et VBAM18). L'entrée de validation du décodeur (480) est reliée à la sortie d'une porte NON-ET (470) qui reçoit sur ses deux entrées les lignes (VBAM19 et VBAM20). Le tableau ci-après donne les valeurs présentes aux entrées (FS0 et FS1) en fonction des valeurs sur les lignes d'adresse (VBAM) c'est-à-dire des adresses héxadécimales envoyées sur le bus (VME). En fonction des valeurs (FS0 et FS1) on obtient soit des accès directs du processeur graphique (30) sur les mémoires ou les mémoires vidéo soit des accès indirects, soit des accès registres. Le tableau ci-après schématise le fonctionnement du décodage et du circuit vidéo (40).
    Figure imgb0004
  • Le contrôleur vidéo (40) remplit essentiellement quatre fonctions sur la carte:
    • 1o) Accès en lecture ecriture du Méga-Octet de mémoires vives et du Méga-Bits de mémoires vidéo;
    • 2o) Génération de cycles de refraichissement pour ces mémoires. Le contrôleur vidéo est programmé pour générer ses cycles de rafraichissement dans chaque retour de ligne vidéo.
    • 3o) Génération de cycles de rafraichissement pour l'écran graphique par transfert du contenu de la mémoire vidéo vers le sérialisateur vidéo par les sorties (VD) des registres à décalage des mémoires (45, 46).
    • 4o) Génération des signaux de synchronisation horizontale et verticale et d'effacement pour l'interface vidéo.
  • Le circuit (50) de transfert de blocs de bits et le circuit (51) de commande et de contrôle de ce circuit vont être maintenant décrits en liaison avec la figure 5A. Le circuit (51) de commande et de contrôle constitué par un réseau logique et programmable qui reçoit sur son entrée d'horloge le signal de sortie d'un inverseur (513) dont l'entrée reçoit le signal (SCLK) provenant de la sortie de l'horloge (H0). Ce réseau logique programmable (51) synchronisé sur l'horloge (H0) reçoit sur une première entrée le signal (BGACK/) d'accusé de réception de la mise à disposition du bus, sur une deuxième entrée le signal (VCBAS/) indiquant la validation des adresses du bus, sur une troisième entrée le signal (VA23) provenant du processeur (30), sur une quatrième entrée le signal (VCBWR) provenant de la sortie de l'inverseur (251) figure 2.A. Sur une cinquième entrée le signal (DTA1/) provenant de la sortie du cinquième registre du circuit (24) de la figure 2.A. Sur la sixième entrée le signal (MPUDTAC/) provenant de la sortie du tampon (268). La sortie (514) délivrant le signal (LDSCR/) indiquant le chargement de l'adresse source est envoyée sur l'entrée (LDSRC/) (500) du circuit (50). La sortie (515) délivrant le signal (LDDEST/) indiquant le chargement de l'adresse destinataire est délivrée à l'entrée (LDDEST/) (501) du circuit (50). La sortie (516) délivrant le signal (BLTOE/) est envoyée sur l'entrée (OE/) (502) entrée de validation des sorties de blocs. Le circuit (50) reçoit sur ses entrées (A1 à A3) les signaux (VBAO1:3) et sur ses entrées (DO à D15) les seize lignes du bus de données (VBD 0 :16). Les entrées (A1 à A3) du circuit (50) permettent de sélectionner les registres internes de ce circuit et les entrées de données (DO à D15) permettent de travailler sur les données mémoires adressées par le processeur (30). Le circuit (50) reçoit sur son entrée (503) (CS/) de sélection du circuit le signal (CSBLT/) provenant de la sortie de la porte (265) figure 2A.
  • Ce circuit de transfert permet de modifier les données générées en écriture par le processeur (30) et par l'usage de logiciels adaptés permet d'accélérer les opérations de copies d'écran. Pour ce faire ces circuits chargent les données indiquées par une adresse source les transforment suivant des règles établies et envoient ces données à une adresse destinataire dans la mémoire vidéo. Ce circuit (50) comporte un certain nombre de registres qui peuvent être initialisés par des accès à des adresses déterminées de façon à opérer certaines transformations telles qu'une rotation ou une inversion vidéo ou d'autres fonctions plus complexes, suivant la programmation des registres du circuit (50). Les adresses d'accès à ces registres, vues du bus (VME) sont comprises entre les valeurs (7E1000 et 7E800E) en héxadécimal ou entre les valeurs (1E8000 et 1E800E) en héxadécimal pour le processeur graphique de la carte. Les différents registres du circuit de transfert de blocs de bits (50) sont adressés suivant le tableau ci-après:
    Figure imgb0005
  • Une fois les registres adressés on les initialise avec les valeurs souhaitées pour faire fonctionner le circuit (50) de la façon souhaitée avec les valeurs adéquates de données provenant du bus de données (VBD). Une fois le registre initialisé, le processeur graphique (30) de la carte peut accéder à la mémoire vidéo (45, 46) avec la fonction de transfert de blocs de bits. A partir de ce moment là chaque cycle de transfert de blocs de bits se compose de quatre phases:
    • 1o) Lecture des données de l'adresse source;
    • 2o) Lecture des données de l'adresse de destination;
    • 3o) Modifications des données de la destination;
    • 4o) Ecriture à l'adresse à destination;
    Pour valider la fonction de transfert de blocs de bits le processeur (30) exécute une instruction du type "MOVE SOURCE DESTINATION" qui est une instruction de déplacement du contenu de l'adresse spécifiée par SOURCE vers l'adresse spécifiée par DESTINATION. Cette fonction est exécutée par le processeur (30) en même temps que l'instruction "MOVE", en positionnant le bit d'adresse (VA23) à la valeur 1, les poids faibles contenant l'adresse des mots mémoire sélectionnés. Ceci revient à dire que dans le cas de l'utilisation de la fonction transfert de blocs on travaille sur la zone d'adresse vue du bus externe (VME) comprise entre et 16 Méga bits alors que sans la fonction de blocs de transfert on travaille sur la zone d'adresse comprise entre 0 et 8 Méga bits. Cette instruction "MOVE SOURCE DESTINATION" comprend une lecture du contenu de l'adresse spécifié par SOURCE puis une écriture de ce contenu à l'adresse spécifié par DESTINATION. Avec la fonction transfert de blocs de bits cette instruction est modifiée pour fonctionner de la façon équivalente à une instruction lecture modification écriture. Cette transformation va maintenant va être explicitée en liaison avec la figure 5B qui est une représentation des diagrammes temporels des différents signaux intervenant dans un transfert de blocs de bits.
  • La première phase du cycle de transfert de blocs constituée par une lecture source se présente comme un cycle normal de lecture mémoire pour le processeur (30) à part que le signal (LDSRC/) est activé par le réseau logique programmable (51) suite à la présence des signaux (VA 23) et (VCBAS/). Le signal (LDSRC/) actif charge les données source dans le circuit (50) quand les données lues sont stabilisées sur le bus de données internes (VBD). Pendant les phases suivantes le processeur (30) écrit à l'adresse de destination. Dans cette phase, le tampon de données (31) reste à l'état haute impédance suite à l'activation du signal (VA23) sur l'entrée d'invalidation de ce tampon (31). Le réseau logique programmable (50) met au niveau "1" la sortie (511) représentant le signal (ENAWR/), signal d'invalidation de l'écriture dans les mémoires. Ce signal (ENAWR/) rend inactif par l'intermédiaire de la porte (47) le signal (RAMWR/). De cette façon, le cycle d'écriture du processeur (30) est transformé en cycle lecture mémoire pour la deuxième phase du cycle de transfert de blocs de bits. La stabilisation des données est signalée par l'activation du signal (MPUDTAC/) par le circuit (40) et ce signal envoyé sur une entrée du circuit (51) génère le signal (LDDEST/) qui charge les données destination dans le circuit (50) du transfert de blocs de bits. La deuxième phase correspond à la flèche 2 dans le diagramme de la figure 5.B. Après l'activation du signal (MPUDTAC/)le signal (DTA1/) devient actif au deuxième front d'horloge descendant suivant cette activation. Ceci correspond aux schémas de cablage du registre (244). Suite à l'activation du signal (DTA1), ce signal envoyé à l'entrée du registre (51) provoque la désactivation du signal (LDDEST/) (flèche 5 figure 5B) et le front d'horloge montant qui suit cette désactivation provoque la mise au niveau 1 du signal (ENACAS/). Ce signal (ENACAS/) envoyé sur les entrées des portes (48, 49) de la figure 4, provoque le blocage des signaux de validation d'adresse colonne (RAMCAS0/, RAMCAS1/). Cette troisième phase indiquée par la flèche 3 sur la figure 5.B termine le cycle de lecture sur la mémoire et on entre dans le cycle d'écriture des données, modifié par le circuit (50), qui est constitué par la phase 4. Après la phase 3 au front d'horloge descendant suivant cette phase le circuit (51) active le signal (BLTOE/) et désactive le signal (ENAWR/) de façon à valider le signal d'écriture (RAMWR/). Pendant ce temps le circuit (50) exécute les fonctions programmées à l'avance sur les données destination. Quand les données destination modifiées sont stabilisées sur le bus, c'est-à-dire sur le front montant d'horloge suivant l'activation de (BLTOE) le circuit (51) active à nouveau le signal (ENACAS/) pour sélectionner à nouveau la mémoire. Pendant ce temps là, le signal d'écriture (RAMWR/) reste validé et par conséquent, l'écriture à l'adresse destination des données modifiées est éxécutée. Le passage à "0" du signal (ENACAS/) permet au front d'horloge descendant suivant ce passage de laisser le microprocesseur terminer son cycle d'écriture destination de façon normale. Suite à la remontée du signal (VCBAS/) et par conséquent la désactivation de (VCBCEL/), le circuit (40) désactive le signal (W/) qui lui-même va provoquer la désactivation de la sortie (BLTOE/) du circuit PAL (51) et par conséquent, la fin de la sortie des données pour le circuit de transfert de blocs (50). Par conséquent, avec ce circuit on a pu réaliser des modifications sur des ensembles de mots de 16 bits contenus dans les mémoires par une simple instruction de déplacement d'une adresse vers une autre adresse, modifiée par le circuit en une instruction de lecture-­modification-écriture. Ce circuit (50) pouvant réaliser des fontions relativement complexes, on comprend l'intérêt d'un tel dispositif car il permet de faire des modifications de l'affichage vidéo sur des blocs de mots de 16 bits sans faire intervenir directement le processeur (30) associé à un programme de modifications des mots qui serait plus complexe et par conséquent plus long à éxécuter. Par contre, lorsque l'on aura à faire des modifications des informations rangées en mémoires sur une partie d'un mot ou d'un bloc il sera éventuellement plus intéressant de le faire directement par le microprocesseur (30) puisque dans ce cas il n'est pas nécessaire d'initialiser le circuit (50) ce qui nécessite à chaque fois un certain nombre d'instructions de programme pour le microprocesseur. Ce circuit (50) permet d'obtenir un mot source fusionné en précisant quels sont les bits sélectionnés des registres contenant le mot source et le mot source précédent. Le registre de décalage indique par ses bits qu'il s'agit d'une rotation à droite ou à gauche et la quantité de rotation. Le registre fonction précise la fonction booléenne qui va combiner le mot source fusionné, le registre demi-ton et les données d'un registre contenant les informations d'adresse destination. Enfin le registre de masque de fusion précise la partie du mot contenue à l'adresse destination qui doit être modifiée.
  • Le circuit d'interface (70) entrée-sortie parallèle va être décrit à l'aide de la figure 7. Ce circuit d'interface (70) reçoit sur son entrée (RS) de remise à "0" le signal (RESET/) provenant de la sortie de l'inverseur (256) de la figure 2.A. Son entrée (CS) de sélection du boitier reçoit le signal (CSSIO/) provenant de la sortie Q3 du décodeur (263) de la figure 2.A, qui délivre le signal de sélection du boitier. L'entrée (RW) reçoit le signal d'ériture ou de lecture du boitier provenant de la sortie du tampon (253) qui délivre le signal (VCBWR/). L'entrée (X1) du générateur de taux de baud reçoit la sortie d'un oscillateur (H2) travaillant à une fréquence de 2,45 Méga hertz. Les entrées (A1 à A5) du boitier (70) sont reliées aux lignes (VBAO1 à VBAO5) du bus d'adresse de la carte de façon à adresser respectivement chacun des 25 registres internes du boitier. Les entrées de données (DO à D7) du circuit (70) sont reliées aux lignes (VBD0 à VBD07) du bus interne de la carte d'une façon, d'une part de pouvoir charger les registres internes avec les valeurs souhaitables et d'autre part pouvoir recevoir et transmettre les données vers les organes d'entrée et sortie que sont le clavier et la souris. L'entrée (RDA) reçoit les données en entrée du clavier et est reliée à l'amplificateur différentiel (720) dont les entrées sont branchées aux bornes de connexion positives et négatives de transmission des données du clavier. L'entrée (RDB) du circuit (70) reçoit les données en provenance de la souris au travers d'un récepteur de ligne différentiel (710). La sortie (TDB) du boitier (70) est reliée par un récepteur de ligne différentiel (711) et par un registre (712) à l'entrée de réception des données pour la souris. La sortie (TDB) émet les données à transmettre à la souris. Les entrées (DTRA/ et DTRB/) du circuit (70) sont reliées respectivement aux sorties (Q4 et Q2) des bascules du circuit (29) de la figure 2 délivrant les signaux (MPUINT/) et (MPUHLT/). La sortie (IT) indiquant une requête d'interruption est envoyée sur l'entrée (INTRQ/) de la bascule (257) reliée au bus (VME) de la figure 2.A. La sortie (RRDYB/) délivre le signal (MOUSIT) qui après inversion par l'inverseur (74) est envoyé sur l'entrée (NS) de la bascule (73). L'entrée (SYNCB/) reçoit le signal (INTVME/) provenant de la sortie (Q6) du registre (29) de la figure 2.B. L'entrée (IK) d'accusé de réception d'interruption reçoit le signal (VCBIAC/) provenant de la sortie du même nom du circuit (23) de la figure 2.A. La sortie (DK) accusé de réception des données est reliée au circuit délivrant le signal (MPUDTAC). Cette sortie (DK) délivre un signal qui indique au processeur (30) que les données sont prêtes ou que le circuit d'interface (70) a accepté les données. L'entrée (CK) d'horloge du circuit (70) reçoit le signal (SIOCLK) de la sortie du registre (248) de la figure 2.A, registre dont la sortie est rebouclée sur l'entrée par l'intermédiaire d'un inverseur de façon à constituer un diviseur de fréquence par 2. La sortie de ce registre (248) délivre donc un signal (SIOCLK) d'une fréquence de 10 Méga Hertz puisque l'horloge du registre (CLOCK) a une fréquence de 20 Méga Hertz. Il ressort de la description ci-dessus que l'interface entrée-sortie (70) est branchée pour fonctionnner comme une interface série-parallèle à deux canaux séparés un pour le clavier et l'autre pour la souris et génére des interruptions vers le bus (VME). Lorsque le clavier ou la souris veut émettre des données. Le récepteur de ligne différentiel (720) du canal clavier permet d'adapter le niveau des données transmises au niveau du circuit (70). Le circuit (70) est normalement programmé de façon à générer une interruption par la sortie (IT) vers le bus, à la réception d'un caractère. En réponse le signal (VCBIAC/) d'accusé de réception de l'interruption de la part du bus (VME) est généré, ce qui permet au circuit (70) d'émettre un vecteur d'interruption sur les 8 bits de poids faible du bus de données. Si ce vecteur d'interruption indique qu'il s'agit d'une interruption de réception d'un caractère, interruption que l'on pourrait appeler normale, le caractère reçu, qui pendant ce temps là a été stocké dans le registre interne du circuit (70), peut ensuite être lu par le bus (VME). Le canal (B) du circuit (70) gère les entrées et sorties de la souris, le circuit (70) est programmé de façon que, lors de la réception d'un caractère provenant de la souris, la sortie (RRDYB) soit activée et génère à travers la bascule (73) une interruption de niveau 2 sur l'entrée (L1) du processeur (30). Cette interruption, par la suite, va être traitée par le processeur.
  • Une interruption vers le bus (VME) peut être générée par le processeur local (30) en activant l'entrée (SYNCB/) du circuit (70) par l'intermédiaire du signal (INTVME/) du registre (29) de la figure 2.B.(Comment ?). Les deux interruptions bus (VME) vers le processeur local (30) au travers du signal (INTVME) et processeur local (30) vers bus (VME) au moyen du signal (MPUDTAC) transformé dans le circuit (23) en (VMEDTAC) et renvoyé sur le bus (VME) par le tampon (254) sous la forme du signal (BDTACK), permettent la synchronisation du processeur local (30) avec le processeur central (1).
  • Le circuit générateur de son (80) représenté à la figure 8 reçoit sur ses entrées (DO à D7) les lignes (VBDO à VBDO7) du bus de donnée interne de la carte. L'entrée (DO) du circuit est relié à la ligne (VBD07) tandis que l'entrée (D7) est reliée à la ligne (VBD00) du bus de données. L'entrée (WE) d'écriture des registres internes du circuit (80) reçoit le signal (VCBWR/) provenant du tampon (253) de la figure 2.A. L'entrée (CE) de sélection du circuit (80) reçoit le signal (CSON/) délivré par la sortie (Q2) du décodeur (263) de la figure 2.A. L'entrée d'horloge (CLK) du circuit (80) reçoit la sortie d'une porte NON-ET (81) dont une des entrées reçoit le signal (ENASON/) délivré par la sortie (Q3) du registre de contrôle (29) et l'autre entrée reçoit le signal d'horloge (SERCK) provenant de l'horloge (H2) de fréquence de 2,45 Méga-Hertz qui sert d'horloge pour l'interface d'entrée sortie série. Le signal (ENASON/) permet à la mise sous tension de ne pas valider le signal d'horloge pour le circuit (80) par conséquent, d'empêcher la génération d'un son fortuit dès la mise en route du système.
  • Le circuit d'interface vidéo comprenant le sérialisateur (60) représenté à la figure 6 possède un générateur d'horloge (H1) stabilisé par un quartz de 90 Méga-Hertz dont le signal est envoyé sur l'entrée (DCLK) du sérialisateur (60). Cette fréquence est divisée par 16 par le circuit (63) pour générer l'horloge vidéo (VIDCLOK) du contrôleur vidéo (40). Cette horloge est la base pour la génération des signaux de synchronisation horizontale et verticale et d'effacement. Le sérialisateur (60) reçoit les 16 bits (VDOO :8, VDO8:8) sur ses entrées de données (D0 à D15) en parallèle pour les émettre en série vers l'écran graphique à la fréquence de l'horloge (H1). Deux bascules (D61, D62) générent le séquencement constitué par le chargement du circuit (60) et les décalages des données pour la mémoire vidéo (45, 46). La bascule (62) délivre au travers de l'amplificateur (66) le signal (SHCLK) de décalage des données de la mémoire vidéo. La bascule (61) quant à elle délivre le signal (SHRGLD) à l'entrée (LD/) du circuit (60) pour déclencher le chargement des données fournies par les lignes (VD) des registres des mémoires vidéo dans un registre tampon du circuit (60). La bascule (61) est validée par la sortie de l'amplificateur (64) lequel reçoit sur ses deux entrées le signal (BLANK/) fourni par la sortie correspondante du circuit (40) du contrôleur vidéo et le signal (ENAVID/) de validation de la vidéo fourni par la sortie (Q0) du registre de contrôle (29) de la figure 2.A. La sortie du circuit (64) est envoyée sur l'entrée de mise à "1" (S1) de la bascule (61) de façon à bloquer cette bascule pour empêcher le chargement des données fournies par les lignes (VBD) de la mémoire vidéo pendant le retour horizontal et vertical du spot. Ceci empêche donc le décalage des données fournies par la mémoire vidéo et remplace ces données par une valeur logique "1" qui est chargée à l'entrée (SIN), entrée série du circuit (60) de façon que lorsque les données fournies sur le bus (VBD) ne sont pas chargées, le circuit (60) continue à sérialiser des valeurs "1" à la fréquence fixée par l'horloge (H1). Ce montage permet de supprimer le signal vidéo pendant le retour horizontal et vertical du spot et présente l'avantage, compte tenu de la fréquence élevée de décalage en série des données d'intervenir sur le signal de chargement qui est à une fréquence 16 fois plus petite, ce qui permet d'être sûr que le signal d'effacement (BLANK) sera pris en compte à temps par le sérialisateur car ce signal est fourni par le circuit (40) qui travaille avec l'horloge (VIDCLOK). La sortie (Q1) du circuit (61) est également envoyée sur l'entrée (CE2/) du circuit (62) pour invalider la sortie (Q2) de la bascule (62). Cette sortie (62) fournit le signal (SHCLK) qui vient bloquer le décalage des registres des mémoires vidéo (45, 46).
  • Ainsi par l'agencement décrit en liaison avec les figures 2 à 8 on a réussi à loger sur une seule carte du format europe un ensemble de fonctions qui permettent d'une part de gérer en automatique l'affichage vidéo et d'autre part de prendre en compte des interruptions générées par une souris en vue gérer des multi-fenêtres à l'aide du processeur (30) et des premiers et deuxièmes groupes de mémoires (41, 42, 43, 44). Le circuit (40) effectue d'une part l'adressage en automatique pour générer la vidéo d'autre part le multiplexage de l'adresse pour les mémoires dynamiques (41, 42, 43, 44) au moyen des signaux (RAS0,1,2, CASLO, CASH1). Le circuit (50) de transfert de bloc de bits sélectionné par la ligne d'adresse (23) permet de transformer un cycle de lecture écriture du microprocesseur (30) en cycle de lecture-modification-­écriture lorsque l'on est dans la page d'adresse de 9 à 16 Méga-bits. Le logiciel de gestion des interruptions, la commande de l'affichage vidéo et de gestion du multi-­fenêtre sera rangé dans les groupes de mémoires (1 et 2). Les groupes de mémoire 1 et 2 permettent aussi le stockage des tableaux de bits (bitmap) cachés. Sur cette carte tout a été mis en oeuvre pour obtenir le fonctionnement à la vitesse la plus élevée possible avec le microprocesseur (30) qui est installé. Ceci est obtenu par le fait que le microprocesseur (30) et le contrôleur du système vidéo sont synchronisés par la même horloge et par le fait qu'il y a une inversion de phase entre les signaux provenant du bus (VME) et du bus (CPU) synchronisés par le signal (SCLOCK/) et les signaux du contrôleur vidéo (40) sont synchronisés par le signal (SCLOCK). Ceci permet de gagner un temps d'attente dans le fonctionnement. Le total synchronisme du processeur (30) avec le contrôleur (40) permet d'éviter une logique de synchronisation laquelle fait perdre du temps et en même temps occupe de la place sur la carte. Seul le processeur (30) de la carte voit les informations telles qu'elles sont affichées à l'écran. Le processeur principal (CPU)(1) ne verra jamais l'écran tel qu'il est et passera toujours par les mémoires intermédiaires (41, 42, 43, 44). Le clavier tant qu'à lui est vu par interruption par le processeur central (1) tandis que la souris pourra être alternativement sous le contrôle du microprocesseur (30) ou sous le contrôle du processeur central (1). Par ailleurs, on a utilisé la sortie (RRDYB/) du circuit (70) qui émet les requêtes d'accès direct mémoire pour générer une interruption sur le processeur (30) suite à un appel de la souris sur l'entrée (RDB). Ceci permet à la souris de réveiller par interruption le processeur graphique (30). Le registre de contrôle (29) joue le rôle suivant:
    à la mise en route du système, le registre est mis à "O" et le processeur (30) est remis à "O" par ce registre par la sortie (MPRST/) et (MPUHLT/). Le processeur (30) est maintenu à l'arrêt par la sortie (MPUHLT/). A ce moment le processeur central (1) peut charger le logiciel nécessaire au processeur (30) dans la mémoire (41 à 44) à l'emplacement où ce dernier doit le trouver. Après cet opération de chargement le processeur (30) est libéré par la désactivation des signaux (MPURST/ et MPUHLT/) et commence comme lors d'une réénitialisation classique par aller chercher à l'adresse 0 le pointeur de la première instruction du programme. Lorsque l'on veut modifier le logiciel en cours d'utilisation on émet par le registre (29) le signal (MPUHLT/) actif de façon à arrêter le processeur logiciel à modifier pour ensuite réactiver le fonctionnement du processeur (30). Ainsi ce registre (29) permet de contrôler depuis le processeur principal (1) le processeur (30). Le signal (ENAVIB) du registre (29) permet de bloquer l'interface vidéo ce qui est très utile pendant toute la phase d'initialisation du contrôleur vidéo (40) qui s'initialise progressivement par le logiciel au fur et à mesure que les 30 registres de ce circuit sont remplis. Pendant cette période de temps le signal vidéo peut être n'importe quoi et pour éviter que ces signaux ne détériorent le moniteur vidéo très pointu on est amené à bloquer pendant cette phase le signal vidéo par le signal (ENAVID/). De même la sortie (ENASON/) permet d'éviter au générateur de son d'émettre dès la mise sous tension. Enfin ce registre de contrôle peut être utilisé pour faire des mesures de performance des logiciels. Par exemple on peut l'utiliser pour voir le temps mis par le processeur central (1) pour remplir la mémoire de la carte. Dans ce cas on lui fait remplir la mémoire sans arrêt et à chaque fois on inverse la sortie du générateur (200) ce qui fait émettre le signal sonore que l'on peut analyser de façon classique.
  • Le fonctionnement de la logique d'arbitrage et de sélection des boitiers va maintenant être décrit à l'aide des figures (2C à 2E). La figure 2C représente l'arbitrage du bus, tandis que la figure 2D représente un cycle de lecture écriture par le processeur central (1) et la figure 2E représente le cycle d'écriture-lecture mémoire par le processeur graphique (30). Pour les explications on se servira du tableau donnant l'organisation de l'espace d'adresse de la carte vue par le bus (VME) tableau figurant ci-dessus en page du texte, et du tableau ci-­après donnant l'organisation de l'espace d'adresse vue par le processeur graphique (30) de la carte BITMAP.
    Figure imgb0006
    Figure imgb0007
  • La carte d'interface travaille pratiquement qu'en mode esclave, c'est-à-dire qu'elle ne fait des demande d'accès au bus externe (VME), que dans le cas d'une inter ruption provoquée par le clavier ou dans le cas d'une interruption provoquée par la souris, répercutée par le processeur (30) vers le bus externe (VME). Le principe d'arbitrage choisi impose que l'accès par le bus externe (VME) est prioritaire. Quand une demande d'accès du bus externe (VME) est détectée par la logique d'arbitrage elle est transmise ver le processeur graphique (30) et dans le cas où le processeur (30) occupe le bus interne de la carte, il termine son cycle en cours et libère les bus à la fin de ce cycle. A ce moment là les tampons (20,21) sont validés et le bus externe (VME) à accès au bus interne de la carte. Quand l'accès du bus externe (VME) est terminé les tampons du bus (VME) sont remis en état haute impédance par le si gnal (ENAVME) et le processeur local (30) reprend son activité. Pour ce faire, le circuit (23) surveille les adresses (BA21 à BA23) du bus (VME) et déclenche la séquence d'arbitrage quand une adresse héxadécimale (6XXXXX) ou (7XXXXXX) ou un signal (IACK/) d'accusé de réception d'interruption est généré sur le bus. Dans le cas de l'apparition des signaux d'adresse sur les bits (21 à 23) et de l'activation du signal (BAS/), le circuit (23) génère le signal (MPUBRQ/) qui, envoyé au processeur (30), lui signale sur l'entrée (BR) qu'une autre unité in telligente désire accéder au bus interne de la carte. Ceci est représenté par la flèche 1 sur la figure 2.C. Le processeur (30) répond en validant le signal (MPUBGT/) qui indique au circuit demandeur que la demande a été prise en compte et que le microprocesseur (30) cédera les bus à la fin des cycles bus en cours. La présence du signal (BAS) et du signal (MPUBGT/) à l'entrée du circuit (23) permet de désactiver le signal (VCBAS/) et d'activer le signal (BGA/) comme in diqué par les flèches 2 et 3, figure 2.C. Suite à l'activation du signal (BGA), le circuit (24) sur le front d'horloge descendant suivant cette activation, ac tive (flèche 4) le signal (BGACK/) qui arrivant sur la broche (BK) du circuit (30) confirme de la part du circuit demandeur la prise des bus et leur contôle. Le signal (BGACK/) permet de générer sur le front d'horloge montant suivant son activation, l'activation du signal (ENAVME/) comme représenté par la flèche 5, figure 2C. Tant que (BGACK/) est actif, le processeur (30) maintient ses sor ties en haute impédance, ce qui permet au bus externe (VME) d'accéder au bus interne de la carte. Le signal de validation d'adresse (VSCALE/) pour le contrôleur du système vidéo (40) est généré sur le flanc descendant de l'horloge après l'activation du signal (BGACK/) comme représenté par la flèche 6. Ceci assure la stabilisation des adresses sur le bus interne, des signaux (VSCFSO, 1) et (CSVSC/) et du signal (VSCALE/). Suite à l'activation du signal (VSCALE/), le signal (MPUBRQ/) est désactivé comme représenté à la flèche 7, puis suit la désactivation de (BAS/, BGA/, BGACK/, ENAVME/, VCBAS/ et VSCALE/). Dans le cas d'une interruption provoquée par, soit la souris, soit le clavier, le bus externe (VME) émet le signal (IACK/), qui provoque le même arbitrage au niveau des signaux (MPUBRQ, BGACK) et la validation du signal (VCBIAC/) après la validation du signal (MPUBGT/) pour permettre au circuit 70 de prendre possession du bus interne et de transmettre, lors de la validation du signal (VCBWR/) consécutive à la validation du signale (ENAVME/), les données du bus interne (VBD) au bus de données externe (VME).
  • Dans le cas d'un cycle de lecture-écriture-mémoire exécuté par le processeur central 1, on se reporte à la figure 2D dans laquelle les flèches portant les mêmes chiffres correspondent aux étapes déjà décrites de l'arbitrage. La validation du signal (ENAVME/) provoque l'activation du signal (VCBAS/) comme représenté par la flèche 8 sur la figure 2D de laquelle découle l'activation du signal (VSCALE/) de validation des adresses pour le contrôleur vidéo. L'activation de ce signal provoque sur le front descendant d'horloge suivant, l'activation des signaux (VCBCEL/ et VCBCEH/). En fait, (VSCALE/) est renvoyé sur le circuit (23) qui active le signal (ENADS/) lequel va activer au travers de la bascule (243) les signaux (VCBCEL et VCBCEH). cette étape est représentée par la flèche 9 sur la figure 2D. L'écriture des données est effectuée lors de l'activation du signal (RAMRAS/) et suite à cette écriture le circuit (40) active le signal (MPUDTAC/). Ce signal provoque l'activation successive des signaux (DTA1/ et DTA2/) représentée par les flèches 10 et 12. Le signal (DTA2/) étant activé sur le front descendant suivant l'activation du signal (ENDTA2/) lequel est activé par le circuit (23) sur l'activation du signal (DTA1/). L'activation de (DTA2/) dans le circuit (23) va provoquer l'activation du signal (VMEDTAC/) lequel est renvoyé sur la bascule (425) qui va provoquer l'activation du signal (BDTACK/). Cette étape est représentée par la flèche 13 sur le diagramme de la figure 2D. Pendant l'activation de (BDTACK/), la lecture des données de la mémoire est faite par le processeur central (1). A la fin de cette lecture, le signal (VCBAS/) est désactivé par le signal (BAS/) et cette désactivation provoque la désactivation du signal (BDTACK/) comme représenté par la flèche 14. L'invalidation de (VCBAS/) est synchrone de l'invalidation des signaux (VCBDS0/ et VCBDS1/) lesquels provoquent la désactivation des signaux (VCBCEL/ et VCBCEH/). Cette étape provoque la désactivation du signal (VSCALE/) comme représenté à la flèche 15 et du signal (RAMCAS0/,1/) comme représenté à la flèche 17. L'inactivation de (VSCALE/) provoque par la suite la désactivation du signal (MPUDTAC/) (flèche 19) puis la désactivation de (DTA1/) (flèche 20) et également la désactivation de (RAMRAS/) (flèche 18). Comme on peut le remarquer sur cette figure 2D, le signal (MPUDTAC/) est activé sans cycle d'attente pour permettre au processeur (30) de travailler à la vitesse maximale, mais comme ce signal arrive trop tôt pour le bus (VME), puisque les données ne sont pas encore stabilisées, ce signal est retardé par les signaux (DTA1/, DTA2/) pour générer le signal d'acquittement (BDTACK/) pour le bus (VME).
  • Un cycle de lecture-écriture-mémoire par le processeur graphique (30) de la carte va maintenant être explicité en liaison avec la figure 2E. Dans ce cas, après que le processeur (30) ait positionné les lignes d'adresse (VCBADR), il génère par la sortie AS le signal (VCBAS/) lequel va générer comme dans l'étape 6 de la figure 2D le signal (VSCALE/). Le signal (VCBDS0/ ,1/) est généré par les sorties (LS, US) du circuit (30) suivant le séquencement propre à une instruction de lecture-mémoire du microprocesseur. Le signal (VCBWR/) est rendu inactif par la sortie (WR) du processeur (30) et indique par conséquent une lecture. Après la validation des lignes d'adresses par le signal (VCBAS/) pour le boîtier (30) et (VSCALE/) pour le boîtier (40), le boîtier (40) est sélectionné par le signal (CSVSC/) et le mode d'accès est indiqué par les signaux (VSCFS0 et VSCFS1) dont les valeurs sont déterminées comme on l'a déjà vu par les valeurs des lignes d'adresses (VBAM17 à 20). Par la suite, le signal (ENADS/) est activé puis les signaux (RAMRAS/ et RAMCAS0/,1/) sont activés comme pour la figure 2D. Le signal (MPUDTAC/) est activé par le circuit (40) avant que les données ne deviennent disponibles sur le bus de données (VBD). L'activation de ce signal (MPUDTAC/) introduit quatre cycles d'attente qui sont liés au fonctionnement du circuit contrôleur vidéo (40). Une fois le signal (MPUDTAC/) actif, celui-ci active le signal (DK/) (flèche 22) à l'entrée du circuit (30) lequel relance la suite du cycle de lecture-mémoire pour le processeur. Après la lecture des données, le processeur 30 invalide les signaux (VCBAS/ et VCBDS0/,1/) et par suite les signaux (ENADS/ et RAMCAS0/,1/). Le signal DK est également invalidé par VCBAS/. Après le cycle S7 de la figure 2E commence le cycle S0 d'une écriture-mémoire par le processeur 30. Lors de ce cycle, le signal (VCBWR/) est activé dans le cycle S1 et son activation provoque la désactivation des signaux (RAMRAS/ et MPUDTAC/), comme représenté par les flèches 21. Par la suite, les signaux (VCBAS/, VSCALE/ etc)sont activés de la même façon que pour une lecture de donnée-mémoire. La seule différence réside dans le fait que les lignes de donnée du bus (VBD) sont positionnées à leur valeur dès la fin du cycle S2 du processeur (30). Dans le cycle de donnée, on voit apparaître en bas de la figure 2E la ligne (LDSRC/) qui correspond au signal de chargement du registre source du circuit (50) de transfert de bloc de bit. On voit dans le cas de l'utilisation de ce circuit que le chargement du registre source s'effectue après l'activation du signal (MPUDTAC/) comme représenté par la flèche 23 sur la figure. Ceci permet de venir effectuer une lecture de données par le circuit (50) avant la fin d'un cycle d'écriture du processeur comme on l'a déjà vu. Le signal (LDSRC) est désactivé par UCBAS/.
  • Le fonctionnement ainsi décrit a permis de mettre en évidence les avantages de l'invention. Il est bien évident que toute modification à la portée de l'homme de métier fait également partie de l'esprit de l'invention.

Claims (12)

1. Carte graphique et interface entre un processeur central (1) communiquant de façon asynchrone avec cette carte par un bus externe et un moniteur vidéo (9) caractérisé en ce qu'elle comprend :
- un ensemble de mémoires-vidéo (45, 46) de capacité au moins égale au nombre de points d'affichage souhaités sur le moniteur (9),
- au moins un groupe de mémoires vives (43, 44 ou 41, 42) de stockage des logiciels d'application graphique,
- un circuit (40) contrôleur du système vidéo, gérant les adresses des différentes mémoires en vue d'effectuer les rafraîchissements des mémoires, de l'affichage vidéo et les mises à jour des données ou des programmes et délivant les signaux vidéo ;
- un circuit (60) de sérialisation des données délivrées par la mémoire vidéo (45, 46) en cadence avec une horloge vidéo H1 ;
- un processeur graphique (30) cadencé par une horloge (H0) et travaillant en synchronisme avec le circuit (40) du contrôleur du système vidéo de façon à exécuter les programmes de logiciel contenus dans le groupe de mémoires vives ;
- un circuit (20 à 22) d'interface entre le bus externe et les bus de la carte et un circuit (23 à 27) d'arbitrage entre le processeur graphique (30), le contrôleur de système vidéo (40) et le bus externe ;
2. Carte d'interface selon la revendication 1, caractérisée en ce qu'elle comprend en outre un circuit d'interface (70) d'entrée-sortie entre une souris (71), un clavier (72) et le processeur ou graphique (30) ou le bus externe, ce circuit étant cadencé par une troisième horloge (H2).
3. Carte d'interface selon la revendication 2, caractérisée en ce que le circuit (70) du contrôleur du système vidéo génère des interruptions dues à une action sur le clavier directement sur le bus externe et les interruptions dues à une action sur la souris en direction du processeur graphique (30) par l'intermédiaire d'une logique (73);
4. Carte d'interface selon une des revendications 1 à 3, caractérisée en ce qu'elle comprend un générateur de son (80).
5. Carte d'interface selon une des revendications précédentes, caractérisée en ce qu'elle comprend un circuit (50) de transfert de bloc de bit commandé par une logique (51) et sélectionné par la ligne d'adresse de poids le plus élevé (A23).
6. Carte d'interface selon une des revendications précédentes, caractérisée en ce qu'elle comprend un registre de contrôle (29) permettant, lors de l'initialisation du système, de charger les mémoires de la cartes et de charger les différents registres des différents circuits (50, 30, 40, 70).
7. Carte d'interface selon une des revendications précédentes, caractérisée en ce que les lignes de données du processeur (30) sont isolées des lignes de donnée du bus de données interne (VBD) de la carte par un circuit tampon (31) dont l'isolement est commandé par la ligne d'adresses de poids le plus élevé du processeur (A23).
8. Carte d'interface selon la revendication 7, caractérisée en ce que le circuit (50) de transfert de bloc de bit est commandé par une logique (51) de controle du séquencement pour transformer une instruction de lecture-écriture-mémoire du processeur graphique (30) en une instruction de lecture-modification-écriture pour le circuit (50).
9. Carte selon la revendication 8, caractérisée en ce que un circuit logique (47 à 49) de sélection des mémoires et de blocage des échanges entre le processeur graphique (30) et les mémoires (41-42, 43-44, 45-46) permet la modification du cycle lecture-écriture en un cycle lecture-modification-écriture par le circuit (50) de transfert de bloc de bit.
10. Carte d'interface selon une des revendications précédentes, caractérisée en ce que le processeur (30) travaille en mode esclave pour l'attribution des bus internes (VBD, VBA) par rapport au bus externe et au processeur central (1) et en mode autovecteur pour le traitement des interruptions sans décodage des niveaux de priorité.
11. Carte d'interface selon la revendication 10, caractérisée en ce que le processeur graphique (30) reçoit trois types d'interruption, les interruptions de canal d'entrée pour la souris (71), de l'interface d'entrée-sortie (70), les interruptions du circuit (40) contrôleur du système vidéo et les interruptions déclenchées par le bus externe et transmises par le registre de contrôle (29).
12. Carte d'interface selon une revendication précédente, caractérisée en ce que le circuit (60) de sérialisation des données pour l'affichage vidéo comporte une entrée de chargement (LD) des données à sérialiser provenant des registres de la mémoire vidéo (45-46), permettant d'invalider le chargement par le signal d'effacement (BLANK) provenant du circuit (40) du contrôleur du système vidéo.
EP19870401744 1986-07-28 1987-07-24 Carte graphique et interface clavier souris Expired - Lifetime EP0255436B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8610875 1986-07-28
FR8610875A FR2602892B1 (fr) 1986-07-28 1986-07-28 Carte graphique et interface clavier souris

Publications (2)

Publication Number Publication Date
EP0255436A1 true EP0255436A1 (fr) 1988-02-03
EP0255436B1 EP0255436B1 (fr) 1991-05-22

Family

ID=9337774

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19870401744 Expired - Lifetime EP0255436B1 (fr) 1986-07-28 1987-07-24 Carte graphique et interface clavier souris

Country Status (4)

Country Link
EP (1) EP0255436B1 (fr)
DE (1) DE3770212D1 (fr)
ES (1) ES2022402B3 (fr)
FR (1) FR2602892B1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0483467A2 (fr) * 1990-10-31 1992-05-06 Geryon Communication, Inc. Circuit de conversion de graphiques en couleur particulièrement pour convertir des signaux générés par des stations graphiques en signaux de télévision
WO1996041325A1 (fr) * 1995-06-07 1996-12-19 Seiko Epson Corporation Systeme informatique avec controleur d'affichage arbitrant les acces a la memoire d'affichage en fonction d'un schema de priorites multi-niveaux
US6119207A (en) * 1998-08-20 2000-09-12 Seiko Epson Corporation Low priority FIFO request assignment for DRAM access
US6145033A (en) * 1998-07-17 2000-11-07 Seiko Epson Corporation Management of display FIFO requests for DRAM access wherein low priority requests are initiated when FIFO level is below/equal to high threshold value
US6204864B1 (en) 1995-06-07 2001-03-20 Seiko Epson Corporation Apparatus and method having improved memory controller request handler

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
COMPUTER DESIGN, vol. 21, no. 7, juillet 1981, pages 111-113, Winchester, Mass., US; D. JONES et al.: "Graphics and imaging system offloads host computer" *
ELECTRONIC DESIGN, vol. 32, no.2, 26 janvier 1984, pages 81-88, Wasecca, MN., Denville, US; W.F. CARLETON et al.: "Graphics chip set paints a broad spectrum" *
ELECTRONIC DESIGN, vol. 33, no. 1, 10 janvier 1985, pages 42,44, Hasbrouck Heights, US; D. BURSKY: "Graphics accelerator cruises along at 400.000 operations/s" *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0483467A2 (fr) * 1990-10-31 1992-05-06 Geryon Communication, Inc. Circuit de conversion de graphiques en couleur particulièrement pour convertir des signaux générés par des stations graphiques en signaux de télévision
EP0483467A3 (en) * 1990-10-31 1993-09-01 Grafite S.R.L. Color graphics conversion device particularly for converting video signals output by graphics stations into television signals
WO1996041325A1 (fr) * 1995-06-07 1996-12-19 Seiko Epson Corporation Systeme informatique avec controleur d'affichage arbitrant les acces a la memoire d'affichage en fonction d'un schema de priorites multi-niveaux
US6204864B1 (en) 1995-06-07 2001-03-20 Seiko Epson Corporation Apparatus and method having improved memory controller request handler
US6145033A (en) * 1998-07-17 2000-11-07 Seiko Epson Corporation Management of display FIFO requests for DRAM access wherein low priority requests are initiated when FIFO level is below/equal to high threshold value
US6119207A (en) * 1998-08-20 2000-09-12 Seiko Epson Corporation Low priority FIFO request assignment for DRAM access

Also Published As

Publication number Publication date
FR2602892B1 (fr) 1988-11-10
FR2602892A1 (fr) 1988-02-19
EP0255436B1 (fr) 1991-05-22
DE3770212D1 (de) 1991-06-27
ES2022402B3 (es) 1991-12-01

Similar Documents

Publication Publication Date Title
US5816921A (en) Data transferring device and video game apparatus using the same
JP3579461B2 (ja) データ処理システム及びデータ処理装置
US4818932A (en) Concurrent memory access system
EP0432575B1 (fr) Processeur de données avec unité de commande d'état d'attente
KR101354376B1 (ko) 직렬로 상호접속된 장치에 대해 장치 식별자를 확립하는 기기 및 방법
KR100782594B1 (ko) 데이터 처리 기능을 구비한 메모리 장치
KR100631778B1 (ko) 데이터 버퍼 회로, 인터페이스 회로 및 그 제어 방법
FR2480459A1 (fr) Systeme de traitement de donnees a un dispositif d'appariement d'adresses de memoire de controle
EP0255436B1 (fr) Carte graphique et interface clavier souris
EP0261751A2 (fr) Système d'accès de mémoire concurrent
JPS63243989A (ja) メモリ制御装置
US11372756B2 (en) Memory pool management
JP3185808B2 (ja) 多重タイミング起動装置
JP2004318877A (ja) 知的な待ち方法
JP3610029B2 (ja) データ処理システム
EP0149399B1 (fr) Contrôleur de visualisation graphique
US8443145B2 (en) Distributed memory usage for a system having multiple integrated circuits each including processors
JP3509981B2 (ja) 画像表示制御方法およびその装置
JP3537786B2 (ja) データ処理システム
JP4482996B2 (ja) データ記憶装置とその方法および画像処理装置
KR920005301B1 (ko) 비디오 메모리의 액세스 제어회로
FR2664772A1 (fr) Reseau local d'intercommunication de modules de traitement de donnees.
CN118511154A (zh) 采用多加载的fifo数据缓冲器
JPH0430052B2 (fr)
JPH10268853A (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

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): BE DE ES FR GB IT NL SE

17P Request for examination filed

Effective date: 19880218

17Q First examination report despatched

Effective date: 19900518

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): BE DE ES FR GB IT NL SE

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)
ITF It: translation for a ep patent filed
REF Corresponds to:

Ref document number: 3770212

Country of ref document: DE

Date of ref document: 19910627

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
EAL Se: european patent in force in sweden

Ref document number: 87401744.5

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: SE

Payment date: 19950531

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 19950609

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: BE

Payment date: 19950615

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 19950707

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: ES

Payment date: 19950714

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 19950731

Year of fee payment: 9

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 19950821

Year of fee payment: 9

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19960724

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Effective date: 19960725

Ref country code: ES

Free format text: LAPSE BECAUSE OF THE APPLICANT RENOUNCES

Effective date: 19960725

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Effective date: 19960731

BERE Be: lapsed

Owner name: S.A. BULL

Effective date: 19960731

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Effective date: 19970201

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 19960724

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Effective date: 19970328

NLV4 Nl: lapsed or anulled due to non-payment of the annual fee

Effective date: 19970201

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Effective date: 19970402

EUG Se: european patent has lapsed

Ref document number: 87401744.5

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

REG Reference to a national code

Ref country code: ES

Ref legal event code: FD2A

Effective date: 19991007

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20050724