UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI Circuitos Lógicos Capítulo 9 Aritmérica Digital: Operações e Circuitos Prof. Erivelton Geraldo Nepomuceno http://www.ufsj.edu.br/nepomuceno nepomuceno@ufsj.edu.br São João del-rei, outubro de 2015.
UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI Tópicos da aula capítulo 9 9.1Adição binária 9.2Representação de números com sinal 9.3Adição no sistema de complemento de 2 9.4Subtração no sistema de complemento de 2 9.5Multiplicação de números binários 9.6Divisão binária 2/133
9.1 Adição Binária Operação mais importante no mundo binário! 3 7 6 + 4 6 1 8 3 7 3/133
9.1 Adição Binária Operação mais importante no mundo binário! Vai um ou carry 3 7 6 + 4 6 1 8 3 7 +1 +1 3 7 6 + 4 6 4 8 4 0 4/133
9.1 Adição Binária Operação mais importante no mundo binário! +1 +1 3 7 6, 3 4 + 4 6 6, 7 8 8 4 3, 1 2 +1 +1 5/133
9.1 Adição Binária Operação mais importante no mundo binário! Quais as regras para números binários? 0 + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 = 0 vai um para próxima posição (carry) 6/133
9.1 Adição Binária Operação mais importante no mundo binário! 0 1 1, 0 1 + 1 1 0, 1 1 7/133
9.1 Adição Binária Operação mais importante no mundo binário! +1 0 1 1, 0 1 + 1 1 0, 1 1 0 8/133
9.1 Adição Binária Operação mais importante no mundo binário! +1 0 1 1, 0 1 + 1 1 0, 1 1 0 0 +1 9/133
9.1 Adição Binária Operação mais importante no mundo binário! +1 0 1 1, 0 1 + 1 1 0, 1 1 0, 0 0 +1 +1 10/133
9.1 Adição Binária Operação mais importante no mundo binário! +1 +1 0 1 1, 0 1 + 1 1 0, 1 1 1 0, 0 0 +1 +1 11/133
9.1 Adição Binária Operação mais importante no mundo binário! +1 +1 0 1 1, 0 1 + 1 1 0, 1 1 1 0 1 0, 0 0 +1 +1 12/133
9.1 Adição Binária Operação mais importante no mundo binário! +1 +1 0 1 1, 0 1 + 1 1 0, 1 1 1 0 1 0, 0 0 +1 +1 E 13/133
9.2 Representação de números binários com sinal Como representar números binários negativos? 14/133
9.2 Representação de números binários com sinal Como representar números binários negativos? 15/133
9.2 Representação de números binários com sinal Como representar números binários negativos? Sistema sinal-magnitude Sistema de complemento de 2 16/133
9.2 Representação de números binários com sinal Forma de complemento de 1 Número original 0 1 1 0 1 Inverte-se cada bit Forma de complemento de 1 1 0 0 1 0 17/133
9.2 Representação de números binários com sinal Forma de complemento de 2 Número original 0 1 1 0 1 Inverte-se cada bit Forma de complemento de 1 1 0 0 1 0 Soma-se 1 ao LSB 1 Forma de complemento de 2 1 0 0 1 1 18/133
9.2 Representação de números binários com sinal Exemplo: Determine o complemento de 2 de 10001 2 Forma de complemento de 2 19/133
9.2 Representação de números binários com sinal Exemplo: Determine o complemento de 2 de 10001 2 Forma de complemento de 2 Número original 1 0 0 0 1 Inverte-se cada bit 20/133
9.2 Representação de números binários com sinal Exemplo: Determine o complemento de 2 de 10001 2 Forma de complemento de 2 Número original 1 0 0 0 1 Inverte-se cada bit Forma de complemento de 1 0 1 1 1 0 21/133
9.2 Representação de números binários com sinal Exemplo: Determine o complemento de 2 de 10001 2 Forma de complemento de 2 Número original 1 0 0 0 1 Inverte-se cada bit Forma de complemento de 1 0 1 1 1 0 Soma-se 1 ao LSB 1 22/133
9.2 Representação de números binários com sinal Exemplo: Determine o complemento de 2 de 10001 2 Forma de complemento de 2 Número original 1 0 0 0 1 Inverte-se cada bit Forma de complemento de 1 0 1 1 1 0 Soma-se 1 ao LSB 1 Forma de complemento de 2 0 1 1 1 1 23/133
9.2 Representação de números binários com sinal Como representar números binários negativos utilizando a forma de complemento de 2? 24/133
9.2 Representação de números binários com sinal Como representar números binários negativos utilizando a forma de complemento de 2? 25/133
9.2 Representação de números binários com sinal Exemplo: Represente o número -145 10 em binário utilizando o formato complemento de 2. 26/133
9.2 Representação de números binários com sinal Exemplo: Represente o número -145 10 em binário utilizando o formato complemento de 2. Resolução: 1. Por divisões sucessivas determinamos o número binário que representa 145 10 ; 2. Achamos o complemento de 2 desse número; 3. Anexamos o bit 1 à esquerda do MSB. 27/133
9.2 Representação de números binários com sinal 145 em binário 1 0 0 1 0 0 0 1 Forma de complemento de 1 0 1 1 0 1 1 1 0 Forma de complemento de 2 0 1 1 0 1 1 1 1 Anexar o bit de sinal à esqueda do MSB 1 0 1 1 0 1 1 1 1 28/133
9.2 REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL Observações: Faixa de valores representados utilizando complemento de 2 com N bits para a magnitude: 29/133
9.2 REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL 30/133
9.2 REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL Exercício: Qual a faixa de valores que podem ser representados com um byte? Qual o menor valor a o maior valor que pode ser representado com um byte num sistema de complemento de 2? (o bit de sinal deve ser considerado) 31/133
9.2 REPRESENTAÇÃO DE NÚMEROS BINÁRIOS COM SINAL Exercício: Qual a faixa de valores que podem ser representados com um byte? Qual o menor valor a o maior valor que pode ser representado com um byte num sistema de complemento de 2? (o bit de sinal deve ser considerado) 32/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Observação: A representação dos números deve ser feita com a mesma quantidade de bits de magnitude! 33/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Caso I: Dois números positivos 0 0 1 0 0 +4 10 0 1 0 1 1 +11 10 0 1 1 1 1 +15 10 34/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Caso II: Numero a 2 positivo e número b 2 negativo, sendo a > b. 0 1 1 0 0 +12 10 1 0 1 0 1-11 10 (Complemento de 2) 1 0 0 0 0 1 +01 10 Vai um ou Carry desconsiderado 35/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Caso II: Numero a 2 positivo e número b 2 negativo, sendo a > b. 0 1 1 0 0 +12 10 1 0 1 0 1-11 10 (Complemento de 2) 1 0 0 0 0 1 +01 10 Vai um ou Carry desconsiderado 36/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Caso III: Numero a 2 positivo e número b 2 negativo, sendo a < b. 0 1 0 0 1 +9 10 1 0 1 0 1-11 10 (Complemento de 2) 1 1 1 1 0-02 10 37/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Caso III: Numero a 2 positivo e número b 2 negativo, sendo a < b. 0 1 0 0 1 +9 10 1 0 1 0 1-11 10 (Complemento de 2) 1 1 1 1 0-02 10 38/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Caso IV: Dois números negativos. 1 1 0 0 1-7 10 (Complemento de 2) 1 1 0 1 1-5 10 (Complemento de 2) 1 1 0 1 0 0-12 10 39/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Caso IV: Dois números negativos. 1 1 0 0 1-7 10 (Complemento de 2) 1 1 0 1 1-5 10 (Complemento de 2) 1 1 0 1 0 0-12 10 Resultado (Comp. De 2) Vai um ou Carry desconsiderado 40/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Exemplo: Faça a operação: +5 + (-5) em binário utilizando complemento de 2. Suponha que você disponibilize de 6 bits, incluído o bit de sinal. 41/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Exemplo: Faça a operação: +5 + (-5). 0 0 0 1 0 1 +5 10 1 1 1 0 1 1-5 10 (Complemento de 2) 1 0 0 0 0 0 0 +0 10 42/133
9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Exemplo: Faça a operação: +5 + (-5). 0 0 0 1 0 1 +5 10 1 1 1 0 1 1-5 10 (Complemento de 2) 1 0 0 0 0 0 0 +0 10 Vai um ou Carry desconsiderado 43/133
9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 É similar, senão idêntica aos procedimentos anteriores! Passo I: Negação do valor do subtraendo Passo II: Somar esse número ao minuendo 44/133
9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Exemplo: Execute a operação +13 10 (+5 10 ), considerando-se que existem 6 bits disponíveis (incluindo-se o bit de sinal). 45/133
9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Exemplo: Execute a operação +13 10 (+5 10 ), considerando-se que existem 6 bits disponíveis (incluindo-se o bit de sinal). 0 0 1 1 0 1 +13 10 1 1 1 0 1 1-5 10 (Complemento de 2) 1 0 0 1 0 0 0 +8 10 46/133
9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Exemplo: Execute a operação +13 10 (+5 10 ), considerando-se que existem 6 bits disponíveis (incluindo-se o bit de sinal). 0 0 1 1 0 1 +13 10 1 1 1 0 1 1-5 10 (Complemento de 2) 1 0 0 1 0 0 0 +8 10 Vai um ou Carry desconsiderado 47/133
9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 Exercício: Execute a operação +10 10 (+11 10 ), considerando-se que existem 6 bits disponíveis (incluindo-se o bit de sinal). 48/133
9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 O problema do Overflow Sistemas digitais possuem uma quantidade finita de bits para representação de grandezas! No caso da aritmética, os resultados das operações tem que estar dentro da quantidade de bits utilizada para tal representação. Caso contrário ocorrerá um overflow. 49/133
9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 O problema do Overflow Exemplo: Considerando a disponibilidade de 8 bits (inclusive o de sinal) realize a operação binária em complemento de 2: 63 10 +70 10 50/133
9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 O problema do Overflow Exemplo: Considerando a disponibilidade de 8 bits (inclusive o de sinal) realize a operação binária em complemento de 2: 63 10 +70 10 0 0 1 1 1 1 1 1 +63 0 1 0 0 0 1 1 0 +70 1 0 0 0 0 1 0 1 51/133
9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 O problema do Overflow Exemplo: Considerando a disponibilidade de 8 bits (inclusive o de sinal) realize a operação binária em complemento de 2: 63 10 +70 10 0 0 1 1 1 1 1 1 +63 0 1 0 0 0 1 1 0 +70 1 0 0 0 0 1 0 1-123 Bit de sinal 52/133
9.5 MULTIPLICAÇÃO DE NÚMEROS BINÁRIOS Procedimento igual ao sistema decimal. Considere a multiplicação de 13 x 12 1 2 x 1 3 3 6 1 2 1 5 6 53/133
9.5 MULTIPLICAÇÃO DE NÚMEROS BINÁRIOS Procedimento igual ao sistema decimal. Considere a multiplicação de 13 x 12 1 2 x 1 3 3 6 1 2 Produtos parciais 1 5 6 Resultado final 1 1 0 0 x 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 54/133
9.5 MULTIPLICAÇÃO DE NÚMEROS BINÁRIOS Procedimento igual ao sistema decimal. Considere a multiplicação de 13 x 12 1 2 x 1 3 3 6 1 2 Produtos parciais 1 5 6 Resultado final 1 1 0 0 x 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 Produtos parciais 1 0 0 1 1 1 0 0 Resultado final 55/133
9.5 MULTIPLICAÇÃO DE NÚMEROS BINÁRIOS Multiplicação no sistema de complemento de 2. Converte-se o número negativo para positivo e aplicam-se regras para determinar o bit de sinal. 56/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Considere a divisão: 12 2 1100 2 10 2 1 1 0 0 1 0 57/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Considere a divisão: 12 2 1100 2 10 2 1 1 0 0 1 0 58/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Considere a divisão: 12 2 1100 2 10 2 1 1 0 0 1 0 1 0 1 0 1 59/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Considere a divisão: 12 2 1100 2 10 2 1 1 0 0 1 0 1 0 1 0 1 0 60/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Considere a divisão: 12 2 1100 2 10 2 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 61/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Considere a divisão: 12 2 1100 2 10 2 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 62/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Considere a divisão: 12 2 1100 2 10 2 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 63/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Considere a divisão: 12 2 1100 2 10 2 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 64/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Considere a divisão: 14 3 1110 2 11 2 1 1 1 0 1 1 1 1 1 0 0, 1 0 0 0 1 0 0 1 1 1 0... 65/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exercício: Realize as divisões em binário. a) 64 10 5 10 b) 12 10 3 10 c) 32 10 8 10 d) 16 10 4 10 66/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 67/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 É divisível? Sim -> subtração + shift Não -> deslocamento para a direita 68/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 É divisível? Sim -> 1 no quociente subtração + shift Não -> 0 + shift 69/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 É divisível? Sim -> subtração + shift Não -> 0 + shift 70/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 71/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 72/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 73/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 74/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 75/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Algoritmo para divisão binária. (Deslocamento e subtrações sucessivas) 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 76/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exemplo: Realizar a divisão: 101011 100 77/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exemplo: Realizar a divisão: 101011 100 1 0 1 0 1 1 1 0 0 78/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exemplo: Realizar a divisão: 101011 100 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 79/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exemplo: Realizar a divisão: 101011 100 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 80/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exemplo: Realizar a divisão: 101011 100 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 1 1 0 0 81/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exemplo: Realizar a divisão: 101011 100 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 1 1 0 0 82/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exemplo: Realizar a divisão: 101011 100 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 1 1 83/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exemplo: Realizar a divisão: 101011 100 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0 0 84/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS Exemplo: Realizar a divisão: 101011 100 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0 0 85/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0 0 86/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0, 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0 0 87/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0, 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 88/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0, 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 89/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0, 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 90/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0, 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 91/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0, 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 92/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0, 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 93/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0, 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 94/133
9.6 DIVISÃO DE NÚMEROS BINÁRIOS 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0, 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 95/133
UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI Circuitos Lógicos Capítulo 9 Aritmérica Digital: Operações e Circuitos Parte II http://www.ppgel.net.br/davidson davidson@ufsj.edu.br São João Del Rei, 2 de setembro de 2014
UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI Tópicos da aula Capítulo 9 9.7Adição BCD 9.8Aritmética Hexadecimal 9.9Circuitos Aritméticos 9.10 Somador Binário Paralelo 9.11 Projeto de Um Somador Completo 9.12 Somador Paralelo Completo Com Registradores 97/133
9.7 ADIÇÃO BCD Soma menor ou igual a 9 3 7 6 + 4 2 1 7 9 7 0 0 1 1 0 1 1 1 0 1 1 0 + 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 1 1 98/133
9.7 ADIÇÃO BCD Soma maior do que 9 3 7 6 + 4 7 4 8 5 0 0 0 1 1 0 1 1 1 0 1 1 0 + 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 99/133
9.7 ADIÇÃO BCD Soma maior do que 9 3 7 6 + 4 7 4 8 5 0 0 0 1 1 0 1 1 1 0 1 1 0 + 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 Inválidos no sistema BCD! 100/133
9.7 ADIÇÃO BCD Soma maior do que 9 3 7 6 + 4 7 4 8 5 0 Adicionar 6 quando a soma for maior que 9! 0 0 1 1 0 1 1 1 0 1 1 0 + 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 101/133
9.7 ADIÇÃO BCD Procedimento: Usando adição binária comum, some os códigos BCD para cada dígito; Se a soma for menor que 9 nenhuma correção é necessária; Se a soma for maior que 9 então some o fator de correção 0110 102/133
9.7 ADIÇÃO BCD Exercícios: Realize as operações em BCD. a) 24 10 + 46 10 b) 33 10 + 8 10 c) 18 10 + 18 10 d) 9 10 + 7 10 103/133
9.8 ARITMÉTICA HEXADECIMAL O maior dígito é o F! Procedimentos Somar dois dígitos, se a soma for menor ou igual a 15 o resultado poderá ser expresso como um único dígito hexadecimal; Se o resultado da soma for maior do que 15, subtraia 16 e transporte um carry para o próximo dígito (MSD) 104/133
9.8 ARITMÉTICA HEXADECIMAL Exemplo 5 8 16 + 2 4 16 7 C 105/133
9.8 ARITMÉTICA HEXADECIMAL Exemplo 0 7 5 A 16 + 0 7 F C 16 0 F 5 6 106/133
9.8 ARITMÉTICA HEXADECIMAL Exemplo 0 F 1 F 16 + 0 7 F F 16 1 7 1 E 107/133
9.8 ARITMÉTICA HEXADECIMAL Exercícios: Realize as operações em hexadecimal. a) 0F 16 + C4 16 b) A 16 + A 16 c) 01FF 16 + 0101 16 d) 77 16 + 146 16 108/133
9.8 ARITMÉTICA HEXADECIMAL Exercícios: Realize as operações em hexadecimal. a) 0F 16 + C4 16 = D3 16 b) A 16 + A 16 = 14 16 c) 01FF 16 + 0101 16 = 300 16 d) 77 16 + 146 16 = 1BD 16 109/133
9.8 ARITMÉTICA HEXADECIMAL Subtração Hexadecimal Procedimentos Calcular o complemento de 2 do subtraendo Somar o resultado ao minuendo 110/133
9.8 ARITMÉTICA HEXADECIMAL Complemento de 2 hexadecimal Modos de calcular: Conversão em binário Subtração de F 111/133
9.8 ARITMÉTICA HEXADECIMAL Complemento de 2 hexadecimal Subtração de F 112/133
9.8 ARITMÉTICA HEXADECIMAL Complemento de 2 hexadecimal Subtração de F 0 7 5 A 16-0 7 F C 16 113/133
9.8 ARITMÉTICA HEXADECIMAL Complemento de 2 hexadecimal Subtração de F 0 7 5 A 16-0 7 F C 16 Calcular o complemento de 2! 114/133
9.8 ARITMÉTICA HEXADECIMAL Complemento de 2 hexadecimal Subtração de F F F F F 16-0 7 F C 16 F 8 0 3 + 1 F 8 0 4 Complemento de 2! 115/133
9.8 ARITMÉTICA HEXADECIMAL Complemento de 2 hexadecimal Subtração de F 0 7 5 A 16-0 7 F C 16 Calcular o complemento de 2! 116/133
9.8 ARITMÉTICA HEXADECIMAL Complemento de 2 hexadecimal Subtração de F 0 7 5 A 16 + F 8 0 4 16 F F 5 E Calcular o complemento de 2! 117/133
9.8 ARITMÉTICA HEXADECIMAL Representação de número com sinal em hexadecimal Considere os números binários com sinal: 10101111 2 01110011 2 118/133
9.8 ARITMÉTICA HEXADECIMAL Representação de número com sinal em hexadecimal Considere os números binários com sinal: 10101111 2 = AF 16 01110011 2 = 73 16 119/133
9.8 ARITMÉTICA HEXADECIMAL Representação de número com sinal em hexadecimal Considere os números binários com sinal: 10101111 2 = AF 16 01110011 2 = 73 16 Quando o MSD for maior que 7 o número hexadecimal será negativo! Quando o MSD for menor ou igual a 7 o número hexadecimal será positivo! 120/133
9.9 CIRCUITOS ARITMÉTICOS 121/133
9.9 CIRCUITOS ARITMÉTICOS Lê instruções na memória Especifica os números que serão manipulados 122/133
9.9 CIRCUITOS ARITMÉTICOS Lê instruções na memória Especifica os números que serão manipulados Define qual operação aritmética será efetuada 123/133
9.9 CIRCUITOS ARITMÉTICOS Guarda dados na forma de instruções ou resultados de operações aritméticas 124/133
9.9 CIRCUITOS ARITMÉTICOS Recebe da memória um dos valores que serão manipulados 125/133
9.9 CIRCUITOS ARITMÉTICOS Recebe o valor que será somado / subtraído do valor do registrador B e guarda o resultado da operação 126/133
9.9 CIRCUITOS ARITMÉTICOS Circuito lógico responsável pela realização das operações aritméticas 127/133
9.10 SOMADOR BINÁRIO PARALELO 128/133
9.10 SOMADOR BINÁRIO PARALELO 129/133
9.11 PROJETO DE UM SOMADOR COMPLETO 130/133
9.11 PROJETO DE UM SOMADOR COMPLETO 131/133
9.12 SOMADOR PARALELO COMPLETO COM REGISTRADORES 132/133
9.12 SOMADOR PARALELO COMPLETO COM REGISTRADORES 133/133