Programação de Computadores O Computador Memória Principal representação binária Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Memória principal. Memória secundária. O que são bytes e bits. Tecnologias de implementação. Tipos de memória: RAM, ROM, Cache, Representação binária de caracteres. Representação binária de inteiros. Representação em ponto flutuante. T2 Memória Principal Memória A memória principal é o espaço de armazenamento temporário para a UCP. Unidade de Entrada Unidade de Controle Unidade de Aritmética e Lógica U.C.P. Unidade de Saída Instruções e dados são armazenados na memória principal durante o processamento. A memória principal é volátil. RAM (Random Access Memory) é um termo associado à memória principal do computador. T3 1
Memória Secundária Discos rígidos, disquetes, CDs, DVDs, memórias flash, etc. são conhecidos como dispositivos de memória secundária. Dados e programas são armazenados na forma de arquivos na memória secundaria T4 Recuperação de Informação T5 Memória Principal É organizada em bytes. Um byte é composto de 8 bits. Um bit é a menor unidade de informação e corresponde a 0 ou 1. Grandes quantidades de memória tornam o computador mais rápido e versátil. T6 2
Unidades de memória Unidade Sigla Quantidade (bytes) 1 Kilobyte 1 KB = 1.024 1.024 1 Megabyte 1 MB = 1.024 2 1.048.576 1 Gigabyte 1 GB = 1.024 3 1.073.741.824 1 Terabyte 1 TB = 1.024 4 1.099.511.627.776 T7 Implementação em circuitos Nos circuitos do computador 1 e 0 correspondem a estados energizados e não energizados dos componentes. A memória é formada por milhares de componentes (capacitores, transistores, etc.) capazes de representar estes estados. T8 Memória de Núcleo T9 3
Chips de memória T10 Memória Cache Outros Tipos de Memória Memória Cache é um tipo de memória com tempo de acesso muito rápido que fica entre microprocessador (UCP) e a memória principal. Sua função é armazenar os dados que tenham maior probabilidade de serem usadas pelas instruções em execução, antes de serem armazenados na memória principal. Aumenta o desempenho do processador. T11 Outros tipos de memoria Memória ROM Read Only Memory memória apenas de leitura. É usada para armazenar rotinas com funções específicas sobre o componentes do hardware. Um exemplo é a rotina que carrega o sistema operacional quando o computador é ligado. Essas rotinas são chamadas firmware T12 4
Programa na memória principal Um programa é armazenado na memória do computador como uma seqüência de instruções. T13 Representação de dados Dados e instruções são armazenados em formato binário. Caracteres utilizam um padrão convencionado, como o ASCII. ASCII - American Standard Code for Information Interchange T14 Padrão UNICODE Por usar apenas 8 bits o padrão ASCII é limitado a 256 caracteres. O padrão UNICODE foi definido para permitir a representação do maior número possível de caracteres usados nas várias línguas. UNICODE pode utilizar até 32 bits para representar caracteres. O padrão ASCII foi incorporado ao padrão UNICODE. O padrão é administrado por um consórcio internacional: www.unicode.org/consortium/consort.html T15 5
Sistemas Binário, Decimal e Hexadecimal Binário Decimal Hexadecimal 0000 0 0 0001 1 1 0010 2 2 0011 3 3 0100 4 4 0101 5 5 0110 6 6 0111 7 7 1000 8 8 1001 9 9 1010 10 A 1011 11 B 1100 12 C 1101 13 D 1110 14 E 1111 15 F T16 Representação de Valores Numéricos Valores numéricos Inteiros utilizam o sistema de representação base 2. Valores numéricos racionais utilizam a notação de ponto flutuante: são convertidos para base 2 e armazenados na forma normalizada. T17 Conversão de inteiro para a base 2 Faça divisões sucessivas por 2 até que o quociente se torne igual a 1 O valor binário é escrito tomando-se o quociente como o dígito de mais alta ordem seguido dos restos, da esquerda para a direita. T18 6
Armazenamento de valores inteiros Bytes podem ser agrupados em palavras binárias para permitir a representação de um intervalo maior de valores inteiros Tipo Tamanho Valores byte 8 bits -128 a 127 short 16 bits -32.768 a 32.767 int 32 bits -2.147.483.648 a 2.147.483.647 long 64 bits -9.223.372.036.854.775.808 a 9.223.372.036.854.775.808 T19 Conversão de fração para a base 2 Multiplique a parte fracionária sucessivamente por 2. O valor binário é obtido tomando o dígito da parte inteira que aparece após cada multiplicação. T20 Conversão da base 2 para base 10 101011.0112 =???10 Notação Posicional O valor do algarismo é dado pela sua posição no número, multiplicando-se o algarismo pela base (neste caso igual a 2) elevada ao expoente que é igual à posição do algarismo no número. 5 4 3 2 1 0-1 -2-3 1 0 1 0 1 1. 0 1 1 5 4 3 2 1 0 1 1 2 0 2 1 2 0 2 1 2 1 2 0 2 1 2 2 1 2 = 32 + 0 + 8 + 0 + 2 + 1 + 0 + 0,25 + 0,125 =43,375 3 T21 7
Precisão da representação da mantissa Precisão Binário Decimal 1 bit 0.0 0,0 0.1 0,5 2 bits 0.00 0,00 0.01 0,25 0.10 0,50 0.11 0,75 3 bits 0.000 0,000 0.001 0,125 0.010 0,250 0.011 0,375 0.100 0,500 0.101 0,625 0.110 0,750 0.111 0,875 Representação gráfica 0,0 0,5 0,00 0,25 0,50 0,75 0,000 0,125 0,250 0,375 0,500 0,625 0,750 0,875 Observe que aumentando o número de algarismos binários da mantissa consegue-se representar valores cada vez menores, porém sempre haverá um intervalo de valores que não pode ser representado. T22 Representação em Ponto Flutuante T23 FIM T24 8