SlideShare uma empresa Scribd logo
1 de 74
Aritmética Computacional The complexity is in eye of the observer... As much as the object allows.
Introdução ,[object Object],[object Object],[object Object],[object Object],[object Object]
Conteúdo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Números com sinal e números sem sinal 1
Números com Sinal e Números sem Sinal ,[object Object],[object Object],[object Object],[object Object],[object Object],0 0 0 0 1 0 1 1 Bit Menos Significativo (LSB) Bit Mais Significativo (MSB)
Faixa de números sem sinal para 8 bits: 0 a 256-1  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Representação de números ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Complemento a 2 ,[object Object]
Faixa de valores em complemento a 2 para 3 bits 0 -4 2 -2 1 3 -3 -1 111 101 011 001 010 110 100 000
Complemento a 2: regra prática ,[object Object],-X = 1111 1000 X = 1111 0111 1 +
Interface Hardware/Software ,[object Object],[object Object],[object Object]
Exercícios ,[object Object],[object Object],[object Object],[object Object]
Adição e Subtração 2
Adição e Subtração ,[object Object],[object Object]
Adição e Subtração (8 bits) ,[object Object],[object Object],0000 0111 0000 0110 + 0000 1101 adição 0000 0111 0000 0110 - 0000 0001 subtração 0000 0111 1111 1010 + 0000 0001 Subtração com complemento a 2
Overflow ,[object Object],[object Object],<0 <0 >=0 A-B >=0 >=0 <0 A-B >=0 <0 <0 A+B <0 >=0 >= 0 A+B Resultado Operando B Operando A Operação
Exemplo de overflow Adição de 2 operandos positivos (8 bits) ,[object Object],0100 0110 0110 0000 + 1010 0110 overflow positivo positivo negativo
Exemplo de overflow Adição de 2 operandos negativos (8 bits) ,[object Object],1000 0000 1010 0000 + 1 0010 0000 overflow negativo negativo positivo carry
Exemplo de overflow Adição de operandos com sinais opostos (8 bits) ,[object Object],0100 0000 1010 0000 + 1110 0000 positivo negativo negativo
Exemplo de overflow Adição de operandos com sinais opostos (8 bits) ,[object Object],0110 0000 1100 0000 + 1 0010 0000 positivo negativo positivo carry
Interface Hardware/Software ,[object Object],[object Object],[object Object]
Exercícios ,[object Object],[object Object],[object Object],[object Object],[object Object]
Operações Lógicas 3
Operações Lógicas ,[object Object],[object Object],[object Object]
Operações AND e OR ,[object Object],[object Object]
Construção de uma Unidade Aritmética Lógica 4
Introdução ,[object Object],[object Object]
Blocos Construtivos Básicos NOT (Inversora) AND OR Multiplexador Se d==0, c=a senão c=b a c a c b a c b a b 0 1 d c
Uma UAL de 1 Bit ,[object Object],[object Object]
Somador de 1 bit ,[object Object],[object Object],[object Object],1+1+1 = 11 1+1+0 = 10 1+0+1 = 10 1+0+0 = 01 0+1+1 = 10 0+1+0 = 01 0+0+1 = 01 0+0+0 = 00 Comentários 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 1 0 Vem 1 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 Vai 1 Soma B A Saídas Entradas
Exercício ,[object Object],Soma CarryOut CarryIn a b +
UAL Simples de 1 bit
Exercícios ,[object Object],[object Object]
UAL de 32 bits
Subtração ,[object Object],[object Object],[object Object]
Subtração ,[object Object],[object Object]
Overflow ,[object Object],[object Object]
Símbolo Geral da UAL
Problema ,[object Object]
Carry Lookahead ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Carry Lookahead ,[object Object],[object Object],[object Object]
Multiplicação 5
Exemplo: como na prática ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],multiplicando multiplicador produto ,[object Object],[object Object]
Algoritmo ,[object Object],[object Object],[object Object],[object Object]
Algoritmo: 1 ª Versão início 1. teste do  Multiplicador0 1a. Produto = Produto + Multiplicando 2. desloque Multiplicando 1 bit à esquerda 3. desloque Multiplicador 1 bit à direita 32 repetições? Fim Multiplicador0=0 Multiplicador0=1 não sim
Hardware: 1 ª Versão
Exercício ,[object Object],[object Object],[object Object],[object Object],[object Object]
Desvantagens ,[object Object],[object Object],[object Object],[object Object]
Algoritmo: 2 ª Versão início 1. teste do  Multiplicador0 1a. Some o multiplicando  à metade esquerda  do produto 2. desloque o  registrador de Produto  1 bit à direita 3. desloque o registrador Multiplicador 1 bit à direita 32 repetições? Fim Multiplicador0=0 Multiplicador0=1 não sim
Hardware: 2 ª Versão
Exercício ,[object Object],[object Object],[object Object],[object Object],[object Object]
Versão Final do Algoritmo de Multiplicação ,[object Object]
Algoritmo: 3 ª Versão início 1. teste do  Produto0 1a. Some o multiplicando à metade esquerda do produto 2. desloque o registrador de Produto 1 bit à direita 32 repetições? Fim Produto0=0 Produto0=1 não sim
Hardware: 3 ª Versão Vantagens : ULA de 32 bits.  Apenas 1 registrador de 64 bits.
Exercício ,[object Object],[object Object],[object Object],[object Object]
Divisão Divide et impera. Versão latina da velha máxima política “Divida e governe”, citada por Maquiavel em 1532 6
Divisão ,[object Object],[object Object]
Divisão início Teste do Resto 2a. Desloque o Quociente 1 bit à esquerda Q0 = 1 3. Desloque o Divisor 1 bit à direita 33 repetições? Fim Resto < 0 Resto>=0 não sim 1. Resto = Resto - Divisor 2b. Resto = Resto + Divisor  Desloque o Quociente um 1 bit à esquerda  Q0 = 0
Hardware da Divisão Divisor Deslocamento à direita (64 bits) UAL de 64 bits Quociente Deslocamento À esquerda (32 bits) Teste de controle 64 bits Resto Escrita
Exercício ,[object Object],[object Object],[object Object],[object Object],[object Object]
Operações em Ponto Flutuante 7
Operações em Ponto Flutuante ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Representação em Ponto Flutuante ,[object Object],[object Object],[object Object],[object Object],s expoente mantissa 32 bits 1 8 23
Overflow em Ponto Flutuante ,[object Object],[object Object],[object Object],[object Object],s expoente mantissa 64 bits 1 11 52
Padrão IEEE 754 ,[object Object],[object Object]
Padrão IEEE 754 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo 1 ,[object Object],[object Object]
Resposta da 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo ,[object Object]
Resposta
Lendas e Falhas 8
Lendas e Falhas ,[object Object],[object Object],[object Object]
Bibliografia ,[object Object]
 

