Sistemas Digitais III EE773 / NE853. Redes de Petri

Tamanho: px
Começar a partir da página:

Download "Sistemas Digitais III EE773 / NE853. Redes de Petri"

Transcrição

1 Sistemas Digitais III EE773 / NE853 Redes de Petri PROF. FRANCISCO ENÉAS LEMOS PROF. EDSON LEMOS HORTA PROF. ORLANDO DEL BIANCO FILHO PROF. LUIS CALDAS PROF. MARIA CLAUDIA CASTRO 2 O SEM. / 2003

2 REDES DE PETRI 2 ÍNDICE 1- Revisão dos Modelos de Estruturas Digitais Elementares Modelo combinatório Modelo seqüencial Assíncrono Modelo Seqüencial Síncrono Uma metodologia para projetar Sistemas Digitais Conceitos básicos O Problema da descrição de tarefas e o Conceito de Algoritmo O método de projeto Exemplo de um projeto O modelo de redes de Petri como um mecanismo formal de descrição e análise de sistemas Histórico Por que é necessário um mecanismo formal de descrição? Apresentação do modelo de redes de Petri Definição Seqüência de disparo de transições Diagrama de marcações da rede Representação matricial das redes de Petri Propriedades das redes Exercícios propostos Interpretação do modelo Exemplos de aplicação no modelamento de sistemas Modelamento de estruturas de controle digital Exemplos de aplicação Síntese de estruturas de controle A síntese de máquinas de estado (unidades de controle) descritas com redes de Petri Exemplos de aplicação Exercícios Propostos... 63

3 REDES DE PETRI 3 O PROCESSO DE PROJETO E IMPLEMENTAÇÃO DE ESTRUTURAS DIGITAIS ELEMENTARES A figura abaixo resume as 4 etapas principais deste processo: A primeira delas consiste na formulação escrita do problema, procurando defini-lo completamente, o que nem sempre é tarefa simples, tendo em vista que as descrições fornecidas ao projetista podem ser incompletas e conter inúmeras fontes mal entendidas. O estudo detalhado Do problema (etapa 2), implica em sua total compreensão e definição clara das condições de contorno envolvidas. A síntese propriamente dita, poderá então ser realizada. As etapas 3 e 4 correspondem à materialização da estrutura e verificação de seu correto funcionamento. Etapa (1) Etapa (2) Etapa (3) Etapa (4) Formulação inicial do problema e definição dos objetivos Estudo detalhado do problema e síntese da estrutura seqüêncial desejada Montagem da estrutura projetada Testes finais de verificação e eventual reformulação do projeto, até o funcionamento correto da estrutura Fig 1 - O processo de projeto e implementação de estruturas digitais elementares O comportamento de um sistema digital elementar pode ser determinado pelas relações que se estabelecem entre suas variáveis de entrada e saída. A síntese destas estruturas, consiste exatamente em determinar estas relações lógicas entre cada uma das variáveis de saída e as variáveis de entrada envolvidas. Estas relações, estabelecidas a partir da definição e descrição do problema, serão sintetizadas com base em modelos definidos a seguir.

4 REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS ELEMENTARES 1.1- Modelo combinatório As saídas do sistema,s1, s2... sm, são funções booleanas binárias apenas das entradas e 1, e 2... e n do mesmo. Ou seja: o conjunto de saídas fornecido pelo sistema num instante ti é perfeitamente determinado conhecendo-se o conjunto das variáveis de entrada aplicado a ele nesse instante. e 1 S 1 = f 1 (e 1,e 2,...e n ) e 2 Sistema combinatório S 2 = f 2 (e 1,e 2,...e n )... F... e n S n = f 2 (e 1,e 2,...e n ) Ou genericamente: S = F [E] 1.2- Modelo seqüencial Assíncrono Fig. 1.1 Modelo combinatório Neste caso, as saídas são funções booleanas (binárias) não apenas das entradas, mas também do estado interno do sistema seqüencial. Estas funções podem ser definidas de duas maneiras distintas (porém equivalentes) de acordo com a adoção do modelo de Mealy ou de Moore para representação da máquina seqüencial. Modelo de Moore: A função de saída é determinada pelo estado presente e a atualização de estado (estado futuro) depende da entrada presente e do próprio estado, ou seja: z 1 = f 1 (x 1, x 2...x k ) x 2 = f 2 (x 1, x 2... x k ) conjunto de equações de saída z m = (x 1,x 2 x k ) Conjunto de equações de Estado: x 1 ( t + Dt ) = g 1 [ x 1 (t), x 2 (t) x k (t) ; e l (t), e 2 (t) e n (t) ] x 2 ( t + Dt ) = g 2 [ x 1 (t), x 2 (t) xk(t); e l (t), e 2 (t) e n (t) ] : : x k ( t + Dt ) = g k [ x 1 (t), x 2 (t) xk(t); e l (t), e 2 (t) e n (t) ]

5 REDES DE PETRI 5 Genericamente, podemos escrever dois grupos de equações que definem completamente o comportamento do sistema: Z(t) = F [ x(t) ] Equações de saída X( t + Dt ) = G [ x(t), E(t) ] Equações de Estado onde: E = conjunto de entradas permitidas pelo sistema Z = conjunto de saídas fornecidas X = conjunto de estados internos do sistema A figura 1.2 ilustra o modelo de Moore, onde F e G são funções da álgebra booleana binária, e ( ) representa um elemento de memória, capaz de armazenar o estado interno do sistema durante um certo tempo ( ). F Z estado presente E G D estado futuro Fig. 1.2 Modelo de Moore Modelo de Mealy: Neste modelo, tanto a função de saída, como a de atualização de estado, dependem da entrada e do estado presente, representados matematicamente como se segue: z 1 = f l [ ( x 1, x 2...x k ) ; ( e 1, e 2... e n ) ] z 2 = f 2 [ ( x 1, x 2...x k ) ; ( e 1, e 2...e n ) ] : : z n = f n [ ( x 1, x 2...x k ) ; ( e 1, e 2...e n ) ] equações de saída e para as funções de estados: x 1 ( t + Dt ) = g 1 [ x 1 (t), x 2 (t)... x k (t) ; e l (t), e 2 (t) e n (t) ] x 2 ( t + Dt ) = g 2 [ x 1 (t), x 2 (t)... x k (t) ; e l (t), e 2 (t) e n (t) ] : : x k ( t + Dt ) = g n [ x 1 (t), x 2 (t)... x k (t) ; e l (t), e 2 (t) e n (t) ]

6 REDES DE PETRI 6 Generalizando as equações, onde F, G são funções booleanas binárias, e E, Z, X representam os conjuntos já mencionados anteriormente, temos: Z(t) = F [ X(t). E(t) ] X(t + Dt ) = G [ X(t), E(t) ] conjunto de equações de saída conjunto de equações de estado F Z estado presente E G D estado futuro Fig. 1.3 Modelo de Mealy Modelo Seqüencial Síncrono Nos modelos síncronos, as interações com o sistema se dão em intervalos de tempo bem determinados sob o comando de um relógio externo ao circuito, ou seja: Os instantes de comutação do conjunto de variáveis de entrada e saída, e do estado, estão sempre referenciados ás variações de uma variável binária particular (denominada relógio externo) que chamaremos R(t), e que dentro dos objetivos deste estudo será sempre periódico. Os modelos de Moore e Mealy anteriormente definidos, podem então ser reescritos como sendo: A) Modelo de Moore: Z(tn) = F [ X(tn) ] X (tn) + 1) = G [ X(tn), E(tn) ] equações de saída equações de estado B) Modelo de Mealy Z (tn) = F [ X(tn), E(tn) ] X (tn + 1 ) = G [ X(tn),E(tn) ] equações de saída equações de estado

7 REDES DE PETRI 7 Onde as referências de tempo t0, tl... tn, poderão corresponder aos instantes para os quais o relógio externo tenha valor lógico ZERO ou UM, ou ainda poderão corresponder apenas aos instantes de variação positiva ou negativa do sinal de relógio (sensíveis à borda do sinal de relógio). t variações variações positivas negativas Fig. 1.4 Informação externa de sincronismo (sinal de relógio) No modelo seqüencial síncrono, portanto, a discretização da variável tempo é obtida pela introdução da variável R(t), que fisicamente corresponderá a um sinal externo de sincronismo. Este sinal (Relógio) define, em última análise, os instantes permitidos de interação do sistema com o meio externo. F S(t) E(t) estado atual G Memória próximo estado Fig 1.5 Modelo Seqüencial síncrono 2 - UMA METODOLOGIA PARA PROJETAR SISTEMAS DIGITAIS Conceitos básicos Um conceito essencial em sistemas digitais é que a função lógica destes sistemas pode ser descrita independente dos detalhes internos do mesmo, ou seja: O SISTEMA pode ser representado por módulos funcionais que se comportam de forma previsível, e seu comportamento analisado e determinado através de mecanismos formais de descrição, como por exemplo tabelas de fluxo ou diagramas de estado. Por comportamento do sistema, entende-se a relação que se estabelece entre suas variáveis de entrada e saída em função do tempo. Desta forma, surge a idéia de projetar um sistema digital complexo particionando-o em uma série de subsistemas mais simples, caracterizando o comportamento de cada uma dessas partes e a seguir, a maneira pela qual elas se relacionam dando origem ao sistema inicialmente desejado. (figura 2.1).

