PT95850A - Aparelho e processo para garantir os tempos de separacao de impulsos de comando - Google Patents

Aparelho e processo para garantir os tempos de separacao de impulsos de comando Download PDF

Info

Publication number
PT95850A
PT95850A PT95850A PT9585090A PT95850A PT 95850 A PT95850 A PT 95850A PT 95850 A PT95850 A PT 95850A PT 9585090 A PT9585090 A PT 9585090A PT 95850 A PT95850 A PT 95850A
Authority
PT
Portugal
Prior art keywords
signal
read
mpu
write
transfer cycle
Prior art date
Application number
PT95850A
Other languages
English (en)
Inventor
Thomas F Lewis
Stephen P Thompson
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of PT95850A publication Critical patent/PT95850A/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

i
Descrição referente â patente de invenção de INTERNATIONAL BUSINESS CORPORATION, norte-americana, indus trial e comercial, estabelecida em Armonk, N.Y. 10504, Estados Unidos da América, (inventores: Thomas F. Lewis e Stephen P. Thompson, residentes nos E.U.A.), para "APARELHO E PROCESSO PARA GARANTIR OS TEMPOS DE SEPARAÇÃO DE IMPULSOS DE COMANDO"
DESCRIÇÃO
CAMPO TfiCNICO A presente invenção refere-se genericamente à concepção de sistemas de computador e, mãis particularmenteré-fere-se â interface de unidades centrais de processamento e dispositivos periféricos, tais como dispositivos de entrada/saída e dispositivos de memória.
FUNDAMENTO
Tipicamente, num sistema de computador, a comunicação entre uma unidade central de processamento, tal como um microprocessador (MPU), e um dispositivo periférico verifica--se em ligação com ciclos de transferência de dados. No estabele |cimento de interfaces entre um MPU e um dispositivo periférico ia distribuição de tempos ê uma consideração importante. São e-xemplos de dois parâmetros de distribuição de tempos críticos os tempos de acesso de leitura e de escrita. Estes tempos são os tempos necessários para os descodificadores internos de endereços localizarem o octeto correcto na memória. Para harmonizar és - 1 -
I
ι tes tempos de acesso, é bem conhecido o processo de fazer com que os estados de espera façam parte do ciclo de transferência nominal. Também ê comummente usado um protocolo de sincronização por permuta de informações ("handshake") entre a MPU e o dispositivo periférico, para introduzir estados de espera adicionais no ciclo de transferência para garantir que um determinado dispositivo periférico tem disponível para si o tempo de acesso necessário. Para isso, a maior parte das MPU incluem uma entrada READY que, quando está desactivada, serve para adicionar estados de espera a um ciclo de transferência até um certo numero prê-de terminado máximo de estados consecutivos.
Outros parâmetros de distribuição de tempos es tio, evidentemente, associados com a trnsferência de dados entre uma MPU e um periférico durante um ciclo de transferencia. Mas historicamente estes outros parâmetros de distribuição de tempos não têm requerido uma consideração especial, em grande parte por que tipicamente não eram da mesma ordem de grandeza do intervalo de tempo nominal do ciclo de transferência. Por conseguinte, não têm sido necessárias precauções especiais para impedir a violação destes parâmetros.
Mas há situações epeciais nas quais um disposi tivo periférico ê caracterizado por um parâmetro de distribuição de tempos que é da mesma ordem de grandeza do ciclo de transferência, Por exemplo, no subsistema de vídeo de um IBM Personal System/2 modelo 50, 60 ou 80, um conversor digital-análogo (DAC) contêm uma tabela de consulta de cores (CLUT) que permite que va lores de elementos de imagem de oito (8) bits sejam traduzidos em componentes vermelha, verde e azul de seis (6) bits, antes da conversão digital-analõgiea, permitindo até 256 cores das 256K cores a visualizar. A CLUT pode ser escrita na MPU e lida a partir da mesma pelos seus comandos de efectivação de escrita e de leitura para certos endereços de entrada/saída (I/O). Um dos parâmetros de distribuição de tempos do DAC dé vídeo impõe uma limitação â rapidez com que pode ocorrer o flanco dianteiro de um impulso de comando de escrita ou de leitura, depois do flanco traseiro de um impulso de comando de leitura ou escrita anterior Este parâmetro de distribuição de tempos está relacionado com a relação assíncrona entre a corrente de elementos de imagem e o 2
relógio do sistema. Para assegurar que a corrente de elementos de imagem não ê interrompida durante um comando de leitura ou de escrita, o parâmetro de distribuição de tempos exige até seis (6) impulsos de relógio (por exemplo 480 ns) de elementos de ima gem ou pontos, como a separação mínima, entre o flanco traseiro de um sinal e o flanco dianteiro do seguinte.
Com os microprocessadores cada. vez mais rápidos, diminuíram drasticamente os tempos dos ciclos de instrução e de transferência. Com estas velocidades crescentes dos microprocessadores, os parâmetros de distribuição de tempos dos dispositivos periféricos tais como os do DAC de vídeo atrás referido são violados, a menos que se introduzam atrasos por programação entre ciclos de transferencia consecutivos. Estes atrasos in troduzidos por programação não podem no entanto continuar a ser eficientes quando as velocidades da máquina continuam a aumentar e os sistemas operativos se tornam mais sofisticados.
DESCRIÇÃO DA INVENÇÃO
Um objectivo primário da presente invenção con siste em garantir a compatibilidade entre os meios de programação ("software") existentes e os novos sistemas de meios materiais ("hardware") que possuem relógios do sistema que funeionnam com velocidades signifieativamente maiores do que as dos relógios de sistema de meios materiais para os quais os meios de programação foram originalmente concebidos. O objectivo relacionado da presente invenção consiste em proporcionar um sistema de computador que possa ser programado livremente, independentemente de quaisquer considerações referentes ãs velocidades relativas da unidade central de processamento (CPU) e de um periférico.
Um outro objectivo da presente invenção consij3 te em permitir que uma CPU num sistema de computador opere com as suas velocidades mais elevadas ao mesmo tempo que também asse gura que a CPU comunica de maneira fiável com dispositivos periféricos mais lentos.
Um objectivo mais pormenorizado da presente in venção consiste em optimizar a velocidade de eomunicaçãções entre uma CPU e um dispositivo periférico sem violar parâmetros de 3 ϊ *
r distribuição de tempos do dispositivo (por exemplo, o tempo de carga previa de um comando), Um objectivo de pormenor relacionado da presente invenção consiste em proporcionar um aparelho num sistema de computador que retarda ciclos de instruções de uma CPU apenas quando fôr necessário impedir a violação de parâmetros de distribuição de tempos num dispositivo periférico.
Ê também um objectivo de pormenor da presente invenção estender selectivamente os ciclos nominais de instruções da CPU, sem impor uma penalização de eficácia em CPU mais lentas ou sistemas de programação que incluem atrasos programados .
De acordo com os objectivos atrás referidos, num dispositivo que possui pelo menos uma entrada para receber sinais de uma unidade central de processamento (CPU), a presente invenção proporciona um aparelho e um processo independentes da CPU para determinar formas de ondas dos sinais para a entrada do dispositivo de modo que dois quaisquer sinais consecutivos estão sempre separados por um intervalo de tempo prê-.determinado. Sepa rando os sinais, um segundo sinal não ê recebido antes de estar completado o processamento do primeiro sinal·, assegurando desse modo que as especificações do dispositivo não são violadas pela geração dos sinais consecutivos para a entrada do dispositivo. Definindo a forma de onda dos sinais de entrada, um segundo sina!, para o dispositivo gerado pela CPU dentro dos intervalos de tempo pré-determinados é efectivamente atrasado e apenas ê recebido pelo dispositivo depois de expirar o intervalo de tempo pré-determinado. A fim de contar com a recepção atrasada do segundo si nal, o aparelho proporciona também a detecçao da apresentação do sinal ao dispositivo pela CPU durante o período de tempo pré-determinado e, em resposta a isso, gera um sinal para a CPU que a instrui para estender a instrução ou o ciclo de transferência as^ sociado com o segundo sinal para se adaptar ã recepção atrasada do sinal pelo dispositivo. Da maneira anterior, a CPU so ê retar dada em resposta â ocorrência de uma condição actual (isto ê sinais consecutivos demasiado próximos) o que possivelmente pode provocar uma condição desconhecida no dispositivo.
De preferência, o aparelho e o processo segun- 4 τ
do a presente invenção estendem o ciclo de instrução ou de trans ferência associado com o segundo sinal de um valor aproximadamen te igual ao atraso do sinal que está a ser recebido pelo disposi tivo. A este respeito, devido a que o atraso ê assíncrono relati vamente ao relógio do sistema, o ciclo estendido ê também assíncrono *
Mais particularmente., a presente invenção proporciona uma interface entre uma CPU e um dispositivo periférico que compreende uma porta para receber sinais de comando de leitu ra e de escrita da CPU e passar os sinais para o dispositivo periférico de uma maneira medida, significando que os sinais conse cutivos estão separados por pelo menos um intervalo de tempo pré -determinado. A porta desempenha esta função em cooperação com um primeiro grupo de circuitos que desactiva a porta durante um intervalo de tempo pré-determinado a seguir â passagem de um pri meiro impulso de comando de leitura ou de escrita através da por ta e para o dispositivo periférico. Um segundo grupo de circuitos na interface deteeta a ocorrência de um segundo impulso de comando de leitura ou de escrita durante o tempo em que a porta está desactivada e, em resposta a issso, proporciona um sinal de espera para a CPU para instruir a MPU para estender o ciclo de instrução ou de transferência associado com o segundo impulso de comando de leitura ou de escrita. 0 aparelho e o processo segundo a presente invenção estende um ciclo de instrução ou de transferência apenas quando necessário e apenas na quantidade necessária para assegurar que não são violados os parâmetros de distribuição de tempos do dispositivo. Enquanto que assegura que se complete de maneira fiável os ciclos de instrução e/ou de transferência, a presente invenção também permite que a CPU funcione com as suas velocidades mais elevadas e apenas retarda a execução de um ciclo quando fór necessário. Não é imposta qualquer penalização de eficácia âs CPU mais lentas, visto que os seus ciclos se estenderão apenas se fôr necessário para garantir que não são violados os para metros de distribuição de tempos. Analogamente, não são penaliza dos meios de programação que incluem atrasos programados.
Na sua forma de realização preferida, os reque rentes utilizam a invenção num subsistema de vídeo de um computa 5
ϊ dor pessoal. Especificamente, a forma de realização preferida ilustrada e descrita em pormenor a seguir incorpora a presente invenção numa interface de. um subsistema de vídeo para proporcio nar uma interface entre uma unidade de microprocessador (MPU) do computador pessoal e um conversor digital-análogo (DAC) de vídeo Como atrás se mencionou, um parâmetro de distribuição de tempos do DAC de vídeo exige uma separação mínima entre o flanco trasei ro de um primeiro sinal de.impulso de comando de leitura ou escrita e o flanco dianteiro do sinal de impulso de comando de lei tura ou escrita seguinte. Nesta forma de realização preferida, a presente invenção assegura que este parâmetro ê satisfeito enquanto que apenas estende ciclos de transferência entre o DAC de vídeo e a MPU quando for necessário para impedir a violação do parâmetro.
Embora no seguimento se descreva a presente in venção num sistema de vídeo, os entendidos nas técnicas de concepção de sistemas de computador e,. em particular, de interfaces entre dispositivos periféricos e CPU, que a presente invenção tem um campo de aplicação muito mais vasto, não havendo a intenção de a limitar aos subsistemas de vídeo.
Breve descrição dos desenhos
As figuras dos desenhos anexos representam: A fig. 1, um esquema de blocos de um subsistema de vídeo, dado como exemplo, de um sistema de computador que incorpora a presente invenção;
As fig. âA e 2B, esquemas de blocos de uma interface de vídeo e de um conversor digital-análogo (DAC) de vídeo, que são os dois componentes principais do sistema representado na fig. 1;
As fig. 3Ά a 3E, diagramas de distribuições de tempos que ilustram as relações temporais entre sinais de comando de leitura/escrita consecutivos numa instrução para escrever ou ler dados de côr para ou do DAC de vídeo;
As fig. 4A a 4C, esquemas de distribuição de tempos que ilustram três sequências possíveis de ciclos de tran£ ferência entre uma unidade central de processamento sob a forma 6
ί de um microprocessador de comando (MPU) e o subsistema de vídeo segundo a presente invenção; A fig. 5, um fluxograma que ilustra a micropro gramação usada pela MPU em conjunção com a presente invenção; A fig. 6, o esquema do circuito de uma interfa ce incorporada na interface de vídeo da fig. 2A para realizar praticamente a presente invenção de acordo com uma forma de realização preferida; e A fig. 7, um diagrama de distribuição de tempos que ilustra os estados de várias linhas de entrada e de saída importantes nos circuitos da fig. 6, durante dois ciclos de transferência consecutivos entre a CPU e o subsistema de vídeo.
Descrição pormenorizada da forma de realização preferida ' Passando a referir os desenhos anexos, em pri meiro lugar as fig. 1 e 2A-2C, está ilustrado um sistema de computador que incorpora um subsistema de vídeo, dado como exemplo, que possui uma interface de vídeo (11), uma memória dos mapas de bits (13), um conversor digital-análogo de vídeó (DAC) (15) e, evidentemente, uma unidade de visualização com exploração por li nhas, tal como um tubo de raios catódicos (GRT) de cores (17),
De uma maneira convencional, um processador central, sob a forma de um microprocessador de comando do sistema (MPU) (19), comunica com o subsistema de vídeo através de um sistema de linhas omnibus de três estados (21). A linha omnibus de três estados (21) tem interface com o subsistema de vídeo por meio de uma interface das linhas omnibus (23), de concepção bem conhecida. Da inter face das linhas omnibus (23), as linhas omnibus de endereços e de dados (25) e (27), respeetivamente, e linhas de comando (29), ligam-se â interface de vídeo (11) e ao DAC de vídeo (15). No in terior da interface de vídeo (11) e do DAC de vídeo (15) hã registadores que são lidos a partir da, ou escritos pela MPU (19), como mais adiante se explica com mais pormenor. 0 DAC de vídeo (15) é um controlador de gráficos a cores, que gera valores de sinais elêctricos para entradas de córes respectivas para o CRT de cores (17), em resposta a uma sucessão de valores de elementos de imagens derivados da memória 7
I
dos mapas de bits (.13) que armazenam valores de elementos de ima gem para uma sequência de exploração de linhas. 0 DAG de vídeo (15) inclui uma tabela de consulta de cores (CLUT) (31) que esta disposta para receber valores de elementos de imagem de 8 bits P0-P7 por uma linha omnibus dos elementos de imagem (33) provenientes da memória dos mapas de bits (13), através da interface de vídeo (11), com uma frequência de elemntos de imagem determinada por um relógio dos elementos de imagem (PIXEL CK). A CLUT (31) e um grupo de conversores digital-análogo (DAC) (35) conver tem os valores dos elementos de imagem ("pixels") em sinais elêc tricôs analógicos, nas linhas de saída (37), (39) e (41), que estão ligadas respectivamente aos canhões electrónicos do vermelho, do azul e do verde do CRT a cores (17). A CLUT (31) compreende uma memória FAM que ê usada para consultar um valor de côr para cada um dos valores de elementos de imagem recebidos da memória dos mapas de bits (13). Por outras palavras, o conteúdo do elemento de imagem não acciona directamente os DAC (35) do DAC de vídeo (35); em vez disso, ele contém endereços para os dados de cór armazenados na CLUT (31). A MPU (19) controla os valores de cor armazenados na CLUT (31) para cada um dos 256 valores pos síveis dos elementos de imagem contidos na memória de mapas de bits (13).
Referindo mais especificamente a produção dos sinais de côr analógicos a partir dos dados dos elementos de ima gem, a CLUT (31) do DAC de vídeo (15) tem 256 posições endereçáveis, cada uma delas retendo uma palavra de 18 bits que represen ta um valor de côr= Os valores dos elementos de imagem são forne eidos pela linha omnibus dos elementos de imagem (33) ã frequência de elementos de imagem determinada pelo relógio dos elementos de imagem. Cada valor de um elemento de imagem ê uma palavra de elemento de imagem de 8 bits, que está armazenada num reten-!tor de elementos de imagem (42) e ê usada como endereço para as íposições dos 256 valores de côr da CLUT (31). Cada valor de um elemento de imagem faz com que sejam fornecidos dados com o comprimento de 18 bits a uma linha omnibus (43) da CLUT (31) para um descodificador (45). 0 valor de dados de 18 bits ê constituído por três grupos de seis bits cada um, representando o valor da intensidade para o vermelho, o azul ou o verde, respectivamen 8
J
te,- e ê fornecido a um dos DAC (35) correspondente através do descodificador (45). Assim, os 18 bits de um valor de dados podem indicar qualquer das 262,144 combinações de valores de inten sidade de côr do vermelho, do azul e do verde» Deste modo, cada valor de elemento de imagem escolhe um dos 256 valores de côr mantidos na CLUT (31). Um gerador de distribuição de tempos (47) no DAC de vídeo (15) controla a operação de distribuição de tempos da CLUT (31), do descodificador (45) e dos DAC (35), de modo que a fornecer sinais de saída analógicos nas linhas (37), (39) e (41) com a mesma frequência dos elementos de imagem» Também, um sinal BLANK proveniente da interface de vídeo (11) faz- com que os DAC (35) levem as suas saídas para zero durante o retorno das linhas de exploração no CRT.
A fim de tirar partido completo do numero de combinações de côr possíveis disponível, a MPU (19) pode escrever diferentes valores de côr numa ou mais posições da CLUT (31) através da linha omnibus de dados (27) utilizando uma interface (49) da MPU. Deste modo, podem usar-se as 256 posições na CLUT (31) para formar uma paleta de cores que, por utilização da MPU (19) e da interface (49) da MPU pode escolher 256 combinações di ferentes de vermelho, azul e verde, sendo cada uma de tais comfoi nações uma das 262,144 cores diferentes. A MPU (19) pode também ler valores diferentes de côr a partir da CLUT (31). Deste modo, pode substituir-se momentaneamente uma paleta por outra e voltar depois â primeira. Uma tal transferência de dados da paleta veri fica-se tipicamente num ambiente multitarefas quando se transfere o controlo da imagem do ecrã entre programas que estão a ser executados. Nem todos os DAC de vídeo actualmente disponíveis proporcionam a capacidade de leitura a partir da CLUT (31) . A es^ te respeito, os requerentes preferem um DAC de vídeo IMS-G 171 fabricado por INMOS Corp= de P.O» Box 16 000, Colorado Springs, Colorado 80 936, visto que ele permite quer a escrita quer a lei tura de dados na CLUT. A fim de proporcionar o funcionamento com uma frequência de elementos de imagem elevada, consegue-se um tempo de ciclo curto no referido DAC INMOS utilizando uma técnica de acesso de dados com canalização de informações ("pipelined"), de modo que a descodificação da CLUT (31) e a leitura e escrita de 9 1
dados de e para as células de memória na CLUT se completam, cada uma, como uma operação multi-estãdios em dois ciclos do relógio dos elementos de imagem. No DAC de vídeo ilustrado (15), a inter face (49) da MPU simplifica a comunicação entre o DAC e a MPU (19) e é totalmente assíncrona para o relógio de canalização dos elementos de imagem.
No interior do DAC de vídeo INMOS,- e como se ilustra na fig. 2B, uma linha omnibus (51) de endereços de 8 foi-ts, que liga a linha omnibus de elementos de imagem (33) proveni entes da memória dos mapas de bits (13) para a CLUT (31), está ligada a uma linha omnibus de endereços (53) proveniente da interface (49) da MPU, esta ultima para proporcionar endereços de 8 bits para ciclos de transferência de leitura e escrita entre a CLUT e a MPU (19). Em resposta a um valor de elemento de imagem na linha omnibus de endereços (51), a CLUT (31) determina o esta do de armazenamento das células de memória a que se pretende a-cesso. Em alternativa, uma célula de memória da CLUT (31) identi ficada por um endereço na linha omnibus (53) pode ser lida ou gravada pela MPU, através da interface (49) da MPU.
Passando agora a uma discussão mais pormenorizada dos endereços de leitura e escrita de e para as células da memória, a MPU (19) e a interface (49) da MPU do DAC de vídeo (15) comunicara através da linha omnibus de dados (27) (fig. 1) e da interface de vídeo (11). A interface de vídeo (11) recebe linhas de controlo convencionais, tais como linhas de controlo de estado (SO) e (Sl), a linha de controlo de comando (CMD) e a linha de controlo RESET, representadas na fig. 1, e deriva sinais de sincronização de leitura e de escrita DACIÕR e DACIOW, respec tivamente, que são fornecidos à interface (49) da MPU do DAC de vídeo (15). Quando se gera um comando do sinal de sincronização DACIOW, a interface (49) da MPU recebe nas oito linhas de dados (DO-D7) da linha omnibus de dados (27) quatro octetos de 8 bits sucessivos que representam uma posição de endereço e os valores de côr vermelha, azul e verde. Quando se tiverem carregado os quatro octetos em registadores internos (não representados), a interface (49) da MPU controla a transferência dos dados de côr de modo que num início de um novo ciclo de elementos de imagem canalizados, ê efectuada uma operação de escrita no endereço indicado. - 10 -
Especificamente, a mudança, de uma côr armazena da na CLUT (31) é um processo multi-estádios que exige ciclos de transferência de leitura e/ou de escrita com um certo numero de ciclos de transferência. Em primeiro lugar, tem de ser especificado o endereço do elemento de imagem inicial enquanto o DAC de vídeo (15) estã num modo de escrita (SO - SI - IOW - 0). A inter face (49) do MPU armazena este endereço num registador de endere ços de elementos de imagem identificado pelos dois bits menos significativos (55) da linha omnibus de endereços (25) . As três palavras de dados seguintes separadas de definição de côr do ver melho, o azul e do verde são recolhidas em registadores de valores de côr também identificados pelos bits (55) e concatenados numa palavra de 18 bits. A interface (49) da MPU aponta então pa ra a célula de memória a modificar apresentando os dados no regi stador de endereços na linha omnibus de endereços e transfere a palavra concatenada de 18 bits para uma linha omnibus de 18hits (57), em sincronismo com o relógio de elementos de imagem.
As fig. 3A a 3C ilustram 4 situações possíveis de distribuição de tempos que podem ocorrer quando a MPU (19) es creve dados ou lê dados para/da. CLUT (31) , As fig. 3A e 3B ilustram uma instrução de escrita seguida por um sinal de sincroniza ção de leitura/escrita seguida por um sinal de comando de sincro nização de leitura/escrita de qualquer ciclo de transferência se guinte e as fig. 3C e 3D ilustram o mesmo para uma instrução de leitura. Especificamente, na fig. 3A a instrução de escrita compreende 4 ciclos de transferência de escrita e ê seguida por um sinal de comando de sincronização de escrita de qualquer tipo de ciclo de transferência entre a MUP (19) e o DAC de vídeo (15).
Na fig. 3B, a instrução de escrita ê seguida por um sinal de comando de sincronização de leitura de qualquer tipo de ciclo de transferência. Analogamente, a instrução de. leitura da fig. 3C compreende um ciclo de escrita e três ciclos de leitura e ê seguida por qualquer tipo de ciclo de transferência de leitura entre a MPU (19) e o DAC de vídeo (15), enquanto que a fig, 3D i-lustra qualquer tipo de ciclo de transferência de escrita a seguir â instrução de leitura. Finalmente, a fig. 3E indica o esta do das linhas (D0-D7) da linha omnibus de dados (27) durante o primeiro ciclo de transferência, que ê um ciclo de escrita para 11
I
instruções, quer de leitura, quer de escrita, A seguir vêm os da dos de cõr nas linhas (D0-D7) em três octetos sequenciais. Cada um dos três octetos de cores estã associado com os três ciclos de transferência de escrita ou de leitura a seguir ao ciclo de transferência de escrita inicial. Os octetos de cõr são colocados nas linhas de dados ou pela MPU (19) ou pelo DAC de vídeo (15), conforme se estiver a executar uma instrução de leitura ou de escrita.
Com referência especificamente â fig. 3A, quatro ciclos de transferência de escrita para o DAC de vídeo (15) fazem com que se escreva um endereço da CLUT no registador de en dereços de elementos de imagem (não representado) na interface (49) MPU e que se escrevam três conjuntos de dados de cõr para o / vermelho, o verde e o azul nos registadores de valores de côr (também não representados). Como pode ver-se no Quadro 1 o flanco traseiro de cada sinal de escrita na instrução de escrita da fig. QUADRO 1
TRANSIÇÕES
WHWLl (escrita/nível WHWL2 (escrita/nível WHRLl (escrita/nível WHRL2 (escrita/nível RHRLl (escrita/nível RHRL2 (leitura/nível RHWL (leitura/nível
IMPULSOS DE RELÕGIO DE ELEMENTOS DE IMAGEM elevado para escrita/nível baixo) 3 elevado para qualquer escrita/nível bai xo 3 alto para qualquer leitura/nível baixo 6 elevado para leitura/nível baixo) 3 elevado para leitura/nível baixo 3 elevado para qualquer leitura/nível bai xo 6 alto para escrita/nível baixo 6 3A tem de estar separado do flanco dianteiro de um sinal de comando de sincronização de escrita seguinte de uma quantidade WHWLl. 0 Quadro 1 indica esta quantidade como tendo de ser de três períodos do.relógio de elementos de imagem, pelo menos. Esta limitação de distribuição de tempos permite a execução do ciclo de transferência que ê assíncrono relativamente ao fluxo de 12 I > ι informação de elementos de imagem para o CRT a cores (17) sem distorção da imagem no CRT. A fig. 3A mostra também um parâmetro de distribuição detempos entre o flanco de subida do sinal de es crita para os dados da côr azul e o flanco descendente de um sinal de escrita, para qualquer instrução seguinte. Este parâmetro de distribuição de tempos i designado por WHWL2 e, como se indica no Quadro 1, tem de ser pelo menos de 6 ciclos de relógio de elementos de imagem.
Tal como a fig. 3A, a fig. 3B ilustra uma série de sinais de comando de sincronização de escrita para a execução de uma instrução de 3scrita na CLUT (31). Mas, em contraste com a fig. 3Ά, o flanco ascendente do. ultimo sinal de escrita para a transferência dos novos dados de côr para a CLUT (31) ê seguido de um sinal de comando de sincronização de leitura em qualquer tipo de instrução seguinte para o DAC de vídeo (15). Há um intervalo de tempo mínimo entre o flanco ascendente deste ultimo sinal de comando de sincronização de escrita e o flanco des cendente do sinal de comando de sincronização de leitura, estando indicado por WHRL1 na fig. 3B. A partir do Quadro 1 pode ver--se que este parâmetro de distribuição de tempos tem de ser de pelo menos 6 ciclos de relógio de elementos de imagem.
A fig. 3C ilustra uma sequência de sinais de comando de sincronização de escrita e de leitura, associados com 4 ciclos de transferência, de uma instrução de leitura para ler uma posição da célula de memória da CLUT (31). Estão ilustrados três parâmetros de distribuição de tempos diferentes. Primeiro, a separação WHRL2 entre o sinal de escrita para o endereço a ler e o primeiro sinal de comando de sincronização de leitura para os dados da côr vermelha é de 3 ciclos de relógio dos elementos de imagem, como se indica no Quadro 1. A separação RHRLl entre os sinais de leitura para ler os dados de côr e de 3 impulsos de relógio de elementos de imagem. Finalmente, o tempo mínimo entre o flanco traseiro do ultimo sinal de leitura de côr e o flanco descendente de um sinal de comando de sincronização de leitura de qualquer tipo de instrução seguinte para o DAC de vídeo (15) esta designado por RHRL2 e o Quadro 1 indica que ele tem um valor mínimo de 6 ciclos de elementos de imagem. 13 {
A fig. 3D ilustra a mesma instrução de leitura para o DAC de vídeo (15) como se mostra na fig,. 3C= Porém, um parâmetro de distribuição de tempos RHWL seguinte ao flanco traseiro do último sinal de comando de leitura de côr indica que o flanco dianteiro de qualquer sinal de comando de sincronização de leitura a seguir ao flanco traseiro da última leitura de côr tem de estar separado de pelo menos 5 ciclos de relógio dos elementos de imagem, como se indica no Quadro 1.
Voltando â interface de vídeo (11), na fig. 2A estã indicada a maior parte dos seus componentes. Ê na sua maior parte de concepção convencional, sendo substancialmente idêntica à matriz de gráficos tc vídeo IBM que se encontra no IBM Perso-nal System/2, modelos 50 e 60. A interface de vídeo incorpora cinco componentes principais, como está ilustrado, que são o con í
Itrolador do CRT (61), um sequenciador (63), um controlador de gráficos (.65) , um controlador de atributos (67) e um descodifica dor de endereços (6¾) e lógica de comando (69). 0 controlador do CRT gera tempos de sincronização horizontal e vertical (HSYNC, VSYNC e BLANK) e endereços de refrescamento através da linha de endereços (72) para as RAM dinâmicas da memória dé mapas de bits (13)_ De uma maneira bem conhecida na técnica, a memória de mapas de bits (13) estã dividida em quatró mapas planos de bits 0-3. o MAPO ê o plano de bits do azul, o MAPI ê o plano de bits do verde, ο MAP2 ê o plano dos bits do vermelho e o plano MAP3 ê o plano dos bits da intensidade. Para. ler ou escrever da ou parã a memória dos mapas de bits (13), os dados são recebidos da linha omnibus de endereços (25) por um multiplexador (MUX) (74) e dirigidos para a linha omnibus de endereços (76) e (78) para os mapas 0-3. Em alternativa, durante os tempos de visualização ac-tiva normais, os dados de endereços do controlador do CRT (61) são fornecidos para as linhas omnibus de endereços (76) e (78) através da linha omnibus (72) e do MUX (74). 0 sequenciador (63) gera tempos básicos da memória para a memória do mapa dos bits (13) e o relógio dos elementos de imagem para controlar a.s buscas na memória regenerado-. ra. Permite também que a MPU (19) tenha acesso â memória do mapa ) de bits (13) durante os intervalos de visualização activa inse- 14
rindo ciclos dedicados da MPU periodicamente entre ciclos de memória de visualização. 0 controlador de gráficos (65) ê a interface entre os dados de vídeo contidos na memória do mapa de bits (13) e : 1) o controlador de atributos (67) , durante os tempos de visualização activa e 2) a mpu (19), durante a sua execução de ins truções de leitura e fescrita para a memória do mapa de bite (13) Durante -os tempos de visualização, os dados de vídeo proveniente das linhas omnibus de dados (71), (73), (75) e (77) (MAPO, MAPI, MAP2, MAP3) são retidos pelo controlador de gráficos (65) e enviados para o controlador de atributos (67) através de uma linha omnibus de dados (79). Quando o MPU (19) escreve ou lê dados de vídeo, o controlador de gráficos (65) efectua operações lógicas nos dados antes de atingir a memória do mapa de bits (13) ou a linha omnibus de dados do sistema (21) . 0 controlador de atributos (67) toma dados da memória do mapa de bits (13) através do controlador de gráficos (65) e formata os mesmos para visualização no visor do CRT (17). Os dados recebidos são conver tidos num valor de cór ou elemento de imagem digital de saída de 8 bits e apresentados na linha omnibus de elementos de imagem de 8 bits (33) que fornece os dados dos elementos de imagem PQ-P7 ao DAC de vídeo (15), onde são usados como endereço na CLUT como atrás se discutiu.
Para a MPU (19) escrever ou ler para ou do DAC de vídeo (15), o endereço do DAC ê descodificado no descodifica-dor (68) de endereços e ê aplicado um sinal DAC ADDRESS à lógica de comando (69) e a uma interface (83). Para gerar sinais de lei tura/escrita e controlar o fluxo de dados, recebem-se sinais de comando das linhas de comando (29) pela interface de vídeo (11) no comando lógico (69) . De uma maneira convencional., geram-se s_i nais de leitura ou de escrita IOR ou IOW pela interface de vídeo (11) em resposta aos sinais nas linhas de comando, tais como os sinais de comando de sincronização de estado nas linhas SO e SI e o sinal de sincronização de comando na linha CMD.
Nas interfaces de vídeo existentes, tais como a referida IBM VGA, os sinais IOR e IOW são aplicados directamen te âs entradas de leitura e de saída do DAC de vídeo (15). Como se discutiu em ligação com as fig. 3A-3C e o Quadro 1, os sinais 15
de comando de sincronização de lei irar a ou escrita para o DAC de vídeo (15) têm no entanto de satisfazer certas limitações de tem pos no que respeita â proximidade com que pode seguir-se um flan co dianteiro de um sinal ao flanco descendente de um outro. Geralmente, estas limitações de tempos referem-se ao tempo de pre--carga do DAC de vídeo (15), querendo com isso significar o tempo necessário para o dispositivo se preparar para receber um sinal de comando de sincronização de leitura ou de escrita depois da recepção de um sinal de comando de sincronização de leitura ou de escrita anterior. Estes requisitos de tempos timsido satis feitos inserindo um atraso por programação de modo que pelo menos vários ciclos de máquina separem ciclos de transferência con secutivos numa instrução de leitura ou de escrita. Porem, tais a trasos por programação não garantem a portabilidade em face das í velocidades sempre crescentes dos processadores, podendo de facto falhar na manutenção da separação temporal necessária, se tais instrução de leitura e escrita temporizadas por programação forem executadas por sistemas de computador de alta velocidade e/ /ou por sistemas operativos sofisticados.
Segundo a presente invenção, a lógica de eoman do (69) da interface de vídeo (11) ê suplementada pelos circui-|tos de interface (83) situados entre os circuitos de comando e as entradas de leitura e de escrita para o DAC de vídeo (15) para mascarar as entradas durante um intervalo de tempo prê-deter-minado depois de o DAC de vídeo ter recebido um sinal de comando Ide sincronização de leitura ou de escrita. Mascarando as entradas, a presente invenção garante que os parâmetros de distribuição de tempos da fig. 3 e do Quadro 1 não são violados. Se se ge rar um secundo sinal de comando de sincronização de leitura ou de esorita (IOR ou I.OW) para o DAC de vídeo (15) enquanto as entradas de leitura e de escrita para o DAC de vídeo estão mascara das, a seguir â recepção de um primeiro sinal de comando de sincronização de leitura ou escrita, os circuitos de interface (83) segundo a presente invenção proporcionam um sinal DAC WAIT, a lõ gica de comando (69) liberta uma linha READY, ligada de uma manei ra convencional a uma entrada READY da MPU (19), fazendo desse mc r do com que o sinal se torne inactivo e a MPU insira estados de espera no ciclo de transferência associado com o segundo sinal 16
de comando de sincronização de ^leitura ou escrita.
Fazendo referência âs fig. 4A-4C, nelas está representada uma instrução, como por exemplo, que compreende três ciclos de transferência. De acordo com a presente invenção, quando um segundo ciclo de transferência se seguir muito de perto a um primeiro, o segundo ê executado durante um intervalo de tempo que se estende relativamente a um intervalo de tempo nominal (Tl) para o ciclo de transferência..Com a expressão "ciclo de transferência nominal" pretende-se definir o intervalo de tem no aproximado de um ciclo de transferência que tem apenas o nume ro mínimo de ciclos de máquina necessário para executar a transferência. A seguir a cada ciclo de transferência ilustrado nas fig. 4A-4C há uma área tracejada para indicar um intervalo de tempo aproximado (T2) que, quando tomado com o intervalo de tempo nominal (Tl), corresponde ao tempo de resposta necessário para o dispositivo periférico receber a instrução. No DAC de vídeo (15) que tem os parâmetros de distribuição de tempos ilustrado nas fig. 3A-3E, por exemplo, o intervalo de tempo (T2) ê o tempo necessário para a prê-carga do DAC de vídeo entre o fim do impul so de comando de sincronização de leitura/eserita e o . início de um outro, admitindo que o fim de um impulso de comando de sincro nização de leitura/eserita corresponde aproximadamente ao fim de um ciclo de transferência. Embora a MPU (19) seja libertada para executar um outro ciclo de transferência (possivelmente para uma instrução não relacionada) no fim do ciclo de transferência noml nal (Tl), como se mostra esquematicamente por cada. um dos primei ros ciclos de transferência nas fig. 4A-4C, o ciclo de transferência efectivo para o dispositivo periférico ê Tl + T2, visto que o tempo T2 ê necessário para que o dispositivo complete a sua resposta.
Quando todos os ciclos de transferência de uma instrução estão separados uns dos outros por um intervalo de tem po relativamente grande, como ê sugerido pela instrução da fig. 4A, cada ciclo de transferência ê caracterizado por um ciclo nominal, permitindo assim que a MPU (19) execute a instrução com a sua velocidade óptima, Quando os ciclos de transferência consecu tivos estiverem estreitamente espaçados como os primeiro e segun do ciclos de transferência na fig. 4B, a MPU (19) ê efectivamen- 17
te retardada., dilatando o segundo ciclo de transferência, para assegurar que o dispositivo tem tempo suficiente para responder à instrução. Especificamente, na fig. 4B o segundo ciclo de tran sferência começa num instante (X.) depois do fim do primeiro ciclo de transferência,, sendo X menor do que T2. Para garantir que o dispositivo periférico tem todo o tempo T.3 necessário para que ele responda ao primeiro ciclo de transferência, a presente invenção retarda efectivamente a execução do segundo ciclo de tran sferência. mascarando a entrada de leitura/eserita durante um intervalo de tempo pré-determinado e estende também o segundo ciclo para compensar o atraso.
De maneira análoga â do ciclo dilatado da fig. 4B, o segundo ciclo de transferência, na instrução da fig. 4C, é dilatado visto que o ciclocomeça substancialmente depois de se completar o primeiro ciclo de transferência nominal. De acordo com a presente invenção, os ciclos dilatados são estendidos por apenas o valor necessário para compensar, o atraso na execução du rante a primeira porção do ciclo de transferência,. Portanto, insere-se apenas o numero mínimo de ciclos da máquina do estado de espera no ciclo de transférêneia dilatado. Por conseguinte, o caudal de transferência do sistema ê afectado minimamente pela presente invenção. No exemplo particular do segundo ciclo e dos ciclos de transferência dilatados das fig. 4B e 4C, o segundo ci cio de transferência da fig. 4B ê dilatado apenas por um numero de ciclos de máquina que se aproxima do atraso (T2-X) necessário e para o segundo ciclo de transferência da fig. 4C o numero de ciclos de máquina, inseridos corresponde aproximadamente ao atraso que ê o intervalo de tempo T2 total.
Finalmente, para ilustrar a sequência de ciclos de transferência possível na instalação dada como exemplo nas fig. 4A a 4C, os terceiros ciclos de transferência nas fig. 4B e 4C estão ilustrados como tendo relações de espaçamento di ferentes relativamente ao segundo ciclo de transferência e aos ciclos de transferência dilatados. Especificamente, o terceiro ciclo de transferência da instrução na fig. 4B ê caracterizado por um intervalo de tempo nominal visto que se segue a mais de . um intervalo de tempo T2 depois do fim do segundo ciclo de trans 1 ferência e do ciclo de transferência dilatado. Em constraste com 18
o terceiro ciclo de transferência na instrução da fig. 4B, o ter ceiro ciclo de transferência na instrução da fig. 4B, o terceiro ciclo de transferência na instrução da fig. 4C começa antes do fim do intervalo de tempo T2 que se segue ao segundo ciclo de transferência e ao ciclo de transferência dilatado. Portanto, o terceiro ciclo de transferência na instrução da fig, 4C ê dilata do da mesma maneira que ós segundos ciclos de transferência das fig. 4B-4C. Especificamente, o terceiro ciclo de transferência começa depois de um intervalo de tempo Z após o fim do segundo ciclo de transferência dilatado,, onde Z ê menor do que T2. Para acomodar o atraso na execução do terceiro ciclo de transferência ele ê dilatado por um numero de ciclos de máquina que se aproxima do intervalo de tempo T2-Z.
Como o parâmetro de distribuição de tempos T2 se destina a separar sinais de leitura/escrita consecutivos de ciclos de transferência consecutivos e não os ciclos em si, com-preender-se-â que CPU mais lentas podem de facto ter ciclos de transferência nominais donde resulta o tempo de separação T2 desejado entre sinais consecutivos de leitura/escrita, independentemente de quão estreitamente os cicios se sigam uns aos outros. Para estas CPU, a presente invenção não impõe qualquer penaliza-cão visto que os ciclos não são dilatados porque o tempo T2 ê me dido a partir do flanco traseiro do sinal e não do fim do ciclo de transferência. Mas, como atrás se indicou, os inícios e os fins dos sinais de comando de sincronização de leitura/escrita correspondem, como ê admitido para os fins da ilustração das fig 4A-4C, aos inícios e aos fins dos ciclos.
Como pode ver-se a partir de uma inspecção dos ciclos de transferência esquemáticos nas fig. 4A-4C, o intervalo de tempo total de uma instrução ê T3. independentemente da natureza precisa da sobreposição entre ciclos de transferência numa instrução, Especificamente, um ciclo de transferência dilatado ê aproximadamente igual ao intervalo de tempo nominal Tl mais o intervalo de tempo de sobreposição (T2-X.T2 ou T2-Z nas fig. 4B-4C). Dilatando-se os ciclos apenas no grau exigido para compensar o atraso, o intervalo de tempo total mantêm-se substancialmente não afectado. Porem, o ciclo dilatado mais um intervalo de T2 traseiro ê apenas aproximadamente igual ao intervalo de tempo - 19
Τ3 do ciclo de transferência nominal mais o intervalo de tempo T2 traseiro, visto gue, como atrás mencionou o ciclo de transferência dilatado i assíncrono relativamente ao relõgio do sistema. Com referência aos desenhos,, na fig. 4B, o segundo ciclo ê dilatado e tem um intervalo de tempo T4 aproximadamente igual a TI + (T2-X) ou T3-X. 0 segundo ciclo da fig. 4C tem um intervalo de tempo dilatado de T5 aproximadamente igual a TI + T2 ou T3, e o terceiro ciclo da fig. 4C ê dilatado para ter um interva lo de tempo de T6 aproximadamente igual a TI + (T2-Z) ou T3-Z.
De uma maneira convencional, a MPU (19) reage â desaetivação da linha READY executando ciclos de máquina com estados de espera atê que o sinal READY de novo seja activado. Com referência ao fluxograma da fig. 5 que se refere a esta ques tão, o microcódigo da MPU 19 busca uma instrução no passo (A) que, neste caso, i uma instrução de leitura/escrita para o DAC de vídeo (15). Executa-se um ciclo de transferência nominal de acordo com os passos (B), (C) e (D), a menos que a linha READY se torne inactiva. Se a linha READY se torna inactiva, a MPU (19) executa um ciclo com estados de 3spera no passo (E) e depois retorna â execução do ciclo nominal. A MPU (L() continua a executar o anel fechado dos passos (B) e (E) atê que a linha REA DY volte a estar activa.
Passando à fig. 6, nela está ilustrado um esquema de pormenor da forma de realização preferida da interface (83) (fig. 2A) segundo a presente invenção. Funcionalmente, a in terface (83) inclui.uma porta (85) para medir a passagem dos sinais de leitura e. de ezcrita IOR e IOW para o DAC de vídeo (15). Medindo os sinais IOR e IOW através da porta (85) , obtêm-se a conformação destes sinais para obter os sinais de leitura e escrita DACIOR e DACIOW, respectivamente. A porta (85) compreende duas portas OU (87) e (89). Proporeiona-se um meio (91) para de-sactivar selectivamente as portas OU (87) e (89) , por meio de um contador binário (93) e as portas E (95) e (97) . Após a detecção nas saídas de qualquer das portas OU (87) ou (89) dá um sinal de comando de leitura ou de escrita, activa-se uma linha MASK DAC R/WR, desactivando-se assim as portas OU (87) e (89) e impedindo-se a passagem de quaisquer outros sinais de comando de leitU-rafe escrita. 20
Um circuito de amostragem e atraso (99) , que compreende a porta NAND (101) e os flip-flops (103), (105) e (107) proporciona um sinal DAC WAIT, que indica quando foi recebido um sinal de comando de leitura ou escrita (IOR/IOW) pelo DAC de vídeo (15). Este sinal DAC WAIT e passado para um gerador de estados de espera que compreende uma porta E (109) e uma lógi ca de comando (69). Quando se apresentarem sinais de comando de leitura ou escrita IOR ou IOW sucessivos âs portas OU (87) ou (89) separados por um intervalo de tempo pré-determinado maior do que qualquer dos intervalos de tempo dò Quadro 1, então a por ta E (109) do gerador de estados de espera mantém-se desactivada e o sinal DAC WAIT não i transmitido para a. lógica de comando (69) e depois para a MPU 19, como sinal READY. Se dois sinais consecutivos de leitura ou escrita não estiverem separados pelo intervalo de tempo pré-determinado, pelo contrário, detecta-se a sobreposição pelos circuitos (111) e a porta E (109) ê aetivada e o sinal DAC WAIT ê transmitido para. a lógica de comando (69) que, por sua vez, apresenta o sinal â MPU (19) como sinal READY na sua entrada READY.
Quando a porta E estiver desactivada, a sua sa ida tem um nível lógico baixo. De uma maneira convencional, o si nal DAC WAIT com nível baixo traduzrse por um sinal READY activo na saída da lógica de comando (69) quando o DAC de vídeo (15) es tã a ser endereçado. A este respeito, a lógica de comando (69) recebe entradas de sinais de espera de outros dispositivos no subsistema de vídeo, como se indica na fig. 6. Uma lógica bem co nhecida, na lógica de comando (69) , permite que apenas o sinal de espera para o dispositivo que está a ser endereçado no presen te ciclo de transferência passe através da linha READY.
Descreve-se a seguir o funcionamento pormenori zado da interface da fig. 6, em ligação com o diagrama de tempos da fig. 7. 0 PIXEL CLOCK é recebido por uma entrada de relógio CK do contador binário (93)= Quando o DAC de vídeo (15) não está a ser endereçado, a saída da porta E (95) está inaetiva; portanto, a entrada invertida para a reposição (RST)’ do contador bi nãrio (93) ê mantida activa e as saídas do contador são mantidas na condição de reposição. Nesta condição de reposição, a saída invertida (8), indicativa de uma 8 contagem, activa a porta E 21
Wi.u.i.uajbí»-« ·· v (97) .
Quando o contador binário (93) fôr libertado da condição de reposição, ele conta impulsos de relógio de elementos de imagem. Quando se.tiver contado o oitavo impulso de re lõgio, a porta E (97) ê efetivamente desactivada, visto que a saída (8) activa ê invertida, como se indica, e proporciona um zero lógico numa das entradas para a porta E.
Tendo em mente a operação anterior do contádor binário (93) , quando se inicia um ciclo de transferência, o sinal DAC ADDRESS proveniente do descodificador de endereços (68) (fig. 2A) torna-se activo (nível lógico baixo), Cada uma das por tas OU (87) e (89) recebe o sinal DAC ADDRESS numa das suas três entradas, a segunda entrada recebe o sinal MASK DAC R/WR da por ta E (97). Um pouco depois, ou o sinal de comando de leitura ou jo de escrita, IOR ou IOW, torna-se activo (nível baixo). Antes j jdo início de um ciclo de transferência, o sinal MASK DAC R/WR es jtá inactivo (nível baixo), supondo que se passaram mais de um in tervalo de tempo prê-determinado desde o ultimo ciclo. Durante um ciclo de transferência entre o DAC de vídeo (15) e o MPU (19) uma das portas OU (87) e (89) terá todas as três entradas no nível lógico baixo, donde resultará uma entrada de nível baixo para a porta E (95). 0 nível baixo na porta E (95) arma efectiva-mente a entrada RST do contador binário $ 3), fazendo com que o contador se reponha e não conte impulsos provenientes da entrada PIXEL CLOCK.
Com uma entrada de nível baixo para a porta E (95), ela apresenta por sua vez uma entrada de nível baixo â por ta E (97), de modo que esta ultima porta torna o sinal MASK DAC R/WR inactivo, como se indica na fig... 7. 0 sinal DAC ADDRESS ( não representado na fig. 7) dura substancialmente todo o ciclo de transferência, de modo que a distribuição de tempos do contador binário (93) , das portas E (95) e (97) e das portas OU (87) e (89) pode considerar-se como sendo controlada pelos sinais de comando de sincronização de leitura IOR e IOW. A este respeito, i quando o sinal IOR ou o sinal.IOW se torna inactivo, reaparece um "1" lógico, ou nível lógico elevado, em todas as três entradas da porta E (95) . Este sinal de nível elevado descativa a entrada RST do contador binário (93) e permite que o contador con- 22
te impulsos do PIXEL CLOCK. A saída de nível elevado da porta E (95) também activa a porta E (97) para dar passagem ã saída da saída (8) invertida do contador binário (93) . A partir da sua reposição, a saída (8) invertida do contador binário (93) está inicialmente num estado lógico "l."* Portanto, quando a porta E (97) fôr activada em consequência de um sinal IOW ou IOR se ter tornado activo, ela dá passagem ao estado lõgico "1" da saída (8) invertida para a linha MASK DAC R/WR. Um sinal activo na linha MASK DAC R/WR efectua a desactivação das portas OU (87) e (89), visto que'as suas saldas se manterão no nível lógico elevado independentemente dos sinais presentes nas linhas IOR, IOW e DAC ADDRESS, enquanto MASK DAC R/WR estiver activo.. A linha MASK DAC R/WR manter-se-ã activa e as portas (87) e (89) desactivadas enquanto o contador binário (93) contar os impulsos do relógio dos elementos de imagem, como se indica pelos impulsos de elementos de imagem numerados na fig. 7 Quando se tiver contado o oitavo impulso de elementos de imagem, a saída (8) invertida do contador (93) vai para o nível baixo, desactivando assim a porta E (97) e fazendo com que a linha MASK DAC R/WR se torne inactiva. Agora as portas QU (87) e (89) estão aptas para dar passagem aos sinais IOR e IOW se o DAC de vídeo estiver a ser endereçado (isto ê, se a linha DAC ADDRESS estiver! activa).
Desactivando as portas OU (87) e (89) durante um intervalo de tempo pré-determinado, depois do fim de um sinal de comando de sincronização DACIOW ou DACIOR para o DAC de vídeo (15), a interface mede o fornecimento para o DAC de vídeo dos si nais de comando de sincronização de leitura ou escrita consecuti !vos, de modo que eles estão sempre separados por pelo menos o in I ^ ^ ί tervalo de tempo pre-determinado. 0 intervalo de tempo pre-deter J minado ê gerado pelo contador binário (93) ao responder aos im- '< pulsos de relógio dos elementos de imagem para comandar o estado j ilõgico "1" ligado â entrada de dados (D) do contador.
Fazendo agora referência mais especificamente ao diagrama de tempos da fig. 7, nele estão ilustrados os sinais relevantes de dois ciclos de transferência consecutivos. 0 primeiro e o segundo ciclos de transferência estão relacionados tem poralmente de maneira aproximada, como se ilustra esquematieamen 23
te nos primeiro e segundo ciclos na fig. 4C, querendo isso dizer que o primeiro ciclo de transferência ê de duração nominal (Tl), enquanto que o segundo é dilatado (T5) e segue-se substancialmen te imediatamente após o primeiro.
De acordo com a presente invenção, depois de o sinal DACIOR ou DACIOW se terem tornado inactivos no fim do primeiro ciclo, o sinal MASK DAC R/WR torna-se activo durante os od_ to (8) impulsos de relógio pré-determinados do relógio de elemen tos de imagem. Durante este intervalo de tempo pré-determinado, o sinal IOW/IOR torna-se activo para o segundo ciclo. Porém, as portas (87) e (89) estão desactivadas e não se geram os sinais DACIOW/DACIOR. Em vez disso, são atrasados até que o sinal MASK DAC R/WR se torne inactivo depois do oitavo impulso de elementos de imagem contado no contador binário (93) . Como pode ver-se a i ** partir de uma inspecção das formas de onda na fig. 7, o segundo sinal IOW/IOR foi efectivamente conformado para obter um sinal DACIOW/DAOIOR que está separado por um tempo que não viola qualquer parâmetro da distribuição de tempos do Quadro 1.
Para compensar o fornecimento atrasado para o DAC de vídeo (15) do comando de leitura/escrita do segundo ciclo de transferência,, o gerador de estados de espera faz com que a
I | linha READY se torne inactiva, resultando daí que a MPU (19) insere ciclos de máquina com estados de espera no ciclo de transferência, como se discutiu em ligação com o fluxograma da fig.5. Imediatamente depois, as portas OU (87) e (89) são activadas e o sinal de comando IOR/IOW passa para o DAC de vídeo (15), sob a forma DACIQR/DACIOW, o sinal READY volta para o estado activo (fig. 7) e a MPU (19) volta a executar ciclos de máquina do ci-| cio de transferência nominal.. Deste modo, o segundo ciclo de | transferência ê dilatado numa quantidade que corresponde aproxi-| madamente ao atraso imposto ao impulso de comando IOR/IOW. A este respeito deve notar-se que, devido ao facto de o impulso de comando IOW/IOR não se tornar activo imediatamente no início de um ciclo, T5 na fig. 7, não ê necessariamente aproximadamente igual a Tl + T2, como se sugere na fig. 4C.
Para desactivar o sinal READY e, desse modo, fazer com que a MPU (19) insira ciclos de máquina com estados de 24
espera no ciclo de transferência, ê necessário gerar um sinal DAC WAIT por um circuito de amostragem e atraso (99). Mas um sinal DAC WAIT activo não será transmitido para a lógica de comando (99) para desactivar o sinal READY, a não ser que a porta E (109) seja desactivada. A porta E (109) ê activada por um sinal activo na saída Q de um retentor (111). A saída Q do retentor (111) torna-se activa quando se transmitir um sinal de nível ele vado para a mesma, a partir da entrada de dados (D) do retentor, em resposta a um sinal de nível baixo na entrada de relógio (CK) do retentor. A entrada CK recebe o sinal de comando CMD. Durante o início de cada ciclo de transferência, a linha CMD está activa ou no nível baixo, como pode ver-se na fig. 7. Em resposta à en trada de nível baixo na entrada CK do retentor (111), o sinal na saída de uma porta E (113) ê transmitido da entrada de dados D I do retentor (111) para a saída Q e, enquanto a entrada CK se man |tiver no nível baixo, o sinal na entrada de dados ê transmitido | para a saída Q. Quando a linha CMD se torna activa durante o ciclo de transferência, a saída Q do retentor (111) retêm o ultimo sinal transmitido para a mesma a partir da entrada de dados D, ! Quando o sinal. MASK DAC O/WR se torna inactivo i e o sinal de comando DACIOR/DACIOW fôr gerado no segundo ciclo de transferência, a linha CMD está activa, libertando o flip--flop (103) da sua condição de reposição. A linha CMD ê ligada â entrada invertida. (RST) do flip-flop (103) pela porta E (114), A porta E (114) está usualmente activada, visto que a sua segunda entrada é uma linha de comando RESET, que está normalmente no nível elevado, como adiante se descreve. Com a linha de comando (CMD) inactiva, o flip-flop (103) está agora livra para introduzir, sincronizadamente por impulsos de relógio, dados provenien-j tes da sua entrada D.. A este respeito, a porta NAND (101) está !activada, visto que a saída Q do flip-flop (103) está no nível I elevado, e ê uma das entradas da porta NAND (101). A outra entra da da porta NAND (101) vem da saída da porta E (95) , que está no nível baixo se estiver presente um sinal DACIOR/DACIOW. Por conseguinte, quando libertado da sua condição de reposição pelo sinal CMD, o flip-flop (103) faz efectivamente a exploração das li | nhas DACIOR/DACIOW para detectar a presença de um sinal activo ^ de leitura/escrita para o DAC de vídeo (15) . As linha.s DACIOR/ 25
/DACIOW sao exploradas â frequência da BASE DE TEMPÇ) que pode ser, por exemplo, de 25 MHz. A libertação do flip-flop D (103) pela presença de um sinal CMD indica um ciclo de transferência que está em progresso. Se não tiver aparecido o sinal activo de leitura/es-crita nas linhas DACIOR/DACIOW depois de a linha CMD se tornar activa, a saída da porta E (95) serã de nível elevado. Este sinal de nível elevado serã encaminhado, sincronizado por impulsos de relógio, para a saída Q do flip-flop (103), e depois para as saídas Q dos flip-flops D (105) e (107), por impulsos sucessivos da BASE DE TEMPO. A saída do flip-flop D (107) ê o sinal DAC WAIT, e ele tornar-se-â activo numa relação de atraso com as explorações da linha DACIOR/DACIOW pelo flip-flop (103). O atraso destina-se a assegurar que DACIOR/DACIOW têm uma duração mínima requerida. O retentor (11) e a porta E (113) compreendem um circuito (116) para detectar quando dois ciclos de transferên cia consecutivos criam sinais activos nas linhas IOW/IOR que vio lam o tempo de separação mínimo entre dois sinais de comando de sincronização de leitura/escrita.. Quando o tempo mínimo não fór violado, a saída da porta E (113) tem o nível baixo e quando a linha CMD está inactiva, a saída de nível baixo da porta E ê transmitida da entrada de dados D do retentor para a saída Q, de sactivando assim a.porta E (109) e impedindo a passagem de um sinal DAC WAIT activo. Mas quando se violar o tempo mínimo, a saída da porta E. (113) tem o nível elevado e este nível elevado ê transmitido para a saída Q do retentor (111) quando a linha CMD estã inactiva no início do segundo ciclo, como se mostra na fig. 7. A saída Q mantêm-se no nível elevado proveniente da porta E (113) atê que a linha CMD de novo fique inactiva. Com referência â fig. 7, a curva do sinal ENABLE corresponde ao sinal que aparece na saída Q do retentor (111). Como pode ver-se, o si nal ENABLE proporciona, um nível elevado durante todo o ciclo de transferência, de modo que a porta E (109) transmite qualquer si nal DAC WAIT activo gerado durante esse ciclo. Em resposta ao si nal DAC WAIT activo, transmitido para a lógica de comando (69), o sinal READY torna-se inactivo como ê indicado pela curva na fig. 7 para o sinal READY. Em contraste com o segundo ciclo, o 26
primeiro ciclo i considerado como tendo começado bem depois de qualquer ciclo de transferência de leitura/escrita anterior. Por conseguinte, a porta E mantêm-se desactivada durante todo o ciclo e impede que o sinal DAC WAIT passe para a lõgica de comando (69) .
Voltando às entradas da porta E (113), a linha DAC ADDRESS e as linhas de comando SO e SI actuam esseneialmente para activar ou desactivar, selectivamente, a porta para transmitir o sinal MASK DAC R/WR para o retentor (111). As linhas DAC ADDRESS, SO e SI transportam sinais activos no início de um ciclo de transferência, e quando todas elas estiverem activas indicam que o segundo ciclo de transferência se dirige para o DAC de vídeo (15). Em resposta a esta indicação, o estado da linha MASK DAC R/WR controla o estado da saída da porta E (113). Se o segundo ciclo de transferência se iniciar antes de expirar o tem po medido pelo sinal na linha MASK DAC R./WR, todas as três entra das para a porta E (113) terão o nível elevado e a saída da porta E (113) terá o nível elevado. Durante o início do ciclo de transferência, a linha CMD está inactiva, de modo que o nível e-levado na saída da porta E (113) ê transmitido para a saída 0 do retentor (111). Como atras se explicou, a presença de um sinal de nível elevado na saída Q do retentor (111) permite que a porta E (109) transmita um sinal DAC WAIT activo para a lõgica de comando (69). Utiliza-se uma porta OU EXCLUSIVO (115) para proporcionar uma única entrada da porta E (113) que ê indicativa da condição das duas linhas de estado (SO) e (Sl). A este respeito a curva STATUS da fig. 7 corresponde ao sinal presente na saída da porta OU EXCLUSIVO (115). Finalmente, proporciona-se uma linha RESET para inicializar a interface (83) em certas situações tais como, por exemplo, a ligação da energia. Um nível baixo activo na linha RESET repõe o contador binário (93) e o flip-flop D (103), fazendo com que a linha DAC WAIT assuma uma condição i-nicial inactiva.
Da descrição pormenorizada anterior compreen-der-se-à que a presente invenção proporciona um sistema que garante a compatibilidade entre os meios de programação existentes para um dispositivo periférico e sistemas de processamento central novos que operam com velocidades significativamente maiores 27

Claims (1)

  1. do que os sistemas para os quais os programas foram originalmente concebidos. Por exemplo, instruções de leitura/escrita para uma paleta de cores num VAC de vídeo podem ser programadas sem introduzir atrasos por programação (por exemplo ciclos "no-op" ou comandos de salto) numa tentativa de garantir a manutenção dos parâmetros de distribuição de tempos. Enquanto assegura que não são violados parâmetros de distribuição de tempos, a interface (83) na interface de vídeo (11) também permite que a MPU (19) execute instruções tão rapidamente quanto o sistema permite (isto é, o ciclo nominal) e apenas retarda o sistema quando fôr necessário para impedir a violação de parâmetros de distribuição de tempos (isto é,. ciclo dilatado) . A este respeito, os sistemas mais lentos não são penalizados pela.presente invenção, visto que a interface (83) provoca a inserção de ciclos de maquina com estados de espera no ciclo de transferência apenas quando a interface tenha de modelar. um., sinal de comando de sincronização de leitura/escrita de modo a refazer o espaçamento do mesmo relativamente ao sinal de comando de sincronização de leitura/escrita anterior. REIVINDICAÇÕES - Ia - Interface colocada entre uma unidade de microprocessador (MPU) e um dispositivo periférico, para modelar a forma de onda dos sinais dos impulsos de comando de leitura ou de gravação num ciclo de transferência entre a MPU e o dispositi vo periférico, cooperando a referida interface também com a MPU para estender alguns dos ciclos de transferência entre a MPU e o dispositivo periférico, caraeterizada por compreender: uma primeira porta que tem uma entrada para receber um pri meiro e um segundo sinais de impulsos de comando de leitura ou de gravação provenientes da MPU e uma saída para a passagem dos 28
    sinais para o dispositivo periférico; primeiros meios para desactivar a porta durante um intervalo de tempo pré-determinado a seguir â passagem do primeiro si nal de impulso de comando de leitura ou de gravação para o dispo sitivo periférico pela saída da primeira porta; e segundos meios para detectar a ocorrência do segundo sinal de impulso de comando de leitura ou de gravação durante o intervalo de tempo pré-determinado e, em resposta a isso, proporcionar um sinal de espera para a MPU a fim de instruir a MPU para estender o ciclo de transferência associado com o segundo sinal de impulso de comando de leitura ou de gravação, - 2a - Interface de acordo com a reivindicação 1, carácter izada por os primeiros meios incluírem um contador que ê activado em resposta â passagem do primeiro sinal de impulso de comando de leitura ou de gravação através da primeira porta. - 3a - Interface de acordo com a reivindicação 2, ca-racterizada por os referidos primeiros meios incluirem também: 1) um sinal de relógio contado pelo contador depois de o contador ter sido activado e 2) uma segunda porta que responde, quer a uma saída de contagem pré-determinada do contador, quer â ac-tivação do contador, para gerar um sinal de máscara que desacti-va a primeira porta durante o intervalo de tempo pré-determinado. - 4a - Interface de acordo com a reivindicação 3. ca-racterizada por os segundo meios incluirem: 1) um retentor que tem uma entrada de dados, 2) uma terceira porta para activar a entrada de dados durante o intervalo de tempo pré-determinado em resposta ao sinal de máscara e 3) um gerador do estado de espera que responde a uma saída do retentor para produzir o sinal de es pera. - 5a - Interface de acordo com a reivindicação 4, ca- 29 *
    racterizada por o ciclo de transferência incluir sinais de endereço, de dados e de controlo, incluindo estes últimos pelo menos os sinais de impulsos de comando de leitura e de gravação, tendo a terceira porta pelo menos uma entrada para receber um sinal de endereço indicativo de um ciclo de transferência entre a MPU e o dispositivo periférico, passando o sinal de endereço para a entrada de dados do retentor quando se activar a terceira porta. - 6a - Interface de acordo com a reivindicação 5, ca-racterizada por o retentor incluir uma entrada de sinais de relógio para receber pelo. menos um dos sinais de comando numa rela ção temporizada com a apresentação do sinal de endereço â entrada de dados do retentor, de modo a permitir que o sinal de endereço apareça numa saída do retentor quando a terceira porta fôr activada. - 7a - Interface de acordo com a. reivindicação 6, ca-racterizada por os primeiros meios incluírem um dispositivo de memória para a amostragem da saída da primeira porta e proporcio nar um sinal READY atrasado temporalmente para o gerador do esta do de espera, indicativo de o dispositivo periférico ter ou não recebido o primeiro ou o segundo sinal de impulso de comando de leitura ou de gravação. - 8a - Interface de acordo com a reivindicação 7, ca-racterizada por o gerador de estado de espera incluir um disposi tivo de porta para receber o sinal.READY atrasado temporalmente para a MPU (unidade do microprocessador) em resposta ao sinal de endereço na saída do retentor, servindo.o sinal READY para instruir a MPU para estender o ciclo de transferência inserindo estados de espera quando se indicar que não foi recebido pelo dispositivo periférico o primeiro ou o segundo sinal de impulso de comando de leitura ou de gravação. - 9a - Subsistema de vídeo para utilização num siste- 30
    ma de computador que tem uma unidade de microprocessador (MPU), caracterizado por incluir: um conversor de digital para analõgico de vídeo (DAC de ví deo) que possui uma memória de côr; uma memória de imagens completas de vídeo; um controlador de sinais gráficos para estabelecer a inter face da memória de vídeo com o DAC de vídeo; uma interface entre a MPU e o DAC de vídeo para receber si nais de impulsos de comando de leitura ou de gravação consecutivos provenientes da MPU, em ciclos de transferência consecutivos entre a MPU e o DAC de vídeo, incluindo a referida interface; a) linhas de entrada para receber sinais da MPU, incluindo os sinais de impulsos de comando da.leitura ou da gravação; b) primeiros meios para a modelação da forma de onda dos sinais de impulsos de comando da leitura ou da gravação para propor cionar sinais de impulsos modelados de comando de leitura ou de gravação separados por pelo menos um intervalo prê-determinado; c) linhas de saída para fornacer os sinais de impulsos modelados de comando da leitura ou da gravação ao DAC de vídeo; e d) segundos meios para fazer com que a MPU estenda um segundo dos ciclos de transferência consecutivos se os sinais consecutivos de impulsos de comando de leitura ou de gravação estiverem separados por menos de um intervalo prê-determinado. - 10a - Subsistema de vídeo de acordo com a reivindica ção 9, caracterizado por os meios de modelação da forma de onda incluirem: uma primeira porta para receber de uma das linhas de entra da um primeiro e um segundo sinais consecutivos de impulso de co !mando da leitura ou da gravação provenientes da MPU e a passagem i dos sinais para uma das linhas de saída;. meios para desactivar a porta durante o.intervalo prê-determinado a seguir à passagem pela porta do primeiro sinal de impulso de comando de leitura ou gravação para o DAC de vídeo. 31
    - 11a - Subsistema de vídeo de acordo com a reivindicação 10, caracterizado por os segundos meios incluírem; 1) um retentor que tem uma entrada de dados, 2) uma segunda porta para activar a entrada de dados durante o intervalo de tempo prê-de-terminado a seguir â passagem pela porta do primeiro sinal de im pulso de comando de leitura ou de gravação e 3), um gerador de estado de espera que responde a uma saída do retentor para proporcionar um sinal de espera para a MPU com a_ finalidade de instruir a MPU para estender o ciclo de transferência associado com os segundo sinais de impulsos de comando de leitura ou de gravação. - 12a - Subsistema de vídeo de acordo com a reivindicação 11, caracterizado por o ciclo de transferência incluir sinais de endereço, de dados e de controlo, incluindo estes últimos os sinais de impulsos de comando da leitura e da gravação, recebendo a segunda porta um sinal de endereço numa das suas linhas de entrada, indicativo de um ciclo de transferência que está a ser executado entre a MPU e o dispositivo periférico, sendo o sinal de endereço passado para a entrada de dados do retentor quando a segunda porta for activada. - 13a - Subsistema de vídeo de acordo com a reivindica ção 12, caracterizado por o retentor incluir uma entrada de sinais de relógio para receber pelo menos um dos sinais de controlo numa relação temporizada com a apresentação do sinal de endereço para a entrada de dados do retentor de modo a permitir que o sinal de endereço apareça numa saída do retentor quando a segunda porta fôr activada. - 14a - Subsistema de vídeo de acordo com a reivindicação 13, caracterizado por os meios de modelação da forma de onda incluírem um dispositivo de memória para a amostragem da saída da primeira porta e proporcionar um sinal READY atrasado temporalmente para o gerador do estado de espera, indicativo de 32
    o dispositivo periférico ter recebido o primeiro ou o segundo sinal de impulso de comando de leitura ou de gravação. - 15a - Subsistema de vídeo de acordo com a reivindicação 14, caracterizado por o gerador do estado de espera incluir uma terceira porta para receber o sinal READY atrasado temporalmente e que se torna activada para deixar passar o sinal READY para a MPU em resposta ao sinal de endereço na saída do reten tor, servindo o sinal READY para instruir a MPU para estender o ciclo inserindo estados de espera quando indicar que o primeiro ou o segundo sinal de impulso de comando de leitura ou de gravação não foi recebido pelo dispositivo periférico. - 16a - Subsistema para utilização com uma unidade cen trai de processamento (CPU) num sistema de computador, caracterizado por compreender: linhas de entrada de endereços; linhas de entrada e de saída de dados; Linhas de entrada de controlo incluindo linhas de impulsos de comando de leitura e de gravação; circuitos que respondem a um endereço e linhas de entrada de comando seleccionados para executar ciclos de transferência em conjunção com a CPU, sendo transmitidos dados entre a CPU e vim dispositivo de memória do subsistema nas linhas de dados; e meios para mascarar as linhas de impulsos de comando de leitura e de gravação durante um intervalo de tempo pré-determinado, em resposta â recepção pelos circuitos de um primeiro sinal de impulso de comando de leitura ou gravação durante um primeiro ciclo de transferência entre o dispositivo de memória e a CPU de modo a atrasar a recepção de segundo sinal de impulso sub sequente de comando da leitura ou da gravação durante um segundo ciclo de transferência entre o dispositivo de memória e a CPU e impedir o segundo sinal de impulso de comando de leitura ou de gravação de ser recebido pelos circuitos durante um tempo necessário para os circuitos responderem ao primeiro sinal de impulso dé comando de leitura ou de gravação e preparar-se para receber 33 X
    o segundo sinal de impulso de comando de leitura ou de gravação. - 17a - Dispositivo periférico de acordo com a reivindicação 16. caracterizado por incluir um gerador de estados de espera para apresentar um sinal de espera â CPU em resposta â i-niciaçio do segundo sinal de impulso de comando de leitura ou de gravação do segundo ciclo de transferência dentro de um intervalo de tempo prê-determinado depois do primeiro sinal de impulso de comando de leitura ou de gravação. - 18 a - Subsistema de computador de acordo com a reivindicação 17, caracterizado por a CPU incluir um protocolo que responde ao sinal de espera para estender o segundo ciclo de tra nsferincia para além do intervalo de tempo nominal de modo a com pensar a recepção atrasada pelos circuitos do segundo sinal de impulso de comando de leitura ou de gravação. - 19a - Sistema para utilização na transferência de in formação entre uma memória ou dispositivo de entrada/saída e uma unidade central de processamento (CPU) de acordo com um ciclo de transferência nominal, caracterizado por compreender: meios para modelar a forma de onda de sinais numa linha se leccionada proveniente da CPU para o dispositivo para impedir que o dispositivo receba um primeiro e um segundo sinais de ciclos de transferência consecutivos dentro de um intervalo de tem po prê-determinado; um gerador de estados de espera para gerar um sinal de espera para a CPU apenas em resposta â apresentação do segundo sinal para o dispositivo dentro do intervalo de tempo pré-determi-j nado; e incluindo a CPU meios que respondem ao sinal de espera para estender o ciclo de transferência para além do ciclo de trans ferência nominal. - 20a - Sistema de acordo com a reivindicação 19, ca- 34 %
    racterizado por os meios de modelação da forma de onda incluírem um circuito de distribuição de tempos que responde â recepçção pelo dispositivo dos primeiro ou segundo sinais para gerar um si nal de máscara durante o intervalo de tempo pré-determinado, sen do o intervalo de tempo pré-determinado proporcional a um parâme tro de distribuição de tempos do dispositivo. - 21a - Aparelho de acordo com a reivindicação 20, carácter izado por os referidos meios de modelação da forma de onda incluírem uma porta que tem uma entrada que recebe a linha selec cionada proveniente da CPU, sendo a porta desactivada pelo sinal de máscara de modo a bloquear a recepção pelo dispositivo do segundo sinal na linha seleccionada durante o intervalo de tempo pré-determinado. - 22a - Processo para assegurar que pelo menos uma entrada de um dispositivo que responde a uma unidade central de processamento (CPU) num sistema de computador recebe instruções sucessivas com uma frequência que pode ser suportada pelo tempo de resposta do dispositivo sem reduzir desnecessariamente a largura de banda da linha omnibus que liga a CPU ao dispositivo, ca racterizado por compreender as fases de: gerar na referida linha omnibus uma primeira instrução para o referido dispositivo; receber a referida instrução da referida linha omnibus na entrada do referido dispositivo e executar a instrução de acordo com um ciclo de transferência nominal; e mascarar a entrada do dispositivo durante um tempo pré-determinado depois de receber a primeira instrução. - 23a - Processo de acordo com a reivindicação 22, ca-racterizado por incluir as fases de: gerar uma segunda instrução a partir da referida CPU duran te o intervalo de tempo pré-determinado; retardar a recepção da segunda instrução pelo dispositivo até ter expirado o intervalo de tempo pré-determinado; e 35
    estender o ciclo de transferência associado com a segunda instrução de modo que seja maior que o referido ciclo de transferência nominal para permitir a recepção retardada da segunda instrução. - 24a - Processo de acordo com a reivindicação 23, ca-racterizado por incluir a fase de: mascarar a entrada do dispositivo durante um tempo prê-de-terminado depois de estabelecida a recepção retardada da segundo instrução.
    Processo de acordo com a reivindicação 24, ca-racterizado por incluir as fases de: gerar uma segunda instrução a partir da referida CPU depois de expirar o referido intervalo de tempo prê-determinado; e receber a segunda instrução no referido dispositivo de a-cordo com o ciclo de transferência nominal. - 26a -
    Processo de acordo com a reivindicação 25. ca· racterizado por o referido intervalo de tempo prê-determinado ser aproximadamente igual ao tempo de prê-carga do dispositivo. Sistema de computador que optimiza o processamento e o caudal de entrada/saída enquanto simultaneamente assegura a transferência fiável de dados, caracterizado por compreen der; uma unidade central de processamento (CPU) e uma linha om-nibus associada cuia largura de banda proporciona ciclos de tran sferência nominais de elevada velocidade; um dispositivo periférico que responde a sinais de leitura ou gravação provenientes da CPU e tendo um parâmetro de distribuição de tempos que restringe a rapidez com que um segundo sinal de leitura ou de gravação se segue a um primeiro nos ciclos • de transferência consecutivos; e . meios para estender um segundo ciclo de transferência dos 36 ciclos de transferência consecutivos se o segundo sinal de leitura ou gravação violar o parâmetro de distribuição de tempos. - 28a - Sistema de computador de acordo com a reivindicação 27. caracterizado por os referidos meios incluírem circuitos de modelação da forma de onda para impedir que o sinal de leitura ou de gravação seja apresentado ao dispositivo dentro de um intervalo de tempo prê-determinado depois do primeiro sinal de leitura ou de gravação, impedindo assim a violação do parâme tro de temporização. - 29a - Sistema de computador de acordo com a reivindicação 28, caracterizado por os meios incluírem um gerador de estados de espera para gerar um sinal de estado de espera para a CPU apenas quando se tenham enviado instruções sucessivas para o dispositivo pela CPU dentro do intervalo de tempo prê-determi nado. - 30a - Sistema de computador de acordo com a reivindi cação 29, caracterizado por os circuitos de modelação da forma de onda incluírem uma porta para receber os sinais de leitura ou de gravação e que ê desactivada durante um intervalo de tempo prê-determinado a seguir â recepção do primeiro sinal de leitura ou de gravação de modo a mascarar a apresentação ao dispositivo do segundo sinal de leitura ou de gravação durante o intervalo de tempo prê-determinado. A requerente reivindica a prioridade do pedido norte-americano apresentado em 13 de Novembro de 1989, sob o numero de série 07/437059. Lisboa, 12 de Novembro de 1990.
    37