Mais conteúdo relacionado

Mais procurados

Sistema operativo de rede
Sistema operativo de redeSistema operativo de rede
Sistema operativo de redeAndré bogas
 
Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias Alexandre Ferreira
 
Aula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioAula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioSuzana Viana Mota
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadoresJakson Silva
 
Caderno de exercícios cobol
Caderno de exercícios   cobolCaderno de exercícios   cobol
Caderno de exercícios cobolAlunosEscola
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de ProgramaçãoRicardo Terra
 
exercicio-Organização e estrutura de Computadores
exercicio-Organização e estrutura de Computadoresexercicio-Organização e estrutura de Computadores
exercicio-Organização e estrutura de ComputadoresSuzana Viana Mota
 
Resolução da Lista de exercícios - Conversão de bases e aritmética computacional
Resolução da Lista de exercícios - Conversão de bases e aritmética computacionalResolução da Lista de exercícios - Conversão de bases e aritmética computacional
Resolução da Lista de exercícios - Conversão de bases e aritmética computacionalVitor Hugo Melo Araújo
 

Mais procurados (20)

Sistema operativo de rede
Sistema operativo de redeSistema operativo de rede
Sistema operativo de rede
 
Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias
 
Redes - TCP/IP
Redes - TCP/IPRedes - TCP/IP
Redes - TCP/IP
 
Aula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioAula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema Binário
 
Introducao a informatica
Introducao a informaticaIntroducao a informatica
Introducao a informatica
 
Aula 11 instalação de hardware
Aula 11 instalação de hardwareAula 11 instalação de hardware
Aula 11 instalação de hardware
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Endereçamento de memória
Endereçamento de memóriaEndereçamento de memória
Endereçamento de memória
 
Formação cobol
Formação cobolFormação cobol
Formação cobol
 
Caderno de exercícios cobol
Caderno de exercícios   cobolCaderno de exercícios   cobol
Caderno de exercícios cobol
 
Processador mips - pipeline
Processador mips - pipelineProcessador mips - pipeline
Processador mips - pipeline
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de Programação
 
Sistema de numeração
Sistema de numeraçãoSistema de numeração
Sistema de numeração
 
exercicio-Organização e estrutura de Computadores
exercicio-Organização e estrutura de Computadoresexercicio-Organização e estrutura de Computadores
exercicio-Organização e estrutura de Computadores
 