8 REDES DE PETRI 8 e 1 S 1 e 1 S 1 e 2 SISTEMA S 2 e 2 P 1 P 3 S 2 e 3 DIGITAL S 3 e 3 S 3 : : e n S n e n P 2 P 4 S n Fig. 2.1 Partições do Sistema Digital A idéia de particionar um sistema digital complexo permite caracterizar pelo menos duas atividades distintas (mas inter relacionadas) dentro do processo de projetar estes sistemas. A primeira se refere ao PROJETO DO SISTEMA propriamente dito, definindo conjuntos de partições ( P1, P2... P3 ) que irão realizar as tarefas necessárias, especificando o comportamento de cada uma das partições e suas necessidades em termos de entradas e saídas. Estas partições serão chamadas MÓDULOS FUNCIONAIS ( ou blocos funcionais ). A segunda, consiste em analisar os detalhes de funcionamento de cada um dos módulos funcionais descritos anteriormente. Esta atividade será denominada PROJETO LÓGICO DO SISTEMA. O processo de projetar e realizar Sistemas Digitais pode ser subdividido em 3 fases denominadas respectivamente: DEFINIÇÃO, DESCRIÇÃO E SÍNTESE. DEFINIÇÃO se relaciona com o projeto do sistema como um todo, sua divisão em módulos funcionais, as necessidades de entradas e saídas de cada módulo, e seu inter-relacionamento. DESCRIÇÃO diz respeito aos detalhes de operação lógica de cada um dos módulos, e SÍNTESE se relaciona com o projeto do hardware ou seja: os circuitos que vão executar a descrição proposta. A idéia de projetar sistemas digitais complexos como um conjunto de subsistemas mais simples, que se inter-relacionam, implica em caracterizar estas partições do projeto, e os tipos de tarefas que cada partição deve realizar. Para isso, será admitido que as tarefas mais simples, uma vez definidas, podem ser enquadradas em uma de três categorias: 1. Tarefas de Memorização 2. Tarefas de Transformação 3. Tarefas de Controle As tarefas de memorização serão realizadas em MÓDULOS DE MEMÓRIA, cuja função é armazenar informações durante um certo período de tempo. As informações armazenadas nas memórias serão valores digitais organizados um a um ( bit a bit ) ou em conjuntos de bytes ( 8 bits ) ou palavras. A memória tem uma organização interna que lhe é própria, onde cada palavra ocupa uma ou várias posições que são descritas por um ENDEREÇO. Do ponto de vista lógico, as memórias podem ser vistas pelos projetistas, como se fossem tabelas com um certo número de linhas e colunas, cujo tamanho varia de acordo com a capacidade da memória. Estes módulos recebem portanto, como entrada, o endereço de uma linha da tabela, e fornecem como saída as PALAVRAS correspondentes (colunas) armazenadas naquele endereço. As memórias PROM, EPROM, EEPROM são os exemplos típicos destes módulos, onde as informações contidas são gravadas pelo projetista a partir da definição e programação dos dados que ele deseja armazenar. Outros módulos de memórias podem permitir ler ou escrever diversas vezes o conteúdo de um determinado endereço com

9 REDES DE PETRI 9 acessos de escrita ou leitura da informação armazenada. Memórias deste tipo serão caracterizadas no presente estudo, como registradores ou memórias ditas de acesso direto (memórias RAM Randon Access Memory). OS MÓDULOS DE TRANSFORMAÇÃO vão se caracterizar por receber um certo conjunto de entradas e modificá-los segundo uma relação lógica bem definida, fornecendo um conjunto de saídas correspondente ao conjunto de entradas recebido. Exemplos de módulos de transformação usuais são os somadores, as Unidades Lógicas e Aritméticas (ULAs), os codificadores (multiplex), decodificadores (demultiplex), etc. Também serão considerados módulos de transformação as interfaces entre o sistema e o meio externo onde ele deve residir como por exemplo um led que transforma um sinal elétrico em sinal luminoso, ou uma fotocélula que indica ao sistema a ocorrência de um evento externo. OS MÓDULOS DE CONTROLE, como o próprio nome indica, devem controlar as operações dos módulos de memória e dos módulos de transformação. As saídas dos módulos de controle podem depender não somente de suas entradas presentes (num instante de tempo t0), mas também de entradas passadas ocorridas em instantes anteriores, o que é característico das estruturas seqüenciais, uma vez que descrevem sistemas digitais que evoluem por estados. É importante ressaltar que cada um dos módulos aqui mencionados não deve ser visto pelo projetista do sistema como partições estanques. Os módulos podem e devem ser agrupados, sempre que conveniente, para simplificar a descrição do sistema. Por exemplo, um módulo pode ser designado coletivamente como módulo de controle, mesmo que no seu interior existam módulos de memória ou de transformação desde que a sua função principal, ao contexto geral do sistema, seja a função de controle. Interconexão dos Módulos Um grupo de módulos no qual um sistema foi particionado deve ser conectado por fios que transportam as informações lógicas, que serão denominados LINHAS LÓGICAS. Um conjunto de linhas lógicas em paralelo para transportar palavras de informação denomina-se via de comunicação. A forma pela qual os módulos são conectados através das vias, denomina-se ESTRUTURA DA VIA, e ela é extremamente importante para a operação adequada do sistema. Como exemplos de estruturas de VIAS, podemos citar: (Fig. 2.2a até 2d ) a) Estrutura em anel b) Estrutura totalmente conectada

10 REDES DE PETRI chave comutadora c) Estrutura de via única d) Estrutura de via com estrela (ou de barramento) Fig. 2.2 Exemplos de Estrutura de Vias de comunicação O Problema da descrição de tarefas e o Conceito de Algoritmo Descrever a operação de sistemas lógicos é, em sua essência, descrever todas as TAREFAS que ele deve realizar. Para a descrição destas tarefas, é fundamental rever o conceito de ALGORITMO, uma vez que ele é o ponto de partida para estas descrições e a realização de projetos de sistemas digitais. O Algoritmo é semelhante a uma receita para produzir um determinado resultado, mas deve ser definido de forma mais cuidadosa. A análise de um exemplo permitirá formular o conceito. O algoritmo representado a seguir, denomina-se algoritmo de EUCLIDES e está apresentado sob FORMA VERBAL, a qual consiste em: 1. Nome do Algoritmo 2. Breve descrição do seu propósito 3. Uma lista de seus passos ordenados A execução destes passos, na ordem indicada, realiza a tarefa desejada. Algoritmo de Euclides: - Dados dois números inteiros e positivos m e n, encontrar o seu máximo divisor comum. Passo 1: ( Encontrar o resto ) Dividir m por n, e seja r o resto. (0 < r < n ). Passo 2: ( Teste de zero ) Se r = 0 terminar o algoritmo e deixar n ser a resposta. Passo 3: ( Troca ) Se r > 0 trocar m por n e n por r e voltar ao passo 1. Uma forma mais conveniente de representar um algoritmo é por intermédio de fluxogramas. Um fluxograma é uma representação gráfica que indica a seqüência lógica de operações que devem ser realizadas para execução do algoritmo. Para representação dos fluxogramas, vamos utilizar apenas quatro tipos de blocos conforme indicado a seguir: (Fig. 2.3a até 3d). INÍCIO FIM a) Início de um processo b) Final de um processo

11 REDES DE PETRI 11 c) Bloco de instrução (executa a instrução designada internamente) d) Bloco de decisão Fig. 2.3 Notação básica de Fluxogramas O mesmo algoritmo de Euclides encontra-se agora representado na figura 2.4 através de um fluxograma. INÍCIO m n m n não sim n r r = 0? Resposta = n Fig.2.4 Fluxograma do Algoritmo de Euclides Um algoritmo também pode ser encarado como um processo, uma rotina, etc.. A palavra algoritmo, entretanto, terá um significado que vai além de um simples conjunto de regras numa determinada seqüência, que realiza uma determinada tarefa. Ele deve possuir características adicionais definidas da seguinte forma: 1. Deve ser FINITO: - Um algoritmo deve sempre terminar depois de um número finito de passos. 2. Deve ser PRECISO: - Cada passo do algoritmo deve ser definido de forma precisa. As ações executadas devem ser rigorosamente definidas, e sem ambigüidades. 3. ENTRADAS: - Um algoritmo pode ou não necessitar de entradas, que são condições iniciais a ele fornecidas. (O algoritmo de Euclides requer m e n inteiros e positivos). 4. SAÍDAS: - Um algoritmo possui uma ou mais saídas que são quantidades relacionadas com as entradas, ou características do próprio algoritmo ( o algoritmo de Euclides possui uma saída no passo 2 ). 5. Deve ser ÚTIL: - Um algoritmo deve produzir um resultado útil, ou seja: O resultado do algoritmo deve levar a um resultado prático que tenha alguma aplicação.

