ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Qualificadores.

Slides:



Advertisements
Apresentações semelhantes
Parte 1: Organização de Computadores
Advertisements

Arquitetura de Computadores
WebDesign Redes de Computadores Aula 05
Arquitetura de Computadores
INTRODUÇÃO À LÓGICA DIGITAL
VISÃO GERAL Profa. Fernanda Denardin Walker
Unidade Lógica e Aritmética Introdução à Ciência da Computação
Sistemas Digitais Projeto RTL – Unidade de Execução
Eletrônica Digital Projeto de Circuitos Combinacionais Aritméticos
Circuitos aritméticos
Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I Ivan Saraiva Silva.
Introdução à Lógica de Programação (cont.)
Introdução à Informática
Disciplina: AAM Profa. Ana Watanabe vol.3
Universidade do Estado de Santa Catarina – CCT/UDESC
Sistemas Digitais Microprocessados
REPRESENTAÇÃO DE INSTRUÇÕES
Organização da Memória Principal
Autor: Fernando de Mesentier Silva
POTÊNCIAS DE EXPOENTE NATURAL
Projeto de Somador com e sem Sinal
Cálculo da Freqüência de Operação do Relógio
Circuitos Seqüenciais Descrição VHDL
Circuitos Combinacionais Básicos Descrição VHDL
Circuitos combinatórios típicos: circuitos aritméticos
Operações Aritméticas em Binário
Projeto de um Comparador Descrição Estrutural x Comportamental
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Descrição de Atrasos.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Computador Cleópatra Arquitetura e Programação.
Exercícios de Máquinas de Estado
Exercícios Referentes à Prova P1
Projeto de Circuito Combinacional Unidade Lógica e Aritmética (ULA)
Computador Cleópatra Programação Assembly e Alto Nível
Operadores e Atribuições Capítulo 3
Aula de apoio aos feras: Arquitetura de Computadores e
Campus de Caraguatatuba Aula 8: Noções Básicas sobre Erros (2)
Representação de dados
Pet computação UFPE Aula de apoio aos feras: Sistemas de Numeração.
Sistemas Numéricos SISTEMA DECIMAL
Aritmética Computacional Operações Complexas
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Algumas notas sobre a linguagem de programação C
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Arquitetura de Computadores
Circuitos Combinacionais Básicos Descrição VHDL
Arquiteturas Von Neumann e Harvard Computador Cleópatra
FUNDAMENTOS DE COMPUTAÇÃO
Introdução aos algoritmos de programação
Tudo sobre o Processador
Parte 3 Seção de Dados e Unidade de Controle
Universidade Federal de Uberlândia
UNIDADE LÓGICA ARITMÉTICA (ULA)
Programação de Computadores - 1
Introdução a Programação
Métodos Numéricos Computacionais
INTRODUÇÃO AOS MÉTODOS NUMÉRICOS Professor: Dr. Edwin B. Mitacc Meza
ORGANIZAÇÃO DE COMPUTADORES
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
SISTEMAS DE NUMERAÇÃO 1. SISTEMAS DE NUMERAÇÃO 2. ARITMÉTICA BINÁRIA
Profa. Maria Augusta Constante Puget
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
A linguagem de Máquina – Instruções Básicas
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
Organização e Arquitetura de Computadores A.L.Lapolli – Organização e Arquitetura de Computadores Objetivo: Objetivo: Realizar as quatro.
Prof. André Luis Roland Tancredo Engenheiro da Computação e Pesquisador em Desenvolvimento Tecnológico para Semicondutores pelo CNPq Especialista em Microeletrônica.
Engenharia de Controle e Automação Computação Para Engenharia Semana /08/2011 Professor Leomir J. Borba- –
Prof.: Jean Carlo Mendes
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Disciplina: Circuitos Digitais Curso: Engenharia de Telecomunicações
Subtratores e Comparadores
Transcrição da apresentação:

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Qualificadores

2 / 9 Introdução Como operações aritméticas podem informar o fluxo de controle sobre o resultado de suas operações? –Com qualificadores! Mas o que é isto? Note: Comandos de alto nível são compilados para operações suportadas pela arquitetura alvo. Estas operações são executadas por unidades tais como os somadores descritos aqui. Exemplo: if(X != Y) X++; Y++; Em uma linguagem de montagem do processador MIPS poderia ser implementado como beq X, Y, Salta inc X Salta: inc Y