Teclado
TecladoTeclado
Teclado
 
Calculo de endereço ip
Calculo de endereço ipCalculo de endereço ip
Calculo de endereço ip
 
Manutenção de computadores
Manutenção de computadoresManutenção de computadores
Manutenção de computadores
 
Resolução da Lista de exercícios - Conversão de bases e aritmética computacional
Resolução da Lista de exercícios - Conversão de bases e aritmética computacionalResolução da Lista de exercícios - Conversão de bases e aritmética computacional
Resolução da Lista de exercícios - Conversão de bases e aritmética computacional
 

Destaque

Circuitos Mux e Demux
Circuitos Mux e Demux Circuitos Mux e Demux
Circuitos Mux e Demux Joseci Silva
 
Informatica aplicada
Informatica aplicadaInformatica aplicada
Informatica aplicadaCycyro Soares
 
A tutorial on programming the Mits Altair computer by Mihai Pruna
A tutorial on programming the Mits Altair computer by Mihai PrunaA tutorial on programming the Mits Altair computer by Mihai Pruna
A tutorial on programming the Mits Altair computer by Mihai PrunaMihai Pruna
 
Informática conceitos básicos
Informática   conceitos básicosInformática   conceitos básicos
Informática conceitos básicosThierryCC
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saídaComputação Depressão
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivoselliando dias
 
Princípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV UnipPrincípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV UnipHeber Gutenberg
 
Utilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web JavaUtilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web JavaAdriel Viana
 
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRNHomologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRNEdmilson Júnior
 
Ponto Flutuante em MIPS
Ponto Flutuante em MIPSPonto Flutuante em MIPS
Ponto Flutuante em MIPSMayara Mônica
 
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...Adriel Viana
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoriaJailson Silva
 
Apostila redes locais de computadores
Apostila redes locais de computadoresApostila redes locais de computadores
Apostila redes locais de computadoresfernandao777
 

Destaque (20)

Circuitos Mux e Demux
Circuitos Mux e Demux Circuitos Mux e Demux
Circuitos Mux e Demux
 
Aritmética Digital
Aritmética DigitalAritmética Digital
Aritmética Digital
 
Informatica aplicada
Informatica aplicadaInformatica aplicada
Informatica aplicada
 
Programação para Atari 2600
Programação para Atari 2600Programação para Atari 2600
Programação para Atari 2600
 
A tutorial on programming the Mits Altair computer by Mihai Pruna
A tutorial on programming the Mits Altair computer by Mihai PrunaA tutorial on programming the Mits Altair computer by Mihai Pruna
A tutorial on programming the Mits Altair computer by Mihai Pruna
 
Informática conceitos básicos
Informática   conceitos básicosInformática   conceitos básicos
Informática conceitos básicos
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
 
Princípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV UnipPrincípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV Unip
 
Gerenciamento E/S
Gerenciamento E/SGerenciamento E/S
Gerenciamento E/S
 
Utilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web JavaUtilizando software livre para alta disponibilidade de sistemas web Java
Utilizando software livre para alta disponibilidade de sistemas web Java
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
 
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRNHomologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
Homologação de ambiente de alta disponibilidade para os sistemas SIG da UFRN
 
Ponto Flutuante em MIPS
Ponto Flutuante em MIPSPonto Flutuante em MIPS
Ponto Flutuante em MIPS
 
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
MONOGRAFIA - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA ALTA DISPONI...
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoria
 
VPN - Redes de Computadores
VPN - Redes de ComputadoresVPN - Redes de Computadores
VPN - Redes de Computadores
 
Apostila redes locais de computadores
Apostila redes locais de computadoresApostila redes locais de computadores
Apostila redes locais de computadores
 
Processadores
ProcessadoresProcessadores
Processadores
 
Arquitetura 4
Arquitetura 4Arquitetura 4
Arquitetura 4
 

Semelhante a Aritmética Computacional: Representação de Números

Semelhante a Aritmética Computacional: Representação de Números (20)

aula6ads.pdf
aula6ads.pdfaula6ads.pdf
aula6ads.pdf
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
 
Org arq comp_2008_aula_09
Org arq comp_2008_aula_09Org arq comp_2008_aula_09
Org arq comp_2008_aula_09
 
Arq orgcom (1)
Arq orgcom (1)Arq orgcom (1)
Arq orgcom (1)
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
Tp representação de informação
Tp   representação de informaçãoTp   representação de informação
Tp representação de informação
 
Circuitos aritmeticos
Circuitos aritmeticosCircuitos aritmeticos
Circuitos aritmeticos
 
