• Nenhum resultado encontrado

Sistemas Lógicos II. Aula 4

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Lógicos II. Aula 4"

Copied!
17
0
0

Texto

(1)

Sistemas Lógicos II

(2)

2 J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Datas de testes

• 1º teste

– 30 de Abril – 17h00

• 2º teste

– 11 de Junho – 14h00

(3)

J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Arquitectura e controlo

Voltando ao início...

Registos definidos com base

em CI (menos funcionalidades)

Necessário definir sequência

de controlo consoante a operação/instruçãoMicro-processador – Várias instruções1 instrução - microprograma Registo CI n bits Somador n bits Acumulador n bits Registo n bits Registo n bits

(4)

4 J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

– E.g. Receita de culinária para fazer bolo:

Algoritmo

«Sequência finita e não ambígua de passos

que permite resolver um problema.»

Dados:

1. Separar as gemas das claras dos ovos

2. Derreter a manteiga

3. Juntar o açúcar à manteiga derretida

4. Juntar a farinha

5. Juntar as gemas

6. Bater as claras em castelo

7. Juntar ao resto da mistura

8. Colocar numa forma

9. Levar ao forno, durante 1 hora

(5)

J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Formas de exprimir algoritmos

• Textuais

– Em linguagem

natural

(e.g. Receita)

– Pseudo-código

– Linguagem de

programação

• Gráficas

– Fluxogramas

– Program Graph

– Diagramas

Nassi-Schneiderman

Algoritmo estruturado

• Abordagem «top-down»

• «Dividir para conquistar»

(6)

6 J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Algoritmo estruturado

• Técnica de organização e codificação de

algoritmos

– Reduz complexidade – Clarifica processo

– Facilita detecção de erros e alteração

• Desvantagens

– Algumas estruturas só existem em linguagens de alto

nível

– Pode necessitar mais memória e ser mais lento do que o

seu equivalente não estruturado

• Objectivo:

– Decompor em blocos,

(7)

J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Construção de algoritmo

• Compreender o problema

• Identificar dados de entrada

• Identificar dados de saída

– Como proceder para produzir dados de saída a partir

dos dados de entrada

• Dividir para conquistar (método cartesiano) • Identificar regras e limitações

• Identificar acções a realizar • Eliminar ambiguidades

• Construir o algoritmo

• Testar o algoritmo (atenção aos casos extremos)

• Executar o algoritmo

(8)

8 J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Exemplo: determinar

zeros de ax+b=0

Em pseudo-código – Início do programa – Ler a – Ler b – Se a ≠≠≠≠0 entãoX=b/aImprimir x – Senão

Imprimir “Não há zeros”

– Fim se

– Fim do programa

• Em linguagem natural:

– Iniciar por ler os valores de a e de b. Se o valor de a for

diferente de 0, então calcular x=b/a e devolver o valor de x; senão a equação não tem zeros. Fim do algoritmo.

Em fluxograma Ler a Início a<>0 x=b/a T Ler b Imprimir x Imprimir "Não há seros" F Fim

(9)

J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Fluxogramas

– Elementos Básicos –

• Terminador de

programa

• Seta de fluxo de

programa

• Caixa de

processo

• Bloco de decisão

• Bloco de

entrada/saída

• Caixa de

processo

pré-definido

• Sequência de

acções

<Acção 1> <Acção 2> <Acção 3>

(10)

10 J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Estruturas básicas de controlo

• Pseudo-código

– Decisão

• Se <condição>

– Então <acções A> – Senão <acções B> • Fim_se

– Repetição condicional: Enquanto ... fazer

• Enquanto <condição> • Fazer

– Acções C • Feito

– Repetição condicional: Fazer ... até

• Fazer – Acções D • Até <condição>

• Fluxograma

<condição> <Acções A> <Acções B> T F <condição> <Acções C> T F <condição> <Acções D> T F

(11)

J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Estruturas básicas de controlo

(cont.)

• Pseudo-código

– Decisão múltipla

• Caso

– <cond1> então <acções A> – <cond2> então <acções B> – Omissão <acções C> • Fim_caso

• Fluxograma

<cond1> F T <Acções A> <cond2> <Acções B> T <Acções C> F

(12)

12 J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Arquitectura e controlo

Estrutura de uma instrução

• Algoritmo para

somar

αααα

+

ββββ

– Entradas inexistentes

– Saídas

• Ligação

permanente

– Ligado às saídas Q

(13)

J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

1ª aproximação

αααα

=

αααα

+

β

• Sinais de controlo