12 REDES DE PETRI O método de projeto O que foi exposto até aqui permite fazer uma primeira descrição das atividades envolvidas no processo de projetar sistemas digitais, e isto está representado no diagrama da figura 2.5, onde existem cinco etapas de projeto: INÍCIO DEFINIÇÃO DESCRIÇÃO não satisfatória AVALIAÇÃO satisfatória SÍNTESE TESTE falhas FIM correto Fig. 2.5 Fluxograma da atividade de projetar. Etapa 1: Definição: Consiste em estudar o sistema a ser realizado, de modo a definir um conjunto de requisitos do projeto e verificar, em função da complexidade do problema, se será necessário particionálo ou não em MÓDULOS FUNCIONAIS mais convenientes para a solução, os quais posteriormente serão interligados para constituir o sistema completo. Consiste também em esboçar as tarefas que serão realizadas pelos módulos funcionais, definir suas entradas e saídas e a forma pela qual eles deverão ser interligados. Etapa 2: Descrição: Tendo em vista as partições do problema definidas na fase 1, esta fase consiste em descrever ALGORITMOS para que as partições executem as tarefas desejadas.

13 REDES DE PETRI 13 Etapa 3: Avaliação: Avaliar a operação das fases 1 e 2, verificando se são satisfatórias, ou seja, se satisfazem a todos os requisitos do projeto. Etapa 4: Síntese: Consiste em transcrever as descrições dos algoritmos em um conjunto de módulos de circuitos (hardware) capazes de executar as tarefas correspondentes. Etapa 5:- Teste: Fazer medidas de funcionamento do circuito, de modo a comprovar que as tarefas são realizadas corretamente. A primeira parte do fluxograma da figura 2.5 (Avaliação das duas fases iniciais) é sem dúvida o ponto crítico da atividade de projetar. Quando o projetista consegue avaliar as duas fases iniciais satisfazendo os requisitos do projeto, ele passa a aplicar uma técnica de síntese que irá leva-lo à materialização da estrutura desejada. A seguir serão analisadas, de forma mais detalhada, as três etapas básicas da atividade de projetar (Definição, Descrição e Síntese) Exemplo de um projeto Este item analisa a fase de definição do projeto de um multiplicador binário para operar com números inteiros e positivos de até 16 bits. A colocação do problema Evidentemente, a realização do projeto de um multiplicador deve iniciar pela compreensão do algoritmo que será utilizado nas operações de multiplicação. A forma mais simples de rever este algoritmo é aplica-lo em números decimais, estendendo-o a seguir às operações com números binários. No exemplo que se segue, o algoritmo convencional é aplicado em base decimal, limitando o uso apenas de dígitos 0 e 1 (uma vez que o mesmo algoritmo será usado posteriormente em base binária). Multiplicar (1000)base10 por (1001)base 10 Multiplicando Multiplicador Produto Conforme o exemplo indica, o algoritmo pega os dígitos do multiplicador, um de cada vez da direita para a esquerda, fazendo a multiplicação de cada dígito do multiplicador pelo multiplicando, e colocando produtos intermediários à esquerda dos resultados anteriores. Cabe também observar que o número de dígitos do produto é maior que o número de dígitos da parcelas, ou seja: Se o comprimento do multiplicando for N dígitos e o do multiplicador for M dígitos, o resultado poderá ter até M + N dígitos. Finalmente, cabe ressaltar que se tivermos apenas dígitos zero e um (caso específico de base binária), cada passo da multiplicação fica simples, e teremos apenas duas possibilidades: a) Copiar o multiplicando no lugar apropriado quando o dígito multiplicador for UM (1 x multiplicando); b) Colocar ZERO se o dígito do multiplicando for zero.

14 REDES DE PETRI 14 Como as multiplicações em base binária oferecem sempre apenas dígitos ZERO ou UM, tem-se sempre apenas estas duas escolhas, e pode-se definir um algoritmo para realizar tarefa de multiplicação desejada. Este algoritmo, entretanto, não deve ser considerado (do ponto de vista de projeto do sistema digital) de forma isolada, mas em conjunto com os circuitos digitais (hardware) que irão implementa-lo. Uma primeira interação entre o algoritmo e o Hardware para realiza-lo A figura 2.6 apresenta um diagrama em blocos de um sistema digital capaz de realizar o algoritmo da multiplicação desejado em base binária. Como devem ser multiplicados números de até 16 bits, o registrador do multiplicando, a ALU (Unidade lógica aritmética) e o registrador de produto devem possuir 32 bits. O multiplicando começa ocupando apenas a metade do registrador (R_CANDO) e vai sendo deslocado em um bit para a esquerda em cada passo. Estes deslocamentos inserem sempre ZEROS à direita. O multiplicador é colocado no registrador correspondente (R_DOR), e vai sendo deslocado para a direita, um bit a cada passo da execução do algoritmo. O sistema deve iniciar com o registrador do produto (R_PROD) contendo apenas ZEROS. A unidade de controle, ao controlar a execução do algoritmo, decide quando deslocar os registradores do multiplicando, do multiplicador e também quando deve escrever novos valores no registrador de produto. A figura 2.7, adiante, apresenta o fluxograma correspondente ao algoritmo da multiplicação binária que foi adotado para este sistema, ou seja: Se o bit menos significativo do multiplicador for igual a UM, some o multiplicando ao produto e a seguir faça os deslocamentos necessários. Se este bit for igual a ZERO, faça apenas os deslocamentos ( do multiplicando 1 bit para a esquerda, e do multiplicador um bit para a direita). Estes passos devem ser repetidos 16 vezes para completar a operação (lembrar que a multiplicação é de dois números de 16 bits). ZERO MULTIPLICANDO MULTIPLICADOR 16 bits 16 bits 16 bits DIR SHIFT_LEFT REG. do MULTIPLICANDO REG. do MULTIPLICANDO R_CANDO LOAD1 R_DOR ESQ LOAD2 SHIFT_RIGHT 32 bits R_DOR(0) 32 bits ALU * * 64 bits unidade INC_CNT de controle RESET LOAD3 CONTADOR FIM_16 (MOD_16) REG. do PRODUTO R_PROD INÍCIO Fig Diagrama em Blocos do Sistema Digital Multiplicador

15 REDES DE PETRI 15 INÍCIO Carregue o multiplicador e o Multiplicando nos registros Some o multiplicando ao produto e coloque o resultado no registrador produto = 1 teste o bit 0 = 0 multiplicador Desloque o reg. do multiplicando de 1 bit à esquerda e Desloque o reg. do multiplicador de 1 bit à direita Incrementa a contagem dos passos 16 vezes? MENOR MAIOR Resultado está No Reg. Produto Fim Fig. 2.7 : Algoritmo da multiplicação que utiliza o sistema digital da fig.2.6 para sua implementação. De modo a ilustrar a aplicação do algoritmo, a tabela (figura 2.8) apresenta de forma detalhada cada passo da multiplicação, usando números de 8 bits ao invés de 16 bits, para facilitar a visualização do algoritmo. Lembrar que com isto, serão executados apenas 8 passos e o resultado terá um total de 16 bits. A título de exercício, esta tabela deve ser completada pelo aluno, para uma perfeita compreensão do algoritmo, e portanto, das tarefas que o sistema digital (que ele deseja projetar) deverá realizar.

16 REDES DE PETRI 16 Iteração Passo Multiplicando Multiplicador Produto 1 Valores Iniciais Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor 3 Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor 4 Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor 5 Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor 6 Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor 7 Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor 8 Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor Tabela Tabela para descrição passo a passo do algoritmo da multiplicação (a ser preenchida pelo aluno) CONCLUSÕES IMPORTANTES SOBRE A ANÁLISE DESTE EXEMPLO: 1) A composição de um sistema digital genérico Um sistema digital é usualmente dividido em duas partes principais: um fluxo de dados (FD) e uma unidade de controle (UC). O fluxo de dados é responsável pelas transformações de dados que ocorrem dentro do sistema digital, enquanto que a unidade de controle ordena as operações que devem ser conduzidas para realizar essas transformações (fig.2.9). Interligando esses dois módulos, existem os sinais de controle, aqueles que saem da unidade de controle e vão para o fluxo de dados, e os sinais de estado, aqueles que saem do fluxo de dados e vão para a unidade de controle. Os sinais de controle determinam que operações que devem ser realizadas no fluxo de dados, quando essas operações devem ser executadas e em que seqüência elas devem se suceder para que a funcionalidade do sistema seja corretamente implementada. Os sinais de estado possibilitam à unidade de controle observar o estado do fluxo de dados para poder tomar decisões sobre quais operações devem ser feitas a seguir. Portanto, a estrutura de um sistema digital genérico é a seguinte:

