Microprocessadores. Arquitecturas Aritméticas Controladores

Documentos relacionados
Arquitectura de Computadores I

Arquitectura de Computadores I. Sistemas Digitais Sequenciais

Microprocessadores. Arquitectura Geral de Microprocessador

Arquitetura e Organização de Computadores

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante

Capítulo 2. Representação de números em vírgula flutuante

Sistemas Digitais (SD) Circuitos combinatórios: somadores, subtractores e comparadores

Arquitetura e Organização de Computadores

SISTEMAS DIGITAIS (SD)

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin

Arquitetura de Computadores

Antes de começar o exame leia atentamente esta folha de rosto

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS

Organização de Computadores I

Guilherme Martini Gustavo Schmid de Jesus Luís Armando Bianchin Márcio José Mello da Silva

Aula 3 - Representação de Dados

Sistemas Digitais INE 5406

MULTIPLEXADOR E DEMULTIPLEXADOR (Unidade 4)

SEPS REPRESENTAÇÃO DE Nºs DIGITAIS I

Aula 10. Circuitos Aritméticos. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos

Aula 11. A Informação e sua Representação Ponto-Flutuante. Prof. Dr. Dilermando Piva Jr.

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Métodos Numéricos - Notas de Aula

ELETRÔNICA DIGITAL I

Sistemas numéricos e a Representação Interna dos Dado no Computador

Projecto de Sistemas Digitais. Introdução

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

ARQUITECTURA DE COMPUTADORES

Organização e Arquitetura de Computadores I

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários

Estouro e Representação em Ponto Flutuante

Dessa forma pode-se transformar qualquer número em qualquer base para a base 10.

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs)

EELi02 Circuitos Lógicos

ARQUITETURA DE COMPUTADORES

Números Binários. Apêndice A V1.0

ENGª DE ELECTRÓNICA E COMPUTADORES

Representação e erros numéricos

Aula Expositiva 2. DCC 001 Programação de Computadores. 2º Semestre de 2011 Prof. Osvaldo Carvalho UFMG DCC

Projecto de Sistemas Digitais

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Cálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215

Sistemas Digitais. Planificação das aulas teóricas e aulas práticas Ano Lectivo 2005/ 2006

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD)

*********************

Organização e Arquitetura de Computadores I

Conceitos e Princípios Gerais

Xilinx ISE. O projecto

SISTEMAS DIGITAIS (SD)

Sistemas Digitais Módulo 2 Representações com Sinal e Aritmética Digital

Eletrônica Digital. Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br

Universidade da Beira Interior

2. E presse cada um dos seguintes números inteiros decimais na representação sinal e magnitude e complemento a 2, utilizando 8 bits Resposta:

Representação de Números em Ponto Flutuante

SME CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS. Agosto 2011

A) A C + A B D + A B C D B) A B + A B D + A B C D C) A C + A C D + A B C D D) A C + A B D + A B C D

Introdução aos Microprocessadores. António M. G. Pinheiro Universidade da Beira Interior Covilhã - Portugal

Sistemas Digitais Planificação das aulas teóricas e aulas práticas Ano Lectivo 2006/ 2007

Sistemas Digitais Circuitos Aritméticos e Representação de Números com Sinal

Sistemas Digitais (SD) Unidade Lógica e Aritmética

Circuitos aritméticos

Erros e Aritmética de ponto flutuante

Representação de Informação. 1. Converta cada um dos seguintes números para o seu equivalente decimal: a)

Arquitetura de Computadores I

Teste 1 Sistemas Digitais - MEEC 2010/11 1

Prof. Leonardo Augusto Casillo

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

f (x 3,x 2,x 1,x 0 ) = Π M (1,4,8,9,10,15). Π M d (12,13)

Aula 9: Estouro e Representação em Ponto Flutuante

Índice. 1.2 Sistemas Numéricos em uma Base B Qualquer

Números binários e erros

Introdução à Computação

Operações Aritméticas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Cálculo Numérico Noções básicas sobre erros

Introdução a Sistemas Digitais

Home Programa Exercícios Provas Professor Links. 2.1 Representação de um número na base dois. O número binário 101,101 significa, na base dois:

Ponto Fixo e Ponto Flutuante

Representação e erros numéricos

Disciplina de. Organização de Computadores Digitais