– CI

• R, W, C, I, Z

– ACC

• R

A,

W

A

, Z

A

– Registo

αααα

• R

αααα

,

W

αααα

– Registo

β

• R

β

,

W

β

1. ZA – Limpar ACC

2. R

αααα

– Ler

αααα

3. W

– Escrever α em CI

4. R

– Ler CI -> α entrada ACC

5. W

A – Escrever α em ACC,

αααα

na entrada do somador

6. R

β

– Ler

β

7. W

– Escrever

β

em CI

8. R

– Ler CI -> α+

β

na entrada do ACC

9. W

A – α+

β

no ACC

10. R

A – α+

β

no Bus

11. W

αααα

α

β

α

(14)

14 J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

2ª aproximação

αααα

=

αααα

+

β

Paralelismo

1. ZA – Limpar ACC

2. R

αααα

– Ler

αααα

3. W

– Escrever α em CI

4. R

– Ler CI -> α entrada ACC

5. W

A – Escrever α em ACC,

αααα

na entrada do somador

6. R

β

– Ler

β

7. W

– Escrever

β

em CI

8. R

– Ler CI -> α+

β

na entrada do ACC

9. W

A – α+

β

no ACC

10. R

A – α+

β

no Bus

11. W

αααα

– α+

β

no reg. α

• Enquanto não se escrever no acumulador, pode-se limpar o acumulador... i.e. 1. Pode ser feito em

paralelo com 2, 3, ou 4

• 2 e 3 não devem ser feitos em paralelo, a não ser

que se garanta que num ciclo de relógio a escrita só é feita na transição de 1 para 0

• Escrita no Acumulador pode ser feita em paralelo com a leitura de β

• Complicado de decidir, não é?

(15)

J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

2ª aproximação

αααα

=

αααα

+

β

-paralelismo - fluxograma

1. ZA – Limpar ACC

2. R

αααα

– Ler

αααα

3. W

– Escrever α em CI

4. R

– Ler CI -> α entrada ACC

5. W

A – Escrever α em ACC,

αααα

na entrada do somador

6. R

β

– Ler

β

7. W

– Escrever

β

em CI

8. R

– Ler CI -> α+

β

na entrada do ACC

9. W

A – α+

β

no ACC

10. R

A – α+

β

no Bus ZA Ralpha W R WA Rbeta W R WA RA Start

(16)

16 J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

2ª aproximação

αααα

=

αααα

+

β

-paralelismo - fluxograma

ZA Ralpha W R WA Rbeta W R WA RA Walpha Start End ZA Ralpha W R WA Rbeta W R WA RA Walpha Start End Estado 0 Estado 1 Estado 2 Estado 3 Estado 4 Estado 5 Estado 6 Estado 7

(17)

J o ã o P a u lo P im e n o ( p im @ fc t. u n l. p t)

Simplificações adicionais

• Admitindo que os

registos guardam

no flanco

descendente, é

possível colocar

em paralelo

operações de

leitura de registos

(activação de

tri-state) e escrita

(em Flip-Flops)

ZA Ralpha W R WA Rbeta W R WA RA Walpha Start Estado 0 Estado 1 Estado 2 Estado 3 Estado 4 Estado 5

Referências

Documentos relacionados

Para estudos futuros, é possível realizar uma coleta de dados que possibilite, apresentar propostas direcionadas a utilização do grão após a extração de seus

Conclui-se diante dos resultados obtidos, que houve associação entre idosos depressivos com algumas características sócio demográficas e doenças auto relatadas.. Este tipo

Janeiro para o Espírito Santo e depois para Santa Catarina, buscando novos negócios, foi outro fator de diferenciação entre Victorino e muitos dos outros

Como você já deve ter percebido, não há nada demais com esse modelo de banco de dados, as tabelas estão interligadas normalmente usando chaves primárias e chaves

conforme a estirpe de BFNN utilizada. As duas estirpes  de BFNN aprovadas como inoculantes pelo Ministério  da  Agricultura,  Pecuária  e  Abastecimento  ‑ 

Assim, de maneira gradual, o escritor percebe que suas estruturas narrativas não são mais eficientes como antes e começa então a transformar a dinâmica da narrativa na

PROFESSORA: Bárbara Simões DATA DA AULA: 20/08/2021 – 4° aula.. SEQUÊNCIA DIDÁTICA–METODOLÓGICA

Alguns implementos utilizados na silvicultura podem ser utilizados em ILPF, tais como: subsolador/sulcador florestal para preparo das linhas de plantio das