17 REDES DE PETRI 17 Sinais externos de Sinais externos de entrada do controle entrada do F. D. Sinais de controle. : UC Sinais de saída do controle p/ meio externo. : Sinais de estado FD sinais de saída do F. D. p/ meio externo Fig Estrutura de um sistema digital genérico As entradas do fluxo de dados são os seus pontos de controles. Um ponto de controle pode ser um sinal de seleção ou um sinal de acionamento ( clock ). Os sinais de seleção indicam as transformações e as trajetórias que devem ser executadas num determinado instante de operação do módulo (por exemplo, as variáveis de seleção de um multiplex). Os sinais de acionamento determinam quais registradores devem receber novos valores naquele instante. Os sinais de acionamento determinam também quando os registradores devem ser atualizados (por exemplo, sinais de LOAD de registradores). As saídas do fluxo de dados são os sinais de estado. Esses sinais são determinados de forma a tornar disponível à unidade de controle todas as informações que devem ser testadas, para que ela possa determinar o que fazer no ciclo atual e qual deve ser o próximo ciclo (por exemplo testar o bit menos significativo do multiplicador). Evidentemente, além dos sinais trocados entre o fluxo de dados e a unidade de controle, existem os sinais de entrada de dados, que vêem de fora do módulo para o fluxo de dados, os sinais de saída de dados, que saem do fluxo de dados, e vão para fora do módulo, os sinais de entrada de controle, que vêm de fora do módulo para a unidade de controle e os de saída de controle, que saem da unidade de controle e vão para fora do sistema. 2) Como o exemplo do Multiplicador se insere nestes conceitos? O sistema multiplicador pode ser esquematizado conforme indica a figura 2.10, onde as variáveis envolvidas na solução do problema estão indicadas, e podem ser definidas conforme se segue: Definição das variáveis da Unidade de Controle INÍCIO: Entrada do controle que permite iniciar uma operação no sistema; LOAD1, LOAD2, LOAD3: Saídas que acionam carga paralela no reg. respectivo; SHIFT LEFT: Saída que desloca registrador respectivo um bit para a esquerda; SHIFT RIGHT: Saída que desloca registrador respectivo um bit para a direita; RESET: Saída que permite zerar o contador módulo 16;

18 REDES DE PETRI 18 INC_CONT: Saída do controle que incrementa o contador módulo 16; FIM_16: Entrada do controle que indica o final de 16 contagens; R_DOR(0): Bit menos significativo do reg. Multiplicador (entrada do controle). Início Multiplicando e Multiplicador (*) LOAD1 LOAD2 LOAD3 SHIFT LEFT SHIFT RIGHT RESET INC_CONT FIM_16 R_DOR(0) Produto (*) pode ser 1 barramento compartilhado ou 2 barramentos independentes Fig Estrutura do sistema digital Multiplicador. O estudo da fase definição do projeto do multiplicador permitiu mostrar a importância da aplicação de uma metodologia para concepção, projeto e implementação de sistemas digitais de maior complexidade. Os capítulos que se seguem irão abordar de forma detalhada as fases seguintes da metodologia, ou seja: fases de descrição, síntese (simulação) e implementação de projetos de sistema digitais. O capítulo 3 analisa o problema da Descrição, mostrando que para descrever sistemas digitais são necessários mecanismos formais de descrição que auxiliam o projetista ao seu trabalho de identificar e descrever as tarefas que o sistema que está sendo projetado deverá executar. O modelo de redes de Petri será usado como mecanismo formal de descrição. O capítulo 4 interpreta este modelo, de forma a criar um mecanismo que permita realizar facilmente a passagem da fase de descrição para a fase de síntese do projeto, o que é analisado no capítulo 5, permitindo que o projetista transforme suas descrições de tarefas em unidades de controle digitais capazes de sincronizar e implementar a execução destas tarefas.

19 REDES DE PETRI O MODELO DE REDES DE PETRI COMO UM MECANISMO FORMAL DE DESCRIÇÃO E ANÁLISE DE SISTEMAS Histórico As redes de Petri foram originalmente propostas por Carl Adam Petri, em 1962, na Universidade de Darmstadt - Alemanha. Formulada como um modelo gráfico para descrever processamento de informações em sistemas, essas redes ao longo de vários anos de desenvolvimento, ganharam também um suporte matemático importante que as tornaram uma ferramenta extremamente adequada para modelamento e análise de inúmeras aplicações, tais como: Projeto de hardware, protocolos de comunicação, compiladores e sistemas operacionais, programação paralela e bancos de dados, circuitos lógicos programáveis etc... apenas para citar um contexto mais diretamente ligado à ciência da computação. Outras áreas onde o modelo também tem sido aplicado com sucesso são, por exemplo: Controle industrial de processos e automação da manufatura, avaliação de desempenho, modelamento de redes neurais, etc...é importante que o leitor tenha em conta sua abrangência, para que possa tirar proveito dele, procurando aplica-lo à solução de outros problemas que não aqueles diretamente ligados à concepção e projeto de hardware digital conforme será abordado neste curso Por que é necessário um mecanismo formal de descrição? Quando um sistema vai ser concebido, ou quando ele já existe e necessita ser analisado para sofrer manutenção ou modificações, é comum encontrar situações onde o sistema foi descrito de forma incompleta ou confusa, muitas vezes numa linguagem coloquial, que permite diversas interpretações diferentes e subjetivas para características ou funções que deveriam ter uma única interpretação. Um mecanismo formal de descrição, portanto, deve ser capaz de auxiliar a elaboração das especificações do sistema, evitar as ambigüidades na descrição de suas funções, e também ser de fácil compreensão. A idéia de usar um mecanismo formal de descrição, entretanto, não deve parar por aqui. Deve-se pensar também em analisar e validar as especificações, detectando erros e inconsistências antes mesmo de qualquer tentativa de implementação. A análise de especificações de um sistema deve ser entendida como sendo uma forma de mostrar que certas propriedades do sistema são verdadeiras em qualquer caso, evitando porém ter que enumerar e demonstrar todos os casos possíveis. Validar especificações de um sistema significa demonstrar que, em qualquer caso e respeitadas as condições impostas pelo meio onde o sistema irá residir, ele será capaz de responder às exigências feitas nas especificações. Dentro do âmbito dos sistemas estudados neste curso, o processo de análise e validação de especificações é muito importante, pois obriga o projetista a ir fundo em suas considerações a respeito do projeto, eliminando ambigüidades e incoerências, o que acaba por simplificar as etapas posteriores de implementação e testes, gerando uma documentação final extremamente útil, que pode inclusive conter procedimentos operacionais e de manutenção, visando garantir as especificações durante todo o tempo de vida útil concebido para o sistema. Portanto, é dentro desse contexto que as redes de Petri devem ser examinadas no âmbito desse curso Apresentação do modelo de redes de Petri Este item apresenta essas redes como um modelo abstrato, através de uma série de definições e propriedades. A seguir, será associada uma interpretação ao modelo, tornando-o adequado à descrição dos problemas que serão objeto de estudo do curso.

20 REDES DE PETRI Definição Trata-se de um modelo gráfico constituído de dois tipos de NÓS : Os Lugares e as Transições. Estes NÓS são interligados através de arcos orientados. Dessa forma, as redes de Petri podem ser definidas como uma tripla [L, T, A], onde: L = { l1, l2,... lm } é um conjunto finito de lugares, representados por círculos; T = { t1, t2,...tn } um conjunto finito de transições, representadas por barras; A = { a1, a2,...aj } um conjunto finito de arcos orientados, representados por setas que interligam etapas e transições. A figura3.1 apresenta o grafo de uma rede de petri genérica. Nesta rede, também deve ser associada à cada transição um conjunto de Lugares de Entrada e Lugares de Saída da transição. Os lugares de entrada são aqueles de onde saem os arcos orientados em direção às transições (na figura 3.1, L5 e L6 são lugares de entrada de t5). De forma análoga, os arcos orientados do Lugar para a Transição determinam os lugares de saída da transição ( L3 e L4 são lugares de saída de t2). L3 t3 L5 L1 t1 t2 t5 L4 t4 L6 Fig. 3.1 : Rede de Petri genérica O grafo apresentado permite representar o comportamento estático dos sistemas que desejamos modelar com o uso destas redes. Entretanto, elas também permitem descrever o comportamento dinâmico dos sistemas, o que é caracterizado através do conceito de MARCA e de MARCAÇÃO das redes, definidos a seguir: As marcas são entidades que existem dentro dos lugares da rede, são representadas por pontos, e podem ser produzidas ou consumidas pelas transições de acordo com um conjunto de regras de disparo destas transições, regras estas definidas formalmente no item A marcação da rede corresponde ao número de marcas que ela possui num certo instante, e a forma pela qual estas marcas estão distribuídas nas suas etapas. No estado inicial da rede, ela possui uma certa distribuição de marcas que deverá ser considerada numa análise qualquer. Esta marcação será denominada M0 (marcação inicial da rede). As marcações de uma rede genérica podem ser representadas através de um vetor, como por exemplo na figura 3.1, pelo vetor M0= ( ) que corresponde ao número de marcas respectivas nos lugares L1 a L6 num instante t0. Portanto, uma rede de Petri genérica fica definida quando é fornecido o seu grafo e a sua marcação inicial correspondente.