PT95850A 1989-11-13 1990-11-12 Aparelho e processo para garantir os tempos de separacao de impulsos de comando PT95850A (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US43705989A 1989-11-13 1989-11-13

Publications (1)

Publication Number Publication Date
PT95850A true PT95850A (pt) 1992-07-31

Family

ID=23734893

Family Applications (1)

Application Number Title Priority Date Filing Date
PT95850A PT95850A (pt) 1989-11-13 1990-11-12 Aparelho e processo para garantir os tempos de separacao de impulsos de comando

Country Status (15)

Country Link
US (1) US5388250A (pt)
EP (1) EP0428293B1 (pt)
JP (1) JPH077377B2 (pt)
KR (1) KR940005346B1 (pt)
CN (1) CN1020812C (pt)
AU (1) AU640695B2 (pt)
CA (1) CA2023998A1 (pt)
DE (1) DE69031206T2 (pt)
FI (1) FI905611A0 (pt)
MY (1) MY107731A (pt)
NO (1) NO904908L (pt)
NZ (1) NZ235802A (pt)
PT (1) PT95850A (pt)
SG (1) SG43746A1 (pt)
TW (1) TW230244B (pt)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481675A (en) * 1992-05-12 1996-01-02 International Business Machines Corporation Asynchronous serial communication system for delaying with software dwell time a receiving computer's acknowledgement in order for the transmitting computer to see the acknowledgement
KR950008661B1 (ko) * 1993-05-20 1995-08-04 현대전자산업주식회사 버스 다중화 회로
US5537582A (en) * 1993-05-21 1996-07-16 Draeger; Jeffrey S. Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry
US5553275A (en) * 1993-07-13 1996-09-03 Intel Corporation Method and apparatus for synchronously detecting phase relationships between a high-frequency clock and a low-frequency clock
JP2551338B2 (ja) * 1993-07-23 1996-11-06 日本電気株式会社 情報処理装置
US5802132A (en) * 1995-12-29 1998-09-01 Intel Corporation Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme
US5821784A (en) * 1995-12-29 1998-10-13 Intel Corporation Method and apparatus for generating 2/N mode bus clock signals
US5834956A (en) 1995-12-29 1998-11-10 Intel Corporation Core clock correction in a 2/N mode clocking scheme
US5826067A (en) * 1996-09-06 1998-10-20 Intel Corporation Method and apparatus for preventing logic glitches in a 2/n clocking scheme
US5862373A (en) * 1996-09-06 1999-01-19 Intel Corporation Pad cells for a 2/N mode clocking scheme
US5999995A (en) * 1996-12-27 1999-12-07 Oki Data Corporation Systems for adjusting a transfer rate between a host and a peripheral based on a calculation of the processing rate of the host
US6343352B1 (en) 1997-10-10 2002-01-29 Rambus Inc. Method and apparatus for two step memory write operations
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
US6055587A (en) * 1998-03-27 2000-04-25 Adaptec, Inc, Integrated circuit SCSI I/O cell having signal assertion edge triggered timed glitch filter that defines a strobe masking period to protect the contents of data latches
US6087867A (en) * 1998-05-29 2000-07-11 Lsi Logic Corporation Transaction control circuit for synchronizing transactions across asynchronous clock domains
EP0978788A1 (en) * 1998-08-04 2000-02-09 Texas Instruments France Improvements in or relating to direct memory access data transfers
EP0978787A1 (en) * 1998-08-04 2000-02-09 Texas Instruments France Improvements in or relating to transferring data between asynchronous device
BR0009459A (pt) * 1999-04-01 2002-02-05 Heeling Sports Ltd Aparelho para uso sobre uma superfìcie, artigo de calçado, conjunto de roda/eixo para uso em um aparelho para uso sobre uma superfìcie e métodos de usar um aparelho de rotação de calcanhar sobre uma superfìcie, de transitar de um estado de caminhada para um estado de rolamento, de transportar ao longo de uma superfìcie uma pessoa que usa pelo menos um artigo de calçado e de formar calçado para rolaneto
US6529570B1 (en) * 1999-09-30 2003-03-04 Silicon Graphics, Inc. Data synchronizer for a multiple rate clock source and method thereof
US7096377B2 (en) * 2002-03-27 2006-08-22 Intel Corporation Method and apparatus for setting timing parameters
US20070121398A1 (en) * 2005-11-29 2007-05-31 Bellows Mark D Memory controller capable of handling precharge-to-precharge restrictions
TWI506443B (zh) * 2012-12-27 2015-11-01 Mediatek Inc 處理器與週邊裝置之間的媒介週邊介面及其通信方法
CN109298248B (zh) * 2018-11-12 2020-12-01 中电科仪器仪表有限公司 一种基于fpga的复杂脉冲调制序列测量电路及方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3587044A (en) * 1969-07-14 1971-06-22 Ibm Digital communication system
US3623017A (en) * 1969-10-22 1971-11-23 Sperry Rand Corp Dual clocking arrangement for a digital computer
US4050096A (en) * 1974-10-30 1977-09-20 Motorola, Inc. Pulse expanding system for microprocessor systems with slow memory
US4050097A (en) * 1976-09-27 1977-09-20 Honeywell Information Systems, Inc. Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus
US4144562A (en) * 1977-06-23 1979-03-13 Ncr Corporation System and method for increasing microprocessor output data rate
US4143418A (en) * 1977-09-21 1979-03-06 Sperry Rand Corporation Control device and method for reading a data character from a computer at a fast rate and transmitting the character at a slow rate on a communication line
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
DE2812242A1 (de) * 1978-03-21 1979-10-04 Bosch Gmbh Robert Programmierbare ablaufsteuerung
US4262331A (en) * 1978-10-30 1981-04-14 Ibm Corporation Self-adaptive computer load control
US4539635A (en) * 1980-02-11 1985-09-03 At&T Bell Laboratories Pipelined digital processor arranged for conditional operation
US4494196A (en) * 1981-05-19 1985-01-15 Wang Laboratories, Inc. Controller for peripheral data storage units
US4476527A (en) * 1981-12-10 1984-10-09 Data General Corporation Synchronous data bus with automatically variable data rate
US4517641A (en) * 1982-04-30 1985-05-14 International Business Machines Corporation Lookahead I/O device control subsystem
US4807109A (en) * 1983-11-25 1989-02-21 Intel Corporation High speed synchronous/asynchronous local bus and data transfer method
JPS61255392A (ja) * 1985-05-09 1986-11-13 横河電機株式会社 カラ−画像表示装置
FR2586118B1 (fr) * 1985-08-06 1990-01-05 Bull Sems Procede d'echange de donnees entre un microprocesseur et une memoire et dispositif permettant la mise en oeuvre du procede
JPS6243764A (ja) * 1985-08-21 1987-02-25 Nec Corp バス・ステ−ト制御回路
JP2520872B2 (ja) * 1985-12-10 1996-07-31 オリンパス光学工業株式会社 画像表示装置
US4769632A (en) * 1986-02-10 1988-09-06 Inmos Limited Color graphics control system
US4888684A (en) * 1986-03-28 1989-12-19 Tandem Computers Incorporated Multiprocessor bus protocol
JPH0619760B2 (ja) * 1986-04-23 1994-03-16 日本電気株式会社 情報処理装置
JPS6354655A (ja) * 1986-08-25 1988-03-09 Hitachi Ltd バスタイミング制御回路
EP0287678B1 (en) * 1986-10-17 1994-01-05 Fujitsu Limited Data transfer system having transfer discrimination circuit
JPS63155340A (ja) * 1986-12-19 1988-06-28 Fujitsu Ltd 記憶装置の読出し方式
US4851995A (en) * 1987-06-19 1989-07-25 International Business Machines Corporation Programmable variable-cycle clock circuit for skew-tolerant array processor architecture
US5151986A (en) * 1987-08-27 1992-09-29 Motorola, Inc. Microcomputer with on-board chip selects and programmable bus stretching
US5125084A (en) * 1988-05-26 1992-06-23 Ibm Corporation Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller
US5040109A (en) * 1988-07-20 1991-08-13 Digital Equipment Corporation Efficient protocol for communicating between asychronous devices
US5060239A (en) * 1989-05-12 1991-10-22 Alcatel Na Network Systems Corp. Transfer strobe time delay selector and method for performing same

Also Published As

Publication number Publication date
EP0428293A3 (en) 1992-02-19
AU6464190A (en) 1991-05-16
AU640695B2 (en) 1993-09-02
CN1051801A (zh) 1991-05-29
EP0428293B1 (en) 1997-08-06
DE69031206D1 (de) 1997-09-11
TW230244B (pt) 1994-09-11
NO904908D0 (no) 1990-11-12
JPH077377B2 (ja) 1995-01-30
FI905611A0 (fi) 1990-11-13
DE69031206T2 (de) 1998-02-12
CN1020812C (zh) 1993-05-19
SG43746A1 (en) 1997-11-14
NZ235802A (en) 1994-02-25
EP0428293A2 (en) 1991-05-22
MY107731A (en) 1996-05-30
CA2023998A1 (en) 1991-05-14
KR910010302A (ko) 1991-06-29
NO904908L (no) 1991-05-14
US5388250A (en) 1995-02-07
JPH03160548A (ja) 1991-07-10
KR940005346B1 (ko) 1994-06-17

Similar Documents

Publication Publication Date Title
PT95850A (pt) Aparelho e processo para garantir os tempos de separacao de impulsos de comando
US4626837A (en) Display interface apparatus
US4858107A (en) Computer device display system using conditionally asynchronous memory accessing by video display controller
US4368514A (en) Multi-processor system
US4631670A (en) Interrupt level sharing
US5237696A (en) Method and apparatus for self-timed digital data transfer and bus arbitration
EP0432575B1 (en) Data processor having wait state control unit
US6806872B2 (en) Video signal processing system
EP0120142B1 (en) Graphic display system
JPS5848106B2 (ja) カ−ソル表示方式
US5329290A (en) Monitor control circuit
US6728813B1 (en) Method and apparatus for converting non-burst write cycles to burst write cycles across a bus bridge
EP0148578A2 (en) Programmable video display generator
US5581278A (en) Image display control system
Nicoud Video RAMs: structure and applications
JPH02140852A (ja) Dma転送制御装置
JPS648337B2 (pt)
JP2824708B2 (ja) 図形描画装置
JPH0474745B2 (pt)
JPH06100904B2 (ja) メモリアクセス装置
JPS5964889A (ja) フオントメモリ共用装置
JPS5961874A (ja) 文字拡大回路
Dorai et al. Shared Memory Access—Boon for Graphics
JPS58221890A (ja) デイスプレイ装置
JPS59135530A (ja) Dmaによるメモリ読み出し方式

Legal Events

Date Code Title Description
BB1A Laying open of patent application

Effective date: 19920327

FC3A Refusal

Effective date: 19980413