Profa. Mariana Monteiro Universidade Estadual do Norte do Paraná Campus Luiz Meneghel Curso: Sistemas de Informação 3º Semestre mariana@uenp.edu.br Ementa Introdução à matéria Sistemas Numéricos Histórico/Gerações de Computadores Organização do Computador Digital: CPU, Linguagem de máquina x linguagem de alto nível, Assemblers Organização de Computadores: Máquina de Von Newmann Arquitetura e funcionamento, Processador Famílias de Processadores Arquitetura RISC/CISC Multicomputador e Multiprocessador Memória: Funcionamento Hierarquia da memória Registradores Memória principal Endereçamento de Memória Ordenação de bytes Tipos de Memória (Hardware Memória Secundária Cache) Modos de Endereçamento, conjunto de instruções Mecanismos de interrupção e exceção (Desvios do Fluxo de Controle) Barramentos, comunicações, interfaces, e periféricos Arquiteturas Superescalares Lógica Digital Critérios de Avaliação 02 provas 01 trabalho Sobre a Disciplina Por que estudar Arquitetura? SIM NÃO De que consiste um sistema de computador; Como o computador trabalha; Como ele é organizado internamente Como consertar um computador; Como construir um computador; Como comprar um computador; *retirado do material do Prof. João Angelo Martini Arquitetura de Computadores Universidade Estadual de Maringá Sistemas embarcados (embutidos) dominam o mercado Motivação para estudar arquitetura!!!! 1
Porque estudar Arquitetura? Computaramse 991 telefones celulares por mil habitantes aumento interanual de 13,4% (874 no 4º trimestre /2009). o Brasil deverá somar 338 computadores para cada mil habitantes (14,2% a mais que no mesmo período em 2010). A telefonia móvel cresceu 13,4% em relação a 2009 e levando o País a superar pela primeira vez a média latinoamericana de celulares por habitante. Fonte: INTELIGEMCIA. Estudo ISI aponta que Brasil supera média latino-americana pelo terceiro ano consecutivo. Disponível em http://www.inteligemcia.com.br. Componentes clássicos do computador Arquitetura x Organização CPU Arquitetura Organização ENTRADA SAÍDA Aspectos funcionais e visíveis ao programador Aspectos estruturais e não visíveis ao programador MEMÓRIA Tamanho de Dados (nº de bits) Conjunto de Instruções (tipos de instruções) Sinais de controle Freqüência de clock Sistemas Numéricos Decimal Romano Binário Hexadecimal BCD ( Código Binário Decimal Codificado) 2
Sistemas Numéricos Posicionais (Decimal) 4664 (Romano) X Sistemas Numéricos Posicionais (Decimal) 4664 Em posições diferentes, o 4 e o 6 assumem valores diferentes. Sistemas Numéricos Posicionais (Decimal) 4664 (Romano) X Em posições diferentes, o 4 e o 6 assumem valores diferentes. (Romano) XXXVVIII SISTEMA NUMÉRICO POSICIONAL (Romano) X 10 (Romano) XXXVIII 101010 O valor não muda independente da posição Sistemas Numéricos Posicionais BINÁRIO DECIMAL HEXADECIMAL SISTEMA NUMÉRICO NÃO POSICIONAL 3
Cálculo do valor posicional V=S*B^P V= Posicional S= absoluto B= Base do sistema numérico P= Posição do símbolo Exemplo Decimal 345 Posição 2 1 0 Simbolos 3 4 5 Posicional V=3*10^2 V=3*100 V= 300 V=4*10^1 V=$*10 V=40 V=5*10^0 V=5*1 V=5 300 + 40 + 5 = 345 Sistema Decimal Base 10 Algorismos indu-arábicos (0-9) Criado por ser compatível com os dedos das mãos Sistema Binário Utilizado para máquinas Estado da corrente elétrica (ligada/desligada alta/baixa) 2 Dígitos (0 1) Base 2 Sistema numérico padrão Conversão Decimal - Binário Conversão Decimal - Binário Dividendo Divisor Quociente Resto 37 2 18 1 18 2 9 0 9 2 4 1 4 2 2 0 2 2 1 0 1 2 0 1 Representação Binária: Feita na ordem inversa. Dividendo Divisor Quociente Resto 37 2 18 1 18 2 9 0 9 2 4 1 4 2 2 0 2 2 1 0 1 2 0 1 Representação Binária: Feita na ordem inversa. 37 (decimal) 100101 (binário) 4
Conversão Binário - Decimal Posição 5 4 3 2 1 0 Símbolos 1 0 0 1 0 1 Posicional V=1*2^5 V=1*32 V= 32 V=0*2^4 V=0*16 V=0 V=0*2^3 V=0*8 V=0 V=1*2^2 V=1*4 V=4 V=0*2^1 V=0*2 V=0 V=1*2^0 V=1*1 V=1 Modo prático (Binário-Decimal) 100101 1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+1*2^0 32+4+1 = 37 32+4+1 = 37 Sistema Hexadecimal Usado em programação Assembly 16 símbolos Sistema Decimal + 6 Letras Símbolo 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A 10 B 11 C 12 D 13 E 14 F 15 Absoluto 3E0A Conversão: Decimal - Hexadecimal Ex: 23870 Dividendo Divisor Quociente Resto 23870 16 1491 14 1491 16 93 3 93 16 5 13 5 16 0 5 5 13 3 14 Símbolo 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A 10 B 11 C 12 D 13 E 14 F 15 Absoluto 5 13 3 14 5D3E 5
Conversão Hexadecimal-Decimal Posição 3 2 1 0 Símbolo 5 D 3 E Absoluto Posicional 5 13 3 14 V=5*16^3 V=5*4096 V= 20480 V=13*16^2 V=13*256 V=3328 V=3*16^1 V=3*16 V=48 V=14*16^0 V=14*1 V=14 Conversão Hexadecimal-Binário HEXADECIMAL DECIMAL 20480 + 3328 + 48 + 14 = 23870 5*16^3+13*16^2+3*16^1+14*16^0 = 23870 BINÁRIO Tabela de Equivalência Decimal Binário Hexadecimal 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F Conversão Números Fracionarios 456,78 101,101 4x10 2 + 5x10 1 + 6x10 0 + 7x10-1 + 8x10-2 1x2 2 + 0x2 1 + 1x2 0 + 1x2-1 +0x2-2 + 1x2-3 = 5,625 Ponto Fixo x Ponto Flutuante Ponto Fixo: Quando podemos escrever um número fracionário de diversas maneiras diferentes: Ex: 45,31 = 4,531 x 10 1 ou 0,4531x10 2 ou 453,1x10-1 Ponto Flutuante 0,000123 Zeros não significativos Forma Normalizada (tira os zeros não significativos) 0,000123 = 0,00123 x 10-1 = 0,123 x 10-3 forma normalizada 6
Normalização Binária 111,01 = 1,1101x2² 0,11101x2³ Forma Normalizada A parte do número representado dessa forma normalizada (os algarismos significativos), damos o nome de mantissa.e portanto podemos representar: ± 0,M x B ± e onde M é a mantissa, B é a base e e é o expoente. A Normalização ou forma normal, tem objetivo de conservar o máximo de precisão possível do número! (menor ou próximo de 1) Obedecendo sempre o tamanho limitado da Mantissa. Representação de números reais no computador x y Faixa de Representação Overflow Faixa de Underflow Overflow SN SE EXPOENTE MANTISSA SN= sinal do número SE= sinal do expoente na base 2 M bits O número total de bits (M), Sinal do número (SN) e Sinal do Expoente (SE) São predefinidos no projeto. Quanto maior o número de bits do expoente maior a faixa de número do computador. Quanto maior o número de bits para mantissa, maior a precisão. 0 -(2 -(0,10..00 x2 x - 1) ) 2 -(0,11...11x2 x - 1 ) 0,10..00 x2 -(2x - 1) 0,11...11x2 2x - 1 Ponto Flutuante: Limites de alcance e precisão nº de bits do expoente Overflow: Quando o valor absoluto do dado excede/é insuficiente a capacidade de representação (mantissa muito grande) Underflow: Os dados não podem ser representados, pois ocorre estouro no expoente A normalização permite a representação dos dados, porém com perda de precisão. Exemplo em representação de ponto flutuante Representação no IBM /370 CARACTERÍSTICA entre 0 e 63 10 : expoente negativo SN = sinal do dado CARACTERÍSTICA = o expoente, representado na forma de excesso de n, ou seja CARACTERÍSTICA = EXPOENTE + EXCESSO No caso da IBM, o excesso é de 64 10, portanto: CARACTERÍSTICA entre 65 e 127: expoente positivo (característica igual a 64 10 significa expoente igual a 0) CARACTERÍSTICA = EXPOENTE + 64 10 Exemplificando: expoente = 8 10, logo característica = 8 10 + 64 10 = 72 10 7
Indique o valor posicional de cada dígito em negrito nos seguintes números decimais: a) 3.264,56 b) 1763,34 Indique o valor posicional de cada dígito em negrito nos seguintes números decimais: a) 3.264,56 V=S*B^P V= 6*10^1 V=6*10 V=60 Indique o valor posicional de cada dígito em negrito nos seguintes números decimais: a) 3.264,56 b) 1763,34 V=S*B^P Indique o valor decimal dos seguintes números binários: a) 111010 b) 1110111 c) 1010,0011 V= 3*10^0 V=3*1 V=3 Indique o valor decimal dos seguintes números binários: a) 111010 Pos. 5 4 3 2 1 0 Simbolo 1 1 1 0 1 0 Pos. V= 1*2^5 V=1*32 V=32 V= 1*2^4 V=1*16 V=16 V= 1*2^3 V=1*8 V=8 32+16+8+2 = 58 - V= 1*2^1 V=1*2 V=2 - Indique o valor decimal dos seguintes números binários: a) 111010 b) 1110111 Pos. 6 5 4 3 2 1 0 Simb. 1 1 1 0 1 1 1 V.Pos. V=1*2^6 V=64 V=1*2^5 V= 32 V=1*2^4 V=16 - V=1*2^2 V=4 64+32+16+4+2+1 = 119 V=1*2^1 V=2 V=1*2^0 V=1 8
Indique o valor decimal dos seguintes números binários: a) 111010 b) 1110111 c) 1010,0011 Converta os Seguintes números: a) 4E95 para binário b) 575 para binário c) 111011 para hexadecimal Pos 3 2 1 0-1 -2-3 -4 Simb. 1 0 1 0 0 0 1 1 V.Pos. V=1*2^3 V=8 - V=1*2^1 V=2 - - - V=1*2^(-3) V=0,125 V=1*2^(-4) V=0,0625 8+2+0,125+0,0625 = 10,1875 Converta os Seguintes números: a) 4E95 para binário Posição 3 2 1 0 Símbolo 4 E 9 5 Absoluto Posicional 4 14 9 5 V=4*16^3 V=4*4096 V= 16384 V=14*16^2 V=14*256 V=3584 V=9*16^1 V=9*16 V=144 16384+3584+144+5= 20117 V=5*16^0 V=5*1 V=5 Dividendo Divisor Quociente Resto 20117 2 10058 1 10058 2 5029 0 5029 2 2514 1 2514 2 1257 0 1257 2 628 1 628 2 314 0 314 2 157 0 157 2 78 1 78 2 39 0 39 2 19 1 19 2 9 1 9 2 4 1 4 2 2 0 2 2 1 0 1 2 1 1 100111010010101 575 para binário 1000111111 Divden do Divisor Quocie nte Resto 575 2 287 1 287 2 143 1 143 2 71 1 71 2 35 1 35 2 17 1 17 2 8 1 8 2 4 0 4 2 2 0 2 2 1 0 1 2 1 1 111011 para hexadecimal Pos. 5 4 3 2 1 0 Simbolo 1 1 1 0 1 1 Pos. V= 1*2^5 V=1*32 Divden do V=32 V= 1*2^4 V=1*16 V=16 V= 1*2^3 V=1*8 V=8 - V= 1*2^1 V=1*2 32 + 16 + 8 + 2 + 1 = 59 Divisor Quocie nte Resto 59 16 3 11 3 16 1 3 3B V=2 V= 1*2^0 V=1 9