Aritmética Computacional (Ponto Flutuante) Capítulo 4

Disciplina de. Organização de Computadores Digitais

Sistemas Digitais Módulo 8 Introdução aos Circuitos Aritméticos

Sistemas Binários. José Delgado Arquitetura de Computadores Sistemas binários 1

Representação e erros numéricos

Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números

Eletrônica Digital I (EDL I)

Representação e erros numéricos

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

Sistemas de Computação

Cálculo Numérico. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações.

ARQUITETURA DE COMPUTADORES

Transcrição:

Arquitecturas Aritméticas Controladores António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt

Números Inteiros sem sinal Usam normalmente a representação binária. com um byte: b 7 b 6 b 5 b 4 b 3 b 2 b b 0 entre 0 e 2 8 -=255 com 6 bits: b 5 b 4...b 3 b 2 b b 0 entre 0 e 2 6 - com N bits: b N b N 2...b 3 b 2 b b 0 entre 0 e 2 N -

Soma de Números Inteiros sem sinal 0 0 0 9 3 + 0 0 0 + 5 8 0 2 5

Soma de Números Inteiros sem sinal 0 0 0 9 3 + 0 0 0 + 5 8 0 2 5

Soma de Números Inteiros sem sinal - Overflow 0 0 2 2 + 0 0 0 + 5 8 0 0 2 3 3 7 9 NOTA: Quando o número de bits não é suficiente para representar o resultado final, diz-se que ocorreu um overflow".

Soma de Números Inteiros sem sinal - Circuitos Somadores half-adder Somador de dois bits B 0 A 0 B 0 A 0 C F 0 B 0 A 0 C HA F 0 0 0 0 0 0 0 0 0 0 F 0 C

Soma de Números Inteiros sem sinal - Circuitos Somadores full-adder Somador de três bits B i A i C i B i A i C i+ F i C i B i A i C i+ FA F i Ci 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F i C i+

Somador de Números Inteiros sem sinal com N bits B N- A N- B 3 A 3 B 2 A 2 B A B 0 A 0 C N FA C N- C 4 FA C 3 FA C 2 FA C HA F N- F 3 F 2 F F 0

Exemplo Projecte um circuito baseado numa célula que iterativamente verifique qual é o maior de dois números.

Números Inteiros com sinal Sinal módulo bit mais significativo representa o sinal ( ) Ex: 000= 2 4 + 2 2 + 2 + = 23 Intervalo epresentado com N bits: { ( 2 N ),..., 2 N } Complemento para UM bit mais significativo representa o sinal ( ) o módulo de um número negativo obtem-se por negação de todos os bits Ex: 0000= - (0000)= (2 4 + 2 2 + 2 + ) = 23 Intervalo epresentado com N bits: { ( 2 N ),..., 2 N }

Números Inteiros com sinal Complemento para DOIS bit mais significativo representa o sinal (- ) o módulo de um número negativo obtem-se por negação de todos os bits seguido de soma por Ex: 000= - (00000)+ = - (0000) = - 2 4 + 2 2 + 2 + = -23 Intervalo epresentado com N bits: { ( 2 N ),..., 2 N } NOTA: Mais utilizado pois permite operações aritméticas directas. 00000 em C 2 representa o número 2 N (Se N=8, 0000000=-28)

Soma de Números Inteiros com sinal 0 0 0 9 3 + 0 0 0 + - 9 8 0-5 0 0 0 C 2 0 0 0 0 0 = 98 0 C 2 0 0 0 0 0 0 = 5

Soma de Números Inteiros com sinal 0 0-3 5 + 0 0 0 + - 9 8 0 0 2 3 3 3 0 0 C 2 0 0 0 0 0 = 35 0 0 0 C 2 0 0 0 0 0 = 98 NOTA: Overflow"negativo porque 33 < 28 = 2 7

Somador/Subtractor de Números Inteiros com Sinal com N bits S=0 F=B+A Somador S= F=B A Subtractor B N- A N- B 3 A 3 B 2 A 2 B A B 0 A 0 S C N FA C N- FA FA FA FA C 4 C 3 C 2 C C 0 F N- F 3 F 2 F F 0 S= faz-se negação de todos os bits do número A e soma-se Complemento para 2. NOTA: 0 A = A, A =A

