US5561812A - Data transmission system for transferring data between a computer bus and a network using a plurality of command files to reduce interruptions between microprocessors - Google Patents
Data transmission system for transferring data between a computer bus and a network using a plurality of command files to reduce interruptions between microprocessors Download PDFInfo
- Publication number
- US5561812A US5561812A US08/589,765 US58976596A US5561812A US 5561812 A US5561812 A US 5561812A US 58976596 A US58976596 A US 58976596A US 5561812 A US5561812 A US 5561812A
- Authority
- US
- United States
- Prior art keywords
- command
- commands
- network
- frames
- data transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 34
- 230000015654 memory Effects 0.000 claims abstract description 61
- 230000008878 coupling Effects 0.000 claims abstract description 13
- 238000010168 coupling process Methods 0.000 claims abstract description 13
- 238000005859 coupling reaction Methods 0.000 claims abstract description 13
- 238000012546 transfer Methods 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 3
- 230000011664 signaling Effects 0.000 claims description 2
- 101000735459 Homo sapiens Protein mono-ADP-ribosyltransferase PARP9 Proteins 0.000 abstract 1
- 102100034930 Protein mono-ADP-ribosyltransferase PARP9 Human genes 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 53
- 230000004044 response Effects 0.000 description 5
- 101001001810 Homo sapiens Pleckstrin homology domain-containing family M member 3 Proteins 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 3
- 102100036332 Pleckstrin homology domain-containing family M member 3 Human genes 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 102100025250 C-X-C motif chemokine 14 Human genes 0.000 description 1
- 101000858068 Homo sapiens C-X-C motif chemokine 14 Proteins 0.000 description 1
- 101100386054 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CYS3 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 101150035983 str1 gene Proteins 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/128—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
Definitions
- This invention concerns a system of data transmission between a computer bus and a network in the form of a ring with high transfer rate. It is particularly applicable to a data transmission network of the FDDI type for which fiber optics constitute the transmission medium, or even TPDDI type for which the transmission medium is constituted by a twisted pair.
- FDDI or TPDDI type data transmission networks are used more and more frequently and are broadly defined in documents prepared by international standardization boards like ANSI (American National Standard Institute), under reference X3T9-5. These standards are also adopted by the I.S.O., Organization Internationale de Normalisation (International Standard Organization). They define a set of physical and electrical characteristics of the network. These transmission networks have the advantage of having reached a high number of bits transmitted, on the order of 100 Mbits/s.
- the frame is constituted by usable data framed in time by command characters placed at the head and tail of the frame.
- the length of the frames is 4 kilobytes and there are two main types of frames, defined by the standard, namely, frames of type LLC and frames of type SMT.
- Type LLC frames are actually made up of useful data to be transmitted and they are those most commonly used on the network.
- Frames of SMT type are special frames called "station management", or even station administration, for verification of proper operation of each one of the stations connected to the network.
- MULTIBUSII brand registered by the INTEL Company and commonly known as PSB or Parallel System Bus
- IEEE1296 Institute of Electrical and Electronic Engineers
- Such a computer bus is linked to the network (FDDI or TPDDI) by the intermediary of a data transmission system (which may also be called a connection bridge device) whose function is to adapt conditions for transmission of data on the MULTIBUSII to transmission conditions on the network.
- a data transmission system which may also be called a connection bridge device
- the methods of data transmission concerning the rate of data transmission, transmission protocols used, entry codes, data, format, command characters, etc . . . , on the PSB bus on the one hand and the network on the other, are totally different.
- FIG. 1 The general physical structure of a data transmission system is shown in FIG. 1. It is described in more detail, together with the various methods of carrying out the operation, in either one of the applications for patent No. 91 08908 filed on Jul. 15, 1992 by BULL S.A. under the title "Universal device for connecting a computer bus to a controller of a group of peripherals" and No. 91 08907 filed on the same day by the same applicant under the title "Operating system for universal device for linking a computer bus to a specific network connection".
- FIM such a system of data transmission
- a universal coupling device GPU English acronym for General Purpose Unit
- an adapter device DEA adapter device
- the device GPU is linked to PSB by an MPC coprocessor, type VL 82c389 manufactured by the INTEL Company, which communicates by message mode with the computer ORD (not shown in order to simplify FIG. 1), this mode being defined in the aforementioned IEEE 1296 standard.
- MPC coprocessor type VL 82c389 manufactured by the INTEL Company
- the device DEA can be physically arranged on the same card as the universal coupling GPU. In addition, it is linked physically to the network RE in a manner such as that described in U.S. Pat. No. 5,237,659 entitled "Bridge device for connection of a computer bus to a fiber optic network in ring form", issued Aug. 17, 1993.
- the GPU device is comprised of the following various essential components:
- the microprocessor CPU 1 actually constituting the central unit of the GPU, equipped with an internal bus BI 1 for carrying commands to the adapter device DEA.
- This microprocessor is associated respectively with a programmable erasable memory EPROM 1 , a read/write memory SRAM 1 and an interruption manager, or MFP 1 . All these elements EPROM 1 , SRAM 1 , MFP 1 are connected to internal bus BI 1 ,
- VRAM double port video-RAM memory
- bus B 1 which links the VRAM memory to the adapter DEA, the components of which will be described subsequently.
- the microprocessor CPU 1 is, in the production example described here, of type 68030 manufactured by the MOTOROLA Company.
- the internal bus BI 1 is a non-multiplexed bus of 32 bits for data and 32 bits for addresses.
- the erasable read-only memory EPROM 1 for example, has a capacity of 256 kilobytes and contains the self-testing and initialization programs of the universal linking device GPU.
- the operating system of the microprocessor CPU 1 (Operating System) designated by GPOS (English acronym for General Purpose Operating System) is contained in static memory SRAM 1 and is charged with initialization of the coupling device GPU.
- the capacity of this memory is, for example, 1 megabyte.
- GPOS is described in aforementioned claim No. 91 08907.
- the direct access controller DMAC is serially connected on the one hand between the memory VRAM and the coprocessor MPC and on the other hand between this latter and bus BI of the microprocessor CPU 1 .
- controller DMAC A detailed description of the structure and operation of the controller DMAC is given in the application for French patent No. 91 15814 filed on Dec. 19, 1991 by the applicant company under the title "Controller of transfer of multiple data between a multiplicity of memory and a computer bus" from which a corresponding United States patent will issue from PCT application PCT/FR92/01202.
- the microprocessor CPU 1 is the brain of the coupling device GPU: it initializes the transfer of data, carries out the adaptation of protocols, implements its operating system and transfers data between DEA and the computer ORD and vice versa while dialoguing with the DEA with which it exchanges commands and statuses as described farther on in the description of the invention.
- the role of the transfer management controller CT is to organize the transfer of frames between the GPU apparatus and the adapter device and the network RE and vice versa while, at the same time, exchanging commands with the microprocessor CPU 1 of the GPU.
- the network access controller permits the physical transfer of data from the bus B 1 to the network RE via the physical adaptation device DAPR and the bus B 4 which is physically connected to B 1 .
- the network access controller CAR and the device for physical access to the network DAPR are, for instance, constituted by components DP83265, DP83261, 83251 or 55, 83231, 83241 of Societe National semi-conductors.
- the controller CT is comprised of a microprocessor CPU 2 , a memory EPROM 2 , a storage memory SRAM, and an interruption manager MFP 2 . All these components are linked by internal bus BI 2 of the transfer controller CT. It is quite evident that the microprocessor CPU 2 is the central element of the transfer controller CT and it is that that organizes the dialogue with the microprocessor CPU 1 through the intermediary of commands in a manner that will be described relative to the invention farther on in the text.
- This invention remedies these inconveniences by eliminating this FIFO type transfer interface and replacing it with command files arranged in the VRAM memory. Furthermore, in the SRAM 2 memory of the DEA adapter device there are software modules independent of each other that can, on the one hand, communicate among themselves and, on the other hand, with the management system of the microprocessor CPU 1 through the intermediary of letter boxes arranged in the SRAM 2 memory and/or command files arranged in the VRAM memory.
- the data transmission system between a computer bus and a network in high transfer rate ring form includes a universal coupling device linked to the bus and communicating through an interface with an adapter device connected to the network through the intermediary of a network access controller.
- the universal device includes: a first microprocessor associated with a first memory and executing an operation system contained in the latter, and means of transferring frames from the bus to the adapter device and vice versa, including a double port memory arranged between the bus and the adapter device.
- the adapter device includes: a second microprocessor for management of the transfer of frames between the means of transfer and the access controller and vice versa.
- the system is characterized by the fact that the interface is made up of a multiplicity of command files each of which is comprised of a bundle of commands of which at least a portion concern the emission or reception of frames, these files being arranged in the interior of the double port memory, and the second management processor comprising a multiplicity of software modules independent one from the other for managing the emission and reception of frames specific to the network, the software modules communicating among themselves and with the operating system of the first microprocessor by means of letter boxes included in the second processor and/or command files contained in the double port memory.
- FIG. 1 shows what the various essential components are that make up a data transmission system as per the previous concept and as is described in one or the other of the two aforementioned patent applications;
- FIG. 2 shows the various software modules constituting the software operation of the adapter device belonging to the data transmission system according to the invention
- FIGS. 3a and 3b shows in one portion how the interface between the coupling device and the adapter device is constituted and, in the other, how the letter boxes inside the memory of the management processor of the adapter device are arranged;
- FIGS. 4 and 5 show two examples of operation for two specific types of frame of the FDDI network, of the adapter device putting into operation two software modules from among all those that comprise the operation software of this device.
- FIGS. 1, 2, 3a and 3b the physical structure of the data transmission system according to the invention is as shown in FIG. 1.
- the interface between the universal coupling device GPU and the adapter device DEA is no longer composed of FIFO memories arranged between GPU and DEA, but is made up of a multiplicity of command files like F 1 to F 4 arranged inside the VRAM memory of the GPU device.
- These command files may be seen in FIG. 3a in the upper right portion of the VRAM memory.
- the DEA adapter device comprises a multiplicity of software modules ML 1 , ML 2 , . . . , ML i , . . . . , ML 9 , ML 10 , independent of each other and communicating among themselves through the intermediary of letter boxes BAL 1 , BAL 2 , BAL n arranged in static memory SRAM 2 of the management controller CT (see FIGS. 2 and 3b).
- Each of the two memories VRAM and SRAM 2 may contain multiple memory zones designated by the Anglo-Saxon term buffer that are able to contain all or part of the frames of data that are transferred between the bus PSB and the network RE.
- the double port memory VRAM comprises a multiplicity of memory zones BF 1 to BF p
- the static memory SRAM 2 is comprised of a multiplicity of memory zones BFS 1 to BFS q .
- the length and address of origin of each one of these memory zones is, of course, variable over the course of time and depends on events that affect the data transmission system and, therefore, the nature and length of the frames that it is necessary to transfer from the bus PSB to the network RE and vice versa.
- the adapter device DEA therefore allows connection to FDDI or TPDDI type network RE and reception from, or emission to, the network of LLC or SMT type frames, while autonomously assuring all responses or actions solicited by particular events or by SMT type frames.
- the adapter device manages two types of behavior, the first concerning the emission or reception of LLC frames, the second concerning the emission or reception of SMT frames.
- the adapter device essentially needs to handle three types of commands which are defined in one or another of the command files F 1 to F 4 shown in FIG. 3a and contained in the VRAM memory.
- a task is activated by a physical event which may be, for example, the reception of a command originating from the computer ORD via the bus PSB or even the reception of a frame, whether it be type LLC or SMT.
- a task may also be activated by another task.
- a command is made up of a four word cell of 32 bits each (or 16 eight-bit bytes in all).
- a buffer (BF 1 to BF p or BFS 1 to BFS q ) may or may not be associated with a command.
- the four words are designated by MOT 1 to MOT 4 .
- each bit is designated by the symbol b and the rank of the bit is indicated. This rank is read vertically from top to bottom. Thus, the bit of rank 31 is the bit placed the farthest to the left and the bit of rank 0, the bit placed on the right.
- Bits b26 to b31 indicate the code applicable to the command.
- Bits b8 to b15 define the issuer of the command which may be either the GPU operation system or one or another of the DEA software modules. Whichever it is, GPU or one or another of the software modules, it is defined by a particular value from among all of these bits b8 to b15.
- Bits b0 to b7 define the software channel associated with the command, bits b0 to b5 being equal to logical zero and the bit couple b7-b6 having the following values:
- 11 indicates that it is the serial standardized RS232 link connected to the adapter device DEA, utilized for maintenance purposes (for simplification, not shown in FIG. 1).
- bits b0 to B31 define the identifier of the command.
- the identifier of a response to this command is equal to the identifier of the corresponding request.
- bits b16 to b31 define the identifier of the command and bits b0 to b14 the number of the buffer associated with this command, if there is one.
- Bit b15 if it is equal to zero, defines an associated buffer located in SRAM 1 , that is, one of buffers BFS 1 to BFS q . If it is equal to 1, it is an associated buffer located in VRAM, or one of buffers BF 1 to BF p .
- Bits b16 to b31 identify the various options possible for a request or the status of a response.
- a request may be made in various ways.
- Bits b0 to b15 indicate the length (in eight-bit bytes) of the buffer associated with the command. If this length is null, the command is not associated with a buffer.
- Bits b0 to b31 identify the address of the buffer possibly associated with the command.
- Two command channels permit emission and reception of commands.
- Each channel is composed of two files. These channels are as follows (see Table 1A):
- the order channel permits the emission and reception of LLC frames. It is associated with two files, that is, file F 1 for emission of frames and file F 2 for reception of frames.
- the administrative channel permits sending administrative commands to DEA. It is associated with two files, F 3 and F 4 .
- a file like F 1 to F 4 is a list of commands (remember that a command is coded on 16 eight-bit bytes).
- the number of elements of 11 a file is a power of 2: there are, therefore, 2 n commands per file.
- a writing pointer PTFW and a reading pointer PTFR are associated with each file.
- the reading or writing operations of a command are carried out in the following manner.
- An interruption is associated with each one of the files F 1 to F 4 .
- An interruption is generated only when the file passes from empty status to non-empty status (clearly, empty status corresponds to the absence of a written command in the file).
- the command is read in the PTFR index.
- a buffer index list is essential. This list consists of 2 n words of 16 bits. Each word represents the index of an available buffer.
- a writing pointer PFWL Associated respectively with each list of buffers there is a writing pointer PFWL, a reading pointer PFRL and a counter of used buffers, NBUF, indicating the total number of buffers utilized from the list.
- NBUF a counter of used buffers
- the letter boxes BAL i to BAL n are each constituted by a list of 2 n commands, each command capable of being associated or not with a buffer.
- the buffers indicated above in VRAM or SRAM 2 are all available for each one of the letter boxes. The operation of a letter box is, therefore, exactly identical to the functioning of a command file.
- all the commands indicate the buffer length necessary for the reception or emission of a frame.
- organization of the VRAM memory is carried out on a page of a maximum of 4 kilobytes each, and that a frame according to standard FDDI may have a length of up to 4500 kilobytes, it may be necessary to use two pages in VRAM memory to store a complete frame.
- the adapter then edits two commands, the first containing the length of the first portion of frame and the second indicating the length of the second portion of the frame.
- the data transmission system contains four interruption channels, GPU managing two interruption channels called IRQ-Tx and IRQ-REQ which indicate respectively the passages of command files F 1 and F 4 from empty to non-empty status and the adapter device DEA managing two interruption channels IRQ-Rx and IRQ-IND signaling respectively the passage of files F 2 and F 3 from empty to non-empty status.
- the various software modules contained in the SRAM 2 memory of the adapter device DEA are as follows:
- Module ML 1 still called MODIT, handles physical interruptions IT, other than those relative to the emission and reception of frames, or those relating to the various command files. Particularly mentioned may be the handling of interruptions issuing from elements constituting the controller for access to the CAR network, or even interruptions originating from the RS232 link. According to what the interruption is that is analyzed by this module ML 1 , the latter indicates the event to one or another of the software modules that may be concerned by said interruption, this event being indicated through the intermediary of the letter box associated with the module in question. The module is therefore activated when its letter box passes from the empty state to the non-empty state and it is deactivated when its letter box is empty.
- Software module M 2 still called MOD-TX-CMD issues commands to the coupling device GPU or to the link RS 232. It manages the pointer PTFW of the F 3 command file. It is activated when its letter box passes from the empty state to the non-empty state and is deactivated when the latter is empty.
- Module ML 3 is said to be a supervisory module which handles administrative and SMT commands. This module is activated when the F 4 file passes from the empty state to the non-empty state and when its letter box is simultaneously non-empty. It is deactivated when F 4 and its letter box are simultaneously empty.
- the module therefore manages the PTFR pointers of the F 4 file. It is also responsible for the analysis and execution of commands from the GPU other than those relative to the emission or reception of type LLC frames. This module also analyzes the SMT frames received and is responsible for the generation of responses should that prove necessary.
- Module ML 4 still called MODCONX, implements a certain number of automata defined in the SMT standard. These automata are the ECM automata (Entity Coordination Management), PCM (Physical Connexion Management), CFM (Configuration Management) and RMT (Ring Management) of this SMT standard.
- ECM automata Entity Coordination Management
- PCM Physical Connexion Management
- CFM Configuration Management
- RMT Ring Management
- the ECM automation receives requests for connection and disconnection on the FDDI type network RE, request issued from module ML 3 ,
- PCM carries out the physical connections or disconnections
- CFM carries out the electrical connections between the PHY(s) and MAC elements of the network access controller CAR (defined in the FDDI standard and in the documents of the CAR manufacturer, see above),
- RMT enters the MAC of the station into the ring. It indicates changes of the ring status in module ML 2 (network connected or network disconnected).
- module ML 4 is activated by the passage of its letter box from empty status to non-empty status, or by interruptions issued from PLAYER or BMAC elements of the network access controller CAR (also defined in the manufacturer's documents and in the FDDI standard). The module is deactivated when its letter box is empty and when the preceding automata have attained a stable status.
- Module ML 5 still called MOD-RX-SMT, handles the reception of SMT frames. It is activated when the corresponding reception buffer (the one where the SMT frame concerned is received) passes from the empty state to the non-empty state and it is deactivated when this same reception buffer is empty. When an SMT frame must be handled, a command is entered into the letter box associated with module ML 3 . This type of operation will be illustrated in more detail later on in connection with FIG. 4.
- Module ML 6 still called MOD-TX-SMT, manages the emission of SMT frames. It is activated when the letter box associated with it is non-empty or even at the end of emission of an SMT frame. It is deactivated when the letter box corresponding to it is empty.
- Module ML 7 still called MOD-RX-LLC handles reception of LLC frames. It is activated when the reception buffer allocated to the frame concerned passes from the empty state to the non-empty state and is deactivated when this same buffer is empty. This module manages the PTFW pointer of the F 2 command file. At each call corresponding to a frame reception, this module examines the situation of the PTFR pointer of file F 2 in order to possibly reutilize newly available reception buffers.
- Module ML 8 still called MOD-TX-LLC is activated by an interruption indicating the end of emission of an LLC frame or of a whole chain of LLC frames. It notifies the computer ORD, through the intermediary of the F 1 PTFR file pointer, of the availability of buffers which have been previously used. It also detects the entry of new messages into the F 1 file and, if necessary, activates module ML 9 , described below.
- Module ML 9 still called MOD-CMD-TX, handles emission requests originating from the computer ORD. It is activated at the time of the transition of the F 1 file from empty to non-empty status. It is deactivated when all the requests emanating from ORD have been handled. Moreover, this module carries out all the operations necessary for the emission of LLC frames. On this subject, refer to aforementioned patent application 91 08908 which describes these operations.
- Module ML 10 still called MODFILE, is charged with the management of letter boxes BAL 1 to BAL n . Reference is made henceforth to FIGS. 4 and 5 which show two examples of operations of modules frequently used and important, to wit, modules ML 5 and ML 2 .
- the adapter device DEA receives an SMT type frame originating from the network RE. This frame arrives directly into the VRAM memory and, for example, is stored in buffer BF 1 . An interruption IT 1 alerts the ML 5 module, or MOD-RX-SMT, that a frame has arrived in the VRAM memory in buffer BF 1 . It then passes to operation 2.
- Module ML 5 transfers the SMT type frame from the BF 1 buffer into a free BFS l buffer in SRAM memory. In order to do this, the ML 5 module consults the list of buffers and chooses a free buffer.
- the ML 5 module issues a command CMD 1 in which it indicates the location of the buffer BFS 1 and the length of the latter. It then passes to operation 4.
- Module ML 5 transfers the contents of the command CMD 1 to letter box BAL 1 (should be that of the supervisory module MOD-SPV, module ML 3 . Module ML 3 then carries out operation 5.
- ML 3 is going to read the contents of its letter box BAL 1 and find that it has to handle an SMT frame which is found in buffer BFS 1 , a frame with a specific length.
- the supervisory module then handles the SMT type frame, as per the FDDI standard and once this has been done, passes on to operation 7.
- FIG. 5 describes how a command emitted by the adapter device DEA is sent to GPU.
- the ML 2 module MOD-TX-CMD
- the processor CPU 2 has issued a command CMD 2 through the intermediary of any module (except ML 2 ), ML 1 , for example.
- This command is assumed to be an internal command. It is destined for file F 3 . It passes on to operation 12.
- module ML 1 consults the list of buffers and allots a free buffer in VRAM memory, for example, buffer BF 2 which will receive the contents of the command before the latter is to be transferred to the command file. It moves on then to operation 13.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
Abstract
A data transmission system coupled between a computer bus (PBS) and a network (RE) includes a coupling device (GPU) linked to the bus and communicating by an interface with an adapter device (DEA) including a microprocessor (CPU2) connected to the network, an initial microprocessor (CPU1), and apparatus for transferring frames from the bus to the adapter device including a double port. The system is characterized by the fact that the interface is constituted by command files (F1 to F4) grouped in the memory, the second management processor handling software modules (ML1 , . . . ML10) independent of each other, to manage the emission and reception of specific frames from the network and communicating by means of letter boxes (BAL1, etc . . . ) included in the second processor and/or command files.
Description
This application is a continuation of application Ser. No.08/121,295, filed Sep. 14, 1993, now abandoned.
This invention concerns a system of data transmission between a computer bus and a network in the form of a ring with high transfer rate. It is particularly applicable to a data transmission network of the FDDI type for which fiber optics constitute the transmission medium, or even TPDDI type for which the transmission medium is constituted by a twisted pair.
FDDI or TPDDI type data transmission networks are used more and more frequently and are broadly defined in documents prepared by international standardization boards like ANSI (American National Standard Institute), under reference X3T9-5. These standards are also adopted by the I.S.O., Organization Internationale de Normalisation (International Standard Organization). They define a set of physical and electrical characteristics of the network. These transmission networks have the advantage of having reached a high number of bits transmitted, on the order of 100 Mbits/s.
It is known that information messages emitted by the various stations are made up of a multiplicity of frames. The frame is constituted by usable data framed in time by command characters placed at the head and tail of the frame. In type FDDI or TPDDI networks, the length of the frames is 4 kilobytes and there are two main types of frames, defined by the standard, namely, frames of type LLC and frames of type SMT. Type LLC frames are actually made up of useful data to be transmitted and they are those most commonly used on the network. Frames of SMT type are special frames called "station management", or even station administration, for verification of proper operation of each one of the stations connected to the network. Furthermore, we know that all the operational components of a computer (processor, memory, controller, etc...) are arranged on a card assembly of standardized dimensions. These latter are linked to the same bus, generally of parallel type, guaranteeing communications among themselves and the various cards together with the carrying of data and the electric power supply.
One of the most commonly used buses is the MULTIBUSII (brand registered by the INTEL Company and commonly known as PSB or Parallel System Bus) standardized according to the IEEE1296 (Institute of Electrical and Electronic Engineers) norm.
Such a computer bus is linked to the network (FDDI or TPDDI) by the intermediary of a data transmission system (which may also be called a connection bridge device) whose function is to adapt conditions for transmission of data on the MULTIBUSII to transmission conditions on the network. In fact, the methods of data transmission concerning the rate of data transmission, transmission protocols used, entry codes, data, format, command characters, etc . . . , on the PSB bus on the one hand and the network on the other, are totally different.
The general physical structure of a data transmission system is shown in FIG. 1. It is described in more detail, together with the various methods of carrying out the operation, in either one of the applications for patent No. 91 08908 filed on Jul. 15, 1992 by BULL S.A. under the title "Universal device for connecting a computer bus to a controller of a group of peripherals" and No. 91 08907 filed on the same day by the same applicant under the title "Operating system for universal device for linking a computer bus to a specific network connection".
FIM, such a system of data transmission, is composed of two parts, that is, a universal coupling device GPU (English acronym for General Purpose Unit) and an adapter device DEA.
The device GPU is linked to PSB by an MPC coprocessor, type VL 82c389 manufactured by the INTEL Company, which communicates by message mode with the computer ORD (not shown in order to simplify FIG. 1), this mode being defined in the aforementioned IEEE 1296 standard.
The device DEA can be physically arranged on the same card as the universal coupling GPU. In addition, it is linked physically to the network RE in a manner such as that described in U.S. Pat. No. 5,237,659 entitled "Bridge device for connection of a computer bus to a fiber optic network in ring form", issued Aug. 17, 1993.
The GPU device is comprised of the following various essential components:
the MPC coprocessor already mentioned,
the microprocessor CPU1 actually constituting the central unit of the GPU, equipped with an internal bus BI1 for carrying commands to the adapter device DEA. This microprocessor is associated respectively with a programmable erasable memory EPROM1, a read/write memory SRAM1 and an interruption manager, or MFP1. All these elements EPROM1, SRAM1, MFP1 are connected to internal bus BI1,
the double port video-RAM memory designated as VRAM,
the direct access memory DMAC controller connected on the one hand to bus B2, linking it to the VRAM memory, and on the other hand, to bus B3, linking it to the coprocessor MPC,
bus B1 which links the VRAM memory to the adapter DEA, the components of which will be described subsequently.
The microprocessor CPU1 is, in the production example described here, of type 68030 manufactured by the MOTOROLA Company. The internal bus BI1 is a non-multiplexed bus of 32 bits for data and 32 bits for addresses.
The erasable read-only memory EPROM1, for example, has a capacity of 256 kilobytes and contains the self-testing and initialization programs of the universal linking device GPU.
The operating system of the microprocessor CPU1 (Operating System) designated by GPOS (English acronym for General Purpose Operating System) is contained in static memory SRAM1 and is charged with initialization of the coupling device GPU. The capacity of this memory is, for example, 1 megabyte. GPOS is described in aforementioned claim No. 91 08907.
In FIG. 1 we can see that the direct access controller DMAC is serially connected on the one hand between the memory VRAM and the coprocessor MPC and on the other hand between this latter and bus BI of the microprocessor CPU1.
A detailed description of the structure and operation of the controller DMAC is given in the application for French patent No. 91 15814 filed on Dec. 19, 1991 by the applicant company under the title "Controller of transfer of multiple data between a multiplicity of memory and a computer bus" from which a corresponding United States patent will issue from PCT application PCT/FR92/01202.
The microprocessor CPU1 is the brain of the coupling device GPU: it initializes the transfer of data, carries out the adaptation of protocols, implements its operating system and transfers data between DEA and the computer ORD and vice versa while dialoguing with the DEA with which it exchanges commands and statuses as described farther on in the description of the invention.
The detailed description of the role and operation of other components of the coupling device is given in the three previously mentioned patent applications.
Examples of the invention of an adapter device like DEA are known. One such example is described in aforementioned U.S. Pat. No. 5,237,659, issued Aug. 17, 1993. Such a device comprises a transfer management controller CT, a network access controller DAR and a device for physical adaptation to the network DAPR.
The role of the transfer management controller CT is to organize the transfer of frames between the GPU apparatus and the adapter device and the network RE and vice versa while, at the same time, exchanging commands with the microprocessor CPU1 of the GPU. The network access controller permits the physical transfer of data from the bus B1 to the network RE via the physical adaptation device DAPR and the bus B4 which is physically connected to B1. The network access controller CAR and the device for physical access to the network DAPR are, for instance, constituted by components DP83265, DP83261, 83251 or 55, 83231, 83241 of Societe National semi-conductors.
The controller CT is comprised of a microprocessor CPU2, a memory EPROM2, a storage memory SRAM, and an interruption manager MFP2. All these components are linked by internal bus BI2 of the transfer controller CT. It is quite evident that the microprocessor CPU2 is the central element of the transfer controller CT and it is that that organizes the dialogue with the microprocessor CPU1 through the intermediary of commands in a manner that will be described relative to the invention farther on in the text.
According to previous design, in the adapter device DEA, data and commands pass through the intermediary of two separate buses, with the commands passing through the intermediary of the internal bus BI2 of the transfer controller CT. Otherwise, commands and data pass between the adapter device DEA and the coupling device GPU through the intermediary of a transfer interface composed of memories FIFO, one for data and one for commands (not shown in FIG. 1).
The presence of such an interface between the coupling device GPU and the adapter device DEA, diminishes the performances of the data transmission system with regard to speed of transfer of information of the DEA component to the GPU component and vice versa. Moreover, due to the presence of the FIFO elements, interruptions are generated (by configuration) at each exchange of commands between the two microprocessors CPU1 and CPU2.
This invention remedies these inconveniences by eliminating this FIFO type transfer interface and replacing it with command files arranged in the VRAM memory. Furthermore, in the SRAM2 memory of the DEA adapter device there are software modules independent of each other that can, on the one hand, communicate among themselves and, on the other hand, with the management system of the microprocessor CPU1 through the intermediary of letter boxes arranged in the SRAM2 memory and/or command files arranged in the VRAM memory.
According to the invention, the data transmission system between a computer bus and a network in high transfer rate ring form includes a universal coupling device linked to the bus and communicating through an interface with an adapter device connected to the network through the intermediary of a network access controller. The universal device includes: a first microprocessor associated with a first memory and executing an operation system contained in the latter, and means of transferring frames from the bus to the adapter device and vice versa, including a double port memory arranged between the bus and the adapter device. The adapter device includes: a second microprocessor for management of the transfer of frames between the means of transfer and the access controller and vice versa.
The system is characterized by the fact that the interface is made up of a multiplicity of command files each of which is comprised of a bundle of commands of which at least a portion concern the emission or reception of frames, these files being arranged in the interior of the double port memory, and the second management processor comprising a multiplicity of software modules independent one from the other for managing the emission and reception of frames specific to the network, the software modules communicating among themselves and with the operating system of the first microprocessor by means of letter boxes included in the second processor and/or command files contained in the double port memory.
Other characteristics and advantages of this invention will appear in the following description given as a non-restrictive example and referring to the appended diagrams in which:
FIG. 1 shows what the various essential components are that make up a data transmission system as per the previous concept and as is described in one or the other of the two aforementioned patent applications;
FIG. 2 shows the various software modules constituting the software operation of the adapter device belonging to the data transmission system according to the invention;
FIGS. 3a and 3b shows in one portion how the interface between the coupling device and the adapter device is constituted and, in the other, how the letter boxes inside the memory of the management processor of the adapter device are arranged; and
FIGS. 4 and 5 show two examples of operation for two specific types of frame of the FDDI network, of the adapter device putting into operation two software modules from among all those that comprise the operation software of this device.
Referring now to FIGS. 1, 2, 3a and 3b in which like elements are provided having like reference designating throughout the several views, the physical structure of the data transmission system according to the invention is as shown in FIG. 1. In contrast to the data transmission system (called bridge connection device) described in the aforementioned U.S. Pat. No. 5,237,659, issued Aug. 17, 1993, the interface between the universal coupling device GPU and the adapter device DEA is no longer composed of FIFO memories arranged between GPU and DEA, but is made up of a multiplicity of command files like F1 to F4 arranged inside the VRAM memory of the GPU device. These command files may be seen in FIG. 3a in the upper right portion of the VRAM memory. Moreover, the DEA adapter device comprises a multiplicity of software modules ML1, ML2, . . . , MLi, . . . . , ML9, ML10, independent of each other and communicating among themselves through the intermediary of letter boxes BAL1, BAL2, BALn arranged in static memory SRAM2 of the management controller CT (see FIGS. 2 and 3b).
Each of the two memories VRAM and SRAM2 may contain multiple memory zones designated by the Anglo-Saxon term buffer that are able to contain all or part of the frames of data that are transferred between the bus PSB and the network RE. Thus, the double port memory VRAM comprises a multiplicity of memory zones BF1 to BFp, while the static memory SRAM2 is comprised of a multiplicity of memory zones BFS1 to BFSq. The length and address of origin of each one of these memory zones is, of course, variable over the course of time and depends on events that affect the data transmission system and, therefore, the nature and length of the frames that it is necessary to transfer from the bus PSB to the network RE and vice versa.
The adapter device DEA therefore allows connection to FDDI or TPDDI type network RE and reception from, or emission to, the network of LLC or SMT type frames, while autonomously assuring all responses or actions solicited by particular events or by SMT type frames. In other words, it may be said that the adapter device manages two types of behavior, the first concerning the emission or reception of LLC frames, the second concerning the emission or reception of SMT frames. In order to do this, the adapter device essentially needs to handle three types of commands which are defined in one or another of the command files F1 to F4 shown in FIG. 3a and contained in the VRAM memory. These commands are: (1) the order commands associated with the emission or reception of LLC frames; (2) SMT type commands that are received or emitted in the form of SMT type frames for carrying out tests of conformity either with the network or with any one of the stations in the network, including the one containing this adapter device; and (3 ) administrative commands that permit management of the configuration of the adapter device. As was stated above, the adapter device comprises a multiplicity of software modules, still called tasks, which communicate among themselves by means of letter boxes BALl to BALn and/or command files F1 to F4. A task is activated by a physical event which may be, for example, the reception of a command originating from the computer ORD via the bus PSB or even the reception of a frame, whether it be type LLC or SMT. A task may also be activated by another task.
All the commands have a structure identical to that of the two types of commands shown in Table 1. It is a matter, on the one hand, of commands issued by the computer ORD, called HOST commands, or even of internal commands engendered by any software module of the adapter device DEA.
TABLE 1 - ##STR1##
A command is made up of a four word cell of 32 bits each (or 16 eight-bit bytes in all). A buffer (BF1 to BFp or BFS1 to BFSq) may or may not be associated with a command. The four words are designated by MOT1 to MOT4.
In Table 1 each bit is designated by the symbol b and the rank of the bit is indicated. This rank is read vertically from top to bottom. Thus, the bit of rank 31 is the bit placed the farthest to the left and the bit of rank 0, the bit placed on the right.
The word MOT1 considered:
Bits b26 to b31 indicate the code applicable to the command.
The following types of operation correspond to the following values from b24-b25 respectively:
00: illicit operation
01: request
10: response
11: announcement
Bits b8 to b15 define the issuer of the command which may be either the GPU operation system or one or another of the DEA software modules. Whichever it is, GPU or one or another of the software modules, it is defined by a particular value from among all of these bits b8 to b15.
Bits b0 to b7 define the software channel associated with the command, bits b0 to b5 being equal to logical zero and the bit couple b7-b6 having the following values:
00 indicates that it is a logical channel specific to the GPU,
01 indicates that it is an internal logical channel,
10 indicates that it is for the use of the network
11 indicates that it is the serial standardized RS232 link connected to the adapter device DEA, utilized for maintenance purposes (for simplification, not shown in FIG. 1).
Concerning the word MOT2 :
If it concerns a HOST command (the logical channel is then that of the GPU), bits b0 to B31 define the identifier of the command. The identifier of a response to this command is equal to the identifier of the corresponding request.
If it is an internal command (in this case, the logical channel is different from the GPU), bits b16 to b31 define the identifier of the command and bits b0 to b14 the number of the buffer associated with this command, if there is one. Bit b15, if it is equal to zero, defines an associated buffer located in SRAM1, that is, one of buffers BFS1 to BFSq. If it is equal to 1, it is an associated buffer located in VRAM, or one of buffers BF1 to BFp.
Concerning the word MOT3 :
Bits b16 to b31 identify the various options possible for a request or the status of a response. In fact, a request may be made in various ways. Thus, for example, for a disconnect request, there are several possible options for accomplishing this disconnection.
Bits b0 to b15 indicate the length (in eight-bit bytes) of the buffer associated with the command. If this length is null, the command is not associated with a buffer.
Concerning the word MOT4 :
Bits b0 to b31 identify the address of the buffer possibly associated with the command.
Two command channels permit emission and reception of commands. Each channel is composed of two files. These channels are as follows (see Table 1A):
TABLE 1A __________________________________________________________________________ ##STR2## ##STR3## ##STR4## __________________________________________________________________________
the order channel permits the emission and reception of LLC frames. It is associated with two files, that is, file F1 for emission of frames and file F2 for reception of frames.
the administrative channel permits sending administrative commands to DEA. It is associated with two files, F3 and F4.
A file like F1 to F4 is a list of commands (remember that a command is coded on 16 eight-bit bytes). The number of elements of 11 a file is a power of 2: there are, therefore, 2n commands per file.
A writing pointer PTFW and a reading pointer PTFR are associated with each file.
The reading or writing operations of a command are carried out in the following manner.
An interruption is associated with each one of the files F1 to F4. An interruption is generated only when the file passes from empty status to non-empty status (clearly, empty status corresponds to the absence of a written command in the file).
In order to better understand how these operations of reading or writing are carried out, turn to Table 2.
TABLE 2 __________________________________________________________________________ ##STR5## __________________________________________________________________________
Concerning writing, if one has:
PTFR=(PTFW+1) (module 2n), the file is full
If the file is not full, the following operations are carried out:
a) the command is entered in the PTFW index,
b) the logical PTFW=(PTFW+1) (module 2n) operation is carried out.
c) if PTFW=PTFR+ 1, entry of this command must be indicated by an interruption as is the case when one passes from an empty file to a non-empty file.
Concerning the reading of a command:
If PTFR=PTFW, the file is empty.
If the opposite is true, the following operations are carried out:
a) the command is read in the PTFR index.
b) the logical operation PTFR=(PTFR+1) (module 2n) is carried out.
In order to be able to make use of a buffer, whether in VRAM memory or SRAM2 memory, a buffer index list is essential. This list consists of 2n words of 16 bits. Each word represents the index of an available buffer. There are two lists of buffers called BUFL1 and BUF2 which are arranged in the SRAM2 memory. The first of these lists concerns the buffers contained in VRAM memory, that is, buffers BF1 to BFp, while the second list concerns the buffers contained in the SRAM2 memory, or buffers BFS1 to BFSq. Associated respectively with each list of buffers there is a writing pointer PFWL, a reading pointer PFRL and a counter of used buffers, NBUF, indicating the total number of buffers utilized from the list. One accesses a buffer in the following way: If the buffer counter has a content equal to the size of the list, the latter is full and that means there is no buffer available. If the opposite is true, the index of the available buffer is read to the address defined by the pointer PFWL which indicates the first free buffer. And the following logical operation is then carried out:
PFWL=(PFWL+1) (module 2.sup.n).
To exit a buffer, the index of that buffer which therefore becomes available is written to the PFRL address and the following logical operation is then carried out:
PFRL=(PFRL+1 ) (module 2.sup.n).
The letter boxes BALi to BALn are each constituted by a list of 2n commands, each command capable of being associated or not with a buffer. The buffers indicated above in VRAM or SRAM2 are all available for each one of the letter boxes. The operation of a letter box is, therefore, exactly identical to the functioning of a command file.
As was said above, all the commands indicate the buffer length necessary for the reception or emission of a frame. Given that organization of the VRAM memory is carried out on a page of a maximum of 4 kilobytes each, and that a frame according to standard FDDI may have a length of up to 4500 kilobytes, it may be necessary to use two pages in VRAM memory to store a complete frame. In this latter case, the adapter then edits two commands, the first containing the length of the first portion of frame and the second indicating the length of the second portion of the frame.
The data transmission system according to the invention contains four interruption channels, GPU managing two interruption channels called IRQ-Tx and IRQ-REQ which indicate respectively the passages of command files F1 and F4 from empty to non-empty status and the adapter device DEA managing two interruption channels IRQ-Rx and IRQ-IND signaling respectively the passage of files F2 and F3 from empty to non-empty status.
There is no acknowledgement on a frame emission. This acknowledgement is implicit: in fact, if a command corresponding to this emission was read, it is accepted that it was executed. At the time of emission, GPU gives addresses and buffer lengths in corresponding commands. If the command file pointer advances, that signifies that the relevant frame has been emitted and that the corresponding associated buffer is then free. Consequently, it is seen that a command file serves to both:
manage the command,
define and manage the memory locations where the frames or portions of frames should be stored.
In reception, the same broad lines as those defined above are applied. There is a single interruption in each file of commands and the latter manages both the commands and the associated buffers. This method of operation increases the speed of execution of the data transmission system.
The various software modules contained in the SRAM2 memory of the adapter device DEA are as follows:
1. Module ML1, still called MODIT, handles physical interruptions IT, other than those relative to the emission and reception of frames, or those relating to the various command files. Particularly mentioned may be the handling of interruptions issuing from elements constituting the controller for access to the CAR network, or even interruptions originating from the RS232 link. According to what the interruption is that is analyzed by this module ML1, the latter indicates the event to one or another of the software modules that may be concerned by said interruption, this event being indicated through the intermediary of the letter box associated with the module in question. The module is therefore activated when its letter box passes from the empty state to the non-empty state and it is deactivated when its letter box is empty.
2. Software module M2, still called MOD-TX-CMD issues commands to the coupling device GPU or to the link RS 232. It manages the pointer PTFW of the F3 command file. It is activated when its letter box passes from the empty state to the non-empty state and is deactivated when the latter is empty.
3. Module ML3, still called MODSPV, is said to be a supervisory module which handles administrative and SMT commands. This module is activated when the F4 file passes from the empty state to the non-empty state and when its letter box is simultaneously non-empty. It is deactivated when F4 and its letter box are simultaneously empty.
The module therefore manages the PTFR pointers of the F4 file. It is also responsible for the analysis and execution of commands from the GPU other than those relative to the emission or reception of type LLC frames. This module also analyzes the SMT frames received and is responsible for the generation of responses should that prove necessary.
4. Module ML4, still called MODCONX, implements a certain number of automata defined in the SMT standard. These automata are the ECM automata (Entity Coordination Management), PCM (Physical Connexion Management), CFM (Configuration Management) and RMT (Ring Management) of this SMT standard.
The ECM automation receives requests for connection and disconnection on the FDDI type network RE, request issued from module ML3,
PCM carries out the physical connections or disconnections,
CFM carries out the electrical connections between the PHY(s) and MAC elements of the network access controller CAR (defined in the FDDI standard and in the documents of the CAR manufacturer, see above),
RMT enters the MAC of the station into the ring. It indicates changes of the ring status in module ML2 (network connected or network disconnected).
module ML4 is activated by the passage of its letter box from empty status to non-empty status, or by interruptions issued from PLAYER or BMAC elements of the network access controller CAR (also defined in the manufacturer's documents and in the FDDI standard). The module is deactivated when its letter box is empty and when the preceding automata have attained a stable status.
5. Module ML5, still called MOD-RX-SMT, handles the reception of SMT frames. It is activated when the corresponding reception buffer (the one where the SMT frame concerned is received) passes from the empty state to the non-empty state and it is deactivated when this same reception buffer is empty. When an SMT frame must be handled, a command is entered into the letter box associated with module ML3. This type of operation will be illustrated in more detail later on in connection with FIG. 4.
6. Module ML6, still called MOD-TX-SMT, manages the emission of SMT frames. It is activated when the letter box associated with it is non-empty or even at the end of emission of an SMT frame. It is deactivated when the letter box corresponding to it is empty.
7. Module ML7, still called MOD-RX-LLC handles reception of LLC frames. It is activated when the reception buffer allocated to the frame concerned passes from the empty state to the non-empty state and is deactivated when this same buffer is empty. This module manages the PTFW pointer of the F2 command file. At each call corresponding to a frame reception, this module examines the situation of the PTFR pointer of file F2 in order to possibly reutilize newly available reception buffers.
8. Module ML8, still called MOD-TX-LLC is activated by an interruption indicating the end of emission of an LLC frame or of a whole chain of LLC frames. It notifies the computer ORD, through the intermediary of the F1 PTFR file pointer, of the availability of buffers which have been previously used. It also detects the entry of new messages into the F1 file and, if necessary, activates module ML9, described below.
9. Module ML9, still called MOD-CMD-TX, handles emission requests originating from the computer ORD. It is activated at the time of the transition of the F1 file from empty to non-empty status. It is deactivated when all the requests emanating from ORD have been handled. Moreover, this module carries out all the operations necessary for the emission of LLC frames. On this subject, refer to aforementioned patent application 91 08908 which describes these operations.
10. Module ML10, still called MODFILE, is charged with the management of letter boxes BAL1 to BALn. Reference is made henceforth to FIGS. 4 and 5 which show two examples of operations of modules frequently used and important, to wit, modules ML5 and ML2.
In looking at FIG. 4, one imagines that the adapter device DEA receives an SMT type frame originating from the network RE. This frame arrives directly into the VRAM memory and, for example, is stored in buffer BF1. An interruption IT1 alerts the ML5 module, or MOD-RX-SMT, that a frame has arrived in the VRAM memory in buffer BF1. It then passes to operation 2.
2. Module ML5 transfers the SMT type frame from the BF1 buffer into a free BFSl buffer in SRAM memory. In order to do this, the ML5 module consults the list of buffers and chooses a free buffer.
3. During this operation the ML5 module issues a command CMD1 in which it indicates the location of the buffer BFS1 and the length of the latter. It then passes to operation 4.
4. Module ML5 transfers the contents of the command CMD1 to letter box BAL1 (should be that of the supervisory module MOD-SPV, module ML3. Module ML3 then carries out operation 5.
5. ML3 is going to read the contents of its letter box BAL1 and find that it has to handle an SMT frame which is found in buffer BFS1, a frame with a specific length.
6. The supervisory module then handles the SMT type frame, as per the FDDI standard and once this has been done, passes on to operation 7.
7. ML3 frees buffer BFS1 following the routine indicated above.
From here on, we refer to FIG. 5 which describes how a command emitted by the adapter device DEA is sent to GPU. In this case, it is the ML2 module (MOD-TX-CMD) that acts. We assume, therefore, that at the time of operation 11 the processor CPU2 has issued a command CMD2 through the intermediary of any module (except ML2), ML1, for example. This command is assumed to be an internal command. It is destined for file F3. It passes on to operation 12.
12. At the time of this operation, module ML1 consults the list of buffers and allots a free buffer in VRAM memory, for example, buffer BF2 which will receive the contents of the command before the latter is to be transferred to the command file. It moves on then to operation 13.
13. During this operation ML1 transfers the command in letter box BAL2 of ML2. Once this is done, it proceeds to operation 14.
14. In this operation ML2 transfers the contents of its letter box to file F3. Once this has been done, the hand passes to the microprocessor CPU1 of the GPU which comes to read the command in file F3 and transfers it to buffer BF2.
Having described preferred embodiments of the invention, it will now become apparent to one of skill in the art that other embodiments incorporating the concepts may be used. It is felt, therefore, that these embodiments should not be limited to disclosed embodiments but rather should be limited only by the spirit and scope of the appended claims.
Claims (7)
1. A data transmission system coupled between a computer bus and a ring network, the data transmission system comprising:
a universal coupling device linked to the bus and communicating by an interface with an adapter device connected to the network through an intermediary of a network access controller wherein the universal device comprises:
an initial microprocessor associated with an initial memory and running an operation system contained in the latter;
means for transferring frames from the bus to the adapter device and vice versa, including a double port memory arranged between the bus and the adapter device, wherein the adapter device comprises:
a second microprocessor for management of frame transfer between the means for transferring frames and the network access controller and vice versa, wherein the interface is made up of a plurality of command files, each comprised of a bundle of commands at least a portion of which concern the emission or reception of frames, said command files managing locations of memory zones where frames or portions of frames are stored, these command files being grouped in the interior of the double port memory and with the second management processor handling a multiplicity of software modules, independent of each other, to manage the emission and reception of specific frames from the network, the modules communicating among themselves and with the operating system of the initial microprocessor by means of letter boxes included in the second processor and/or files of commands contained in the double port memory, an interrupt being generated only when command files change from an empty status to a non-empty status, whereby the total number of interrupts is reduced and performance is thereby improved.
2. The data transmission system of claim 1, wherein the network is of a FDDI type, and wherein the data transmission system includes a command file wherein the command file includes at least one of the following commands:
order commands associated with the emission or reception of type LLC frames;
SMT type commands which are received and emitted in a form of SMT frames for testing conformity either of the network or of any one of a plurality of stations of the latter; and
administrative commands that permit configuration management of the adapter device.
3. The data transmission system of claim 2, wherein each command is provided as a four word cell of 32 bits, and wherein a memory zone capable of being associated or not with this command and capable of being found either in the double port memory or in the memory linked to the second microprocessor.
4. The data transmission system of claim 2, further comprising two command channels, enabling command emission or reception, each channel being made up of two command files, one for emission and the other for reception of commands, the first channel being an order channel, enabling the emission and reception of type LLC frames, while the second channel is an administrative channel permitting the sending of administrative commands to the adapter device.
5. The data transmission system of claim 4, wherein there are 2n commands per file, each file being associated with a writing pointer and a reading pointer.
6. The data transmission system of claim 1, further comprising letter boxes, each letter box having a list of 2n commands, each command being able to be associated or not to a memory zone, either in the double port memory, or in the memory belonging to the second microprocessor.
7. The data transmission system of claim 1, further comprising a plurality of interruption channels for signalling the passage of the command files from empty status to non-empty status.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/589,765 US5561812A (en) | 1992-09-16 | 1996-01-22 | Data transmission system for transferring data between a computer bus and a network using a plurality of command files to reduce interruptions between microprocessors |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9211054 | 1992-09-16 | ||
FR9211054A FR2695740B1 (en) | 1992-09-16 | 1992-09-16 | Data transmission system between a computer bus and a very high speed ring-shaped network. |
US12129593A | 1993-09-14 | 1993-09-14 | |
US08/589,765 US5561812A (en) | 1992-09-16 | 1996-01-22 | Data transmission system for transferring data between a computer bus and a network using a plurality of command files to reduce interruptions between microprocessors |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12129593A Continuation | 1992-09-16 | 1993-09-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
US5561812A true US5561812A (en) | 1996-10-01 |
Family
ID=9433577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/589,765 Expired - Lifetime US5561812A (en) | 1992-09-16 | 1996-01-22 | Data transmission system for transferring data between a computer bus and a network using a plurality of command files to reduce interruptions between microprocessors |
Country Status (6)
Country | Link |
---|---|
US (1) | US5561812A (en) |
EP (1) | EP0588703B1 (en) |
JP (1) | JPH07120320B2 (en) |
DE (1) | DE69325135T2 (en) |
ES (1) | ES2136116T3 (en) |
FR (1) | FR2695740B1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838928A (en) * | 1994-09-19 | 1998-11-17 | Fujitsu Limited | Background communication system having I/O control board and LAN board fitted into a bus expansion slot separate from other bus expansion slots |
US5996024A (en) * | 1998-01-14 | 1999-11-30 | Emc Corporation | Method and apparatus for a SCSI applications server which extracts SCSI commands and data from message and encapsulates SCSI responses to provide transparent operation |
US20030033523A1 (en) * | 2001-08-09 | 2003-02-13 | Mcnulty Stephen Anthony | System and method for computer storage security |
US20030135709A1 (en) * | 2001-02-23 | 2003-07-17 | Niles Ronald Steven | Dynamic allocation of computer memory |
US6715098B2 (en) | 2001-02-23 | 2004-03-30 | Falconstor, Inc. | System and method for fibrechannel fail-over through port spoofing |
US20040233910A1 (en) * | 2001-02-23 | 2004-11-25 | Wen-Shyen Chen | Storage area network using a data communication protocol |
US7346783B1 (en) * | 2001-10-19 | 2008-03-18 | At&T Corp. | Network security device and method |
US20080155278A1 (en) * | 2001-12-05 | 2008-06-26 | Sandra Lynn Carrico | Network security device and method |
US8983938B1 (en) * | 2009-02-06 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Selecting a command file |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799190A (en) * | 1994-08-09 | 1998-08-25 | Apple Computer, Inc. | Communications coprocessor for realizing bidirectional isochronous communications link with host computer |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4458316A (en) * | 1981-03-06 | 1984-07-03 | International Business Machines Corporation | Queuing commands in a peripheral data storage system |
EP0255090A2 (en) * | 1986-07-28 | 1988-02-03 | Honeywell Bull Inc. | LAN controller proprietary bus |
US4901232A (en) * | 1983-05-19 | 1990-02-13 | Data General Corporation | I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor |
US5237659A (en) * | 1989-07-27 | 1993-08-17 | Bull S.A. | Gateway device for connecting a computer bus to a ring network |
US5276842A (en) * | 1990-04-10 | 1994-01-04 | Mitsubishi Denki Kabushiki Kaisha | Dual port memory |
US5367646A (en) * | 1991-07-15 | 1994-11-22 | Bull S.A. | Universal device for coupling a computer bus to a controller of a group of peripherals |
-
1992
- 1992-09-16 FR FR9211054A patent/FR2695740B1/en not_active Expired - Fee Related
-
1993
- 1993-09-13 ES ES93402222T patent/ES2136116T3/en not_active Expired - Lifetime
- 1993-09-13 EP EP93402222A patent/EP0588703B1/en not_active Expired - Lifetime
- 1993-09-13 DE DE69325135T patent/DE69325135T2/en not_active Expired - Fee Related
- 1993-09-14 JP JP5229199A patent/JPH07120320B2/en not_active Expired - Lifetime
-
1996
- 1996-01-22 US US08/589,765 patent/US5561812A/en not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4458316A (en) * | 1981-03-06 | 1984-07-03 | International Business Machines Corporation | Queuing commands in a peripheral data storage system |
US4901232A (en) * | 1983-05-19 | 1990-02-13 | Data General Corporation | I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor |
EP0255090A2 (en) * | 1986-07-28 | 1988-02-03 | Honeywell Bull Inc. | LAN controller proprietary bus |
US5237659A (en) * | 1989-07-27 | 1993-08-17 | Bull S.A. | Gateway device for connecting a computer bus to a ring network |
US5276842A (en) * | 1990-04-10 | 1994-01-04 | Mitsubishi Denki Kabushiki Kaisha | Dual port memory |
US5367646A (en) * | 1991-07-15 | 1994-11-22 | Bull S.A. | Universal device for coupling a computer bus to a controller of a group of peripherals |
Non-Patent Citations (6)
Title |
---|
"Protocol Implementation on the Nectar Communication Processor", Computer Communications Review, Cooper et al, vol. 20, No. 4, Sep. 1990, New York, pp. 135-144. |
"The VMP Network Adapter Board (NAB): High-Performance Network Communication for Multiprocessors", Computer Communication Review, Hemant Kanakia, et al, vol. 18, No. 4, Aug./1988, New York, pp. 175-187. |
Bill Moren, "Link Multibus II and SCSI devices with smart adapter", Jun. 25, 1987, pp. 77-82. |
Bill Moren, Link Multibus II and SCSI devices with smart adapter , Jun. 25, 1987, pp. 77 82. * |
Protocol Implementation on the Nectar Communication Processor , Computer Communications Review, Cooper et al, vol. 20, No. 4, Sep. 1990, New York, pp. 135 144. * |
The VMP Network Adapter Board (NAB): High Performance Network Communication for Multiprocessors , Computer Communication Review, Hemant Kanakia, et al, vol. 18, No. 4, Aug./1988, New York, pp. 175 187. * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838928A (en) * | 1994-09-19 | 1998-11-17 | Fujitsu Limited | Background communication system having I/O control board and LAN board fitted into a bus expansion slot separate from other bus expansion slots |
US5996024A (en) * | 1998-01-14 | 1999-11-30 | Emc Corporation | Method and apparatus for a SCSI applications server which extracts SCSI commands and data from message and encapsulates SCSI responses to provide transparent operation |
US7330960B2 (en) | 2001-02-23 | 2008-02-12 | Falconstor, Inc. | Dynamic allocation of computer memory |
US6715098B2 (en) | 2001-02-23 | 2004-03-30 | Falconstor, Inc. | System and method for fibrechannel fail-over through port spoofing |
US20040233910A1 (en) * | 2001-02-23 | 2004-11-25 | Wen-Shyen Chen | Storage area network using a data communication protocol |
US7058788B2 (en) | 2001-02-23 | 2006-06-06 | Falconstor Software, Inc. | Dynamic allocation of computer memory |
US20060236064A1 (en) * | 2001-02-23 | 2006-10-19 | Niles Ronald S | Dynamic allocation of computer memory |
US20030135709A1 (en) * | 2001-02-23 | 2003-07-17 | Niles Ronald Steven | Dynamic allocation of computer memory |
USRE42703E1 (en) | 2001-02-23 | 2011-09-13 | Falconstor, Inc. | System and method for fibrechannel fail-over through port spoofing |
US7469337B2 (en) * | 2001-08-09 | 2008-12-23 | Falconstar, Inc. | System and method for computer storage security |
US7093127B2 (en) | 2001-08-09 | 2006-08-15 | Falconstor, Inc. | System and method for computer storage security |
US20060277419A1 (en) * | 2001-08-09 | 2006-12-07 | Mcnulty Stephen A | System and method for computer storage security |
US20030033523A1 (en) * | 2001-08-09 | 2003-02-13 | Mcnulty Stephen Anthony | System and method for computer storage security |
US7346783B1 (en) * | 2001-10-19 | 2008-03-18 | At&T Corp. | Network security device and method |
US7783901B2 (en) | 2001-12-05 | 2010-08-24 | At&T Intellectual Property Ii, L.P. | Network security device and method |
US20100318813A1 (en) * | 2001-12-05 | 2010-12-16 | Sandra Lynn Carrico | Network security device and method |
US20080155278A1 (en) * | 2001-12-05 | 2008-06-26 | Sandra Lynn Carrico | Network security device and method |
US8356189B2 (en) | 2001-12-05 | 2013-01-15 | At&T Intellectual Property Ii, L.P. | Network security device and method |
US8769619B2 (en) | 2001-12-05 | 2014-07-01 | At&T Intellectual Property Ii, L.P. | Network security device and method |
US8983938B1 (en) * | 2009-02-06 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Selecting a command file |
Also Published As
Publication number | Publication date |
---|---|
FR2695740B1 (en) | 1994-11-25 |
DE69325135D1 (en) | 1999-07-08 |
EP0588703A1 (en) | 1994-03-23 |
ES2136116T3 (en) | 1999-11-16 |
FR2695740A1 (en) | 1994-03-18 |
JPH07120320B2 (en) | 1995-12-20 |
DE69325135T2 (en) | 1999-10-28 |
JPH06187267A (en) | 1994-07-08 |
EP0588703B1 (en) | 1999-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5642482A (en) | System for network transmission using a communication co-processor comprising a microprocessor to implement protocol layer and a microprocessor to manage DMA | |
US5237659A (en) | Gateway device for connecting a computer bus to a ring network | |
CA1171931A (en) | Channel interface circuit | |
CA1320590C (en) | Mechanism for transferring messages between source and destination users through a shared memory | |
US4354263A (en) | Computer-communications concentrator for transmission and switching of packetized data | |
US5561812A (en) | Data transmission system for transferring data between a computer bus and a network using a plurality of command files to reduce interruptions between microprocessors | |
US4787027A (en) | System using an adapter board to couple a personal computer to a plurality of peripherals in a financial environment | |
US4428043A (en) | Data communications network | |
US5142624A (en) | Virtual network for personal computers | |
US5367646A (en) | Universal device for coupling a computer bus to a controller of a group of peripherals | |
WO1998015896A1 (en) | High speed heterogeneous coupling of computer systems using channel-to-channel protocol | |
US5455950A (en) | Universal device for coupling a computer bus to a specific link of a network and operating system therefor | |
CN100476775C (en) | Host computer controller used for bus communication equipment and bus communication device | |
US5574946A (en) | Data transmission system using independent adaptation processes associated with storage unit types for directly converting operating system requests to SCSI commands | |
JPH0683234B2 (en) | Bridge device for connecting computer bus to circular optical fiber network and method of using the device | |
KR100230902B1 (en) | Data processing and communicating system with high throughput peripheral component interconnect bus | |
US6108694A (en) | Memory disk sharing method and its implementing apparatus | |
US5774745A (en) | Method and apparatus for writing and reading entries in an event status queue of a host memory | |
JPS6143370A (en) | Multiplex processing system | |
EP0074300B1 (en) | Memory control circuit for subsystem controller | |
US8054857B2 (en) | Task queuing methods and systems for transmitting frame information over an I/O interface | |
US5680553A (en) | High-speed transfer of data between a PC compatible microcomputer and a bus device | |
JPH069036B2 (en) | I / O controller | |
DE69118646T2 (en) | Transfer control between a computer and a plurality of data terminals in a network of the CSMA / CD type | |
Santana et al. | Fast bridge for efficient LAN-LAN coupling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |