PT85424B - Unidade de controlo propria para controlar varios tipos de redes de area local - Google Patents
Unidade de controlo propria para controlar varios tipos de redes de area local Download PDFInfo
- Publication number
- PT85424B PT85424B PT85424A PT8542487A PT85424B PT 85424 B PT85424 B PT 85424B PT 85424 A PT85424 A PT 85424A PT 8542487 A PT8542487 A PT 8542487A PT 85424 B PT85424 B PT 85424B
- Authority
- PT
- Portugal
- Prior art keywords
- link
- lac
- data
- memory
- dma
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Lasers (AREA)
Description
SISTEMA DE CONTROLO PARA CONTROLAR TIPOS DE REDES DE ÁREA LOCAL MÚLTIPLOS
uma série de LANs do mesmo tipo ou uma série de diferentes tipos de LANs.
-3NOTA REMISSIVA A REQUERIMENTOS AFINS
Os requerimentos de patente seguintes , que são atribuídos ao mesmo titular do presente reque rimento e foram registados em data idêntica com o presente requerimento, têm assunto afim. Certas partes do sistema e processos aqui apresentados não são nossa invenção, mas são invenção dos inventores abaixo designados, como defini do pelas reivindicações dos seguintes requerimentos de patente :
Título
Enlace Privado de Unidade de Controlo de LANs
Unidade de Controlo de LANs Tendo Concepção de Enlace Fraccionado
Bloqueio Multi-UPC
Bolco de Controlo de Area Local
Inventores
Edward Beauchemin
Leonard E. Niessen Allen C. Hirtle Edward Beauchemin
Richard M. Collins Edward Beauchemin
Allen C. Hirtle
Mecanismo Formação rupção de e Método de de Filas de InterMultiprocessadores
Kin C. Yu
Richard M. Collins
Allen C. Hirtle
I
FUNDAMENTO DA INVENÇÃO
Campo da Invenção
A presente invenção refere-se, de modo geral , a um aparelho para comunicação de dados e , mais particularmente, a redes de área local (LANs = Local Area Networks) de computadores que podem comunicar uns c com os outros independentemente da arquitectura das LANs.
Descrição da Técnica Anterior
Em muitas aplicações, tanto científicas como comerciais, a crescente utilização de computadores digitais no processamento de dados tem multiplicado o volume de dados a tal ponto que é muitas vezes necessária uma pluralidade de computadores, cada um dedicado a uma tarefa diferente, com necessidade de comunicação entre os computadores a fim de executarem as suas respectivas tarefas. Historicamente, os computadores têm sido usados para processar transacções duma forma ou doutra. Durante os primeiros anos 70, a maioria dos computadores processa va transacções por lotes. Nos primeiros tempos da computação, as pessoas falavam calmamente de processamento por lotes como sendo o processamento de grupos de cartões per furados. Cada cartão era uma transacção, um movimento; o computador lia o lote de cartões e processava as informa ções em lotes. Durante os anos 60, começou-se a discutir a computação interactiva. Com a computação interactiva, os programas podem ser estruturados de modo que as transa cções sejam processadas individualmente, de preferência a ao processamento por lotes.
-50 processamento interactivo é geral_ mente originado em dispositivos tipo máquina de escrever, para entrada de dados, denominados terminais. Os terminais de lotes, que lêem cartões, fitas ou discos e depois envi am os dados em lotes para um computador, são muitas vezes mencionados como terminais de entrada remota de trabalho ou terminais remotos por lotes. Tanto o processamento por lotes como o processamento interactivo podem ser feitos em redes que sejam centralizadas ou distribuídas. Uma re de centralizada depende inteiramente duma instalação de computaçãocentral com um ou mais computadores; ao passo que uma rede distribuída divide tarefas entre uma instala ção de computação e outra. Cada entidade inteligente na rede é denominada um nódulo. Alguns nódulos são computadores, outros são terminais, e ainda outros podem ser dis positivos de comunicação duma forma ou doutra. As redes podem ser organizadas dum determinado número de maneiras e é possível a um único sitema de comunicações proporcionar comunicações para duas ou mais redes de computadores em funcionamento simultâneo. Há muitos tipos diferentes de configurações de redes. Algumas das mais comuns são as seguintes:
1. Rede ponto-a-ponto
Uma rede ponto-a-ponto é o mais sim pies tipo de rede e consiste num computador, linha de comunicação e num terminal ou noutro computador no outro ex tremo da linha.
. Rede multiponto
A rede multiponto é uma ampliação do sistema ponto-a-ponto e utiliza múltiplas ligações ponto-a-ponto para ligar as estações umas às outras.
3. Rede em estrela
Uma rede em estrela é uma rede centra lizada em que estações remotas alimentam, via ligações ponto-a-ponto separadas, um local único onde é realizada a computação primária.
4. Rede em anel
Uma rede em anel liga nódulos de rede num circuito fechado, com cada nódulo ligado aos adjacentes à direita e à esquerda.
5. Rede com estrutura de enlace comum
A rede em enlace comum é logicamente configurada com projecções, tais como braços, ramais, etc que se estendem a partir duma coluna central. Quando um sinal atravessa o enlace comum, cada ligação escuta o sinal, que é portador de um endereço de destino. Sistemas típicos de enlace comum são o Ethernet e praticamente todos os sistemas de banda larga.
6. Rede hierárquica
Numa rede hierárquica, computadores debitam para os computadores que por sua vez debitam para outros computadores. Os computadores que são utilizados como dispositivos remotos podem ter capacidades de proces sarnento independentes e podem servir-se de recursos a níveis superiores ou inferiores à medida que sejam necessárias informações ou outros recursos.
-Ί-
lí
Estes tipos básicos de redes podem ser de área global ou larga (WAN = Wide Area NetWork) cobrindo grandes distâncias, ou podem ser redes de área local (LAN) cobrindo distâncias relativamente curtas, tais como os computadores em um ou dois edifícios.
Embora os dados digitais transmitidos possam facilmente saltar sobre continentes inteiros em milisegundos, às vezes levam mais do que esse tempo pa ra percorrer o último quilómetro ou menos dentro do edífi cio. Nesta conformidade, oferece-se um certo número de soluções para este engarrafamento na distribuição locai de dados, sob a forma de redes de área local (LANs) que cobrem distâncias de 0,1 a 10 quilómetros e podem transmi tir dados a velocidades desde 100 kilobits por segundo até 10 megabits por segundo ou superiores. Cada nódulo termi^ nal na rede local (LAN) pode comunicar com todos os outros nódulos e a rede não requer nódulo central ou processador central. Anteriormente à introdução destas redes, os empregados de escritório que trabalhavam com equipamento proveniente de vendedores diferentes tiveram de tentar compor um sistema no qual não existia um interface comum entre os vários terminais. A mais notável das LANs recen temente introduzidas é a Ethernet da Xerox, um sistema de banda-base. (Os sistemas de banda-base introduzem os sinais de dados directamente no meio de comunicação, ao passo que os sistemas de banda larga modulam uma portadora de muita alta ou ultra alta radiofrequência com o sinal de dados antes de o introduzir no meio de comunicação).
A Ethernet transmite dados a 10 Mbit/s até uma distância de 2,5 quilómetros; não pode encarregar-se de aplicações de voz ou vídeo.
I
Por outro lado, a Wangnet dos Wang Laboratories é um exemplo duma topologia de banda larga que pode cuidar de todas as três aplicações-voz dados e video - a velocidades equivalentes às da Ehternet.
A Wangnet tem uma largura de banda que abranje a gama de 10 a 350 Megahertz. Também usa topologia de arvore ramificada, a que podem ser ligados mais nódulos ao cabo de maior distâncias.
A Corvus Systems Inc. de San José Califórnia apresentou a OMNINET, que é uma topologia de enlace comum baseada em fios de pares torcidos e se concentra em ligar redes para computadores pessoais.
A OMNINET transmite dados a um mbit/s e pode comportar ar até 63 Apple II's. Os computadores podem partilhar de uma a seis memórias de disco flexível o que amplia a memória de 5 a 10 Megabytes.
Há outras alternativas LAM, tais como o canal HYPER da Network Systems Corp.; NET/ONE; ARC; e outras .
Dado que estes sistemas de banda - base e banda larga são baseados em diferentes configurações particulares, foram necessárias normas para interface do equipamento.
Para evitar proliferação de interfaces a comissão de normas do IEEE formou uma subcomissão para adoptar especificações para a unidace de interface entre os terminais e o cabo.
Assim como os protocolos lógicos para acesso de dados e os esquemas de codificação de dados. Outra organização, a organização internacional de normas (ISO= Internacional Standars Organisition ) , também nomeou uma comissão para estudar a compatibilidade de egipamentos de redes, o gue levou afinal à publicação do Modelo de Referência da Interligação de Sistema Aberto (ISO = Open Systems Interconnection).
NO contexto de compatibilidade, o sistema aberto refere-se a um modelo de rede aberto para utilização em equipamento de fabricantes concorrentes. O modelo OSI divide as questões de rede pelas funções de camada. Ã sete camadas no modelo OSI numeradas da camada um à camada sete .
A camada 1 é a camada física e define as características elétricas e mecânicas da rede tais como os meios de comunicação utilizados , as técni_ cas de modulação, frequências às quais trabalha e as tesões empregadas.
A camada 2 é a camada de ligação de dados e define a estratégia de acesso para compartilhar o meio fisico e que liga os vários módulos. Técnicas LAM comuns incluem detecção de colisão em acesso múltiplo por sensor de portadora (CSMA / CD= =carrrier sense multiple acess colision detection) e esquemas de passagem de marca.
-10Além disso, são funções da camada 2 í as técnicas para coloção de informações especificas das j redes e de pacotes de dados, tais como o endereço de nó• dulo.
Camada 3. Nem todas as LAM querem camada 3 contudo redes que requerem mecanismos de encaminhamento entre nódulos situados em LAMs interligai !! das têm de ter camada 3.
i!
Numa LAM simples os dados difundidos são vistos por todos os nódulose, assim sendo uma dada ligação recolhe os pacotes que lhe estão devidamente endereçados sem necessidade de encaminhamento.
i
A camada 4 e a camada de transporte ,
I que trata do nivel fundamental de fiabilidade e da trans; parência de dados. Esta camada está relacionada com í o controlo de fluxo, tratamento de erros e problemas relativos a transmissão e recepção de pacotes. (um pa( ! cote compõe-se de dados originados pelo utente mais | quaisquer informações de rede que necessite para transí portar os dados do utente do nódulo da rede para outro).
A camada 5 é a camada das secções e de particular impostância para as LAMs quando é feita uma ligação entre dois dispositivos esta é estabelecida uma secção. Por consequência a camada das secções porvidencia o estabelecimento e terminação de correntes de dados a partir de duas ou mais ligações ou nódulos de LAM.
j;
P
A camada 6 é uma camada de apresenta ção e é a camada onde teêm lugar serviços tais como cori versão de protocolo desempacotamento de dados tradução passagem a cripto, alterações do conjunto de caracteres ou conversões e a expansão de comandos gráficos.
Finalmente a camada 7 é a camada de aplicação. Todas as camadas de 1 a 6 são concebidas para apoiar esta camada. Sistemas electrónicos de mensagens, capacidades de emulação de terminais, e programas de transferência de arquivo são exemplos de sof_t ware que podem funcionar na camada 7.
Com tal proliferação de equipamento redes e normas torna-se necessário ter um sistema controlador de are local tal que, independentemente das ligações de camads físicas da rede area local (LAN) o software relativo à camada de transporte camada da rede a camada de controlo da ligação lógica ficaria inalterado transparente e isolado de ambos os lados; isto é o lado de enlace comum do controlador que serefere ao sistema computador Nivel 6 (Levei 6) e do lado do adaptador de comunicação do controlador que se refere a vários tipos de LAMs tais como Ethernet anel de marca ou enlace comum de marca.
* Um sitema computador comercialmente obtenível da Honeywell Information Systems Inc.
Mais especificamente era necessário conceber um controlador de rede de are local LANs que pudesse fornecer software de interface para apoiar o software da camada de transporte, da camada de rede e da camada de controlo da ligação lógica, para que não fosse necessário alterar este software quando lhe fose feito algum novo tipo de ligações de LAN.
Além disso, a concepção devia ser de molde a tornar o interface de hardware do controlador com o hardware do processador do Nível 6 transparente ao software da camada.
Era necessário, portanto isolar o software da camada de comunicações de ambos os lados do hardware permitindo assim vários tipos de adaptadores para trabalhar com CSMA e Ethernet, ou arquitectu ra de LAN de anel de marca ou de enlace comum de marca; e além disso, nalguma data futura pudesse ser utilizado para apoiar um adaptador a PBX.
Partes da informação acima foram obtidas das seguintes fontes :
Mokhoff (1) publicado
Business Communications por Nicholas no IEEE Spectrum, Janeiro 1982;
(2 ) por Thomas Wn. 1984; e
Local Area Networks in Large Organizations , Madron, publicado pela Hayden Book Co. , (3) An Introduction to Local Area Networks por David D. Clark, Kenneth T. Pogran e David P. Reed, blicado pelas Actas do IEEE, Vol . 66, N911 , Nov. 1978).
puAlguns dispositivos típicos da técnica anterior relacionados com Redes de Area Local (LANs) são citados a seguir. No entanto, não se pretende apresen tar que tenha sido feita uma pesquisa exaustiva da técnica anterior ou que esta seja a técnica anterior mais aproxima da .
(1) Sistema de Comunicação de Multicomputadores (Multicomputer Communication System), por Anil K. Agrawal e outros, publicado a 8 de Janeiro de 1985 e tendo a Patente dos E.U. Νθ 4.493.021.
(2) Sistema para Seleccionar Interfaces numa Base de Prioridade (System for Selecting Interfaces on a Priority Basis), por Pierre Austray e outros, publicado a 27 de Novembro de 1984 e tendo a Patente dos E.U. NS 4. 485.436 .
(3) Lógica de Portas para um Sistema de Enlace Comum de Comunicação (Port Logic for a Communication Bus System), por Kapali P. Eswaran e outros, publicado a 29 de Setembro 1981 e tendo a Patente dos E.U. N2 4.292.623.
(4) Sistema Expansível e Contraível de Redes de Area Local (Expandable and Contractible Local Area Network System), por David M. Bryant e outros, publicado a 7 Fevereiro 1984 e tendo a Patente dos E.U.NS 4.430.651.
-14OBJECTIVOS DA INVENÇÃO
E portanto um objectivo primordial da invenção proporcionar um controlador de LAN aperfeiçoado.
E um objectivo adicional da invenção proporcionar um sistema aperfeiçoado de redes de área local (LAN).
íj E outro objectivo da invenção propor cionar um sistema aperfeiçoado de controlador de LAN que dê suporte a comunicações com diferentes tipos de CPUs.
! E ainda outro objectivo da invenção ' proporcionar um sistema de área de rede local que possa acoplar e comunicar com diferentes tipos de LANs.
‘ E ainda outro objectivo da invenção proporcionar um sistema LAN que torna o seu hardware transparente ao software da camada de transporte, camada i da rede e camada da ligação lógica, independentemente do ( ! tipo de ligações LAN que lhe sejam feitas.
E ainda um objectivo adicional da i£ venção proporcionar um controlador de área local (LAC = = LOcal Area Controller) capaz de comportar qualquer das normas de LAN 802 do IEEE.
SUMARIO DA INVENÇÃO
De acordo com os objectivos acima indicados e outros da invenção, é proporcionado um sistema de LAN que é capaz de acomodar uma variedade de tipos de LAN, e tendo um controlador de LAN que pode controlar subs tancialmente ao mesmo tempo até 4 LANs do mesmo tipo ou quatro LANs diferentes.
Os objectivos acima e outros e carac terísticas da presente invenção são alcançados na realização ilustrativa descrita a seguir. Os aspectos originais que se crê serem característicos da invenção, tanto quanto a organização como quanto a método de operação, juntamente com outras vantagens da mesma, serão melhor compreendidos com base na descrição seguinte apreciada em relação com os desenhos anexos. Deve contudo entender-se que cada um dos desenhos tme apenas a finalidade de ilustração e descrição não se destinando a constituir definição dos limites da in venção.
BREVE DESCRIÇÃO DOS DESENHOS
A Figura 1 é uma diagrama esquemático dum sistema de LAN que utiliza a invenção.
A Figura 2 é um diagrama de blocos da invenção.
A Figura 3 é um diagrama de bolcos da estrutura de funcionamento da invenção.
-16A Figura 4 , folhas 1 e 2, é um diagrama de bolcos lógico de característica de enlace comum fraccionado da invenção.
A Figura 5 é um diagrama de blocos lógico dum enlace comum particular do ocntrolador de LAN da invenção.
A Figura 6 é um diagrama do interface físico que é usado entre o LAC e adaptadores ligados.
A Figura 7 é um diagrama de blocos lógico duma característica de bloqueio de multi-CPU da in venção.
A Figura 8 é um diagrama esquemático dum bloco de controlo do LAC para carga/descarga de sofjt ware de LAC da memória principal.
A Figura 9 é um diagrama esquemático dum bloco de controlo de LAN para a ordem de Entrada/Saída (1/0 = Input/Output) de inicio.
A Figura 10 é um diagrama esquemático duma caixa de correio típica gue é utilizada para pedir uma operação de Acesso Directo a Memória (DMA = Direct Memory Access) para mover um bloco de dados.
A Figura 11 é um diagrama esquemático dum formato de hardware para transmitir mensagens.
As Figuras 12 e 13 mostram filas de espera temporárias na Memória de Acesso Aleatório (RAM = Random Access Memory).
-17A Figura 14 é um diagrama de fluxo do processo de execução de 1/0 no controlador LAC.
As Figuras 15 e 16 mostram os diagrja mas de fluxo do processo de DMA no controlador LAC.
A Figura 17 é o diagrama de fluxo da rotina de interrupção de adaptador para interromper o cori trolador LAC.
A Figura 18 é um diagrama de fluxo para três diferentes processos de Controlador de Acesso aos Meios (MAC = Media Access Controller) dum adaptador.
A Figura 19 é um diagrama esquemático do fluxo de transmissão do LAC dum bloco de controlo de LAN.
A Figura 20 é um diagrama esquemático do fluxo de recepção do LAC dum bloco de controlo de LAN.
ARQUITECTURA
Descrição geral
O Subsistema Controlador de Area Local LACS = Local Area Controller Subsystem) é um subsis tema de comunicações programável que liga ao sistema Mega bus Nível 6 da Honeywell, ver Patentes dos E.U. 3.993.981; 3.995.258; 4.000.485; 4.001.790; e 4.050.097, concedidas ao mesmo titular da presente invenção. LACS compree£ de o seguinte conjunto de componentes de comunicação:
-18(a) Placa-matriz de Controlador de Area Local ( LAC) (b) Controlador de Acesso aos Meios (MAC) e Ada_ ptadores de Camada Física (c) Acopladores de Linha Comum (TCs - Trunk Couplers) (d) Modems de RF (RF = Radio Frequency)
A apresentação desta invenção refere -se à definição e descrição das duas primeiras alinheas acima indicadas (isto é, o LAC e os adaptadores).
LACS destina-se a ser capaz de com portar quaisquer das Normas de Redes de Area Local 802 do IEEE. A concepção do LACS minimiza as acções recíprocas requeridas sobre o interface Honeywell Nível 6/LACS e iso la o software de comunicações de ligação interna do LACS das características específicas de hardware dos iri terfaces do Nível 6 (L6) e adaptador de LAN. Um núcleo de comunicações baseado num comercialmente obtenível da Bridge Communications Inc., é usado como Sistema Operativo (OS = Operating System) dentro do LAC. Nesta apresentação, Software de CS (CS = Communication Service) refe re-se ao software residente no LAC, que implementa as camadas de Enlace da Interligação de Sistema Aberto (OSI), de Rede e de Transporte; Software de SM (Gestão do Sis_ tema) (SM = System Management) (caso da camada de Gestão do Sistema) refere-se ao software residente no LAC, que comporta as funções de Gestão do Sistema conforme 802 do IEEE .
-19Embora a Norma do IEEE não vá acima dum interface de controlo de ligação de dados normal (Cama da 3/Camada2), o interface Nível 6 -a- LACS que é forneci do é flexível de modo a ser prontamente adaptável para comportar os interfaces de camada superiores (por ex., Ses são/Transporte).
LACS, usado para todas as aplicações de Rede de Area Local (LAN), é montado num chassis normal Honeywell Nível 6 e requer uma ranhura no sistema Megabus1”; comportará o enlace comum de endereço de 32 b£ ts dos sistemas maiores Nível 6. Os adaptadores de LAN fornecem um interface do LAC para a LAN. O adaptador (uma placa-filha) inclui um Controlador de Acesso aos Meios (MAC).
LAC proporciona a ligação até 4 placas-filhas adaptadoras. Os adaptadores são de diversos tipos (por ex . , MAC de Enlace Comum de Marca, MAC de CSMA/ /CD, etc.).
Os Acopladores de Linha Comum (TCs) são de diversos tipos comerciais (por exemplo, acoplador direccional de banda larga, anel de marca, emissor-receptor Ethernet) e são empacotados como unidades separadas.
modem de RF , usado para aplicações de banda larga, é também embalado separadamente.
Em virtude da sua capacidade para comportar adaptadores de tipos semelhantes ou dissemelhari tes, o LACS pode ser usado não só para ligação de LAN 802 IEEE com um nível 6 , mastambém no futuro como porta entre + Megabus é uma marca registada da Honeywell
LANS 802 IEEE, ou no caso de LANs de banda larga, como pori te entre canais de banda larga. Outras aplicações para o LACS podiam ser como monitor/registador diário de tráfego de LAN e controlo de rede. O software de Comunicação (CS) e Gestão do Sistema (SM) seria, evidentemente, adapta do em especial para cada aplicação.
A Figura 1 mostra uma Rede de Area Local com LACS fornecendo ligações com sistemas Nível 6, para acesso de LAN a estação de trabalho, e para Porta entre LANs .
Na Figura 1, o LAC 101 fornece sistemas multiprocessadores centrais tendo até 16 processadores no seu interface de entrada/saída (I/O). O LAC (101) proporciona ligações para o sistema Nível 6 (L6) (102) e a
LAN(100) em que o LAC(lOl) faz interface com o L6 (102) via Megabus (103). Além disso, o LAC (101) actua como por ta para outras LANs, tais como LAN(104) ou Ethernet (105). Sob o controlo duma CPU Nvel 6, pode servir outras necessi dades de comunicação, tais como as que apresentam o novo controlador multilinha (NMLC = New Multiline Controller) (107) e sistemas computadores de estrutura principal, tais como o DPS 8 (106).
Na Figura 2 está representado um dia grama de blocos mais detalhado do LAC (101). Um microprocessador (MC 68000) (201), comercialmente obtenível, está acoplado a um enlace comum de microprocessador (jj/p) (200) e comunica com adaptadores através das ligações de adaptadores (210-213). Uma RAM (209), comercilamente obtenível, está acoplada ao enlace comum de DMA (214) e comunica ao enlace comum de microprocessador (yu/p) (200) via Acoplador de Enlace Comum (206). A RAM está fisicamente separada em duas secções: uma RAM intermediária de dados e RAM de pro-21-
grama. A intenção de separação é permitir Acesso Directo a Memória (DMA) simultâneo de dados na RAM intermediária de dados com a memória do Nível 6 ou com os adaptadores de LAN juntamente com execução de software na RAM de progra ma. O Acoplador de Enlace Comum (206) é um emissor-recep tor comercialmente obtenível, tipo 74LS245, que isola o Enlace ju /p (200) do Enlace de DMA (214) e permite funcionamento independente simultâneo dos enlaces (200), (214) do MC 68000 de cada lado, consentindo no entanto que o mi croprocessador efectue acessos a qualquer posição na RAM total (202), (209).
O controlador de DMA (208) é um con trolador 68440 da Motorola, comercialmente obtenível, e é um dispositivo de dois canais; um canal é usado pelo microprocessador (201) para efectuar o mivimento de dados DMA entre a memória principal de Nível 6 (215) através do interface Megabus (207) e a memória intermediária de dados
RAM (209). 0 outro canal é usado para aceitar informação de ordem de I/O do Megabus (216) e depositá-la numa fila de espera temporária na memória intermediária de dados RAM (209) para posterior análise e disposição por firmware ou software de interface (IF).
O dispositivo temporizador (203) é o tipo 9513 e é comercialmente obtenível da Advanced Micro Devices; fornece a pulsação básica de relógio para o sistema operativo do LAC utilizar ao fornecer funções de tem porização para o software do LAC (não mostrado).
A funcionalidade de DMA para os adap tadores é proporcionada por hardware situado nos próprios adaptadores. DMA de adaptador é sempre para dentro ou f© ra da RAM intermediária de dados.
movimento de dados entre a RAM de programa (202) e a RAM intermediária de dados (209) é exe cutado directamente pelo microprocessador MC 68000 (201); o movimento de dados entre a RAM de programa (202) e a me mória principal (215) (como em operações de Carga/Descarga) é executado em dois passos: um movimento entre a RAM de programa (202) e a RAM intermediária de dados (209) sob controlo do microprocessador (201), e um movimento en tre a RAM intermediária de dados (209) e a memória princj pal (215) executado pelo controlador de DMA (208).
Embora não necessária à invenção, a Figura 3 é apresentada paramelhor se compreender as relações estruturais do Sistema de Operação (OS), do Núcleo de Comunicações de Ponte OS, e do software de INterface (IF) e do hardware.
A Figura 3 reflecte a força da funcionalidade descrita ao longo desta descrição, em que o software de CS e SM, (301) e (302 ) respectivamente , não controla directamente o hardware do LAC mas, em vez dij so, faz interface com ele através de processos e rotinas do software de IF (304). Este software de IF isola o software de CS e SM das características particulares do hardware de modo que futuras reimplementações de hardware (por ex., com partes de LSI em maior-escala) não precisam de afectar aquele software. Todo o software do LAC é carregado na RAM de Programa (202) do LAC.
Nesta descrição, o software de IF é descrito como consistindo em processos ou rotinas de in terrupção conforme seja o caso da peça específica de soft_ ware ser invocada por uma mensagem de caixa de correio que lhe seja enviada ou ser normalmente invocada pela ocor rência duma interrupção proveniente do hardware do LAC.
Do ponto de vista do OS (303) , estas rotinas de interrupção de IF ou estão associadas a um pr©;· cesso de IF invocado por caixa de correio (a ser descrito abaixo), ou são um processo que consiste essencialmente em apenas um agente de interrupção.
Os processos MEMDMA e IODISP de software de IF têm associada consigo uma Entidade de Ges tão de Camada de Megabus (MBLME) à qual· esses processos relatam vários acontecimentos não usuais ou falhas. A MBLME pode, por seu turno, relatar alguns destes acontecimentos ao software da SM; também serve geralmente como intermediária entre a SM e aqules processos.
Os processos do MAC do software de IF (304) consistem num processo de Transmissão, Recepção e Gestão de MAC para cada adaptador fisicamente ligado.
O software de CS (301) fornece fun ções de Camada de Transporte, Rede e Enlace para a ligação/ligações de LAN. Cada uma destas camadas e casos de camada tem uma entidade de gestão de camada associada consigo, a qual desempenha funções análogas às da MBLME.
software da SM fornece relatórios de controlo geral e de situação do sistema para as entidades de gestão de camadas do LACS e com software de Gestão do Sistema na CPU.
O software do Núcleo do OS proporciona funções de serviço, tais como as de sincronizadores , e controla o despacho de processos e passagem de mensagens de caixa de correio. O tratamento de respostas de erro provenientes do Núcleo para as várias chamadas de procedimento é-lhe enviado pelo software de CS e IF.
LAC também contém algum firmware residente em PROM (não mostrado nesta Figura), que providencia QLTs, carga/descarga de RAM e ordens básicas de 1/0.
A comunicação interprocessos ( a ser abaixo descrita de modo mais completo) é realizada via men sagens de caixa de correio utilizando Chamadas de Procedimento SENDMSG do OS. São o meio pelo qual um processo pode enviar uma mensagem ou pedir serviço a outro processo. São também o meio pelo qual a ocorrência de acontecimentos assíncronos ou a conclusão de serviços assíncronos são tor nadas vísiveis ao software, de modo a que o processamento de software possa prosseguir para o seu passo seguinte.
processo chamado localizará mensagens enviadas para as suas caixas de correio. Os processos de software podem obter a ID dascaixasde correio ^próprias; podem também obter a ID da caixa de correio conhecida e règistada dou tro processo.
A Ponte OS (303) fornece um número de prioridades para mensagens de caixa de correio que afectam a posição relativa de mensagens numa fila de espera de caixa de correio. As prioridades de mensagem disponíveis são URGENTE, NORMAL, TEM DE ENTREGAR, e RAPIDA.
O Bloco de Controlo de LAN (LCB) (a ser descrito abaixo) é o veículo primordial de intercomuni cação entre a CPU Nível 6 e o LACS. O interface de software de OS/SM (301), (302) com o Megabus é apoiado por mensagens de caixa de correio recebidas do processo de Despacho de I/O de software de IF (304) e por mensagens de caixa de correio enviadas ao Software de IF. As mensagens de caixa de correio recebidas consistem essen-25-
cialmente em indicadores para LCBs na memória principal (215). As mensagens de caixa de correio para o processo de DMA à Memória são usadas para causar movimento de dados entre a memória principal (215) e a RAM Intermédia de Dados do LAC (209), ou para entrada de leitura de LCBs, ou para escrever informações tipo situação em LCBs na memória (215) e interromper a CPU.
O interface de software de CS/SM com adaptadores é apoiado por mensagens de caixa de correio geradas pelos processos do Controlador de Acesso aos Meios (MAC) do Software de IF (isto é, Indicação de Dados e Indicação de Controlo) e por mensagens de caixa de cor. reio enviadas aos processos de MAC do software de IF.
O interface de software entre o Ní_ vel 6 e o LACS durante o funcionamento normal usa ordens de carga de entrada/saída (IOLD) endereçadas ao LACS e ira formação de situação de retorno entregue à memória princi^ pal pelo LAC acompanhada por interrupções ao Nível 6.
Todas as mensagens de dados e operações administrativas e de Gestão são baseadas no uso de Blocos de Controlo de LAN (LCBs) situados na memória prira cipal (215) e que são indicados por informação dada nas ordens de IOLD. O processo apropriado de software no LAC dá origem a que o LCB seja copiado para a RAM como Imagem de bloco de controlo de LAN de LCB (LCBI) e, depois de concluir a operação pedida, fará com que a situação fi^ nal seja entregue ao LCB. Ao executar a operação, o processo fará uso de vários outros processos.
-26DESCRIÇÃO DETALHADA DAS REALIZAÇÕES PREFERIDAS
O LAC compõ-se básicamente de três enlaces comuns, como mostrados nas Figuras 4, 5 e 6, compreendendo básicamente um enlace comum de microprocessador (p/p) (400) na Figura 4; um enlace comum de acesso directo à memória (DMA) (614a), (614b); e um enlace comum de adaptadores (521a), (521b), (522a), (522b) na Figura 5 e ligadores (1) e (2) na Figura 6. Estes enlaces comuns compreendem até 16 bites de dados, dois bites de paridade e 23 bits de endereço, e incluem um enlace comum de controlo que contém um estrobo de dados, estrobo de endereços uma linhe de leitura/escrita, e linhas de código de funções .
Referindo-nos agora às Figuras 4 e 5 é mostrado um microprocessador (p/p) (401) tipo Motorola que funciona sob controlo de um sistema Operativo (OS) que está armazenado numa memória dinâmica de acesso alia tório (DRAM) (402) comercialmente obtenível. Este sistema operativo (OS) controla o fluxo de dados do enlace de (DMA) (614b) para o enlace de dados e endereços de adaptadores (412b) e para o Megabus (416b). (este ponto será descutido de modo mais completo quando adiante for discutido o enlace comum de adaptadores).
A melhor memória só de leitura apagável programável (EPROM) (404) comercialmente obtenível tem largura de 16K χ 16 bits e é um tipo 27128 corrente no mercado. A EPROM (404) contêm um teste lógico rápido (qlt) e um indicador de pilha para o microprocessador (401). A EPROM (404) também prepara a pastilha de DMA (408) Motorola tipo 68440 para transferir um bloco de intrusções de
-27ί·
1/0 do sistema computador Nivel 6 (214a), (214b), (215) para armazenamento no memória dinâmica de acesso aleatório 64K x 18 (DRAM) (411), para ser utiliado pelo (p/p) (401) Motorola 68000 para executar estas funções e instruções de Nivel 6. A CPU (214) de Nivel 6 também carrega o sistema operativo (OS) para a memória dinâmica de acesso aleatório (DRAM) (402), que será utilizada pelo microprocessador (p/p) para executar programas e instruções .
A fim de que o sistema de Nivel 6 mos trado na Figura 2 pelos numerais de referência (214a), (214b), (215) e na folha 2 da Figura 4 por (414a), (414b) comunique com o LAC via Megabus (216), (416a), (416b) e a CPU (214a/b) de Nivel 6 emite para o LAC uma instrução via um interface Megabus (407a) tipo 74AS867/26S10 , interface (407b) tipo 74AS823/26S10.
A instrução é recebida por um registo tipo 74AS823 como código de função. A CPU (414a) de Nivel 6 coloca endereços no interface de endereços (407a) enquanto a CPU (414b) de nivel 6 coloca os dados no interface de dados (407b). assim os dados são colocados nas entradas do FIFO (430) e as instruções são colocadas nas entradas do controlador.
Quando as instruções são colocadas no controlador (408) é enviado um sinal à pastilha DMA (408a) para um pedido para obter controlo do enlace DMA (614b). A pastilha DMA(408a) acusa recepção do pedido e permite ao controlador (408) colocar dados no enlace DMA (614a), (614b).
i A pastilha DMA (408a) endereça então
I j a memória (408b) do controlador (408) e transfere os dados DMA para o DRAM (411). quando este procedimento estiver completado, a pastilha DMA (408a) permitirá ao microproces í sador (401) executar. O microprocessador (401) pedirá ' então o enlace DMA e, se este for concebido, transferirá
I ! dados da memória (408b) para ulterior processamento e analise.
' i A fim de transferir dados do sistema
Nivel 6 Honeywell (102) para a LAN (100) via LACS (101), o p/p 68000 carrega primeiro um endereço de partida Nivel 6 no interface de endereço Megabus (407a). Dentro do interí face de endereço Megabus (407a), há um contador de limite ! que conta o número de palavras a ser carregado na memória : (408b).
O endereço de DMA assim carregado endereça a memória (408b). Também carrega uma contagem de limite para o númaro de palavras a carregar na mamória (408b). Então, sob controlo do p/p (401), os dados são ( transferidos via interface de dados Megabus (407b) para
Ά a memória de primeiro-a-entrar-primeiro-a-sair FIFO) e para o enlace DMA (614b). Depois a pastilha DMA (408a) í transfere os dados que estão no enlace DMA (614b) para a í memória intermediária de DMA (408b). Entretanto, o p/p j (401) está isolado desta transferência de DMA por um emisí sor-receptor 74LS245 (406b).
i
Assim o p/p (401) pode simultaneamente executar alguma outra tarefa utilizando informação obtida da DRAM (402). Quando a transferência de DMA é ef£ ctuada do Nivel 6 para a memória de DMA a pastilha DMA (408a) interrompe o /u/p 401) .
JU/P (401) emite então um comando para o enlace DMA (614a), (614b) e para o enlace de adapta dores (421a), (421b) via emissores-receptores tipo 74LS245 (420a), (420b). O adaptador que recebe o comando lê então a memória DMA (408b) e transfere dados da memória DMA (408b) para um dos adaptadores (422a), (422b) e para a LAN (100). Enquanto tem lugar este procedimento, o u/p (401) está isolado tanto do enlace DMA (614a), (614b) como do enlace de adaptadores (421a), (421b) via emissores-receptores (406b), (420a), (420b), respectivamente.
O p/p (401) prossegue então o funcio namento sob a acção do seu sistema operativo OS e prepara o próximo bloco para que tenha lugar a transferência para a pastilha DMA (408a). O emissor-receptor (406b) permite que o enlace comum do microprocessador passe o seu programa, o enlace comum do DMA, e realize transferências da memória de Nivel 6 (215) ou do Megabus (216), para a memória DMA (408b). Assim, este isolamento de enlaces comuns permite que todos os três enlaces comuns passem concorrentemente sem interferência. Isso torna a LAN muito versátil e proporciona maior débito de passagem através do LAC.
Referindo-nos agora às Figuras 5 e 6 é mostrado um diagrama de blocos do interface de adaptadores compreendendo as ligações de placas-filhas de adaptadores (210-213) (ver também a Figura 2) e as placas-filhas de adaptadores (216-219). A placa total da LAN compreendendo o sistema de interface de adaptadores pode ter até quatro placas-filhas (522a), (522b).
I
Cada placa-filha tem A ligadores impares e pares. Por exemplo, a placa-filha (* 1) (interface de adaptador (a 1) ) tem as ligações de adaptador W01 e W02; a placa-filha (Λ2) (interface de adaptador (#2)) tem as ligações W03 e W04, etc. As ligações impares tratam das linhas de controlo; enquanto as ligando as ligações pares tratam das linhas de dados (0-15) e das linhas de endereço (00-23). As placas-filhas de adaptadores pode ser de qualquer tipo da Ethernet, anel de marca, enlace de marca, discos, fitas, memórias, etc.
520b), (520bc:
No caso em
Os enlaces de adaptadores (421a), (421b), (521b) são isolados do enlace DMA (414b), (514b) porem emissores-receptores (420a), (420b), dum tipo 74LS245 comercialmente obtenível, que o enlace DMA deseje enviar dados para o enlace de ada ptadores , o emissor-receptor permitirá fluxo de dados nesse sentido, ao passo que o emissor-receptor apontará no outro sentido quando o enlace se der de adaptadores desejar enviar informações para o enlace. Cada placa-filha de adaptador (216-219) no ligador (210-213) gostaria de enviar ou receber dados da LAN.
Aquele pedido do adaptador para o enla ca DMA e uma pastilha arbitradora (509) tipo 68452 determinam qual dos vários pedidos tem a priordidade mais alta, e então concede o enlace comum ao adaptador que tem a prioridade mais alta. Enviaria também um sinal para uma pastilha tipo flip-flop 7474 via porta (531) tipo 74S20. O filp-flop (530) quando activado, indica que está em curso um ciclo de placa-filha (adaptador).
sinal é então aplicado aos emissores -receptores (520b), (520bc) via portas (532), (533) onde são orientados com um sinal de leitura/escrita. O sinal de leitura/escrita aplicado às portas (532), (533) determi na em que direcção serão transferidos dados via emissores-receptores (521b), (521c)-- isto é, se os dados do enlace
DMA serão colocados no enlace de adaptadores ou se os dados do enlace de adaptadores serão colocados no enlace DMA. Quando esta transferência de dados fica completa, o adapta, dor de mais alta prioridade seguinte pode iniciar o seu ci^ cio.
Podem também ser efectuadas transferências de dados para os ou dos adaptadores utilizando sinais de activação vindos do emissor-receptor (406b). Segundo esta técnica de transferência de dados, o yu/p (401) programa os emissores-receptores (406b) com sinais de activação de adaptadores. Em conformidade, o yu/p (401) pode ler ou enviar dados para os adaptadores sob o seu controlo via emissor-receptor (406b). Em conformidade, este tipo de isolamento via emissores-receptores (520b), (520c) e s£ lecção via emissor-receptor (406b) permite que a LAN seja programada pelo yu/p (401) para utilizar qualquer tipo de placas-filhas (adaptadores) na LAN.
Referindo-se à Figura 6 , é mostrado o interface físico entre o LAC e os adaptadores ligados.
O interface de adaptadores é constituído pelos ligadores WO1-WO8. A Figura 6 mostra dois ligadores típicos. Todos os ligadores pares WO2, WO4, WO6, W08 contêm os bits de da dos (0-15) e os bits de endereço (1-23). Todos os ligadores impares WO1, WO3, WO5, WO7, tomam a seu cargo sinais de controlo. Nos ligadores ímpares, o terminal de ligadores (10) é um sinal de enlace comum livre; o terminal de
ligadores (11) é um sinal de mestre livre; enquanto o te£ minai de ligadores (12) é uma indicação dum erro no enlace comum. 0 terminal de ligadores (13) tem a cargo sinais de erro de paridade, ao passo que sinais de leitura/escrita são aplicados ao terminal de ligadores (18 ) . Sinais de con firmação de dados são aplicados ao terminal (20). Um sinal de estrobo de dados superior é aplicado ao terminal (22), ao passo que um sinal de estrobo de dados inferior é aplicado ao terminal (24). Um sinal de estrobo de endereço de dados é aplicado ao terminal (26). O terminal (29) encarrega-se de sinais para um relógio do sistema, enquanto o terminal (31) trata de sinais para 2 x 2 o relógio do sistema. O terminal (35) trata de sinais para 1/8 da cadência de relógio do sistema. Os sinais de energia-ligada são tratadso via terminal (34). Sinais de pedido de intejr rupção vindos do adaptador são aplicados ao terminal (47), e sinais de confirmação de interrupção para o adaptador são aplicados ao terminal (48). Os sinais de estrobo de activação para o adaptador são aplicados ao terminal (49). Sinais de pedido de enlace comum provenientes do adaptador são aplicados no terminal (51), e sinais de confirmação de concessão de enlace comum para a placa-filha são aplicados no terminal (52), ao passo que confirmação de concessão de enlace comum do adaptador para a LAN é aplicado ao terminal (53). Os terminais estão ligados para identificar várias linhas de dados e linhas de endereço.
-33ORDENS DE ENTRADA/SAIDA (I/O)
A fim de permitir controlo do LACS pelas CPUs Nível 6 (214a), (214b), é utilizado um conjunto de ordens de Entrada/Saída (I/O) com códigos de função (FC) distintos.
Ordens de Saída
1. IO (FC=O1)
2. IOLD (FC=O9/OD)
Ordens de Entrada
Saída Controlo de LACS Saída Indicador de LCB (FC=26)
Entrada Dispositivo ID
Saída Controlo de LACS 1/0 (FC=Ol)--- Esta ordem transfere uma palavra de controlo de 16 bits para o LACS. Todos os adaptadores e interfaces são afectados por esta ordem. O número de canal usado na ordem é irrelevante. Os bits da palavra são definidos como segue:
Bit 0: Inicializar Hard (se um um)
Bits 1: Parar 1/0 (se um um e o bit O é um zero)
Bits 2-15: MBZ
A função Inicializar Hard é inicia da por uma sequência de energia-ligada ou pela Ordem de Saída Controlo de LACS (que é o primeiro bit da ordem) ; é um Um; isto é, FC=O1. Esta função de inicialização causa as seguintes acções:
(a) As RAM do LAC e de adaptadores (202), (216a-219a) são limpas.
(b) Todos os registos de hardware no LAC e adap tadores são limpos .
(c) O LAC efectua o seu teste de lógica de qualida_ de (QLT) e verifica a apropriada informação de configuração.
(d) O LAC entra numa condição de paragem em que a sua funcionalidade consiste nas funções que são apoiadas pela PROM (204).
Se o Bit 1 da ordem de I/O é um Um e o Bit o é um Zero, então é efectuada uma Paragem de I/O, o que causa as seguintes acções:
a) Registos de hardware no LAc e adaptadores são limpos.
{b) O LAC começa ou continua operação sob controlo de firmware, em que a funcionalidade consiste nas funções que são apoiadas a partir do f i rmware (204) residente na PROM.
Saída Indicador de LCB IOLD (FC=O9/OD) -- A instrução IOLD compõe-se basicamente de dois códigos de função. O código de função 09, quando presente, refere-se à carga dum endereço; ao passo que o código de função OD, quando presente, se refere à extensão da carga. Esta ordem implica duas transferências separadas de enlace o LAC.
comum para
A primeira transferência é um endereço de byte de 32 bits e a segunda é uma palavra de exten_ são 16 bits, dos quais os 8 bits de ordem superior são interpretados como definindo uma função hardware/software do LAC e os 8 bits de ordem inferior definem a dimensão do LCB em bytes. Juntos, o endereço e a dimensão de LCB defi nem a posição e dimensão dum LCB na memória principal (215; de Nível 6. Quando a CPU Nível 6 (214a) ou (214b) emite uma IOLD, o Megabus (216) coloca o código de função 09 nos bits de endereço (18-23) do Megabus. A LAN aceita este có digo de função e armazena-o na placa-mãe das Figuras 2,5.
código de função seguinte a que a LAN responderá é o código de função OD, que completa a instrução de IOLD.
Um principal problema que se levan ta com respeito à emissão de ordens de IOLD está num siste ma de multiprocessamento. Sem um bloqueio, as ordens IOLD podiam ser emitidas de duas CPUs e estas ordend IOLD podiam ser intrecaladas porque o LAC não saberia como parear os códigos de função 09 mais OD enviados de cada uma das duas CPUs. O bloqueio causa uma NAK à segunda CPU que impede ciclos ambíguos e assegura que todas as IOLDs sejam da mes ma CPU.
Referindo-nos agora à Figura 7, é mostrado um flip-flop (701), 74S112 corrente no mercado, que armazena um primeiro código de função 09 duma primeira ordem IOLD. Um sinal de saída do flip-flop (701) é aplica do a uma Lógica de Matriz Programável (PAL) (703), do tipo 16L8 corrente no mercado; também aplicados à PAL são os bits de endereço 18-23 do Megabus. A PAL (703) descodifica os códigos de função e decide se o código de função que foi emitido do Nível 6 deve ou não,ser confirmado (ACK) ou não confirmado. Quando é tomada esta decisão, é então armaze-36-
nada num engate (704) tipo 74AS823. Este engate actua como um semáforo que pode formar fila de espera para as informa ções do enlace comum, de modo que o enlace comum possa ser libertado e as informações utilizadas na ocasião apropriada. A acção de engate do semáforo de circuitos (704) é de cidida quando a LAN detecta que a instrução era para a pla_ ca de LAN. O flip-flop (701) é rearmado para o código de função OD a fim de terminar o ciclo. O flip-flop (701) pode ser considerado um tipo de suporte que se arma com o código de função 09 e rearma com o código de função OD.
A PAL (703) descodifica os bits de função e decide que códigos de função devem ser confirmados positiva (ACK) ou negativamente (NAK) para o Megabus. Assim, esta lógica impede uma primeira CPU de emitir uma IOLD e uma segunda CPU de emitir uma IOLD com cada uma das CPUs a receber a confirmação errada. A fim de NAK qualquer instrução de entrada depois de ter sido dado a uma IOLD controlo da placa de LAN, é utilizado um flip-flop (702). E usado como semáforo, que arma com o código de fun ção 09 da primeira IOLD e só pode rearmar quando houver aplicado a si um sinal de mestre livre. Daqui resulta que o semáforo (702) impede que as instruções de entrada de Nível 6 sejam emitidas uma vez que a placa de LAN tenha dado controlo às instruções de IOLD.
Imediatamente a seguir à conclusão duma Ordem de Saída Controlo de LACS (FC=01), pode ser emi tida uma Ordem de Entrada Dispositivo de ID (FC=26) para fazer com que a PROM (204) do LAC entregue ao Megabus uma palavra de 16 bits de dispositivo de ID. Esta ID identifi ca tanto o LAC como o adaptador ligado ao Canal de Adaptador endereçado. Ao LAC é atribuído um conjunto de 64 números de canal.
Para a ordem de entrada dispositivo de ID (FC=26), os 6 bits menos significativos do endereço de canal são tratados pelo LAC como consistindo em dois cam pos , como segue: os 2 bits mais altos especificam a posição da placa-filha do adaptador e os 4 bits mais baixos es pecificam um subcanal associado com o adaptador (216-219).
A codificação de número de canal para a ordem de entrada dispositivo de ID é realizada utilizando um formato que tem 10 bits 0-9. O endereço da placa do LAC é identificado por um código situado nos primeiros 4 bits; a posição do adap tador é identificada por um código que tem 2 bits nas posi_ ções de bits 4-5; e finalmente o subcanal no adaptador é identificado por 4 bits nas posições de bits 6-9.
TRANSFERÊNCIAS DE DADOS
Um dos principais problemas no pr£ jecto do LAC era ter software da camada de comunicações residente no LAC que permanecesse inalterado qualquer que fosse o tipo de ligações de LAN efectuadas ao sistema. Nes^ ta conformidade, era necessário isolar o software residen te do lado do Megabus Nível 6 e dos interfaces da LAN. O hardware escolhido para fazer isto e ainda manter comuni_ cações entre a LAN e o Nível 6 e também comunicações dentro do próprio controlador LAC, foi o constituído pelos Blocos de Controlo do LAC, tipicamente representados nas Figuras 8 e 9 e Figuras 10-13.
Referindo-nos agora à Figura 8 , é mostrado um Bloco de Controlo de LAC para carga/descarga de software de LAC da memória principal para descarregar vá rias partes da RAM (202) do LAC para a memória principal (215), e para recuperar do LAC certas informações de confi
IOLD de Indicador O formato do Blo
- » guração. A operação é começada via uma de LCB de saída anteriormente descrita, co do Controlo de LAC da Figura 8 tem palavras que são de 16 bits de largura, com a primeira palavra (801) a ser dividida de modo que os primeiros 6 bits são reservados parafuturo uso de hardware (RHU), os seguintes 4 bits da palavra (801) indicam os 4 bits de ordem mais baixos do número de canal da CPU (214a), (214b) que emitiu a própria ordem de carga/descarga. Os restantes bits de ordem superiores do número de canal da CPU são sempre Os, e por tanto só são fornecidos os 4 bits do fundo. Os seguintes 6 bits da palavra (801) indicam um de 64 possíveis níveis de interrupção que a CPU vai utilizar quando a interrupção é por ela recebida.
A palavra (802) especifica uma das correntemente únicas três possíveis funções que podem ser desempenhadas. Especifica se a operação vai ser uma arma zenagem ou transferência do conteúdo da RAM (202) do LAC para a memória principal (215) na CPU, ou se vai ser de modo contrário em que o LAC e a RAM são carregados a partir da memória DPS6. Uma terceira operação é a armazenagem de informações de configuração que é obtida da RAM do LAC para a memória DPS6.
As palavras de endereço (803) e (804) armazenam as partes alta e baixa de endereço de ordens do endereço da memória de Nível 6 para as quais e das quais vão ser transferidos os dados.
A Palavra de Extensão de Transferência (805) é a extensão da transferência que define, em termos de número de bytes, a informação que é transferida entre o LAC e a memória principal.
I
As palavras de endereço (806) e (807) da RAM do LAC indicam a parte de ordem alta e baixa do en dereço na RAM (202) do LAC para a qual ou da qual vão ser deslocados os dados. No caso do tipo de informação de Configuração Leitura, esse endereço específico é sugerido pelo facto de serem indicadas informações de configuração. A palavra de RSU (808) está reservada para possível uso de software que se torne necessário.
A palavra de Situação (809) represen ta a situação respeitante à informação que foi fornecida à CPU ao ser completada a operação de transferência. A operação terminará se houver problema e a situação estará indicada na palavra de Situação (809). Contudo, se não houver problema na trasferência, a Palavra de Situação con terá tudo Os. Se há um problema, os 8 bits de ordem supe rior da Palavra de Situação têm ainda de ser todos Os. O bit seguinte, que é o bit de função não válida, é usado para indicar que o pedido é, duma maneira ou doutra, não válido e que talvez o código de função de carga/descarga que foi usado não seja um código definido. Por exemplo, o bit seguinte é Esgotamento de Memória MEMEXH e indica que foi emitida mais do que uma função de carga/descarga— uma logo após outra e portanto o controlador não pode tra tá-las todas, visto poder tratar uma dessas funções de ca da vez.
O bit seguinte RAMNE da palavra (809) é o bit de Não-Existente na RAM, que indica que o endereço definido nas palavras (806), (807) aponta para uma secção de memória não-existente na RAM do LAC. Em conformidade, este bit indica que a transferência não foi completada por causa desta dificuldade. 0 bit seguinte RAMP indica que, durante o processo de leitura da RAM (202) do LAC para
transferir esssa informação para a memória (215) da CPU, houve um erro de paridade. O bit MY da Palavra de Situação (809) representa Amarelo na Memória (Memory Yellow) e indica que, dirante uma transferência de informação do Ní_ vel 6 para a RAM do LAC, ocorreu um erro na leitura de da_ dos, mas o erro era corrigível e portanto os dados foram fornecidos ao LAC. Isto indica um aviso de que há algo fraco na memória de Nível 6. O bit seguinte NEM é um acrónimo de memória Nível 6 não-existente e indica que, utilizando o endereço formado pelas palavras (803), (804), que estava a ser endereçada uma porção de memória não-existente de Nível 6 (215). O bit L6B indica um erro de paridade no enlace comum do Nível 6 , ocorrido durante transferência de informação da memória Nível 6 para o LAC, e que o erro ocrreu em qualquer ponto ao longo do Megabus Nível 6 (216) e que os dados colocados na RAM (202) do LAC têm dentro um erro. O último bit MR da palavra (809) é um acrónimo de Vermelho na Memória (Memory Red) e indica que, na transferência da Memória Nível 6 para a memória do LAC, a informação lida em saída da memória Nível 6 estava incorrecta e não pode ser corrigida com hardware de correcção, e portanto a informação fornecida à RAM do LAC está incorrecta.
A palavra MBZ (810) é uma palavra que tem de ter em si tudo Os e é para uso futuro. Finalmente, a palavra de conclusão (811) tem um bit de situação concluída SC (situação completa), que é fixado pelo controladro LAC ao ser completada a operação e é usado pa ra indicar ao software Nível 6 que a situação que estiver na paalvra (809), qualquer que ela seja, representa a situação completa da operação.
Referindo-nos agora à Figura 9, é mostrado um outro formato de Bloco de Controlo de LAN para a ordem de arranque 1/0 que foi anteriormente descrita.
A palavra (901) é uma palavra de 16 bits em que os 6 bits de ordem alta estão novamente reservados para uso de hardware (RHU) e normalmente são todos Os. Os 4 bits seguintes identificam o canal de CPU e designam os 4 bits do fundo do númeor de canal duma CPU que emite a ordem e tarn bém é o numero de canal que é interrompido quando a 1/0 de arranque fica completa. O número de nível da palavra (901) é os 6 bits do fundo e indica um dos 64 níveis de interrupção na CPU que são activados quando a operação se completa.
A palavra RSU (902) é uma área de reserva para uso de software para qualquer fim que se torne necessário. As palavras (903), (904) representam o endereço de arranque de microprocessador com o qual o microprocessador (201) vai começar a executar um determinado programa . Geralmente antes do arranque do microprocessador , a memória (202) do microprocessador terá sido carregada por uma operação de carga anteriormente descrita em ligação com a figura 8 e, em conformidade, o objectivo da presente ordem é dizer ao microprocessador onde começar a executar o código que foi carregado. A palavra RSU (905) é outra palavra reservada para uso futuro de software.
As palavras MBZ (906), (907) são duas palavras que têm de conter todos os Os. A palavra MBZ (908) tem um bit de si^ tuação completa (SC) que é carregado pelo microprocessador (201) quando tem terminada a operação de arranque e indica ao processador central quando está interrompido que a ordem de I/O de arranque foi correctamente concluída. O resto da palavra MBZ (908) é todo de Os.
Referindo-nos agora à Figura 10, é mostrada uma mensagem típica de caixa de correio, que é utilizada para pedir uma operação de DMA para mover um blo co de dados, tal como os Blocos de Controlo de LAN anteriormente descritos, entre memória situada no LAC e memória situada no Nível 6; isto é, da RAM (202) para a RAM (215). O cabeçalho de mensagem (1001) contém usualmente um código de tipo que define exactamente que género de transferência está a ser pedido; isto é, uma transferência de bloco tal como Bloco de Controlo de LAN, etc. Geralmente o cabeçalho de mensagem é constituído por diversas palavras de informação, embora a Figura 10 o mostre como se fosse constituído por uma só palavra. A palavra RHU (1002) é reservada para uso de hardware e é um espa ço extra de reserva para uso futuro. Ao ser concluída uma operação, tal como uma transferência de bloco, a CPU que pede essa transferência pode necessitar ser interrompida e informada do que aconteceu. A palavra (1003) espe cifica os parâmetros que devem ser usados quando tal interrupção for necessária.
Contudo, uma interrupção só pode ser enviada se o nível que é constituído pelos 6 bits do fundo da palavra (1003) não são todos Os. O número de canal de LAC é constituído pelos 6 bits de ordem alta da palavra (1003) e é usado na interrupção para o canal especif£ co que foi originalmente endereçado pela ordem que a CPU tinha dado ao LAC. O número de canal de CPU da palavra (1003) é essencialmente o mesmo que o das Figuras 8 e 9 e é uma palavra de 4 bits que define o número de canal da CPU que vai ser interrompida. Finalmente, a palavra de nível é uma palavra de 6 bits que define o nível da inter rupção. As palavras (105) e (106) de ID de caixa de correio de retorno identificam a caixa de correio (202a) den
tro dum LAC que realmente pediu que a operação fosse realj zada e portanto representa o processo a ser notificado quando a própria operação for completafa. A palavra de situação (1007) é devolvida pelo processo de DMA de memória quando a operação termina.
A definição dos bits é semelhante à palavra de situação (809) da Figura 8. As palavras (1008) e (1009) de endereço de memória de Nível 6 definem as paj tes de ordem alta e baixa do endereço de memória de Nível 6 para as quais ou das quais a transferência vai ocorrer.
A paalvra de âmbito (1010) define quantas palavras/bytes vão ser transferidos na operação. As paalvras (1011) e (1012) de endereço da RAM do LAC definem o endereço dentro da RAM do LAC donde a informação vai ser obtida ou onde vai ser entregue. A palavra RHU (1013) é reservada para futuro uso de hardware.
Referindo-nos agora à Figura 11, é mostrada uma mensagem de caixa de correio que é enviada a um processo de software de interface de adaptador como um pedido típico de transmissão de dados para transmitir uma mensagem na LAN. Isto corresponde a diferentes tipos de LANs que têm interfaces da Comissão de Normas do IEEE.
O cabeçalho de mensagem (1101) contém diversos bits de in formação, tais como um código de tipo que define a nature za da mensagem a ser transmitida, um descritor de endereço de intermediária que define onde estão situados na RAM (212), (214) os dados que vão ser transmitidos pela rede de área local.
A palavra de controlo de estrutura (1102) constituída pelos 8 bits de ordem baixa, é utiliza da para indicar o tipo de estrutura em estruturas tipo en lace comum de marca ou anel de marca. A apalvra RSU (1103)
-44é uma area reservada para o uso de software. As palavras (1104), (1105) de ID de caixa de correio de retorno identificam a caixa de correio do processo que é pedido para que a transmissão/transferência seja feita, de modo que é depositada uma mensagem na caixa de correio para que o pr£ cesso possa ser identuficado quando a operação é completada .
A palavra de situação (1106) é defeni da básicamento por aquilo que o software determinar que quer devolver. A palavra (1107) de comprimento de dados/ /tipo é usada em estretutas CSMA/CD e Ethernet. No caso que uma LAN tipo Ethernet está acoplada ao LAC, ela indica o comprimento da estrutura; ao passo que se uma LAN tipo CSMA/CD está acoplada ao LAC, ela indica o tipo de estrutura 802.3 do IEEE que está sendo usado. A palavra (1108) de endereço de destino define o endereço de estação para o qual vai ser enviada uma mensagem. Finalmente a palavra RSU (1109) é uma area reservada para uso de sof twa re.
Referindo-nos agora às Figuras 12 e 13, é mostrada a posição e desposição da area de memória RAM atribuída como fila de espera temporária de ordem de I/O. A Figura 12 mostra diferentes filas de espera, numeradas (1301-1304) suas situadas nos endereços de byte 800400-800700. A Figura 13 mostra uma entrada tipica em qualquer das filas de espera. A palavra (1201) mostra o número de canal que está sendo temporariamente armazenado; ao passo que as palavras de endereço (1202, 1203) mostram os respectivos endereços de ordem alta e baixa da informação a ser transferida na memória principal. A palavra de âmbito (1204) indica o número de bytes na informação que vai ser transferida.
-45I
‘ SOFTWARE DE INTERFACE (IF) l·
I; As figuras 14 a 18 são um conjunto de diagramas de fluxo que mostram com maior detalhe as resn ponsabilidades funcionais de alto nivel dos vários projí cessos e rotinas de interrupção de software de IF.
iReferindo-nos agora à Figura 14, é mostrado o diagrama de fluxo das operações executados pelo i processo de despacho 1/0 no controlador LAC. A Latência ί de Interrupção (1401) representa o quantitativo de tempo ! do microprocessador antes de que uma interrupção de ordem ! de I/O possa ser posta em serviço por esta rotina. SemI pre que uma ordem de I/O é recebida pelo controlador
I ! LAC, há um finito de tempo para o microprocessador (201) reagir a essa ordem e comutar operações de modo a poder tratar da interrupção. Atribuir MBX blk (bloco CXã corI '' reio) (1402) é uma chamada ao software de Núcleo do contro lador LAC para atribuir um bloco de mensagem de modo a que ’ o processo de despacho de I/O possa notificar algum outro processo dentro do controlador LAC acerca da ordem de IOLD h que acaba de ser recebida.
As operações efectivas que são realií zadas pelo processo de despacho são defenidas pelo índice I para Tabelas de Despacho (1403). As tabelas de despacho , são indexadas por meio do número de canal ao qual a ordem ! I/O é endereçada assim como do código de função que faz par
I te da ordem de I/O e foi discutido acima. Em conformidade o processo de despacho indexará utilizando as tabelas de despacho a fim de descobrir que processo deve ser notificado .
Se não há processo a ser notificado, então a instrução é despachada para uma gestão de camada do Megabus formado uma mensagem de despacho (1405) e enviando essa mensagem no próximo passo SENDMSG (1407). A ordem de I/O é depois enviada a um processo de gestão de camada que tem a responsabilidade de decidir o que fazer com ela. Supondo que é encontrada uma ID de Cxã Correio Válida (1404) o processo essembla então uma mensagem de Despacho Assemblado (1406) que contém a informação de ILD e a mensagem é enviada via SENDMSG (1408) para o processo especifico a fim de que este a possa tratar.
No caso normal duma mensagem de DMA esta seria noemalmente enviada ou para o processo de trans porte/transmissão ou para o processo de transporte/recepção dependendo de que ela seja uma ordem de I/O para uma operação de entrada ou para uma operação de saída. Se houver mais qualquer ordens que tenham sido recebidas en quanto este processo a decorrer pois há entradas na fila de espera (1409), então o processo de despacho fará lacete de retorno para atribuir bloco Cxâ CORR. (1402) e repetirá o processo para a próxima ordem. Se não houver mais entrada na fila de espera (1409), então o processo de despacho sai no (1410).
Referindo-nos agora às Figuras 15 e 16, é mostrado o diagrama de fluxo do processo DMA que decorre no controlador LAC. Há na realidade duas partes neste processo. Uma parte é mostrada na Figura 15, que é aquela parte do processo DMA de memória que decorre ao dar-se uma interrupção quando da conclusão duma operação de DMA. A outra parte do processo, mostrada na Figura 16, depende de a caixa de correio (202a) ter ou não recebido qualquer pedido.
Referindo-nos primeiro à Figura 16 , a operação começa quando um pedido para uma operação DMA de memória é recebido de um dos processos no controlador LAC. A fim de que este processo comece a decorrer, é necessário permutar primeiramente o CONTEXT SW (1601). E feita então uma chamada de software de Núcleo BRECV (1602) para determinar se há algum pedido na sua caixa de correio de entrada. Se não houver pedido para o processo executar alguma operação , então o processo protela e não prosseguirá mais além do que a instrução BRECV (1602).
Se houver um pedido para alguma operação, é feita uma verificação de semáforo SEMA ESPERA (1603), por uma chamada ao Núcleo do O.S. que mantém todos os semáforos, para o processo de interrupção averiguar se o processo de interrupção não está já a efectuar alguma outra operação respeitante ao controlador de DMA; isto é, se já há em curso uma operação de DMA. Se não houver em curso nenhuma operação corrente de DMA, então o processo prossegue para o passo (1604) onde carrega os registos do Megabus e o controlador de DMA com a informação necessária para efec tuar uma transferência de DMA. Tendo completado esta ope ração de carga, o processo fixa então um bit de semáforo SEMA ESPERA (1605) (por meio de uma chamada ao Núcleo do O.S.) do semáforo previamente verificado no passo (1603), de modo a que mais nenhumas operações de DMA sejam efectuadas enquanto o bit de semáforo está fixado. No Passo (1606), é (são) verificada(s) uma (s) bandeira(s) para ver se algumas interrupções requeridas para operações com pletadas estão ainda aguardando aceitação pela CPU (isto é , pendentes) ; se não estão pendentes, uma mensagem de caixa de correio de retorno é enviada ao processo que pediu a operação.
No passo SENDMSG RETORNO CXê C.(1607) é (são) enviada (s) uma(s) mensagem(ns) de retorno para aís) operação(ões) de DMA que tenha(m) sido completada(s ) . (Não é um retorno para a operação de DMA específica que está precisamente a ser iniciada). O software faz então lacete de volta para BRECV (1602) e protela se não há pedi^ do para efectuar alguma operação. Se há outro pedido à espera, protela no SEMA ESPERA (1603), que é o semáforo que foi justamente fixado no passo (1605) quando a operação começou. Quando a operação de DMA específica é completada, o fluxo do processo muda então para a Figura 15. Mais uma vez há uma Latência de Interrupção (1501) antes de a interrupção ser reconhecida e começar a decorrer.
Uma vez que o processo tenha tomado conta das operações, é feito um ensaio (1502) para determinar o processo se po de encarregar de transferências de dados tipo dispersão/ /agrupamento entre o Nível 6 e o controlador LAC. Se esta é uma operação tipo dispersão/agrupamento, então a operação prossegue através dos passos (1503), (1507) e (1511) onde o controlador de DMA tomou disposições para que o pr£ cesso possa continuar com a operação dispersão/agrupamento das transferências adicionais que são necessárias. Se há só uma transferência para ser feita, porque não há transferências de dados tipo dispersão/agrupamento, então o processo prossegue para a Verificação de Erros (1504) para determinar se houve alguns erros de paridade ou memória não-existente. Se houve alguns erros , seria assem blada uma mensagem de situação (1505) respeitante ao tipo de erro que ocorreu.
E fixada uma bandeira (1508) para in dicar que uma mensagem pode ser devolvida ao processo solicitante (esta bandeira é a mesma bandeira que está refe renciada no passo (1606) ). O semáforo que foi referenΛ
ciado no passo (1603) é agora libertado no passo (1509) de modo a que a segunda parte do processo possa decorrer e tratar da operação seguinte e sair no passo (1512). Se não há erros no passo (1504), é feita uma verificação no passo (1506) para determinar se o Nível 6 deve ou não ser interrompido à conclusão da operação. (Isto é determinado tendo um código de Nivel no pedido de DMA, anteriormen te mencionado, que indica que há um pedido para uma inter rupção). Se não há erros, então a interrupção ao Nível 6 será efectuada (ou tentada) no passo (1510) a fim de indicar ao sistema do Nível 6 que uma operação de DMA foi acabada sem erro. Se houve um erro na operação, a interrupção não é tentada. Em vez disso, uma mensagem de situação (1505) é enviada de volta ao processo solicitante para lhe indicar que houve um errro na operação.
Referindo-nos agora à Figura 17, é mostrado um diagrama de fluxo da rotina de interrupção de adaptador para interromper o controlador LAC. E activada pelo controlador LAC quando um dos adaptadores (216-219) tiver enviado uma interrupção para o controlador LAC indicando que completou alguma operação ou que algo não usual aconteceu e quer notificar algum processo de software relativamente a este assunto. Em conformidade, no lacete constfuido pelos passos (1701), (1702), (1703), (1705) e (1704) há um lacete onde o software de interrupção determina qual dos adaptadores está a fazer a interrupção. Dado que as interrupções provenientes de todos os 4 adaptadores possíveis estão ligadas juntas num único fio, o software tem de indagar de cada adaptador sobre se é ou não o adaptador que está pedindo uma interrupção.
Em conformidade, o lacete mostra um ensaio de cada adaptador por sua vez e tentando determinar que adaptador pediu a interrupção. Quando determina o(s)
adaptador(es) especifico(s) que fez (fizeram) a interrupção, então a rotina de interrupção ramifica-se para os passos (1706), (1707), (1708) e compõe uma mensagem(ns) que depende(m) da razão para a(s) interrupção(ções ) . Em SENDMSG MAC N TX (1707), é enviada uma mensagem de um ada ptador que precisamente acabou um pedido de transmissão que tinha sido solicitado para fazer. SENDMSG MAC N RX (1708) representa o facto de que um adaptador recebeu uma mensagem que entra vinda da LAN e portanto o adaptador de_ seja enviar uma mensagem de caixa de correio para tratar da situação específica. SENDMSG MAC N LM (1706 ) represeri ta uma ocorrência de acontecimento e o envio de uma mensa gem de caixa de correio para um processo de gestão de camada MAC para tratar do acontecimento. Finalmente, após conclusão do envio duma mensagem, a rotina de interrupção sai no passo (1709).
Referindo-nos agora à Figura 18 , é mostrado o conjunto de alguns processos MAC específicos de adaptadores, representando o fluxo de três processos MAC diferentes para um determinado adaptador. 0 processo é iniciado mais uma vez via um comutador de contexto 1801 que recebe todas as mensagens de caixa de correio ou comuta contexto para as receber. Um dos processos BRECV MAC LM (1802), BRECV MAC RX (1803) ou BRECV MAC TX (1804) será activado quando recebe reio na sua caixa de correio rupção de adaptador mostrado uma mensagem de caixa de cor, vinda do processo de interna Figura 17.
Apenas um destes processos será acti^ vado à recepção duma mensagem. A gestão de camada de MAC (1802), (1805), quando activada, empreenderia alguma acção dependendo das circunstâncias, tal como notificar o processo de gestão da estação enviando-lhe uma mensagem ou poderia simplesmente rearmar o próprio adaptador. Quando
uma mensagem é recebida em BRECV MAC RX (1803) , o processo substitui as intermediárias (1806) que o adaptador do MAC esgotou a tratar da mensagem. O adaptador do MAC tem um númeor predeterminado de intermediárias disponíveis para nelas colocar dados, e as que foram usadas para uma mensa gem chegada têm de ser substituídas a fim de que o adaptador possa estar pronto para mais mensagens. Uma vez que isro esteja efectuado, o processo determina se há ou não alguns erros na mensagem ou no adaptador (1808). Se há erros, a mensagem é posta de parte em (1811). Se não há erros, então o processo corta o cabecalho do MAC (1814), em preparação para enviar esta mensagem para o processo de software da camada de controlo do enlace lógico para ulterior processamento (é um dos processos de software do CS em (301) .
No ATRIBUIR (1815) é atribuído um bloco de memória para as finalidades de preparar uma mensagem de caixa de correio. Então a mensagem é assemblada no passo (1816) e enviada para o processo de controlo do enlace lógico no passo (1818). Nos passos (1819), (1820) o processo MAC obtém intermediária(s), se necessário, em previsão de possível futura necessidade de intermediárias de substituição para o adaptador.
Se fora efectuada uma operação de transmissão, é recebida por BRECV MAC TX (1804) uma mensa gem indicando conclusão da operação de transmissão. A mensagem é inspeccionada a fim de decidir que tipo de men sagem é; isto é, se a mensagem foi recebida da rotina de interrupção do adaptador indicando conclusão ou se a mensagem foi recebida do Controlo de Camada de Enlace (LLC) pedindo-lhe para transmitir. Assumindo que a mensagem é de conclusão , uma mensagem de retorno de conclusão é assem
blada no passo 1810 e é enviada ao LLC no passo (1813).
Uma vez isto feito, o processo então determina se há ou não mais mensagens para transmitir na sua fila de espera (1824). Se há mensagens adicionais, então o processo pro ssegue para o passo (1825) onde o pedido é meitido para o adaptador, de modo que este possa transmitir a mensagem que está aguardando. Se ficar determinado no passo (1824) que não há mensagens a aguardar na fila de espera, é fixado um bit de espera de adaptador (1826) que indica simples mente que o adaptador já não está ocupado a fazer alguma coisa e que há um lacete de volta à caixa de correio de recepção de BRECV MAC TX (1804).
Por outro lado, se é recebido um pe dido do LLC para uma transmissão, então os cabeçalhos necessários que definem o endereço de origem do MAC que fará a transmissão são adicionados no passo (1809) e o bit de espera de adaptador é verificado no passo (1812) para determinar se o pedido entrou ou não enquanto o adaptador não estava fazendo nada. Na eventualidade de que o adaptador estivesse à espera de alguma coisa para fazer, o processo prosseguiria para o passo (1821) e enviaria imediatamente o pedido de transmissão para o adaptador e rearmaria o bit de espera de adaptador (1823), indicando que o adaptador está agora ocupado.
Por outro lado, se ficar determinado no passo (1812) que o pedido entrou quando o adaptador já estava ocupado a fazer alguma coisa, então o pedido é acrescentado à fila de espera (1827) do adaptador.
Referindo-nos agora à Figura 19 , é mostrado o fluxo de transmissão do LAC. No Passo (1), o software do Excitador do LACS na CPU (214a/b) prepara o LCB (1902) em memória de informação no IORB (1903). O
O lcb conterá informações que define o processamento e fun ção requeridos e parâmetros; também contém endereço(s) e âmbito(s) físicos defenidos a(s) intermediária(s) em memória que contêm os dados a serem encaixados e enviados. 0 LCB também inclui espaço para situação de retorno provenente do LAC.
No Passo (2) o Excitador do LACS (1901) emite uma Ordem de carga de Entrada/Saida (IOLD) para o LAC. O endereço dado com a ordem aponta para o LCB e o parâmetro Âmbito contém dois campos: os 8 bites de ordem alta são um campo de Código de Função e os 8 bites de ordem baixa definem o tamanho do LCB. A informação de IOLD é tirada do Megabus (216) e colocada numa fila de espera temporária (1902) pelo controlador de DMA de hardware do LAC.
ii
Isto causa uma interrupção que chama o processo de Despacho de I/O (IODISP) o qual inspecciona a ordem; tendo determinado que a IOLD é válida, usa o número de canal na ordem de diferenciar e referenciar uma tabela de Despacho e determinar para onde encaminhar a ordem para ulterior processamento. Neste caso, a rotina obtem um bloco de RAM (via uma chamada de ATRIBUIR), colo ca a informação de IOLD do indicafor LCB no bloco, e envia-a (via uma chamada SENDMSG) a uma caixa de correio do processo de CS. O formato do bloco de mensagem da informação IOLD do Indicador LCB foi anteriormente discutido. Se há ordens adicionais de I/O na fila de espera o processo do Despacho de I/O tratará também destas.
Todos os blocos de mensagem obtidos pelo processo do Despacho 1/0 têm de ser devolvidos a me mória livre por algum outro processo (por ex. no Passo 12).
No passo (3) um processo do CS (1905) é programado para execução pelo OS (por causa da mensagem de caixa de correio que lhe é endereçada); o processo recupera a mensagem de caixa de correio e, depois de assegurar um bloco de RAM para uma imagem de LCB (LCBI) (1907) envia uma mensagem à caixa de correio do processo do Pedido DMA de Memória (1906) pedindo DMA do LCB para esta LCBI. O processo do CA (1905) pode então suspender-se se não tem amis nada para fazer no momento.
No Passo (4) o processo de Pedido DMA de Memória (1906) faz com que o controlador de DMA copie o LCB (1902) para o LCBI (1907). Ao ser completada a operação, o controlador de DMA interrompe o microprocessador (201) e isto dá origem a que o processo DMA de Me mória seja reinvocado. Este processo coloca informação de situação no bloco de emnsagem que foi enviado pelo pro cesso do CS e então devolve o bloco (via uma chamada SENDMSG) para a caisa de correio de retorno especificado. Informação originalmente colocada no campo RSU do bloco pe lo processo do CS no Passo (3) premite-lhe identificar a operação especifica de DMA que foi completada.
No Passo (5), o processo do CS res ponde à mensagem de caixa de correio do Passo (4) depois de inspeccionar a LCBI e calcular o total dos âmbitos de intermediária de N6 , efectua uma chamada GETBUF para obter uma intermediária RAM sufecientemente grande para conter a mensagem de dados; então envia uma mensagem de caixa de correio ao processo DMA de Memória para causar o mo-55-
vimento de dados da memória principal para esta intermédia na RAM. O formato de blocos de mensagem típicos é mos trado nas Figuras 10 e 11; a lista intermediária LB é obtida da LCBI (1907) e o campo Nivel deve ser zero.
No Passo (6) o processo DMA de Memória dá origem a que o controlador de DMA (208) copie os dados da memória principal para a intermediária RAM (209) o processo apoiará um DMA tipo agrupar com respeito à memória principal, se necessário; com respeito à RAM do LAC, o DMA é sempre feito numa intermediária logicamente úni_ ca. Ao ser comletado o DMA, o rpocesso DMA de Memória é reinvocado e coloca situação no bloco de mensagem e devolve-o para a caixa de correio de retorno especificado (do processo do CS).
No Passo (7), o processo do CS responde à mensagem de caixa de correio do Passo (6). Envia uma mensagem de caixa de correio ao processo DMA de Memória (1906) para originar gue este fixe situação com pleta no LCB (1902) em memória e interrompe a CPU (214/ab) Nalgum momento mais tarde, o excitador do LACS registará a conclusão no IORB (1903). viada por uma LAN tipo IEEE
Se uma mensagem vai ser en(802) os processos CS têm de criar campos de cabaçalho e acrescentar estes como iri formação por prefixo â intermediária de RAM (209). Os processos CS devem também ter deixado espaço adicioal no principio da intermediária para o processo MAC prefixar os seus cabeçalhos. Um processo LLC de CS assembla uma mensagem de caixa de correio (1908) e envia-a (1909), para o processo MAC apropriado.
No Passo (8) ο processo de Transmissão do MAC pode pôr o pedido em fila se houver pedidos de prioridade superior para serem atendidos. Logo que possa o processo entrega o pedido aos adaptadores (216-219). O adaptador completa a prefixação da estrutura da mensagem (SA e FC) e quando as regras de acesso aos meios de permitem, fornece uma estrutura correctamente formatada ( in cluindo preâmbulo, dilimitadores e FCS) À LAN via recursos da camada PHIS do adaptador. Quando a transmissão está completa, o controlador de DMA do adaptador envia uma interrupção para o microprocessador (201) do LAC.
No Passo (9), a rotina de Interrupção do Adaptador invoca um Processo de transmissão do MAC que vai buscar ao adaptador situação final. O processo de ' Transmissão do MAC liberta a intermediária MAC e RAM (cha!
mada FREEBUF). Se houver outros pedidos de transmissão pendentes, o processo entregará um ao adaptador.
Na Figura 19, embora o fluxo de trans missão que acaba de ser escrito apresente, para clareza ( uma linha simples de sequência de fluxo, há na realidade múltiplas linhas a serem processadas em várias fases em qualquer insante de tempo. Dado que cada processo de software é escrito para tentar completar todas as suas tarefas a executar, se possível, antes de largar voluntariamente o microprocessador, o númaro de comutações de contexto efectuadas por mensagem transmitida tenderá a ; ser menor sob carga tipica do que quando se considerar so | mente uma linha simples de sequência de mensagens.
Para tratar mensagens recebidas, pode ser usado um de dois esquemas, dependendo de se o pedido de aplicação deseja atribuir uma intermediária só se e quando uma mensagem for recebida de LAN, ou deseja atribuir uma intermediária em anticipação duma possível mensagem entrante. No primeiro caso ou caso de Ler-Notificar têm de ser emitidas duas IOLDs e têm de ser enviadas duas interrupções à CPU por cada mensagem. No segundo caso as exigências de espaço na memória principal tendem a ser maiores por causa das intermediárias que estão ligadas esparendo por uma mensagem.
A descrição do fluxo de recpção não será dada tanto detalhe como no caso de transmissão, uma vez que as interacções dos processos de software do CS processos de software de IF interrupções de hardware e firmware de interrupção são semelhantes.
Para operação de recepção não é necessário que o software do CS peça intermeciário de dados à gestão de memória, comoé o caso para operação de transmissão. Em vez disso, os processos do MAC de software de IF tornarão automaticamente disponíveis diversas intermediárias lógicas para cada adpatador, cada uma das quais é de tamanho suficinte para conter a maior mensagem possível. Depois de ser e recebido uma mensagem válida, a rotina de Indicar Dados do processo do MAC passará a intermediária ao processo CS próprio.
No caso de Leitura-Notificação, mosI ! trado na Figura 20, o software da CPU emite uma serie j de LCBs, que não são chamados LCBs Ler-Notificar (2002)
I para o LAC via ordens de IOLD do Indicador de LCB de saida.
Estas servem para fornecer LCBs que o software do CS pode usar notificar o software da CPU da chegada de mensagens. Quando a chegada duma mensagem tiver sido indicada por este meio, o software da CPU emitirá um LCB de Leii tura para especificar onde, na memória principal, a mensagem
I vai ser colocada e também, em geral, emitirá outro LCB de Ler-Notificar para substituir o que foi usado. Este es!; quema que os dados sejam entrados directamente para a intermediária da aplicação.
Os LCBs de Ler são diferenciados dos LCBs de Ler-Notificar por algua indicação definida pelo software no próximo LCB.
I No Passo (6) um processo CS (2006)
I consulta a sua lista de LCBs de Ler-Notificar para ver se há um que pertença à mensagem especifica acabada de ( receber. Se não houver nenhum, a mensagem é retida em
RAM (se, contudo passa algum tempo razoável sem um LCB apropriado, o processo pode ser forçado a pôr de parte a mensagem). No caso usual, um processo CS assembla proveniente do cabeçalho de mensagem (1001) para serem entregue ao LCB na memória (215) assembla um bloco de mensagem de caixa de correio, e envia-o ao processo DMA de
I memória (2007) pedindo DMA desta informação para o LCB de Ler-Notificar (2002). No bloco de mensagem, os compos de Canal de CPU e Nivel de Interrupção refletem informação dada nos IOLD e LCB originais como o faz o nível e o número de canal, (ver Fig. 8).
No Passo (7), ο controlador de DMA d (2007) fornece a informação ao LCB de Ler-Notificar (2002) e interrompe o microprocessador (201) fazendo com que esI te reinvoque o pocesso DMA de Memória (2007). Este processo envia agora a interrupção pedida para a CPU e quando esta tiver sido realizada devolve o bloco de mensagem do Passo (6) para a caixa de correio de retorno (o processo CS ) .
I ' No Passo (8) o software da CPU responde à interrupção e, consultando uma lista de IORBs por atender ou por outros meios determina onde na memória principal a mensagem de dados deverá ser colocada.
O excitador do LACS (2001) prepara então um LCB de Ler em memória. Este LCB conterá o identificador do Passo (6) (para que o processo CS no LAC possa identificar que mensa gem de dados deve ser fornecida) e especifica a(s) area(s) da e memória principal em que deve ser colocado.
i
No Passo (9), o Excitador do LACS (2001)b emite uma IOLD para o LACS indicando o LCB. Da ( maneira usual, o software de IF entrega a informação do indicador LCB (205) ao processo CS (2006).
No Passo 10, o processo CS imite um I pedido para o processo DMA de memória copiar o LCB para j uma LCBI (2008) na RAM .
j![
No Passo 12, o processo CS inspecciona a LCBI e determina que implica uma primeira operação de leitura . O processo calcula a dimensão total da intermediária de N6 e calcula um valor de resíduo de Âmbito para situação de LCB e coloca situação final na LCBI (2008)
ι emite depois um pedido ao processo DMA de Memória para I deslocar a mensagem de dados da RAM (209) para a memória principal (215) e entregar situação final da LCBI ao LCB e interromper a CPU.
No Passo 13 o controlador de DMA co pia os dados (2012) da RAM intermédia para a memória principal , efectuando um DMA de dispersão senecessário sob
I Λ j controlo do processo de DMA. Ao ser concluída com exito ( a transferência e dados o processo de DMA efectua uma trans ( ferência de bloco que copia a situação da LCBI para o LCB ! e interrompe a CPU. Tendo completado isto, o processo DMA de Memória devolve o bloco de mensagem de caixa correio pj j ra a caixa de correio de retorno (o processo CS).
No Passo 14 CS pode libertar intermediária de dados, o bloco da LCBI e o bloco de mensagem de caixa de correio.
Novamente, embora a descrição e Figura apresentem uma linha simples de sequência de fluxo pa_ ra clareza à na realidade múltiplas linhas a serem procesadas em varias fases em qualquer instante do tempo.
Como cada processo de software é descrito de modo a teri tar completar todas as suas tarefzas a executar antes de largar o microprocessador, o número de comutações de contexto efectuadas por mensagem recebida será menor sob car ga tipica do que quando se considerar sómente uma linha simples de sequência de mensafens.
No caso de LCB de Ler, não mostrado numa figura, a CPU emite IOLDs, que apontam para LCBs de Ler, cada LCB de Ler inclui indicador(s) para intermediária(s) em memória de sistema suficiente ampla para comportar a maior mensagem possível. Apenas uma interrupção precisa ser enviada à CPU, isto é depois de terem sido fornecidos os dados e situação final.
Tendo mostrado e descrito uma realiza ção da invensão, os especilizados compreenderão que muitas variações podem ser feitas para produzir a invensão descrita e estarem ainda dentro do espirito e âmbito da invensão reivindicada. A intensão é portanto, que a invensão seja apenas limitada como indicado pelo âmbito das reivindicações.
ABREVIATURAS/DEFINIÇÕES
ACK
Confirmação Positiva Positive Acknowledgement
CM
CRC
CPU
Gestão de Controlador (Software) Controller Management (software)
Verificação por Redundância Cíclica Cyclic Redundancy Check
Unidade Central de Processamento Central Processing Unit
CS
Serviço de Comunicação (software) Communication Service (software)
CSMA/CD
DMA
Acesso Múltiplo por Sensor de Portadora Detecção de Colisão
Carrier Sense Multiple Acess/Collision Detect
Acesso Directo a Memória
Direct Memory Acess
DA í
ENdereço de Destino Destination Address
DRAM
RAM Dinâmica Dynamic RAM
DSAP
Ponto de Acesso de Serviço de Destino Destination Service Access Point
EPROM - Memória Programável Apagável Somente por Leitura
Erasable Programmable Read Only Memory
FC - Código de Função/Controlo de Estrutura
Function Code/Frame Control
FIFO - Primeiro a entrar-Primeiro a Sair
First-In-First-Out
GA - Endereço de Grupo
Group Address
GETBUF - Obter Intermédia
Get Buffer
ICW - Palavra de Controlo de Interrupção
Interrpt Control Word
IODISP - Despacho de 10
Dispatch
IORB - Bloco de Pedido de Entrada/Saida
Input/output Request Block
ID - Identificação
Identification
' IF i | Interface (software) |
' 1/0 | Entrada/Saida Input/Output |
IOLD i | | Carga de Entrada/Saida Input/Output Load |
i LAC 1 | Controlador de Area local Local Area Controller |
LACS | Subsistema Controlador de Area Local Local Area Controller Subsystem |
LAN | Rede de Area Local Local Area NetWork |
LCB | Bloco de Controlo de LAN LAN Control Block |
LCBI | Imagem de Bloco de Controlo de LAN LAN Control Block Image |
LLC | Controlo de Camada de Enlace Link Layer Control |
LME | Entidade de Gestão de Camada Layer Management Entity |
LMI | Interface de Gestão de Camada Layer Management Interface |
LSAP - Ponto de Acesso de Serviço de Enlace
Link Services Access Point
LSI - Integração em Grande Escala
Large Scale Integration
MAC - Controlador de Acesso aos Meios
Media Access Controller
MBLME - Entidade de Gestão de Camada de Megabus
Megabus Layer Managemment Entity | ||
MBZ | - | Tem de ser Zero Must Be Zero |
MEMDMA | - | Acesso DIrecto de Memória a Memória Memory Direct Memory Access |
MSB - Byte Mais Significativo
Most Significant Byte
MSB - Bit Mais Significativo
Most Significant Bit
MTBF - Tempo Médio Entre Falhas
Mean Time Between Failures
MTTR - Tempo Médio para Reparar
Mean Time To Repair
NAK - Confirmação Negativa
Negative Acknowledgement
ORU
OS
Unidade Substituível óptima Optimum Replaceable Unit
Sistema Operativo/Sistema Aberto Operating/Open System
OSI - Interligação de Sistemas Abertos
Open Systems Intdrconnection
PAL - Lógica de Matriz Programável
Programmable Array Logic
PC - Computador Pessoal
Personal Computer
PIO - Entrada/Saida Física
Physical Input/Output
PROM - Memória Programável Só-de Leitura
Programmable Read-Only Memory
PDU - Unidade de Dados de Protocolo
Protocol Data UNit
QLT - Teste de Lógica de Qualidade
Quality Logic Test
RAM - Memória de Acesso Aleatório
Random Access Memory
RFU - Reservado para Uso Futuro
Reserved for Future Use
RHU | Reservado para Uso de Hardware Reserved for Hardware Use |
RINT | Retomar Interrupção Resume Interrupt |
RSU | Reservado para Uso de Software Reserved for Software Use |
SA | Endereço de Origem/Endereço Estação Source Address/Station Address |
SC | Situação Completa/Chamada de Serviço Status Complete/Service Call |
SM | Gestão de Sistemas (software) Systems Management (software) |
SMDSI | Interface de Serviço de Dados de Gestão de Sistemas Systems Management Data Service Interface |
SSAP | Ponto de Acesso de Serviço de Origem Source Service Access Point |
TBD | A Ser Definido To Be Defined |
TC | Acoplador de Linha Comum Trunk Coupler |
I
T&V - Teste e Verificação ; Test and Verification
I
WS i
i
I í
Estação de Trabalho Work Station
I
Claims (3)
- Ia. - Sistema de controlo para fornecer a comunicação de dados entre um sistema de processamento de dados (414a, 414b, 215, 216, 107), por um lado, e qualquer um de uma multiplicidade de sistemas de redes de áreas locais (LANs), por outro, caracterizado por:um primeiro enlace (400), um segundo enlace (614a, 614b), um terceiro enlace (421a, 421b) para cada um dos referidos LANs;um processador (401) e uma memória (402,404) para o referido sistema de processamento acoplado ao referido primeiro enlace;uma memória (408b) acoplada para acesso ao referido segundo enlace;um adaptador (422a, 422b) acoplado entre cada um dos referidos terceiros enlaces e um LAN respectivo para transmitir dados entre o respectivo terceiro enlace e o LAN;uma primeira unidade acopladora (420a, 420b) acoplando cada um dos referidos terceiros enlaces ao referido segundo enlace;uma segunda unidade acopladora (407a, 407b) acoplando o referido sistema de processamento de dados ao referido segundo enlace para transmitir dados entre a referida memória (408b) e o referido sistema de processamento de dados através do referido segundo enlace; e uma terceira unidade acopladora (406a, 406b) acoplando o referido primeiro enlace ao referido segundo enlace para transmitir sinais de controlo do referido processador (401) para o referido segundo enlace.
- 2a. - Sistema de controlo de acordo com a reivindicação 1, caracterizado ainda por:cada um dos referidos LANs (100, 104 E 105)compreender uma multiplicidade de meios de recurso partilhados (102, 108, ws), estando cada um dos LAN acoplado ao seu meio de recurso partilhado por meio de um sistema de enlace; e cada um dos adaptadores (422a, 422b) estar acoplado a um adaptador respectivo do referido sistema de enlaces do LAN:
- 3a. - Sistema de controlo de acordo com a reivindicação 2, caracterizado ainda por:um dos referidos LANs (100) compreender uma primeira multiplicidade de meios de recurso partilhados do primeiro tipo (102, 106, 107); e um outro dos referidos LANs (105) compreender uma segunda multiplicidade de meios de recurso partilhados do segundo tipo (ws);em que a referida primeira multiplicidade de meios de recurso partilhados do primeiro tipo têm uma arquitectura diferente da referida segunda multiplicidade de meios de recurso partilhados do segundo tipo.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US89151186A | 1986-07-28 | 1986-07-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
PT85424A PT85424A (pt) | 1988-07-29 |
PT85424B true PT85424B (pt) | 1994-03-31 |
Family
ID=25398323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT85424A PT85424B (pt) | 1986-07-28 | 1987-07-28 | Unidade de controlo propria para controlar varios tipos de redes de area local |
Country Status (19)
Country | Link |
---|---|
EP (1) | EP0255096B1 (pt) |
JP (1) | JPH0691535B2 (pt) |
KR (1) | KR930004909B1 (pt) |
CN (1) | CN1016832B (pt) |
AR (1) | AR241563A1 (pt) |
AU (1) | AU591315B2 (pt) |
BR (1) | BR8703899A (pt) |
CA (1) | CA1294709C (pt) |
DE (1) | DE3788540T2 (pt) |
DK (1) | DK393687A (pt) |
ES (1) | ES2047483T3 (pt) |
FI (1) | FI873258A (pt) |
IL (1) | IL83333A (pt) |
MX (1) | MX169519B (pt) |
NO (1) | NO174028C (pt) |
NZ (1) | NZ221228A (pt) |
PH (1) | PH25337A (pt) |
PT (1) | PT85424B (pt) |
YU (1) | YU142087A (pt) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1989008887A1 (en) * | 1988-03-11 | 1989-09-21 | Qpsx Communications Ltd. | Access security system for switched communications networks |
US5367643A (en) * | 1991-02-06 | 1994-11-22 | International Business Machines Corporation | Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets |
FR2702578B1 (fr) * | 1993-03-12 | 1995-04-14 | Bull Sa | Système de communication avec un réseau. |
DE19809398A1 (de) * | 1998-03-05 | 1999-09-09 | Sel Verteidigungssysteme Gmbh | Verfahren zum gemeinsamen Betreiben einer Vielzahl militärischer Führungssysteme, sowie ein System zur Durchführung dieses Verfahrens und eine Nutzerschnittstelle hierfür |
CN100451972C (zh) * | 2006-09-26 | 2009-01-14 | 杭州华三通信技术有限公司 | 提高多核系统访问临界资源速度的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4568930A (en) * | 1983-01-21 | 1986-02-04 | E-Systems, Inc. | Multinodal data communication network |
US4574284A (en) * | 1983-01-26 | 1986-03-04 | Trw Inc. | Communication bus interface unit |
US4706081A (en) * | 1984-12-14 | 1987-11-10 | Vitalink Communications Corporation | Method and apparatus for bridging local area networks |
-
1987
- 1987-07-27 ES ES87110870T patent/ES2047483T3/es not_active Expired - Lifetime
- 1987-07-27 EP EP87110870A patent/EP0255096B1/en not_active Expired - Lifetime
- 1987-07-27 NO NO873144A patent/NO174028C/no unknown
- 1987-07-27 DE DE3788540T patent/DE3788540T2/de not_active Expired - Fee Related
- 1987-07-27 FI FI873258A patent/FI873258A/fi not_active IP Right Cessation
- 1987-07-27 CA CA000543035A patent/CA1294709C/en not_active Expired - Lifetime
- 1987-07-27 IL IL83333A patent/IL83333A/xx not_active IP Right Cessation
- 1987-07-28 NZ NZ221228A patent/NZ221228A/xx unknown
- 1987-07-28 KR KR1019870008217A patent/KR930004909B1/ko not_active IP Right Cessation
- 1987-07-28 BR BR8703899A patent/BR8703899A/pt not_active Application Discontinuation
- 1987-07-28 PH PH35595A patent/PH25337A/en unknown
- 1987-07-28 DK DK393687A patent/DK393687A/da not_active Application Discontinuation
- 1987-07-28 YU YU01420/87A patent/YU142087A/xx unknown
- 1987-07-28 MX MX007520A patent/MX169519B/es unknown
- 1987-07-28 AU AU76214/87A patent/AU591315B2/en not_active Ceased
- 1987-07-28 AR AR87308278A patent/AR241563A1/es active
- 1987-07-28 JP JP62188683A patent/JPH0691535B2/ja not_active Expired - Lifetime
- 1987-07-28 PT PT85424A patent/PT85424B/pt not_active IP Right Cessation
- 1987-07-28 CN CN87106123A patent/CN1016832B/zh not_active Expired
Also Published As
Publication number | Publication date |
---|---|
FI873258A (fi) | 1988-01-29 |
IL83333A (en) | 1991-07-18 |
EP0255096A3 (en) | 1990-02-28 |
AU591315B2 (en) | 1989-11-30 |
CN87106123A (zh) | 1988-03-02 |
DK393687A (da) | 1988-01-29 |
NO174028C (no) | 1994-03-02 |
FI873258A0 (fi) | 1987-07-27 |
NZ221228A (en) | 1990-09-26 |
NO873144L (no) | 1988-01-29 |
KR930004909B1 (ko) | 1993-06-10 |
DE3788540D1 (de) | 1994-02-03 |
BR8703899A (pt) | 1988-04-05 |
DK393687D0 (da) | 1987-07-28 |
IL83333A0 (en) | 1987-12-31 |
KR880002334A (ko) | 1988-04-30 |
DE3788540T2 (de) | 1994-07-28 |
NO873144D0 (no) | 1987-07-27 |
PT85424A (pt) | 1988-07-29 |
JPS6367044A (ja) | 1988-03-25 |
EP0255096B1 (en) | 1993-12-22 |
EP0255096A2 (en) | 1988-02-03 |
CN1016832B (zh) | 1992-05-27 |
PH25337A (en) | 1991-04-30 |
YU142087A (en) | 1990-08-31 |
AR241563A1 (es) | 1992-08-31 |
ES2047483T3 (es) | 1994-03-01 |
JPH0691535B2 (ja) | 1994-11-14 |
CA1294709C (en) | 1992-01-21 |
NO174028B (no) | 1993-11-22 |
MX169519B (es) | 1993-07-09 |
AU7621487A (en) | 1988-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4831518A (en) | Multiprocessor interrupt rerouting mechanism | |
US4835674A (en) | Computer network system for multiple processing elements | |
US4831620A (en) | Controller for controlling multiple LAN types | |
US4750114A (en) | Local area network control block | |
US4771286A (en) | Lan controller having split bus design | |
US6049889A (en) | High performance recoverable communication method and apparatus for write-only networks | |
US6470397B1 (en) | Systems and methods for network and I/O device drivers | |
US5475860A (en) | Input/output control system and method for direct memory transfer according to location addresses provided by the source unit and destination addresses provided by the destination unit | |
JP5648167B2 (ja) | 分散仮想ブリッジ環境におけるレジスタ・アクセス | |
US6763417B2 (en) | Fibre channel port adapter | |
CN104639596B (zh) | 用于使用rdma的低等待时间fifo消息收发中支持多个发送器的系统和方法 | |
US6295585B1 (en) | High-performance communication method and apparatus for write-only networks | |
US20050251612A1 (en) | Separating transactions into different virtual channels | |
JP2003178039A (ja) | 分散共有仮想メモリーとその構成方法 | |
WO2007090352A1 (fr) | Procédé, appareil et système de transmission de message | |
TW200919200A (en) | Management component transport protocol interconnect filtering and routing | |
US20020199113A1 (en) | Apparatus and method for intersystem lock optimization | |
US20060039405A1 (en) | Systems and methods for frame ordering in wide port SAS connections | |
PT85424B (pt) | Unidade de controlo propria para controlar varios tipos de redes de area local | |
US4823124A (en) | Lan controller proprietary bus | |
CN116743684A (zh) | 一种具多个非透明桥端口的PCIe交换机及其通信方法 | |
CN116346744A (zh) | 一种具多个非透明桥端口的PCIe交换机及其通信方法 | |
EP0255090A2 (en) | LAN controller proprietary bus | |
KR20050080704A (ko) | 프로세서간 데이터 전송 장치 및 방법 | |
Merchant | A programmable network interface unit for hybrid meshnet local area networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG3A | Patent granted, date of granting |
Effective date: 19930906 |
|
MM3A | Annulment or lapse |
Free format text: LAPSE DUE TO NON-PAYMENT OF FEES Effective date: 19950331 |