PT85810B - Processo e dispositivo para executar duas sequencias de instrucoes segundo uma ordem predeterminada - Google Patents

Processo e dispositivo para executar duas sequencias de instrucoes segundo uma ordem predeterminada Download PDF

Info

Publication number
PT85810B
PT85810B PT85810A PT8581087A PT85810B PT 85810 B PT85810 B PT 85810B PT 85810 A PT85810 A PT 85810A PT 8581087 A PT8581087 A PT 8581087A PT 85810 B PT85810 B PT 85810B
Authority
PT
Portugal
Prior art keywords
sequence
writing
execution
address
instruction
Prior art date
Application number
PT85810A
Other languages
English (en)
Other versions
PT85810A (pt
Inventor
Sten Edvard Johnson
Lars-Oerjan Kling
Bjoern Rutger Erik Jonsson
Oleg Avsan
Original Assignee
Ericsson Telefon Ab L M
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 Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of PT85810A publication Critical patent/PT85810A/pt
Publication of PT85810B publication Critical patent/PT85810B/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
    • 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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • 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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Communication Control (AREA)
  • Image Input (AREA)
  • Electrotherapy Devices (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)

Description

MEMÓRIA DESCRITIVA
Âmbito Técnico □ presente invento refere-se a um processo e a um disposi^ tivo para executar duas sequências de instruções segundo uma dada ordem predeterminada, denominadas respectivamente primeira e segunda sequências, incluindo a selecção de instruções de leitura, cada uma delas contendo o seu endereço de leitura para recuperação dos dados, armazenados numa posição de memória de uma plural^ dade de posições de memória, sendo cada uma destas posições acessível pelo seu endereço numa primeira e numa segunda memórias individuais respectivamente, bem como a selecção de instruções de escrita cada uma delas contendo o seu endereço de escrita e os da dos para a transferencia destes dados para uma outra posição duma outra memória individual separada, atribuída a respectíva sequencia e acessível através do endereço de escrita, sendo as posições das sequências nas memórias individuais mutuamente actualizadas,
N * tanto em relação a sua ordem como as instruções seleccionadas de escrita, e os dados usados em conjugação com a execução da sequeri cia que e a segunda em termos de ordem, não poderem ser garantida^ mente independentes, a priori, dos dados obtidos em conjunção com a execução da sequencia que e a primeira, em termos de ordem.
Antecedentes do Invento
Uma solução trivial, tradicional do tipo de problema de tratamento de informação acabado de expor acima, consiste em apenas se iniciar a execução da sequencia que, de acordo com o expos to anteriormente, se passa a partir deste momento a identificar como segunda sequencia, so apos terminar a execução da sequencia que, de acordo com o exposto anteriormente se passa a partir deste momento a identificar como primeira sequencia. Esta solução trivial e obtida como uma necessidade natural num processamento de dados controlado por um unico processador em que as sequências são executadas uma de cada vez usando as posições de memória prin
657
Ref: K/BP/BKB/77300/LM 4689
-3cipal comuns a ambas as sequências.
Sabe-se que a capacidade de processamento de dados aumenA ta se se usar um sistema de execução paralelo das sequências de
A instruções. Desde que as sequências sejam garantidamente mutuamen te independentes desde □ início, obtém-se uma operação em paralelo sem erros, utilizando o chamado preprocessamento ou multiproces. sarnento, ou então pode usar-se igualmente um unico processador que inclua, pelo menos, duas unidades processadoras de dados, cada uma
A das quais executa a sua sequencia de instruções. 5abe-se que os problemas de tratamento de dados tanto se podem resolver utilizar^ do uma memória principal que e comum a uma pluralidade de unidades processadoras de dados bem como, em alternativa, se podem usar uma
X * pluralidade de memórias individuais cada uma delas associada a sua unidade de processamento de dados e mutuamente actualizadas periçj dicamente.
Quando se trata de sequências de instruções sensíveis que se afectam mutuamente, e que portanto tem que ser efectuadas em determinada ordem, tem-se usado conforme indicado em varias publi^ cações por exemplo o jornal Computer Design de 15 de Agosto de 1985, pp 76-85, ou o Balance 8000 System Technical Summary, Sequent Computer System, Inc.w, linguagens de programação, compila, dores e correspondente programação (hardware) para o processamenA to paralelo de sequências mutuamente independentes, enquanto que e acautelado o processamento paralelo das sequências sensíveis.
Descrição do Invento
Conforme ja referido na introdução, o presente invento refere-se ao processamento de dados quando se utilizam duas memórias separadas, cada uma atribuída a sua sequencia. No processamejn to de dados que se propõe, ambas as sequências são executadas em paralelo sem se ter que tomar em consideração, inicialmente, a pretendida ordem predeterminada. A dependência da segunda sequencia * A em relação a primeira sequencia e comandada e a ordem pretendida e obtida com a ajuda de uma unidade de armazenamento temporário
657
Ref: K/BP/BKB/773OO/LM 4689
-4que inclui uma memória auxiliar e, pelo menos, um circuito compg rador.
Os endereços obtidos devido as instruções de leitura seleccionadas durante a execução da segunda sequência são armazena dos temporariamente na memória auxiliar. Cada endereço de escrita seleccionado durante a execução da primeira sequencia e comparado com cada um dos endereços de leitura armazenados na memória auxiliar. Desde que não se constate coincidência de endereços, não se utilizarão dados dependentes da informação obtida durante a execjj ção da primeira sequencia, na execução da segunda sequencia. Se acontecer o caso de, durante a execução da segunda sequencia a informação ter sido recuperada da posição de memória individual associada com a segunda sequencia, esta informação então corrigida em conjunção com a actualização devida a operação de escrita associada com a primeira sequencia, i.e. se as duas sequências ja não se puderem considerar mutuamente independentes, a memória auxi liar sera limpa e as selecçSes das instruções da segunda sequencia são iniciadas uma vez mais. 0 reinicio da segunda sequencia e feito portanto no momento em que a primeira parte da primeira sequencia ja foi executada e consequentemente existe menos risco da segunda sequencia ser dependente da restante parte da primeira sequencia.
Os endereços de escrita e os dados obtidos através das ins^ truções de escrita seleccionadas durante a execução da segunda sequencia, são igualmente armazenados na memória auxiliar para facilg tar a actualização da memória individual associada com a primeira
A sequencia.
Ao utilizar o tratamento de dados proposto, obtem-se um aumento de capacidade de processamento dos dados, se a execução da segunda sequencia for independente, pelo menos das instruções ja seleccionadas quando tiver terminado a execução da primeira sg quencia. Esta maior capacidade pode ainda ser aumentada se um endereço seleccionado puder ser armazenado temporariamente como endereço de leitura na memória auxiliar, apenas no caso deste ende66 657
Ref: K/BP/BKB/773OO/LM 46Θ9
-5reço não ter ja existido como um endereço de escrita durante a
A * execução da segunda sequencia, e ainda poderá ser melhorada se a memória individual atribuída a segunda sequencia for actualizada em passos em conjugação com cada instrução de escrita seleccionada durante a execução da primeira sequencia.
As caracteristicas especificas do invento, são evidenciadas nas reivindicações.
Breve Descrição dos Desenhos invento vai ser seguidamente descrito em detalhe e em referencia aos desenhos anexos, nos quais a Figura 1 representa duas unidades processadoras de dados, cada uma delas ligada a sua respectiva memória individual e a uma unidade actualizadora. A Figura 2 representa com mais pormenor do que a Figura 1 a activa ção duma das memórias individuais, para leitura, escrita e actualização, bem como um dispositivo memorizador de instruções, e um circuito de arranque e identificação, os quais se encontram incluidos na unidade processadora de dados. A Figura 3 representa uma unidade de armazenamento temporário incluida numa unidade prç) cessadora de dados.
Descrição Detalhada duma Concretização do Invento
Um dispositivo de processamento de dados realizado de acordo com a Figura 1 inclui duas memórias individuais 1, para armazenamento de dados os quais são processados por, pelo menos, duas unidades processadoras de dados 2, as quais se encontram ligadas as respectivas memórias individuais. Cada uma das unidades processadoras de dados executa uma sequencia de instruções para controlar unidades funcionais atribuidas (não representadas na Figura 1) na execução de determinadas operações desejadas. Dependen do do facto das unidades processadoras de dados serem controladas por um processador comum, ou cada uma das unidades incluir uma pluralidade de processadores, assim se terá o que convencionalmente se chama um dispositivo com um unico processador ou um dis-
657
Ref: K/BP/BKB/77300/LM 4689
-6A positivo multiprocessador, no qual as sequências de instruções são executadas, no inicio, utilizando a memória individual da se quencia local, dispositivo esse, em que no entanto, cada unidade processadora de dados ordena a unidade actualizadora 3, que actua lize as restantes memórias individuais do dispositivo, tanto em termos de ordem como em termos das instruções de escrita executadas. Este dispositivo processador de dados incluindo uma pluralidade de unidades processadoras de dados e as suas respectivas memórias individuais as quais são mutuamente actualizadas periodicamente, e descrito na bibliografia da matéria, por exemplo no artigo de S-E Granberg's 'ΆΡΖ 150: Um dispositivo com multiprocessador para o controlo de comutações do trafego telefónico” publicado em 1976 por Infotech International Ltd., Nicholson House, Maidenhead, Berkshire, Inglaterra.
A Figura 1 representa, duma maneira muito simplificada para o presente invento, duas unidades processadoras de dados 2 que executam as ja referidas primeira e segunda sequências de ins truções, de acordo com uma ordem predeterminada. Para alem dum dispositivo convencional memorizador de instruções 4, que selecciç) na, uma de cada vez, as instruções armazenadas numa memória de ins.
truções, cada unidade processadora de dados, inclui um meio 5, cha mado circuito de arranque/identificador para definir se a sua se****,** X· quencia própria e a primeira sequencia independente ou se e a segunda sequencia possivelmente dependente, bem como pussui ainda uma unidade de armazenamento temporário 6.
Através das unidades de armazenamento temporário, e contro lada a actualização das memórias individuais, bem como em conse quência a execução das sequências seguindo a ordem predeterminada. A unidade de armazenamento temporário, da unidade processadora de dados que executa a segunda sequencia, armazena temporariamente os endereços incluídos nas instruções e assim sendo controla a depenA x Λ dencia da segunda sequencia em relação a primeira sequencia.
Indicou-se que a transferencia de dados e parcialmente de.
657
Ref: K/BP/BKB/77300/LM 46Θ9
-7vida a instruções de escrita dos dispositivos de memorização de instruções, para as respectivas memórias individuais e parcialmeri te devida a instruções de leitura das memórias individuais,para as unidades processadoras de dados associadas.
Cada um dos circuitos de arranque/ident i fica dor 5 das uni. dades processadoras de dados possui um sinal de saída de arranque 7, o qual e ligado a entrada do sinal de arranque Θ do outro circuito 5. Fica portanto indicada a possibilidade de executar ambas as sequências em paralelo, que e descrita seguidamente e usada no sistema de tratamento de dados proposto.
Os circuitos de arranque/identificação 5 possuem, cada z
um, uma saida 9 de sinal identificador que se encontra ligado a uma primeira entrada de sinal identificador 10 na unidade de arma_ zenamento temporário 6 da outra unidade processadora de dados.
A unidade de armazenamento temporário de uma das unidades processadora de dados possui uma entrada para endereços 11, e uma entrada 12 de marcação de escrita para receber os endereços seleccionados pelo dispositivo memorizador de instruções 4 da outra uni dade processadora de dados. As unidades de armazenamento têmporaz z rio 6 estão mutuamente ligadas, através duma saida de actualização 13 e uma entrada de actualização 14.
A Figura 2 representa em maior detalhe do que a Figura 1, alguns pormenores da unidade processadora de dados, cujo conheciz mento se torna necessário, para compreender o tratamento de dados proposto.
dispositivo memorizador de instruções 4, inclui uma meZ A moria de instruções 15, para armazenar uma sequência de instruções, as quais são lidas com a ajuda dum dispositivo de selecção 16, uma de cada vez, e passadas para o exterior através da activação de uma das saidas desse dispositivo de selecção.
A sequencia inclui tres tipos de instruções. 0 primeiro tipo, daqui em diante designado por instrução de leitura”, que e identificado pelo valor binário UM no bit de leitura da posição
657
Ref: K/BP/BKB/77300/LM 4689
-817, é utilizada para ordenar a recuperação dos dados contidos numa posição da memória individual 1, ligada a memória de instruções sendo o acesso a memória individual obtido através de um endereço, por exemplo, Al, armazenado num certo numero de posições de bits de endereço 18 estando o endereço incluído na instrução de marcação do bit de leitura. As posições 17 do bit de leitura e 18 do bit do endereço são ligadas respectivamente a entrada de activação de leitura 19 e a um circuito endereçador 20 da memória individual.
segundo tipo de instrução, daqui em diante designado por instrução de escrita, que e identificado pelo valor binário UM no bit de escrita na posição 21, é usado para ordenar que os dados, por exemplo, D2 sejam escritos numa posição da memória indiv_i dual, sendo estes dados incluídos na instrução da marcação do bit de escrita, e armazenados num conjunto de bitsde dados nas posições 22, ao mesmo tempo que se utiliza um endereço por exemplo A2, que e igualmente incluído na instrução de marcação do bit de escrita e armazenado no bit de endereço nas posições 18. As posições 21 do bit de escrita estão ligadas a uma entrada 23 activadora de escrita de memória individual.
terceiro tipo de instruções, que e identificado pelo valor binário ZERO nos bits das posições 17 e 21, e usado para co_ mandar o tratamento da informação sem que haja leitura da ou escrita na memória individual. 0 uso desta informação, por exemplo, 51, armazenada nos bits das posições 18 e 22, que estão associados a este terceiro tipo de instrução, não se encontra dentro do âmbito do invento, mas a Figura 2 representa uma primeira porta OU (0R) 24, com as suas entradas ligadas aos bits nas posições 17 e
X X
21, e a sua saida ligada a entrada activadora e inversora duma pr.i meira porta E (AND), dispositivo 25, a qual, quando activada, trans fere o conteúdo, por exemplo, Sl, dos bits 18 e 22 directamente para a unidade processadora de dados.
Os circuitos arrancador/identificador 5 das unidades processadoras de dados, incluem cada um, uma segunda e uma tercei_
657
Ref: K/BP/BKS/77300/LM 4689
-9ra porta OU ( OR ) , 26 e 27, conforme representado na Figura 2. A porta 26 tem uma das suas entradas ligada a saída da porta 27, e esta tem as suas entradas ligadas a ja referida entrada do sinal de arranque B e a uma saída 28 do sinal de rearranque da unidade de armazenamento temporário 6, existente na mesma unidade processadora de dados. Cada uma das unidades processadoras de dados inclui um gerador de sinal de arranque, não representado na Figura 2, cuja saida e ligada via um terminal de arranque 29, a outra entrada da porta 26, ao terminal de saída 7 do sinal de arranque acabado de referir, e a entrada de estabelecimento dum primeiro comutador bi-estavel (flip-flop) 30, cuja saída constitui o sinal de identifi^ cação ja referido 9, o qual esta igualmente ligado a uma segunda entrada do sinal de identificação 31 na unidade armazenadora temporária local 6. Um segundo flip-flop 32 tem a sua entrada de estabelecimento ligada a saida da porta 27 e a sua saida ligada a uma terceira entrada do sinal identificador 33 na unidade de arma zenamento temporário local 6. No seu estado activado a porta 26 selecciona uma instrução do terceiro tipo, a qual e uma instrução de arranque, com o conteúdo SI, devido a qual a unidade processadora de dados arranca com a execução da sequência de instruções que lhe esta associada, através do seu dispositivo de selecção 16. Parte-se do principio que, a sequencia armazenada na memória de instruções 15, termina em conjunção com a activação da saída 34 do dispositivo de selecção, o qual esta ligado as entradas de restabelecimento dos flip-flops 30 e 32.
A execução da primeira sequencia e iniciada pelo gerador do sinal de arranque local. Consequentemente, o aparecimento do valor binário UM na saída do primeiro flip-flop 30, indica que as selecções das instruções associadas com a sequencia local está em curso, e que a sequencia local e a primeira sequencia. A existência dum valor binário UM na saída do segundo flip-flop 32, indica que a selecção das instruções associadas com a sequencia local esta em curso e que a sequencia local e a segunda sequencia. De acor
657
Ref: K/BP/BKB/77300/LM 4689
-1Ddo com □ invento, as instruções de ambas as sequências são seleccionadas em paralela, o que se consegue, por exemplo, pela transferencia do sinal de arranque da saida 7 do sinal de arranque associado com a primeira sequencia para a entrada 8 do sinal de arΛ ranque, associado com a segunda sequencia.
Os endereços de leitura e de escrita selecctonados da memória de instruções 15, são transferidos via os terminais 35-37 para a memória temporária 6, da unidade processadora de dados. A Figura 2 representa a entrada 10 do referido sinal identificador, e as entradas 11-12 para os endereços de escrita da unidade de ar mazenamento temporário, e um primeiro terminal de contraio 30, que esta ligada a saida da primeira porta OU (0R) 24.
Finalmente, as funções de actualização convencionais vem indicadas na Figura 2 utilizando-se linhas tracejadas. A unidade actualizadora 3 possui os terminais de ordem 39 e 40. Os sinais de actualização de ordem e de endereços são mandados em paralelo via os terminais 39 e 40, respectivamente. Devido a uma ordem de actualização recebida de uma das unidades de armazenamento temporário, a unidade actualizadora transfere o sinal de ordem para a entrada 19 activadora de leitura da memória individual local e para a entrada 23 activadora de escrita da outra memória individual, bem como a unidade actualizadora transfere o endereço associado com a ordem de actualização para os circuitos endereçadores 20 das memórias individuais. Obtém-se assim uma transferencia de dados da memória individual local via unidade de actualização, para a outra memória individual.
A Figura 3 representa uma unidade de armazenamento têmpora
X Z1 rio que inclui uma memória auxiliar 41. Esta ultima tem colunas pa_ ra armazenar temporariamente os endereços de leitura e escrita, transferidos via os terminais 35-37, sendo as colunas seleccionadas para escrita, leitura ou limpeza por intermédio dum dispositivo explorador 42.5era descrita mais tarde a forma de limpeza da memória auxiliar quando a sequencia de instruções associada tiver finalmerq te sido executada.
657
Ref: K/BP/BKB/77300/LM 4689
-110 flanco frontal dum impulso de exploração enviado por uma quarta porta OU (OR) 43, leva o dispositivo explorador a zero. 0 acesso as colunas da memória auxiliar e obtido pelas arestas frontais de impulsos em escada que são gerados por um gerador deste tipo de impulsos 44 e transferidos via uma porta E (AND) 45 activada por esses impulsos de escada, para um terminal 46 desses impulsos do dispositivo explorador. Estes mesmos impulsos são iguaj^ mente enviados para um terminal 47 activador de leitura, de onde resulta ser lido do conteúdo da coluna, um valor de cada vez.
A unidade de armazenamento temporário de acordo com a Figura 3, inclui uma primeira porta NAO DU (NOR) 48 com as suas entradas adaptadas para receber as marcações de escrita e de leitura armazenadas temporariamente nas posiçães de bit de escrita 49 e nas posiçães de bit de leitura 50 da memória auxiliar, e com a sua saida inversora ligada via uma porta OU (OR) 51 a uma entrada inversora da porta E (AND) 45 do sinal em escada bem como as primeiras entradas duma primeira 52 e duma segunda 53 portas E (AND) de controlo, cujas saídas estão ligadas a uma porta OU (OR) 43. A porta de controlo 52 tem a sua segunda entrada ligada a uma terceira porta E (AND) de controlo 54, cujas entradas estão ligadas > X a ja referida entrada do sinal identificador 33 e ao terminal de controlo 38.
Como consequência desta disposição, os impulsos de exploração são apenas gerados na unidade de armazenamento temporário pertencente a unidade processadora de dados que esteja executando a segunda sequencia de instruções. Uma operação de exploração so
X X e ordenada apos ter sido seleccionada uma instrução de leitura ou de escrita. Para o gerador de sinais em escada, sempre que é lida uma coluna vazia, i.e, uma coluna que não esta marcada nem como de escrita nem como de leitura.
Uma condição para recomeçar a exploração e que o gerador de sinais em escada tenha sido previamente parado.
A primeira porta NAO OU (NOR) 48 esta ligada a entrada
657
Ref: K/SP/BKB/77300/LM4689
-12activadora de escrita 55 do dispositivo explorador. Assumiu-se que uma instrução de escrita com o endereço associado A3 e uma instrjj ção de leitura com o endereço associado A4 constituem a primeira e a segunda instruções da segunda sequencia, as quais foram dirigidas para a memória individual associada, estando os endereços de escrita e leitura destas instruções armazenados temporariamente da forma descrita, na primeira e segunda colunas da memória au xiliar, tendo estas colunas posições de bit 49 e 50, as quais foram postas a zero antes do referido armazenamento.
A porta 53 de controlo tem a sua segunda entrada ligada a quarta porta E (AND) 56 de controlo, e a primeira entrada ligada a ja referida primeira entrada identificadora 10, e a segunda entrada ainda esta ligada via a ja referida entrada 12 de marcação de escrita, ao bit de escrita, posição 21 na memória de instruções 15, que armazena a primeira sequencia. É ordenada uma operação de exploração na unidade de armazenamento temporário da segunda sequencia, logo que seja seleccionada uma instrução de escrita associada com a primeira sequencia. A frequência de funcionamento do gerador do sinal em escada 44 e assumida ser suficientemente alta em relação a velocidade da selecção das instruções, de forma a que todas as operações de exploração ordenadas via as portas de controlo 54 e 56 tenham tempo suficiente para serem rea lizadas.
A unidade de armazenamento intermédio inclui um primeiro circuito comparador 57, cuja saída e activada quando houver coincidência entre o endereço obtido via o terminal 37 da memória de instruções 15 e um dos endereços lidos nos bits de endereços de posição 58 da memória auxiliar, durante uma operação de exploração. Uma quinta porta de controlo E (AND) 59, tem a sua saída ligada a porta DU (0R ) 51, a sua primeira entrada ligada ao circuito comparador 57 e a sua segunda entrada disponível para receber as marcações de escrita armazenadas temporariamente nos bits de escrita, posições 49, da memória auxiliar. Obtém-se assim a paragem
657
Ref: K/BP/BKB/773OO/LM 46Θ9
-13da operação de exploração se um endereço de leitura ou um endereço de escrita seleccionados da memória de instruções coincidir com um endereço de escrita armazenado temporariamente.
Assume-se que a selecção da instrução de leitura com o eji dereço associado A4 e repetida uma primeira vez depois da selecção dum certo numero de instruções (não representado na Figura 3) com endereços diferentes de A3 e A4. Constatou-se ja, que a selecção repetida numa primeira vez não provoca a paragem da operação de exploração devida a coincidência de endereços determinada pelo pri. meiro circuito comparador 57, de forma que a instrução de leitura repetida pela primeira vez é armazenada temporariamente pela seguri da vez numa coluna cujas posições de bit 49 e 50 foram previamente postas a ZERO. As instruções de leitura da segunda sequencia com endereços associados Αχ são chamadas instruções de primeira categoria, se tiverem sido seleccionadas antes do mesmo endereço Αχ
A ter aparecido na segunda sequencia em conjunção com a selecção duma instrução de escrita.
Assume-se que uma instrução de escrita com o endereço associado A4 e seleccionada apos a selecção da instrução de leitura acabada de referir, repetida pela primeira vez e depois da selecção dum certo numero de instruções (não representado na Figura 3), com endereços diferentes de A3 e A4. Viu-se que esta instrução de escrita e armazenada temporariamente numa coluna anteriormente va ga. Assume-se igualmente que a selecção da instrução de leitura com o endereço associado A4 e repetida uma segunda vez depois da selecção da mencionada instrução de escrita com o endereço A4. Obtem-se nestas circunstancias a paragem da exploração em conjunção com a leitura da instrução de escrita armazenada temporariameji te com o endereço A4, mas não será executada nenhuma marcação de leitura na posição de bit 50. A instrução de leitura com o endere ção associado A4, repetida numa segunda vez, constitui uma instru ção de segunda categoria, cujo endereço associado não á armazenado temporariamente na memória auxiliar.
657
Ref: K/BP/BKB/77300/LM 4689
-14A unidade de armazenamento temporário de uma das unidades processadoras de dados inclui um segunda circuito comparador 60, cuja saida e activada quando existir coincidência entre o endereço transferido via a ja referida entrada de endereços 11, sendo este endereço seleccionado das posições de bit de endereços 18 ijn cluídos na memória de instruções 15 da outra unidade processadora de dados, e entre um dos endereços lidos nas posições de bit de endereço 58 da memória auxiliar, durante uma operação de exploraΛ X ção. 0 segundo circuito comparador esta ligado a primeira entrada duma sexta porta E (AND) de controlo 61, cuja segunda entrada esta ligada a ja referida porta de controlo 56, e cuja saída esta ligada a primeira entrada duma sétima porta E (AND) de controlo 62. A saída da porta de controlo 62, que recebe na sua segunda ejn trada as marcações de leitura armazenadas temporariamente nas pt) sições de bit 50, da memória auxiliar, constitui o ja mencionado sinal de rearranque 28 e esta ligado a uma porta OU (0R) 63 de limpeza. A porta OU (0R) 27 referida na Figura 2 recebe um sinal de rearranque da porta 62 quando activada. 0 dispositivo de expl£ de limpeza 63 ração 42 recebe duma porta OU (0R)/activada um impulso com a ordem de limpeza, através do qual toda a informação sobre endereços armazenada temporariamente na memória auxiliar e imediatamente cancelada.
Igualmente se viu, que a limpeza da memória auxiliar e o rearranque da execução da segunda sequencia e efectuado se se eri contrar armazenada temporariamente uma instrução de leitura de pri meira categoria, em que o endereço associado a esta instrução coincide com o endereço associado com uma instrução de escrita que tiver sido seleccionada durante a execução da primeira sequencia .A limpeza torna-se necessária dado que a unidade processadora de dados associada, recebeu dados da sua memória individual devido a ter encontrado uma instrução de primeira categoria que a memória não deveria ter recebido se tivesse havido a necessária atenção na ordem predeterminada, i.e.» se as instruções da primeira e da
657
Ref: K/BP/BKB/77300/LM 4689
-15segunda sequências não tivessem sido seleccionadas em paralelo.
A unidade de armazenamento temporário inclui uma segunda porta NÃO OU (NOR) 64 com as entradas ligadas as ja referidas entradas 10 e 33 do sinal identificador e com uma saida inversora ligada a porta OU (DR) 43. Quando as selecções das instruções da
A Z primeira e da segunda sequências terminam, e ordenada consequente mente uma operação de exploração, embora esta operação não tenha consequências na unidade de armazenamento incLuída na unidade pro. cessadora de dados que tenha executado a primeira sequencia. Uma oitava porta E (AND) de controlo 65 tem as suas entradas ligadas as portas NÃO OU (NOR) 48 e 64 e a sua saída ligada a porta OU (CR) de limpeza 63. Um impulso ordenando a limpeza e obtido quando a operação de exploração iniciada pela porta NÃO OU (NOR), terminar.
Durante a ultima operação de exploração mencionada, a uni.
Z Λ dade de armazenamento temporário da segunda sequencia, gera infor mação actualizadora que compreende todos os endereços de escrita seleccionados e armazenados temporariamente durante a execução da segunda sequencia. As marcações de escrita lidas nas posições de bit 49 da memória auxiliar são recebidas por uma nona porta E (AND) de controlo 66, a qual tem a sua segunda entrada ligada a porta NÃO OU (NOR) 64 e a sua saída ligada via uma porta de actua lização OU (0R) 67, ao ja referido terminal de ordem 39 da unidade de actualização 3. Os endereços de actualização lidos nas posições de bit de endereços 58, na memória auxiliar, são transferi, dos com a ajuda duma segunda porta E (AND) 68 a qual tem a sua en trada activadora ligada a saída da porta de controlo 66, via uma porta OU {0R) 69, ao ja referido terminal de ordem 40, da unidade actualizadora 3.
Uma decima porta E (AND) de controlo 70, com a sua primei, ra entrada recebendo as marcações de escrita, armazenadas têmpora riamente nos bits de posição 49 da memória auxiliar, tem a sua se gunda entrada ligada a saída da porta de controlo 61 e a sua saída constitui a ja referida saída de actualização 13 ligado à te.r
657
Ref: K/BP/BKB/7730D/LM 4689
-16ceira entrada da porta OU(OR) 51. Constata-se assim que a operação de exploração iniciada pela activação da porta de controlo 56, e parada se for encontrada pelo segundo circuito comparador 60, coincidência entre um endereço de escrita seleccionado durante a
A execução da primeira sequencia e um dos endereços de escrita arma, zenados temporariamente na memória auxiliar durante a execução da segunda sequencia.
A unidade de armazenamento temporário representado na Figura 3 inclui, fínalmente, uma decima primeira porta E (AND) de controlo 71, a qual tem a sua primeira entrada ligada ao terminal de entrada 31 do ja mencionado sinal de identificação, o qual tem a sua segunda entrada activada pelo flanco posterior dum impulso ligado ao terminal 36, o qual tem a sua terceira entrada inversora e constituindo a ja mencionada entrada de actualização 14, e cuja saida esta ligada a porta OU (OR) de actualização 67 e a entrada activadora duma terceira porta E (AND) 72 com a sua entrada ligada ao terminal 37 da unidade de armazenamento temporário, e a sua saida ligada a porta OU (OR) 69. As portas OU (OR) 67 e OU (OR) 69 da unidade de armazenamento temporário atribuída a primeira sequencia, transferem consequentemente como informação de actua lização um endereço de escrita seleccionado durante a execução da primeira sequencia e incluído, nesta sequencia, a não ser que este endereço de escrita seja armazenado temporariamente na memória ajj xiliar atribuída a segunda sequencia.
Por exemplo, se os dados estiverem escritos numa posição da memória individual, acessível pelo endereço A3 e atribuídos a primeira sequencia, seria então errado actualizar a memória individual da segunda sequencia, ja que, de acordo com as suposições assumidas anteriormente, este endereço de escrita A3 tinha sido anteriormente armazenado temporariamente na memória auxiliar da segunda sequencia. Por outro lado, se for um problema de actualização devido a uma instrução de escrita com o endereço A4 incluido na primeira sequencia, e se se tiver assumido em concordância
657
Ref: K/BP/BKB/77300/LM 46Θ9
-17com o ja exposto, que este endereço A4 tenha ja sido anteriormente armazenado temporariamente na memória auxiliar da segunda sequeri cia, em parte por estar associado com uma instrução de leitura de primeira categoria e em parte por estar associado com uma instruZ f * ção de escrita, o conteúdo da memória auxiliar e apagado quando o endereço de leitura A4 for encontrado. A porta de controlo 70 da unidade de armazenamento temporário da segunda sequencia, não
Z Z e portanto activada, de forma que a actualização correcta da memória individual da segunda sequencia e efectuada da forma descrita anteriormente, com a ajuda da porta de controla 71 da unidade de armazenamento temporário da primeira sequencia, continuando-se a usar o endereço A4.
De acordo com um processo para armazenamento temporário e actualização não representado nos desenhos, os endereços de esA crita da primeira sequencia e as instruçães de escrita da segunda sequencia, i.e., endereços de escrita e dados associados, são armazenados temporariamente na respectiva memória auxiliar. A compa ração entre cada um dos endereços de escrita armazenados temporariamente associados com a primeira sequencia e cada um dos endereços de leitura armazenados temporariamente associados com a segunda sequencia, e realizada em paralelo com a actualização da memoA ria individual da segunda sequencia, quando a selecção das instruA ções da primeira sequencia termina, sendo o rearranque da execução da segunda sequencia conseguido devido a coincidência de endereços determinada pela comparação. A actualização da memória individual
Az associada com a primeira sequencia e realizada com a ajuda das ins. truções de escrita armazenadas temporariamente, associadas com a segunda sequencia, quando a selecção de instruçães desta segunda sequencia termina.
Com a ajuda do processo acabado de referir para armazenar temporariamente e actualizar, obtem-se um aumento da capacida. de de processamento de dados, pela utilização da execução de ambas as sequências em paralelo, so no caso da execução da segunda
657
Ref: K/BP/BKB/77300/LM 4689
-18sequencia não ter que ser reiniciada.
Como efeito geral, obtem-se, com a ajuda das unidades de armazenamento temporário das unidades processadoras de dados, que
A a primeira e segunda sequencia sejam executadas sem erro, pela ordem predeterminada, apesar da execução de ambas as sequências terem inicialmente sido mandadas executar em paralelo.