Unidade Lógica e Aritmética - ALU Sistema combinacional concebido para fazer diferentes operações Aritméticas e Lógicas entre duas palavras binárias M M 2 M 0 A ALU F B M 2 M M 0 Operação 0 0 0 A + B 0 0 A - B 0 0 A + 0 A - 0 0 A B 0 A + B 0 A B A Nota: M 2 =0 - Operações Aritméticas M 2 = - Operações Lógicas

Exemplo Projecte um circuito de que resulte uma variável O v que para o circuito somador/subtractor estudado sinalize sempre que há um overflow" negativo ou positivo.

Arquitectura Aritmética A FLAGS ALU F WF B DEMUX M2 M M0 W 0 2 3 MUX MUX S S0 M 2 M M 0 Operação 0 0 0 A + B 0 0 A - B 0 0 A + 0 A - 0 0 A B 0 A + B 0 A B A Nota: M 2 =0 - Operações Aritméticas M 2 = - Operações Lógicas Fz FsFov D D0

Aritmética Binária - Números eais Ponto Fixo Ponto Flutuante Parte Inteira Parte Decimal Sinal x(0) 2 Mantissa Expoente Underflow - Número com valor absoluto muito pequeno diferente de zero que não pode ser representado. Overflow - Número com valor absoluto muito grande que não pode ser representado. FPU - Floating Point Unit" Circuito que se destina a fazer operações com números em vírgula flutuante.

Aritmética Binária - Números eais Norma do IEEE 754-985 Nome Número de bits Sinal Mantissa Expoente Polarização Precisão Simples 32 23 8 27 Precisão Dupla 64 52 023 Valor representado em decimal: ( Formato: ( ) Sinal + p n= Sinal Expoente Mantissa Mantissa(n) 2 n ) 2 Expoente-Polarização Casos especiais: Tipo Expoente Mantissa Zero 00...000 00...000 Infinito... 00...000 NaN... 0 Num. não normalizado 00...000 0

Controladores Digitais Controladores Digitais: Circuitos digitais sequenciais síncronos que estabelecem sequências temporais de acordo com entradas de controlo. Controlador Genérico: Entrada Lógica Combinacional Saída Estado Memória (Flip-Flops) Neste curso são estudados os controladores sequenciais com um Flip-Flop por estado. Este tipo de controladores têm como principal vantagem, a grande simplicidade de projecto.

Controladores Digitais Exemplo de Controladores Digital com um Flip-Flop por estado: Projecte um circuito que estabeleça a seguinte sequência de controlo num sistema de luzes com uma lâmpada Vermelha, Azul e Verde: O sistema tem uma variável M que controla a sequência. da seguinte forma: Se M=0 = Vermelho Verde+Azul (Tudo apagado) (Volta ao princípio) Se M= = Vermelho Verde Azul (Volta ao princípio)

Controladores Digitais Exemplo de Controladores Digital com um Flip-Flop por estado: Projecte um circuito que estabeleça a seguinte sequência de controlo num sistema de luzes com uma lâmpada Vermelha, Azul e Verde: O sistema tem uma variável M que controla a sequência. da seguinte forma: Se M=0 Se M= Vermelho Verde+Azul (Tudo apagado) (Volta ao princípio) Vermelho Verde Azul (Volta ao princípio) Fluxograma Estabelece a sequência de controlo pretendida Vermelho 0 M? Verde, Azul 2 4 Verde 3 Azul 5

Controladores Digitais Exemplo de Controladores Digital com um Flip-Flop por estado: Projecte um circuito que estabeleça a seguinte sequência de controlo num sistema de luzes com uma lâmpada Vermelha, Azul e Verde: O sistema tem uma variável M que controla a sequência da seguinte forma: Se M=0 Se M= Vermelho Verde+Azul (Tudo apagado) (Volta ao princípio) Vermelho Verde Azul (Volta ao princípio) Controlador Digital Sequencial Estado α i Saída σ α D S Q C σ Vermelho α M Verde, Azul 0 M? 2 3 4 Verde Azul 5 Interrogação União 0 M? γ β α σ γ α α α σ γ γ β Saída i Saída σ Qi Saída