21 REDES DE PETRI 21 Regras de Evolução Para compreender a forma pela qual as redes de Petri evoluem ao longo do tempo e podem modelar o comportamento dinâmico de um sistema, será introduzido o conceito de validação e disparo das transições da rede. Definição 1 : Uma transição genérica da rede é dita habilitada, quando todos os lugares de entrada desta transição possuem pelo menos uma marca (as transições t1, t3 e t4 da fig.3.1 estão habilitadas). Uma transição habilitada pode disparar, e o seu disparo provocará uma evolução na marcação da rede. Definição 2 : O disparo de uma transição habilitada se faz de acordo com as seguintes regras: a) Remover uma marca de cada um dos lugares de entrada da transição; b) Colocar uma marca em cada um dos lugares de saída da transição A fig.3.2 apresenta duas marcações possíveis na evolução da rede já apresentada na figura 3.1. L3 t3 L5 L1 t1 t2 t5 L4 t4 L6 3.2a) Evolução da marcação inicial (fig.3.1) pelo disparo de t1 e t3 L3 t3 L5 L1 t1 t2 t5 L4 t4 L6 3.2b) Evolução da rede da figura 3.2a) pelo disparo de t2 Os arcos podem ser ponderados (associados a um número inteiro e positivo como indicado na fig.3.3). Um arco com peso W equivale a um conjunto de W-arcos em paralelo. Arcos representados sem ponderação equivalem ao valor unitário de W. O número de marcas existentes numa determinada etapa num determinado instante, também poderá ser associado ao conjunto de números inteiros positivos. Por exemplo, na rede da figura 3.3, a letra K dentro de L1 e L3 indica que existem K marcas dentro de cada um desses lugares no instante representado.

22 REDES DE PETRI 22 L1 K t1 W t2 L2 L3 K L4 t3 W t4 Fig.3.3 : Representação da ponderação de arcos e marcas O disparo da transição t1 implica em retirar uma marca do lugar L1 e W marcas do lugar L3 (K W), e colocar uma marca em L2. De forma análoga, o disparo de t3 implica em retirar uma marca de L2 e colocar uma marca em L1 e W marcas em L3 A seguir, é fornecida uma definição formal das redes de Petri, onde foram agregados também os conceitos de ponderação dos arcos e de marcação inicial da rede: Uma rede de Petri é uma quíntupla { L, T, A, W, M0 } L = { l1, l2,... lm } é um conjunto finito de lugares; T = { t1, t2,...tn } um conjunto finito de transições; A = { a1, a2,...aj } um conjunto finito de arcos orientados; W : F = {1, 2, 3, 4,...} é uma função de ponderação; M0 : P = { 1, 2, 3,...} é a marcação inicial da rede Seqüência de disparo de transições Seja S uma seqüência finita de transições pertencentes ao conjunto T = {t 1 t 2... t i...t n } de transições da rede, ou seja: S = {t i, t i t i+ k }. S será uma seqüência de transições ativáveis a partir de uma certa marcação Mi da rede, se e somente se, existem as marcações M i+1, M i M i+(k + 1) e estas marcações forem alcançáveis a partir do disparo das transições correspondentes, ou seja: M i t i M i +1 t i+1 Mi M i +k t i+k M i +k+1

23 REDES DE PETRI 23 Exemplo: Na rede indicada na figura 3.4, a seqüência de transições - S = {t1, t3, t5, t6, t7, t1, t2, t4} é uma seqüência ativável a partir de Mo = ( ), pois temos a seguinte evolução das marcações: Mo t 1 M1 t3 M 2 t 5 M 3 t 6 M 4 t 7 M 0 t 1 M 1 t 2 M 5 t 4 M1 M 0 = ( ) M 1 = ( ) M 2 = ( ) M 3 = ( ) M 4 = ( ) M 5 = ( ) L1 t2 t4 L3 t1 L2 t3 L4 t5 L t6 L 6 t7 t8 L7 t9 L t1 L t11 Fig Rede de Petri genérica

24 REDES DE PETRI Diagrama de marcações da rede O diagrama de marcações da rede será definido a partir do conceito de classe de marcações alcançáveis de M 0, cuja notação usada será M 0. Trata-se de um conjunto de marcações M i da rede, acessíveis a partir de uma marcação inicial M 0, ou seja: Para as quais existe ao menos uma seqüência de disparo S i, atingível a partir de M 0, e que conduza a M i. M i M 0, se somente se, Si tal que M 0 S i M i Obs: Si pode ser uma sequência vazia e portanto, M 0 M 0 Para o exemplo da figura 3.4, a partir da marcação inicial M 0 = ( ) temos a seguinte classe de marcações alcançáveis: M 0 = { M 0, M 1, M 2, M 3, M 4, M 5, M 6, M 7 } onde: M0 = ( ) M1 = ( ) M2 = ( ) M3 = ( ) M4 = ( ) M5 = ( ) M6 = ( ) M7 = ( ) Para outra marcação inicial M j, a classe de marcações subsequentes será diferente. Existe, portanto, uma classe associada a cada marcação inicial da rede. Definição : Diagrama de Marcações de uma rêde Este diagrama é representado através de um grafo orientado onde o conjunto de NÓS é M 0, e o conjunto de arcos (Mi, Mj) é definido como se segue: Mi M 0, M j M 0 e t T / M i t M j (Mi, Mj) A Sobre cada arco estão indicadas as transições que, quando ativadas, provocam a mudança da marcação Mi para Mj.

25 REDES DE PETRI 25 Exemplo: O diagrama de marcações subsequentes da rede, indicada na figura 3.4, é apresentado na figura 3.5. M 0 t 1 M 1 t 3 M 2 t 5 M 3 t 6 M 4 t 8 M 6 t 4 M t 2 t 9 5 t 10 t 7 M 7 t 11 Fig Grafo de marcações subsequentes da rede indicada na fig Representação matricial das redes de Petri Uma rede de Petri também pode ser representada matematicamente, por meio de matrizes. Vamos examinar dois tipos de representação distintos: A) Representação por "ETAPAS DE ENTRADAS" e "ETAPAS DE SAÍDA" das TRANSIÇÕES. Neste caso, temos duas matrizes que denominaremos respectivamente: EE (matriz de etapas de entrada), e ES (matriz de etapas de saída). Estas matrizes possuem um número de colunas igual ao número de ETAPAS (lugares) da rede, e um número de linhas igual ao número de TRANSIÇÕES, sendo seus elementos definidos da seguinte forma: Matriz de Etapas de entrada (EE) a ij = 1: se existe um arco interligando a etapa J com a transição i a ij = 0: não existe arco ligando a etapa J com a transição i. Matriz de etapas de Saída (ES) b ij = 1: se existe um arco interligando a transição i com a etapa J. b ij = 0: não existe arco de ligação da transição i com a etapa J. Se associarmos a estas duas matrizes o vetor M 0 da marcação inicial, teremos uma descrição completa da rede.

26 REDES DE PETRI 26 Para a rede indicada na figura 3.6 as matrizes serão: e1 e e3 e t1 EE= ES = t2 M 0 = [1000] t t4 a 22 = 1 Existe um arco ligando b 24 = 1 Existe um arco a etapa 2 com a ligando a transição transição 2 2 com a etapa 4 t1 e1 t2 e2 t3 e3 e4 t4 Fig Rede de Petri representada de forma matricial B) Representação por MATRIZ DE INCIDÊNCIA A matriz de incidência também possui um número de colunas igual ao número de ETAPAS da rede, e um número de linhas igual ao número de TRANSIÇÕES, e de modo que: C ij = 1 : se existe um arco que liga a transição i à etapa J C ij = -1 : se existe um arco ligando a etapa J com a transição i. C ij = 0 : se não existe nenhum arco entre a transição i e a etapa J.

27 REDES DE PETRI 27 Para a rede da fig 3.6, a matriz de incidência será: e1 e2 e3 e t1 I= t2 M 0 = [1000] t t Propriedades das redes Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0. A) Rede Demarcada Definição de Lugar Demarcado Um lugar L i do conjunto L = { L1 L2... Ln} é dito demarcado a partir da marcação inicial M 0, se e somente se, para todas as marcações M i M 0 existe um número N, inteiro e positivo, tal que: o número de marcas contidas no lugar Li em qualquer caso é menor ou igual a N, ou seja: M i (L i ) N. Definição de rede Demarcada Uma rede de Petri é dita demarcada, a partir de uma marcação inicial M0, se e somente se, todos os lugares Li do conjunto E são demarcados para M0. Para o exemplo da figura 3.7, a seqüência de disparo S = (t1, t2, t3) é ativável indefinidamente. Isto provoca um crescimento ilimitado do número de marcas na rede. Esta rede, portanto não é demarcada. e2 t2 e1 t1 e3 t3 Fig.3.7 Rede não Demarcada Pode-se demonstrar que uma rede de Petri é demarcada para uma marcação M0, se e somente se, a classe de marcações subsequentes de M0 é finita. A análise do caráter demarcado de uma rede é muito importante, pois permite detectar erros de descrição dos sistemas.