Eletronica digital lista i
Eletronica digital   lista iEletronica digital   lista i
Eletronica digital lista i
 
Linguagem C - Operadores bit a bit
Linguagem C - Operadores bit a bitLinguagem C - Operadores bit a bit
Linguagem C - Operadores bit a bit
 
Logica Digital
Logica DigitalLogica Digital
Logica Digital
 
aula_03.pdf
aula_03.pdfaula_03.pdf
aula_03.pdf
 
Numbering system binary numbers among others.
Numbering system binary numbers among others.Numbering system binary numbers among others.
Numbering system binary numbers among others.
 
Aula 1
Aula 1Aula 1
Aula 1
 
Sistemas de numeracao .ppt
 Sistemas de numeracao .ppt Sistemas de numeracao .ppt
Sistemas de numeracao .ppt
 
Aula dos feras - 3 dia - Sistemas de numeracao.ppt
Aula dos feras - 3 dia - Sistemas de numeracao.pptAula dos feras - 3 dia - Sistemas de numeracao.ppt
Aula dos feras - 3 dia - Sistemas de numeracao.ppt
 
aula_02.pdf
aula_02.pdfaula_02.pdf
aula_02.pdf
 
O sistema do Computador
O sistema do ComputadorO sistema do Computador
O sistema do Computador
 
Prática Somador (lÓGICA dIGITAL)
Prática Somador (lÓGICA dIGITAL)Prática Somador (lÓGICA dIGITAL)
Prática Somador (lÓGICA dIGITAL)
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeração
 
Le02 asd
Le02 asdLe02 asd
Le02 asd
 

Mais de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Mais de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Aritmética Computacional: Representação de Números

  • 1. Aritmética Computacional The complexity is in eye of the observer... As much as the object allows.
  • 2.
  • 3.
  • 4. Números com sinal e números sem sinal 1
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Faixa de valores em complemento a 2 para 3 bits 0 -4 2 -2 1 3 -3 -1 111 101 011 001 010 110 100 000
  • 10.
  • 11.
  • 12.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 24.
  • 25.
  • 26. Construção de uma Unidade Aritmética Lógica 4
  • 27.
  • 28. Blocos Construtivos Básicos NOT (Inversora) AND OR Multiplexador Se d==0, c=a senão c=b a c a c b a c b a b 0 1 d c
  • 29.
  • 30.
  • 31.
  • 32. UAL Simples de 1 bit
  • 33.
  • 34. UAL de 32 bits
  • 35.
  • 36.
  • 37.
  • 39.
  • 40.
  • 41.
  • 43.
  • 44.
  • 45. Algoritmo: 1 ª Versão início 1. teste do Multiplicador0 1a. Produto = Produto + Multiplicando 2. desloque Multiplicando 1 bit à esquerda 3. desloque Multiplicador 1 bit à direita 32 repetições? Fim Multiplicador0=0 Multiplicador0=1 não sim
  • 46. Hardware: 1 ª Versão
  • 47.
  • 48.
  • 49. Algoritmo: 2 ª Versão início 1. teste do Multiplicador0 1a. Some o multiplicando à metade esquerda do produto 2. desloque o registrador de Produto 1 bit à direita 3. desloque o registrador Multiplicador 1 bit à direita 32 repetições? Fim Multiplicador0=0 Multiplicador0=1 não sim
  • 50. Hardware: 2 ª Versão
  • 51.
  • 52.
  • 53. Algoritmo: 3 ª Versão início 1. teste do Produto0 1a. Some o multiplicando à metade esquerda do produto 2. desloque o registrador de Produto 1 bit à direita 32 repetições? Fim Produto0=0 Produto0=1 não sim
  • 54. Hardware: 3 ª Versão Vantagens : ULA de 32 bits. Apenas 1 registrador de 64 bits.
  • 55.
  • 56. Divisão Divide et impera. Versão latina da velha máxima política “Divida e governe”, citada por Maquiavel em 1532 6
  • 57.
  • 58. Divisão início Teste do Resto 2a. Desloque o Quociente 1 bit à esquerda Q0 = 1 3. Desloque o Divisor 1 bit à direita 33 repetições? Fim Resto < 0 Resto>=0 não sim 1. Resto = Resto - Divisor 2b. Resto = Resto + Divisor Desloque o Quociente um 1 bit à esquerda Q0 = 0
  • 59. Hardware da Divisão Divisor Deslocamento à direita (64 bits) UAL de 64 bits Quociente Deslocamento À esquerda (32 bits) Teste de controle 64 bits Resto Escrita
  • 60.
  • 61. Operações em Ponto Flutuante 7
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 72.
  • 73.
  • 74.