Fluxograma Vermelho Controladores Digitais Controlador Digital Sequencial α Verde, Azul 0 M? 2 4 Verde Estado i Saída σ α α D S Q C σ M 3 Azul 5 Interrogação 0 M? γ β α γ β Circuito União α γ σ α σ γ Vcc M Vermelho α i Saída D S Q Q D Q D Q Q2 Q 3 C S C S C Verde Azul Saída σ Qi Saída INIC CK INIC D Q D Q Q 4 Q 5 S C S C CK INIC CK

Controladores Digitais Fluxograma CK Verde, Azul Vermelho 0 M? 2 4 Verde INIC M Q =Vermelho Q 2 Q 3 3 Azul 5 Q 4 Q 5 Circuito Verde Azul

Controladores Digitais Exemplo de Controlador Projecte um controlador digital para o aparelho de tirar cafés da figura. Consoante a moeda que entra vão ser activadas as variáveis S e S 0 de acordo com a tabela. Assim, a máquina aceita moedas de 20 cêntimos e 50 cêntimos. Qualquer outra moeda é devolvida, e um depósito de moedas de 0 cêntimos está disponível para permitir dar troco. O custo de cada Café é 20 cêntimos e quando uma moeda de 50 cêntimos é introduzida, a máquina de café deve produzir dois cafés e dar o respectivo troco. Além disso estão disponíveis as seguintes variáveis de controlo: ec - Activa a possibilidade de recolha de moeda Dev - Activa a devolução da moeda introduzida T 0 - Activa a devolução de uma moeda de 0 cêntimos Sai - Activa a saída do Café Caf - Activa a produção de um café Para controlar o tempo de produção de um café o sistem disponibiliza uma variável lógica Scaf que quando a UM lógico define que o café já está pronto. ec Dev T 0 Sai Caf S S 0 S S 0 Significado 0 0 Moeda de 0.20 0 Moeda de 0.50 0 Moeda 0.20 e 0.50 Nenhuma Moeda Scaf

Fluxograma Controladores Digitais ec S? 0 S 0? 0 S 0? 0 Dev 2 T 0 3 Caf 6 Caf 4 0 Scaf? 0 Scaf? Sai 7 Sai 5

Controladores Digitais Circuito S S 0 Scaf ec Vcc D S Q Q C Vcc D S Q C Q 6 Vcc D S Q Q 7 C Caf Sai INIC Vcc D S Q Q 3 C Vcc D S Q Q 4 C Vcc D S Q Q 5 C T 0 CK Vcc D S Q Q 2 C Dev

Controladores Aritméticos Arquitectura Aritmética Controlador que faça a seguinte operação: A FLAGS ALU Fz FsFov F WF B DEMUX M2 M M0 0 2 3 W F S - Flag de Sinal (Bit mais significativo do Acumulador). F Z - Flag de Zero (=F N +...+F +F 0 ). F Ov - Flag de Overflow"(=C N C N ). N - Dimensão da palavra binária da arquitectura. MUX MUX S S0 D D0 M 2 M M 0 F 0 0 0 A + B 0 0 A - B 0 0 A + 0 A - 0 0 A B 0 A + B 0 A B A Nota: M 2 =0 - Operações Aritméticas M 2 = - Operações Lógicas 2 = { se 0 INÍCIO D, S, M 0, W F S? 0 se 0 < D, W 0 2-2=0 -> 2 0 2+0 -> 2 D 2, S 0, M 0, W,WF 2- -> 2 2-2=0 -> 2 2+= -> 2 FIM D, S, M 0, W D, S 0, W 3 4

Arquitectura Controladores Aritméticos M M 2 M 0 B A ALU F eg. α eg. β D α W α D β W β Controlador que faça a seguinte operação: α = { β se α β α β se α < β eg. Flags F S F Z F Ov Acumulador WA D A M 2 M M 0 0 0 0 0 0 0 0 0 0 0 0 0 F A+B A-B A+ A- A.B A+B A+B A D α W 2 A M 0 D β W A 3 0 > Αcc α > Αcc Αcc β > Αcc F S - Flag de Sinal (Bit mais significativo do Acumulador). F Z - Flag de Zero (=F N +...+F +F 0 ). F Ov - Flag de Overflow"(=C N C N ). N - Dimensão da palavra binária da arquitectura. F S D A W 4 5 α D β W α? 0