28 REDES DE PETRI 28 B) Rede de Petri Segura Uma rede de Petri é dita segura a partir de uma marcação inicial M0, se e somente se, todos os lugares da rede são demarcados com N=1, ou seja: Cada lugar da rêde pode conter apenas uma ou nenhuma marca para qualquer marcação possível da rêde. Exemplo: A rede da figura 3.8a é segura para M0 = (100), pois seu diagrama de marcações (indicado na figura 3.8b) mostra que todas as etapas são demarcadas para n = 1 t1 L2 L1 t2 L 3 M 1 t 1 t 3 M 0 = (1 0 0) M 0 M 1 = (0 1 0) t 4 t 2 M 2 = (0 0 1 ) t3 t4 M 2 (a) (b) Fig.3.8a - Rede segura para a marcação M 0 = (100) A mesma rede indicada na fig.3.8a, entretanto, não é segura para M0 = (101), conforme indica seu diagrama de marcações (figura 3.9). t2 t3 t1 M1 M0 t2 M2 t3 t4 t4 t2 t4 t1 M4 M3 t3 t1 M5 M 0 = (1 0 1) M 1 = (0 1 1 ) M 2 = (0 0 2) M 3 = (2 0 0) M 4 = (1 1 0) M 5 = (0 2 0) Fig Grafo de marcações da rede da fig.3.8a com M0 = (101)

29 REDES DE PETRI 29 C) Rede de Petri Viva. Uma rede de Petri é viva a partir de uma marcação inicial M 0, se e somente se, para todas as transições t i pertencentes ao conjunto T, e todas as marcações Mi de M0, existir numa seqüência de disparo S englobando t i e ativável a partir de Mi. No exemplo da figura 3.10 vemos, pelo diagrama de marcações, que a transição t3 não dispara nunca, pois não existe nenhuma seqüência de disparo da rede, que torne esta transição ativável, seja a partir de M0=(10) ou de M1=(01). A rede da figura 3.10, portanto, não é viva. P 1 T 1 T3 M0 T1 M1 T2 P 2 T 2 Mo = (10) M1 = (01) Fig.3.10 Rede Viva para M0 = (11) Neste mesmo exemplo (fig.3.10), entretanto, se tomarmos M0 = (11) como marcação inicial, obteremos o diagrama de marcações da figura t2 M1 M0 M2 t1 M 0 = (1 1) M 1 = (0 2) M 2 = (2 0) t3 Fig Novo Diagrama de Marcações M0 = (11) A partir de qualquer uma das marcações Mi, pode-se obter uma seqüência ti englobando todas as transições da rede. S 0 = {t 3, t 1, t 2 } S 1 = {t 2, t 1, t 3 } e S 2 = {t 1, t 2, t 3 } Esta mesma rede, portanto, é viva para M 0 = (11) O caráter vivo de uma rede de Petri é muito importante porque: Ele assegura que a rede não possui bloqueios (deadlock). O bloqueio corresponde a uma marcação, a partir da qual, nenhuma transição pode ser disparada. Ele assegura também que todas as partes da rede são acessíveis. t2 t1

30 REDES DE PETRI 30 D) - Rede de Petri Reinicializável Uma rede de Petri é reicializável para uma marcação inicial M0, se e somente se, para todas as marcações Mi, de M0 existir uma seqüência de disparos S, ativável a partir de Mi, que conduz novamente à marcação inicial M0. No exemplo da fig.3.12, não existe seqüência de disparos a partir de nenhuma das três marcações M1, M2 e M3, que conduza novamente à M0. Esta rede, portanto, não é reinicializável, embora seja viva. L1 L2 M 0 =( ) M 1 =( ) M 2 = ( ) t1 M 3 = ( ) t2 M0 t2 M1 L4 t3 L3 M3 t1 t2 t3 M2 Fig Rede reinicializável para M 0 = (1100) Na mesma rede (fig.3.12), entretanto, se partirmos da marcação inicial M0 = (1100), obteremos o diagrama de marcação da figura Este diagrama indica que a partir de qualquer marcação M i, é possível encontrar uma sequência S i que conduz a M0. S 0 = {t 2, t 1, t 3 } S 1 = {t 1, t 3 } S 2 = {t 3 } A rede é, portanto, reinicializável para esta nova marcação inicial, e igualmente viva. M0 t2 M1 t1 M2 t3 M 0 = ( ) M 1 = ( ) M 2 = ( ) Fig Diagrama de marcações da rede (fig. 3.12) p/ M 0 = (1100) O caráter reinicializável de uma rede traduz, portanto, sua capacidade de descrever sistemas que retornam ao estado inicial após terem executado uma sequência de tarefas exigidas.

31 REDES DE PETRI Exercícios propostos 1) Dada a Rede de Petri, descrita pelas matrizes EE e ES, abaixo: e1 e2 e3 e4 e1 e2 e3 e4 t t EE = t ES = t M = [1, 1, 0, 0] t t t t Pede-se: a) A matriz de Incidência b) As marcações possíveis e o grafo de marcações da rede c) A rede é reinicializável? Por que? d) A rede é segura? Por que? e) A rede é viva? Por que? t1 e1 t2 e3 t3 e2 e4 t4

32 REDES DE PETRI Dada a Rede de Petri abaixo: e1 e2 e3 t1 t2 e4 e5 t3 t4 com M0 = [ 1, 1, 1, 0, 0 ] Pede-se: a) As marcações possíveis e o diagrama de marcações b) A matriz de Incidência c) A rede é demarcada? Por que? d) A rede é segura? Por que? e) A rede é viva? Por que? f) A rede é reinicializável? Por que?

33 REDES DE PETRI 33 3) Dada a Rede de Petri, descrita pela sua matriz de Incidência I, abaixo: e1 e2 e3 e4 e5 e6 e7 t t I = t M0 = (1,1,1,0,0,0,0) t t t Pede-se: a) Desenhar a rede de Petri respectiva b) As matrizes de Entrada e Saída c) As possíveis marcações para esta rede e o diagrama de marcações d) Explicar se essa rede é viva, segura e reinicializável para a marcação inicial dada e) Repetir os itens (c) e (d) para a marcação inicial M0= E1 E2 E3 T1 T2 E4 E5 T3 T4 E6 E7 T5 T6

34 REDES DE PETRI Para a rede de Petri abaixo pede-se: a) As matrizes de Entrada e Saída b) As marcações possíveis e o diagrama de marcações para M0=10001 c) Explicar se a rede, para a marcação dada, é viva, segura e reinicializável. d) Repetir os itens (b) e (c) para a marcação M0=01100 E1 E2 E3 T1 T2 T3 E4 E5 T4 T5

35 REDES DE PETRI Para a Rede de Petri descrita abaixo pede-se, para M0= : a) A matriz de Incidência b) As marcações possíveis e o diagrama de marcações c) Esta rede, para a marcação inicial definida, seria demarcada, reinicializável, segura e viva? Justifique suas respostas. E1 E2 T1 E3 E4 T2 T3 E5 E6 E7 T4 T5

36 REDES DE PETRI INTERPRETAÇÃO DO MODELO Até este ponto, as redes de Petri foram definidas como um modelo abstrato. Uma rede, entretanto, passa a representar um sistema quando é associada uma interpretação às entidades que a compõe, ou seja: aos LUGARES, às TRANSIÇÕES e às MARCAS. O exemplo a seguir ilustra o conceito de interpretar uma rede de Petri para descrever a solução do seguinte problema: Um barqueiro precisa atravessar um rio levando um lobo, uma cabra e um maço de couve. Em cada travessia, somente podem ir no barco o barqueiro e uma das três cargas que devem ser transportadas. A fig. 4.1 descreve uma possível solução para este problema, com redes de Petri, nas seguintes condições: 1) o lobo e a cabra ou 2) a cabra e a couve nunca podem ficar sozinhos, sem o barqueiro, em qualquer lado do rio Tira a cabra LÔBO CABRA COUVE Barqueiro com a cruza o rio Coloca Lôbo no Cruzando o rio cruza o rio Barqueiro sozinho Cruza o rio Coloca cabra Barqueiro sozinho Cruza o rio Coloca couve no Bote Cruza o rio Cruza o rio Deixa o Lôbo Deixa a cabra Deixa a couve e coloca a cabra LÔBO CABRA COUVE Fig Descrição do problema do barqueiro Algumas interpretações típicas utilizadas no modelamento de sistemas descritos com essas redes são as seguintes: As transições representam eventos e os lugares representam condições. Uma transição possui um certo número de lugares de entrada e lugares de saída, que passam a representar respectivamente pré-

Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.

Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0. AULA 22 ESTUDO E APLICAÇÕES DAS REDES DE PETRI COMO MECANISMO DE DESCRIÇÃO DE SISTEMAS. 6. Propriedades das redes Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos 1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,

Leia mais

Circuitos Digitais Cap. 6

Circuitos Digitais Cap. 6 Circuitos Digitais Cap. 6 Prof. José Maria P. de Menezes Jr. Objetivos Flip-Flops e Dispositivos Correlatos Latch com portas NAND Latch com portas NOR Sinais de Clock e Flip-Flops com Clock Flip-Flop S-C

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - O NÍVEL DA MICROARQUITETURA 1. INTRODUÇÃO Este é o nível cuja função é implementar a camada ISA (Instruction Set Architeture). O seu projeto depende da arquitetura do conjunto das instruções

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

28/9/2010. Unidade de Controle Funcionamento e Implementação

28/9/2010. Unidade de Controle Funcionamento e Implementação Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do

Leia mais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação

Leia mais

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS 92 CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS Sumário 6.. Introdução... 94 6... Máquina de Estados de Moore... 94 6..2. Máquina de Estados de Mealy... 95 6.2. Projeto de Redes Sequenciais...

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