Claims (3)

  1. -REIVINDICAÇÕE51-. - Processo para executar duas sequências de instruções segundo uma ordem predeterminada, a execução da primeira e segunda sequências incluindo, respectivamente, a selecção de instruções de leitura, cada uma delas contendo o seu endereço de leitura para recuperar os dados armazenados em uma de uma pluralidade de poX * sições de memória, cada uma delas acessivel pelo seu endereço numa primeira e numa segunda memórias separadas respectivamente, bem como a selecção de instruções de escrita, cada uma delas contendo o seu endereço de escrita e dados para a transferencia destes para uma posição de memória separada atribuída a respectiva sequencia e acessivel por um endereço de escrita, sendo as posições das memórias separadas das sequências, mutuamente actualizadas , tanto em termos de ordem como em termos das instruções de escrita seleç cionadas, não sendo os dados usados em conjunção com a execução da sequencia, designada com segunda em termos de ordem, garantidamente independentes a priori, dos dados obtidos em conjunção com a execução da sequencia designada como primeira em termos de ordem, caracterizado por compreender os passos de:
    a. execução das instruções em ambas as sequências sem preo cupação de ordem,
    X x
    b. armazenamento temporário de um endereço obtido através de uma instrução de leitura, a qual e seleccionada como resultado da execução da segunda sequencia, se este endereço não tiver sido previamente seleccionado em conjunção com a execução das instruções
    A de escrita da segunda sequencia,
    c. realização de uma comparação entre o endereço de leitura temporariamente armazenado e cada um dos endereços de escrita obtidos devidos a execução das instruções de escrita da primeira sequencia, e
    d. reiniciação da execução da segunda sequencia ao ser de-
    66 657
    Ref: K/BP/BKB/773OO/LM 4689
    -20tectada uma coincidenciade endereços pela comparação anterior.
  2. 2-. - Processo de acordo com a reivindicação 1, caracterizado por compreender os passos de:
    a. armazenamento temporário dum endereço de escrita obtido através duma instrução de escrita seleccionada durante a execjj ção da segunda sequencia,
    b. realização duma comparação actualizada entre o endereção de escrita armazenado temporariamente e cada um dos endereços de escrita seleccionados durante a execução da primeira sequencia,
    c. actualização da segunda memória individual em conjunção com qualquer execução duma instrução de escrita associada com a primeira sequencia, caso não tenha sido detectada nenhuma coincidência de endereços pela referida comparação actualizada, e
    d. impedimento de concretizar a actualização da segunda memória separada se tiver sido detectada uma coincidência de end£ reços pela referida comparação actualizada.
  3. 3e. - Dispositivo para executar, de acordo com a reivindicação 1, duas sequências de instruções seguindo uma determinada ordem predeterminada, incluindo um primeiro circuito de arranque (7, 26, 29) para iniciar a execução da sequencia que e a primeira em termos de ordem, e um primeiro e segundo dispositivos memoriza dores de instruções (4), respectivamente, paru armazenar as sequejn cias identificadas como primeira e segunda, respectivamente, em termos de ordem e para seleccionar as instruções armazenadas uma de cada vez, ligado a uma primeira e a uma segunda memórias separadas (1, 20), respectivamente, cujas posiçdes de memória são aces siveis para a leitura/escrita de dados com a ajuda de endereços de leitura/escrita, seleccionados através das posições de bit de endereço de leitura/escrita (17, 18, 21),no dispositivo memorizador de instruções associado, existindo uma unidade de actualização (3) para actualizar mutuamente as posições das memórias separadas das sequências em termos de ordem e em termos das instruções de escri.
    66 657
    Ref: K/BP/BKB/77300/LM 46Θ9
    -21ta seleccionadas , sendo os dados usados em conjunção com a execução da segunda sequencia, não garantidamente independentes, a pri.o ri, dos dados obtidos em conjunção com a execução da primeira sequencia, caracterizado por este dispositivo incluir:
    a. um segundo circuito de arranque (8, 26, 27) para iniciar a segunda sequencia com a sua primeira entrada activadora (8) ligada ao referido primeiro circuito de arranque,
    b. uma unidade de memória auxiliar (41, 42), ligada no seu lado de entrada ao segundo dispositivo memorizador de instruções e incluindo as posições de bit de endereço de leitura (50, 58), para armazenamento temporário de um endereço, o qual e obtido atra ves duma instrução de leitura seleccionada durante a execução da segunda sequencia, se este endereço não tiver sido previamente seleccionado em conjunção com a execução das instruções de escrita da segunda sequencia, e
    c. um circuito de comparação (56, 60, 61, 62) com os seus terminais da primeira comparação (11, 12) ligados as posições de bit de endereço de escrita (18, 21) do primeiro dispositivo memorizador de instruções, com os seus terminais de segunda comparação ligados as referidas posições de bit de endereço de leitura (50, 58), da unidade auxiliar de memória, e com a sua saida (28) ligada a segunda entrada activadora do referido segundo circuito de arranque, sendo a saida activada quando exista coincidência entre endereços recebidos pelos terminais do circuito comparador.
    49. - Dispositivo de acordo com a reivindicação 3, caracterizado por a unidade de memória auxiliar incluir as posições de bit de endereços de escrita (49, 51) para armazenamento temporário dum endereço, o qual foi obtido através duma instrução de escrita seleccionada durante a execução da segunda sequencia, e por o dis, positivo incluir igualmente um circuito comparador actualizador (56, 60, 61, 70) com os seus terminais da primeira comparação (11, 12) ligados a posições de bit de endereço de escrita (1B, 21), ligados ao primeiro dispositivo memorizador de instruções, com os
    66 657
    Ref: K/BP/BKB/773OO/LM 4689
    -22seus terminais de segunda comparação ligados as posições de bit de endereço de escrita (49, 58), da unidade de memória auxiliar, e com a sua saida enviando um primeiro e um segundo, sinais de actualização lógica, respectivamente, conforme não exista coincidência ou exista, entre os endereços recebidos nos terminais de comparação actualização, e por o dispositivo incluir adicionalmeri te um circuito de controlo de actualização (67, 69, 71, 72), o qual e activado e desactivado ao receber, respectivamente, os referidos primeiro e segundo sinais de actualização, o qual tem os seus terminais de entrada ligados as posições de bit de endereço de escrita (18,21), do primeiro dispositivo memorizador de instru ções, e o qual tem os seus terminais de saída (39, 40) ligados a unidade de actualização (3).