3 / 9 Introdução Como a instrução de montagem é implementada em hardware? Uma comparação, tal como descrito abaixo, pode ser implementada com uma subtração! Caso subtração resulte em 0, então os valores subtraídos são iguais beq X, Y, Salta Como implementar uma subtração em hardware? Utilizando circuitos somadores e considerando operandos com sinal Voltando e reformulando a pergunta inicial. Como, neste caso, os somadores podem informar o fluxo de controle sobre o resultado de suas operações? Utilizando uma porta de um bit, que informe se a operação resultou, ou não, em 0 Este bit é um qualificador, também chamado de bit de status, ou flag. Neste caso, a flag de ZERO

4 / 9 Introdução Com qualificadores poderíamos reler a descrição C/Java, descrita a seguir, com uma de linguagem de montagem equivalente no MIPS if(X != Y) X++; Y++; beq X, Y, Salto inc X Salto: inc Y Da seguinte forma Atribui 1 para Z se X + (–Y) der zero, senão atribui 0 Se Z for igual a 1 vai para Salto, senão segue o código X recebe X mais 1 Salto: Y recebe Y mais 1 Neste caso Z é um qualificador que indica que a operação deu 0

5 / 9 Resumo Existem mais qualificadores possíveis. Aqui analisaremos apenas 4, com suas abreviaturas –Resultado da operação é zero (Z) Qualificador Z recebe 1 quando todos os bits do resultado de uma operação forem 0, senão recebe 0 –Resultado da operação é um número negativo (N) Qualificador N recebe 1 quando o bit mais significativo do resultado de uma operação for 1, (representação de um número negativo em complemento de 2) senão recebe 0 –Não foi possível representar o resultado da operação com números sem sinal (carry, ou apenas C) Qualificador C recebe 1 quando o último estágio do somador gerar um vai um –Não foi possível representar o resultado da operação com números com sinal (overflow, ou apenas Ov, ou também V) Qualificador V recebe 1 quando a soma de dois positivos der negativa, a soma de dois negativos der positiva, um positivo subtraído de um negativo der negativo, um negativo subtraído de um positivo der positivo, senão recebe 0 Conforme os tipos de dados que estamos trabalhando em alto nível, a informação dos qualificadores pode ser utilizada pelos compiladores para gerar linguagem de montagem adequada –Qualificadores Z e C são usados em operações aritméticas de números sem sinal –Qualificadores Z e N são usados em operações lógicas –Qualificadores Z, N e V são usados em operações aritméticas de números com sinal

6 / 9 Revendo Representações Numéricas Representação de números sem sinal –Notação posicional –Cada bit tem exatamente o peso de sua posição –O valor do bit (b = 0, 1) é multiplicado pela base (2) elevada na posição (p) b * 2 p –O valor do número é obtido com a soma de todos os bits com seus pesos parciais –Exercício: Calcule o intervalo de representação numérico de um inteiro de 16 bits Verifique se é possível armazenar o número 1034 em 10 bits Realize as seguintes somas em 8 bits (primeiro converta para número binário): a b –Como saber se uma operação de número sem sinal teve um resultado correto? Analisando o qualificador carry

7 / 9 Revendo Representações Numéricas Representação de números com sinal –Em complemento de 2, temos a mesma notação posicional, porém o bit mais significativo vale menos, enquanto os demais valem mais -b * 2 p, para o primeiro bit; b * 2 p, para demais bits –Exercício: Calcule o intervalo de representação numérico de um inteiro de 16 bits Verifique se é possível armazenar os seguintes números em 10 bits a.-512 b.345 Realize as seguintes somas em 8 bits (primeiro converta para número binário): a b –Como saber se uma operação de número com sinal teve um resultado correto? Analisando o qualificador overflow

8 / 9 Planejando Construir um Somador com Sinal O que deve ser alterado no hardware de um somador, quando é considerado o sinal? –Deve ser inserido o cálculo do qualificador de overflow (V) Entendendo melhor –Overflow significa que uma operação aritmética com sinal não teve o resultado correto, pois não foi possível representar todo o número. –Situações em que isto pode acontecer: Soma de dois inteiros positivos e resultado um inteiro negativo Soma de dois inteiros negativos e resultado um inteiro positivo Subtrair um inteiro positivo de um inteiro negativo e o resultado der negativo Subtrair um inteiro negativo de um inteiro positivo e o resultado der positivo Como obter o cálculo deste qualificador? –Com ou exclusivo entre o carry do último estágio e do penúltimo estágio

9 / 9 Exercício 1.Implementar um somador de 4 bits com sinal, levando em consideração os qualificadores necessários 2.Implementar um somador de 4 bits com e sem sinal, levando em consideração os qualificadores necessários