centena dezena unidade 10 2 10 1 10 0 275 2 7 5 200 + 70 + 5 275

centena dezena unidade 10 2 10 1 10 0 275 2 7 5 200 + 70 + 5 275 A. Sistemas de Numeração. Para se entender a linguagem do computador (o Código de Máquina), é necessário conhecer um pouco da teoria dos números. Não é uma tarefa tão difícil quanto pode parecer. Sabendo-se

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ICO Aula N : 09 Tema: Unidade Central de

Leia mais

Aula 09. Memórias e Circuitos Digitais Seqüenciais

Aula 09. Memórias e Circuitos Digitais Seqüenciais Aula 09 Memórias e Circuitos Digitais Seqüenciais Introdução Os circuitos lógicos estudados até aqui são chamados de combinacionais (ou combinatórios). São assim chamados porque a sua saída depende apenas

Leia mais

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação INE5406 - Sistemas Digitais semestre 2011/1 Prof. José Luís Güntzel guntzel@inf.ufsc.br

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Sistemas Digitais para Computação. AULAS TEÓRICAS 19 a 33

Sistemas Digitais para Computação. AULAS TEÓRICAS 19 a 33 Departamento de Computação Sistemas Digitais para Computação AULAS TEÓRICAS 9 a 33 Prof. MSc. Mário Oliveira Orsi Prof. MSc. Carlos Alexandre Ferreira de Lima Abril de 29 Sistemas Digitais para Computação

Leia mais

SISTEMAS DE NUMERAÇÃO

SISTEMAS DE NUMERAÇÃO Atualizado em Prof. Rui Mano E mail: rmano@tpd.puc rio.br SISTEMAS DE NUMERAÇÃO Sistemas de Numer ação Posicionais Desde quando se começou a registrar informações sobre quantidades, foram criados diversos

Leia mais

Capítulo VIII Registradores de Deslocamento e Contadores

Capítulo VIII Registradores de Deslocamento e Contadores Capítulo VIII Registradores de Deslocamento e Contadores 1 Introdução Vimos no capítulo anterior que flip-flops são dispositivos capazes de memorizar o seu estado (SET ou RESET). Neste capítulo estudaremos

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1 Conteúdo Página Operações Lógicas Binárias: AND, OR...2 Operações Lógicas Binárias: OR Exclusivo (XOR)...3 Contatos Normalmente Abertos e Normalmente Fechados. Sensores e Símbolos... 4 Exercício...5 Resultado

Leia mais

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Pulsos Digitais Pulso positivo: executa sua função quando está em nível alto Pulso negativo: executa sua função quando

Leia mais

Hardware de Computadores

Hardware de Computadores Sistema Binário Hardware de Computadores O sistema binário é um sistema de numeração posicional em que todas as quantidades são representadas, utilizando-se como base as cifras: zero e um (0 e 1). Os computadores

Leia mais

PROGRAMAÇÃO II 4. ÁRVORE

PROGRAMAÇÃO II 4. ÁRVORE 4. ÁRVORE PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma árvore impõe uma estrutura hierárquica em uma coleção de itens. Um exemplo familiar é a árvore genealógica. Árvores despontam de forma natural em

Leia mais

ELETRÔNICA. Changed with the DEMO VERSION of CAD-KAS PDF-Editor (http://www.cadkas.com). INTRODUÇÃO

ELETRÔNICA. Changed with the DEMO VERSION of CAD-KAS PDF-Editor (http://www.cadkas.com). INTRODUÇÃO 0010100111010101001010010101 CURSO DE 0101010100111010100101011101 1010011001111010100111010010 ELETRÔNICA 1010000111101010011101010010 DIGITAL INTRODUÇÃO Os circuitos equipados com processadores, cada

Leia mais

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico

Leia mais

Aula 8 Circuitos Integrados

Aula 8 Circuitos Integrados INTRODUÇÃO À ENGENHRI DE COMPUTÇÃO PONTIFÍCI UNIVERSIDDE CTÓLIC DO RIO GRNDE DO SUL FCULDDE DE ENGENHRI ula Circuitos Integrados Introdução Portas Lógicas em Circuitos Integrados Implementação de Funções

Leia mais

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Representação de grandeza com sinal O bit mais significativo representa o sinal: 0 (indica um número

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Índice. Modelos e Procedimentos

Índice. Modelos e Procedimentos Sumário Introdução ao projecto de lógica sequencial. Índice Modelos e Procedimentos Abstracção de elementos com estado Formas de lógica sequencial Representação de Máquinas de Estados Finitas Parte da

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann Universidade Federal de Santa Maria NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann O modelo (ou arquitetura) de von

Leia mais

Sistemas de Numerações.

Sistemas de Numerações. Matemática Profº: Carlos Roberto da Silva; Lourival Pereira Martins. Sistema de numeração: Binário, Octal, Decimal, Hexadecimal; Sistema de numeração: Conversões; Sistemas de Numerações. Nosso sistema

Leia mais

Segue-se o estudo da forma como os computadores armazenam e acedem às informações contidas na sua memória.

Segue-se o estudo da forma como os computadores armazenam e acedem às informações contidas na sua memória. 4. Variáveis Para a execução de qualquer tipo de programa o computador necessita de ter guardados os diferentes tipos de dados, já estudados. Esses dados estão guardados na sua memória. Segue-se o estudo

Leia mais

Exemplo de Subtração Binária

Exemplo de Subtração Binária Exemplo de Subtração Binária Exercícios Converta para binário e efetue as seguintes operações: a) 37 10 30 10 b) 83 10 82 10 c) 63 8 34 8 d) 77 8 11 8 e) BB 16 AA 16 f) C43 16 195 16 3.5.3 Divisão binária:

Leia mais

Algoritmos DCC 119. Introdução e Conceitos Básicos

Algoritmos DCC 119. Introdução e Conceitos Básicos Algoritmos DCC 119 Introdução e Conceitos Básicos Sumário Sistemas de Numeração Sistemas Computacionais Estrutura de um Computador Digital Sistemas Operacionais Algoritmo Introdução Formas de representação

Leia mais

Aula 2 Modelo Simplificado de Computador

Aula 2 Modelo Simplificado de Computador Aula 2 Modelo Simplificado de Computador Um computador pode ser esquematizado de maneira bastante simplificada da seguinte forma: Modelo Simplificado de Computador: Memória Dispositivo de Entrada Processador

Leia mais

MINISTÉRIO DA EDUCAÇÃO IFSC - Campus São José. CST em Telecomunicações ELETRÔNICA DIGITAL CONTADORES. Marcos Moecke

MINISTÉRIO DA EDUCAÇÃO IFSC - Campus São José. CST em Telecomunicações ELETRÔNICA DIGITAL CONTADORES. Marcos Moecke MINISTÉRIO DA EDUCAÇÃO IFSC - Campus São José CST em Telecomunicações ELETRÔNICA DIGITAL CONTADORES Marcos Moecke São José - SC, 29 SUMÁRIO 5. CONTADORES... 5. CONTADORES ASSÍNCRONOS 5. C 5.2 C ASSÍNCRONOS......

Leia mais

3 Sistemas de Numeração:

3 Sistemas de Numeração: 3 Sistemas de Numeração: Os computadores eletrônicos têm como base para seu funcionamento a utilização de eletricidade. Diferente de outras máquinas que a presença ou ausência de eletricidade apenas significam

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br Introdução INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br introdução Tópicos conceitos básicos o que é um programa um programa na memória decifrando um código referência Capítulo

Leia mais

Algoritmos e Programação I

Algoritmos e Programação I Algoritmos e Programação I Introdução a Computação Prof. Fernando Maia da Mota mota.fernandomaia@gmail.com CPCX/UFMS Fernando Maia da Mota 1 Computadores são dispositivos que só sabem fazer um tipo de

Leia mais

Aritmética Binária e. Bernardo Nunes Gonçalves

Aritmética Binária e. Bernardo Nunes Gonçalves Aritmética Binária e Complemento a Base Bernardo Nunes Gonçalves Sumário Soma e multiplicação binária Subtração e divisão binária Representação com sinal Sinal e magnitude Complemento a base. Adição binária

Leia mais

Projeto de Máquinas de Estado

Projeto de Máquinas de Estado Projeto de Máquinas de Estado Organizado por Rodrigo Hausen. Original de Thomas L. Floyd. Versão 0: 15 de março de 2013 http://compscinet.org/circuitos Resumo Grande parte deste texto, exemplos e estrutura

Leia mais

for Information Interchange.

for Information Interchange. 6 Memória: 6.1 Representação de Memória: Toda a informação com a qual um sistema computacional trabalha está, em algum nível, armazenada em um sistema de memória, guardando os dados em caráter temporário

Leia mais

Conceitos básicos do

Conceitos básicos do Conceitos básicos Conceitos básicos do Este artigo descreve os conceitos de memória eletrônica. Apresentar os conceitos básicos dos flip-flops tipo RS, JK, D e T, D Apresentar o conceito da análise de

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio: ELETRÔNICA DIGITAl I 1 SISTEMAS DE NUMERAÇÃO INTRODUÇÃO A base dos sistemas digitais são os circuitos de chaveamento (switching) nos quais o componente principal é o transistor que, sob o ponto de vista