PT85810A 1986-10-03 1987-09-28 Processo e dispositivo para executar duas sequencias de instrucoes segundo uma ordem predeterminada PT85810B (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE8604222A SE454920B (sv) 1986-10-03 1986-10-03 Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen

Publications (2)

Publication Number Publication Date
PT85810A PT85810A (pt) 1988-11-30
PT85810B true PT85810B (pt) 1993-08-31

Family

ID=20365823

Family Applications (1)

Application Number Title Priority Date Filing Date
PT85810A PT85810B (pt) 1986-10-03 1987-09-28 Processo e dispositivo para executar duas sequencias de instrucoes segundo uma ordem predeterminada

Country Status (17)

Country Link
US (1) US4985826A (pt)
EP (1) EP0287600B1 (pt)
JP (1) JPH01500936A (pt)
KR (1) KR920006768B1 (pt)
AU (1) AU589047B2 (pt)
BR (1) BR8707481A (pt)
DE (1) DE3774119D1 (pt)
DK (1) DK168415B1 (pt)
ES (1) ES2005371A6 (pt)
FI (1) FI93908C (pt)
GR (1) GR871512B (pt)
MX (1) MX168943B (pt)
NO (1) NO173718C (pt)
PT (1) PT85810B (pt)
SE (1) SE454920B (pt)
TN (1) TNSN87107A1 (pt)
WO (1) WO1988002514A1 (pt)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE454921B (sv) * 1986-10-03 1988-06-06 Ellemtel Utvecklings Ab Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instuktionssekvenser
US5280615A (en) * 1990-03-23 1994-01-18 Unisys Corporation Out of order job processing method and apparatus
JP2786574B2 (ja) * 1992-05-06 1998-08-13 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
GB9305263D0 (en) * 1993-03-15 1993-05-05 Univ Westminster Parrallel computation
JPH07334372A (ja) * 1993-12-24 1995-12-22 Seiko Epson Corp エミュレートシステム及びエミュレート方法
JP4160705B2 (ja) * 1999-10-15 2008-10-08 富士通株式会社 プロセッサ及びプロセッサシステム
FI114428B (fi) * 2001-12-13 2004-10-15 Nokia Corp Menetelmä ja järjestelmä laskuridatan keräämiseksi verkkoelementissä
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1218656A (en) * 1968-03-27 1971-01-06 Int Computers Ltd Improvements in or relating to computer system
US3787673A (en) * 1972-04-28 1974-01-22 Texas Instruments Inc Pipelined high speed arithmetic unit
GB1441458A (en) * 1972-06-28 1976-06-30 Texas Instruments Inc Stored programme data processing for parallel processing of programme segment
IT991096B (it) * 1973-07-10 1975-07-30 Honeywell Inf Systems Calcolatore elettronico con reti funzionali indipendenti per l esecuzione simultanea di opera zioni diverse sugli stessi dati
SE378690B (pt) * 1973-12-13 1975-09-08 Ellemtel Utvecklings Ab
SE387763B (sv) * 1975-10-23 1976-09-13 Ellemtel Utvecklings Ab Anordning vid ett datorminne for att mojliggora en successiv forflyttning under drift av ett ledigt minnesfelt
JPS57162165A (en) * 1981-03-30 1982-10-05 Fanuc Ltd Re-editing system for storage area
US4466061A (en) * 1982-06-08 1984-08-14 Burroughs Corporation Concurrent processing elements for using dependency free code
JPS5932045A (ja) * 1982-08-16 1984-02-21 Hitachi Ltd 情報処理装置
US4720779A (en) * 1984-06-28 1988-01-19 Burroughs Corporation Stored logic program scanner for a data processor having internal plural data and instruction streams
US4703481A (en) * 1985-08-16 1987-10-27 Hewlett-Packard Company Method and apparatus for fault recovery within a computing system

Also Published As

Publication number Publication date
SE8604222L (sv) 1988-04-04
DK168415B1 (da) 1994-03-21
US4985826A (en) 1991-01-15
NO882196D0 (no) 1988-05-19
FI882469A (fi) 1988-05-25
FI93908C (fi) 1995-06-12
NO173718C (no) 1994-01-19
KR880701912A (ko) 1988-11-07
DK300888D0 (da) 1988-06-02
AU8037087A (en) 1988-04-21
NO173718B (no) 1993-10-11
SE454920B (sv) 1988-06-06
BR8707481A (pt) 1988-12-06
GR871512B (en) 1987-10-01
PT85810A (pt) 1988-11-30
MX168943B (es) 1993-06-15
JPH01500936A (ja) 1989-03-30
KR920006768B1 (ko) 1992-08-17
FI882469A0 (fi) 1988-05-25
DE3774119D1 (de) 1991-11-28
DK300888A (da) 1988-06-02
EP0287600A1 (en) 1988-10-26
EP0287600B1 (en) 1991-10-23
TNSN87107A1 (fr) 1990-01-01
SE8604222D0 (sv) 1986-10-03
AU589047B2 (en) 1989-09-28
ES2005371A6 (es) 1989-03-01
FI93908B (sv) 1995-02-28
WO1988002514A1 (en) 1988-04-07
NO882196L (no) 1988-05-19

Similar Documents

Publication Publication Date Title
US5586297A (en) Partial cache line write transactions in a computing system with a write back cache
US4823261A (en) Multiprocessor system for updating status information through flip-flopping read version and write version of checkpoint data
ES2386087T3 (es) Mecanismo para una atomicidad fuerte en un sistema de memoria transaccional
KR100334479B1 (ko) 컴퓨터 처리 시스템에서 로드 동작의 순서 변경 방법 및 장치
US7694094B2 (en) Transaction method for managing the storing of persistent data in a transaction stack
US7533138B1 (en) Practical lock-free doubly-linked list
JPH0736175B2 (ja) データ処理システムのシステム構成設定方法、データ処理システム、及びデータ処理システム用拡張ユニット
JPS61250738A (ja) 分岐活動記録テ−ブル
BRPI0613946A2 (pt) memória transacional de software de atualização direta
BRPI1005259A2 (pt) vetores simd sincronizadores
JPH0814801B2 (ja) プログラマブルアクセスメモリ
PT85810B (pt) Processo e dispositivo para executar duas sequencias de instrucoes segundo uma ordem predeterminada
TW201732590A (zh) 向量式原子記憶體更新指令
CN107807886B (zh) 闪存存储器中的索引管理
US3942155A (en) System for packing page frames with segments
US6363474B1 (en) Process switching register replication in a data processing system
JPS6044707B2 (ja) バツフアメモリ制御回路の障害検出方式
PT85811B (pt) Processo e dispositivo para executar duas sequencias de instrucoes segundo uma ordem predeterminada
JP4931711B2 (ja) カーネル更新方法、情報処理装置、プログラムおよび記憶媒体
CN107832238B (zh) 一种基于龙芯处理器平台的高速缓存作内存的方法
JP2000137604A (ja) データ引き継ぎシステム
US20090100243A1 (en) High Performance, Lock-Free Virtual Storage Manager
Naur The design of the GIER ALGOL compiler
US20200097294A1 (en) Method for managing the supply of information, such as instructions, to a microprocessor, and a corresponding system
US9910908B2 (en) Atomical moving data elements between or within linked data structures

Legal Events

Date Code Title Description
FG3A Patent granted, date of granting

Effective date: 19930202

MM3A Annulment or lapse

Free format text: LAPSE DUE TO NON-PAYMENT OF FEES

Effective date: 19940831