Leia mais

CALCULADORA SIMPLES COM ULA

CALCULADORA SIMPLES COM ULA CALCULADORA SIMPLES COM ULA Versão 2012 RESUMO 1 Esta experiência tem por objetivo a utilização de circuitos integrados de operações lógicas e aritméticas para o desenvolvimento de circuitos que executam

Leia mais

PROGRAMADOR JAVA. Aula 0 20 semanas. Instrutor : Léo Billi Email : leo.billi@gmail.com

PROGRAMADOR JAVA. Aula 0 20 semanas. Instrutor : Léo Billi Email : leo.billi@gmail.com Aula 0 20 semanas Instrutor : Léo Billi Email : leo.billi@gmail.com Bem-vindos Para que não sabe, quer dizer iniciantes. Noobs Informática A arte de processar dados A História A História A arte de processar

Leia mais

Modelagem de Sistemas

Modelagem de Sistemas Modelagem de Sistemas Em muitas áreas de estudo, um fenômeno não é estudado diretamente, mas através de um modelo. Um modelo é uma representação, freqüentemente em termos matemáticos, do que parecem ser

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 02: Conceitos Básicos Conceitos Básicos Conceitos fundamentais: dado, informação e processamento de dados Conceitos de algoritmo, algoritmo ótimo, hardware. Software e

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

Programa da disciplina, i metodologia de ensino, avaliações e bibliografia básica. Objetivos da Disciplina

Programa da disciplina, i metodologia de ensino, avaliações e bibliografia básica. Objetivos da Disciplina Circuitos Digitais Cap. 1 Prof. José Maria P. de Menezes Jr. Circuitos Digitais Tópicos Digitais I- Engenharia Elétrica -UFPI Programa da disciplina, i metodologia de ensino, avaliações e bibliografia

Leia mais

CAPÍTULO 5 CIRCUITOS SEQUENCIAIS

CAPÍTULO 5 CIRCUITOS SEQUENCIAIS CAPÍTULO 5 CIRCUITOS SEQUENCIAIS Circuitos com memória Latches NAND e NOR e exemplos de utilização Estado do Flip-flop ao ligar o circuito Pulsos digitais Sinais de clock e flip-flops com clock circuitos

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO

CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO CONSTRUÇÃO DE UMA UCP HIPOTÉTICA M++ INTRODUÇÃO O seguinte artigo apresenta uma UCP hipotética construída no software simulador DEMOWARE Digital Works 3.04.39. A UCP (Unidade Central de Processamento)

Leia mais

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

Leia mais

EA773 - Experimento 5

EA773 - Experimento 5 EA773 - Experimento 5 Wu Shin - Ting DCA - FEEC - Unicamp 19 de Novembro de 2009 O projeto consiste em implementar uma calculadora com memória com uso de barramento de 8 bits. Neste documento são discutidos

Leia mais

Organização de Computadores Como a informação é processada?

Organização de Computadores Como a informação é processada? Curso de ADS/DTEE/IFBA Organização de Computadores Como a informação é processada? Prof. Antonio Carlos Referências Bibliográficas: 1. Ciência da Computação: Uma visão abrangente - J.Glenn Brokshear 2.

Leia mais

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CEB José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 29/21 Módulo 1: Sistemas de Numeração

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira kilmer_pereira@yahoo.com.br

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira kilmer_pereira@yahoo.com.br PRONATEC FUNDAMENTOS DE HARDWARE Prof. Kilmer Pereira kilmer_pereira@yahoo.com.br Processamento de Dados Etapas do Processamento de Dados Dado: inserido no computador Processamento: organização, transformação

Leia mais

Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21

Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21 Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21 7ª Experiência Síntese de Circuitos Sequenciais Síncronos 1. Objetivos

Leia mais

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2 INFORMÁTICA Sistemas de Numeração Professor: Rogério R. de Vargas 2014/2 Sistemas de Numeração São sistemas de notação usados para representar quantidades abstratas denominadas números. Um sistema numérico

Leia mais

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1 Introdução à Organização e Arquitetura de Computadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Evolução dos Computadores; Considerações da Arquitetura de von Neumann; Execução de uma instrução

Leia mais

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 6-T 2. Máquinas Sequencias Síncronas: Comparação entre

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Estrutura interna de um microcontrolador

Estrutura interna de um microcontrolador Estrutura interna de um microcontrolador Um microcontrolador é composto por um conjunto de periféricos interligados a uma unidade de processamento e todo este conjunto confere a este componente uma versatilidade

Leia mais

Tópico 4. Como Elaborar um Relatório e Apresentar os Resultados Experimentais

Tópico 4. Como Elaborar um Relatório e Apresentar os Resultados Experimentais Tópico 4. Como Elaborar um Relatório e Apresentar os Resultados Experimentais 4.1. Confecção de um Relatório 4.1.1. Organização do relatório Um relatório é uma descrição detalhada, clara e objetiva de

Leia mais

Introdução à Lógica de Programação

Introdução à Lógica de Programação Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha

Leia mais

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

Leia mais

Lição 1 Introdução à programação de computadores

Lição 1 Introdução à programação de computadores Lição Introdução à programação de computadores Introdução à Programação I Objetivos Ao final desta lição, o estudante será capaz de: Identificar os diferentes componentes de um computador Conhecer linguagens

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis Ciência da Computação Arq. e Org. de Computadores Máquinas Multiníveis Prof. Sergio Ribeiro Computador digital máquina que resolve problemas executando uma série de instruções. Programa conjunto de instruções

Leia mais

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 1 - SISTEMA DE NUMERAÇÃO BINÁRIA E DECIMAL Todos os computadores são formados por circuitos digitais, onde as informações e os dados são codificados com dois níveis de tensão, pelo que o seu sistema

Leia mais

1.6. Tratamento de Exceções

1.6. Tratamento de Exceções Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER

Leia mais

Aula 3 - Sistemas de Numeração

Aula 3 - Sistemas de Numeração UEM Universidade Estadual de Maringá DIN - Departamento de Informática Disciplina: Fundamentos da Computação Profª Thelma Elita Colanzi Lopes thelma@din.uem.br Aula 3 - Sistemas de Numeração O ser humano,

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD)

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD) Diagrama de entidades relacionamentos (abordado anteriormente) Prod_Forn N N 1 Stock 1 1 N Prod_Enc N 1 N 1 Fornecedor Movimento Encomenda Diagrama de Fluxo de Dados (DFD) Ferramenta de modelação gráfica,

Leia mais

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: RGM: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS O objetivo desse projeto extra é aplicar os conceitos vistos em aula

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

Visão geral do sistema de armazenamento e hierarquia de memória

Visão geral do sistema de armazenamento e hierarquia de memória Visão geral do sistema de armazenamento e hierarquia de memória Conhecer os dispositivos de armazenamento por meio do conceito e dos tipos de memórias utilizadas no computador. Subsistemas de memória Memória

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

2 Formalidades referentes ao trabalho

2 Formalidades referentes ao trabalho Bacharelado em Ciência da Computação DINF / UFPR Projetos Digitais e Microprocessadores 1 o Semestre de 2006 MICO-v12.r0 07/03/2006 Profs. Luis Allan Künzle e Armando Luiz Nicolini Delgado Atenção: Este

Leia mais

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz. SISTEMAS DIGITAIS Memórias Alterado para lógica positiva por Guilherme Arroz Sistemas Digitais 1 Tipos de memórias Existem vários tipos de memórias em sistemas digitais As memórias internas dos dispositivos,

Leia mais

Aula 01. - Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

Aula 01. - Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson. - Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios Aula 01 Slide 1 BIBLIOGRAFIA SCHILDT H. C Completo e Total, Makron Books. SP, 1997. Curso de linguagem C da UFMG. ZIVIANI,

Leia mais

Circuitos Seqüenciais: Latches e Flip-Flops. Fabrício Noveletto

Circuitos Seqüenciais: Latches e Flip-Flops. Fabrício Noveletto Circuitos Seqüenciais: Latches e Flip-Flops Fabrício Noveletto Objetivos Usar portas lógicas para construir latches básicos Explicar a diferença entre um latch S-R e um latch D Reconhecer a diferença entre

Leia mais

ARQUITETURA DE COMPUTADORES Prof. João Inácio

ARQUITETURA DE COMPUTADORES Prof. João Inácio ARQUITETURA DE COMPUTADORES Prof. João Inácio Memórias Memória: é o componente de um sistema de computação cuja função é armazenar informações que são, foram ou serão manipuladas pelo sistema. Em outras

Leia mais

1 - Processamento de dados

1 - Processamento de dados Conceitos básicos sobre organização de computadores 2 1 - Processamento de dados O que é processamento? O que é dado? Dado é informação? Processamento é a manipulação das informações coletadas (dados).

Leia mais

Autómatos Finitos Determinísticos

Autómatos Finitos Determinísticos Ficha 2 Autómatos Finitos Determinísticos 2.1 Introdução Se olharmos, de forma simplificada, para um computador encontramos três componentes principais: a) A unidade de processamento central b) As unidades

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais