Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Noções básicas de Informática: Hardware DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1
Sobre a aula I. Marçula, Marcelo. Filho, Pio Armando Benini. Informática -Conceitos e Aplicações. 3 ed. São Paulo: Érica, 2008. II. Kreutz, Márcio Eduardo. Filho, Madiel de Sousa Conserva. Arquitetura de computadores [recurso eletrônico]. 2 ed. Natal: EDUFRN, 2014. 2
Tópicos da aula Conceitos básicos sobre os computadores. Conceito de computador. Elementos que formam um computador. Diferença entre dados e informações. Representação da informação nos computadores digitais. Lógica booleana. Sistema de numeração decimal e binário. Representação da informação (valores numéricos, caracteres, imagens, vídeos e sons). Elementos/unidades dos computadores. Diferença entre arquitetura e organização dos computadores. Arquitetura de Von Neumman. Unidade central de processamento. Memórias. 3
Conceitos básicos sobre computadores 4
O que é um computador? O que é o computador? O que o computador faz? Como uma máquina atende aos nossos comandos? 5
Conceito de Computador É uma máquina de calcular que processa dados através de um conjunto de instruções e produz resultados, com o mínimo de intervenção humana. 6
Conceito de Computador...máquina de calcular...: Alguém ou alguma coisa que realize os cálculos....processa dados...: Alguém ou alguma coisa que informe os dados de entrada....conjunto de instruções...: Alguém ou alguma coisa que mostre o passo-a-passo....resultados...: Alguém ou alguma coisa que informa os dados de saída. 7
Ciclo de processamento Entrada...processa dados......máquina de calcular... Processamento Saída...resultados... Programa...conjunto de instruções... 8
Conceito de Computador Um computador é um dispositivo que aceita informações (na forma de dados digitais) e as manipula para obter algum resultado, baseado em um programa ou sequencia de instruções de como os dados devem ser processados. 9
Informação x Dado Dados são conjuntos de fatos distintos e objetivos, relativos a eventos (2009, Marçula). Informação é a compreensão dos dados (2009, Marçula). Dado Informação Data de nascimento: 07/11/1992 Idade: 23 anos. Medição de temperatura: 38 ºC Temperatura quente 10
Representação digital da informação 11
Representação digital da informação O matemático George Boole desenvolveu, em 1847, um sistema lógico que reduzia a representação de valores através de dois algarismos: 0 ou 1. 0 1 2 3 4 5 6 7 8 9 Antes de Boole Boole 0 1 0 1 2 3 4 5 6 7 8 9 Depois de Boole 12
Representação digital da informação Depois do desenvolvimento da lógica booleana, todos os computadores foram construídos baseados nessa lógica booleana. Conjunto binário: 0 1 Cada símbolo, 0 ou 1, do conjunto binário é chamado de dígito binário. Binary digit = BIT Bit é a menor unidade da informação. 13
Representação digital da informação Exemplos: Representação da iluminação da sala de aula. Sala escura (luz desligada) Sala clara (luz ligada) Exemplo 01 Sala escura. Sala clara no lado direito. Sala clara no lado esquerdo. Sala clara. Exemplo 02 14
Representação digital da informação Tabela de equivalência entre as possíveis combinações dos bits. Sala escura. Sala clara no lado direito. Sala clara no lado esquerdo. Sala clara. Combinação dos símbolos Informação 00 Sala escura 01 Sala clara no lado direito 10 Sala clara no lado esquerdo 11 Sala clara 15
Quantidade de bits e de informação A quantidade de bits informar a quantidade máxima de informações que é possível representar de acordo com a seguinte relação: Número de combinações = 2 n n: número de bits Byte: É um conjunto de oito bits. 2 8 = 256 combinações diferentes 16
Representação digital da informação 0 1 Informação Valores numéricos. Caracteres. Imagens e sons. Codificação Informação digital 010001010 17
Codificação de valores numéricos Quantos símbolos tem o sistema de numeração decimal? 10 símbolos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) Quantos bits são necessários para representar 10 símbolos? 4 bits: 2 n 10 2 4 = 16 18
Codificação de valores numéricos Informação Codificação 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 19
Analisando o sistema de numeração decimal Analisando um valor numérico de base 10 (conjunto decimal): 253 200 + 50 + 3 (2 * 100) + (5 * 10) + (3 * 1) 2 10 2 + 5 10 1 + [3 10 0 ] Valores em azul: é a base do sistema de numeração. 10 é a base decimal. Valores em vermelho: é a posição do dígito. 20
Conversão binário para decimal Conversão de um valor na base 2 (conjunto binário) para a base decimal: 1010 1 2 3 + 0 2 2 + 1 2 1 + [0 2 0 ] 1 8 + 0 4 + 1 2 + 0 1 8 + 0 + 2 + 0 = 10 (1010) 2 = (10) 10 Valores em azul: é a base do sistema de numeração. 2 é a base binária. Valores em vermelho: é a posição do dígito. 21
Praticando! a) Qual o valor decimal do número (011101) 2? b) Qual o valor decimal do número (10000) 2? 22
Codificando caracteres Com a necessidade de trocar informações além de valores numéricos, surgiram os padrões de codificação. Esses padrões consistem em tabelas com grupos de bits que representam determinados caracteres. Codificação BCD (Binary Coded Decimal). Codificação EBCDIC (Extended Binary Coded with Decimal Interchange Code). Codificação ASCII (American Standard Coded for Information Interchange). Unicode. 23
Codificação ASCII 24
Representação de Imagens No computador uma imagem é representada em uma matriz, onde cada elemento é chamado de pixel. 25
Representação de Imagens O número total de cores que se pode representar no computador depende de um parâmetro da placa de vídeo conhecido como profundidade de cor. 26
Representação de Imagens Assumindo uma profundidade de cor de 32 bits. Tamanho da imagem: Tamanho = 450 300 32 8 = 540.000 bytes 27
Representação de Imagens Alguns formatos: Windows Bitmap (BMP): utiliza o processo apresentado anteriormente. Problema: Tamanho excessivo. Graphics Interchange Format (GIF): formato de imagem que utiliza o algoritmo de compressão de dados LZW. Problema: Compressão burra, pois pode reduzir o número de cores possíveis. Joint Photographic Experts Groups (JPEG): formato de imagem e, também, algoritmo de compressão. Prejudica a qualidade mas permite a apresentação de 16 milhões de cores por imagem. 28
Representação de vídeos, animações e sons Representação de vídeos e animações: imagens em movimento dividido em quadros. Representação de sons: as ondas sonoras (sinal analógico) são digitalizadas para sinais digitais. 29
Elementos de um computador 30
Voltando ao conceito! Conceito de computador: Entrada...processa dados......máquina de calcular... Processamento Saída...resultados... Programa...conjunto de instruções... 31
Elementos de um computador Unidade de processamento COMPUTADOR Unidade de entradas e saídas Unidade de armazenamento 32
Elementos de um computador Dispositivo periférico de entrada Unidade central de processamento Unidade lógica e aritmética Unidade de controle Dispositivo periférico de saída Memória em massa Memória Memória de acesso direto 33
Elementos de computador Barramentos Unidade central de processamento Unidade lógica e aritmética Dispositivo periférico de entrada Unidade de controle Dispositivo periférico de saída Memória em massa Memória Memória de acesso direto 34
Arquitetura x Organização dos computadores A arquitetura de computadores aborda as funcionalidades de um sistema computacional de interesse do programador, especificando a disponibilidade de execução de operações. A organização de computadores aborda conceitos de concepção física dos sistemas computacionais. 35
Modelo de arquitetura de computadores O modelo de arquitetura utilizado atualmente foi criado por Von Neumman e estabelece as seguintes regras: Os dados e as instruções estão presentes na mesma memória. O conteúdo da memória é endereçado pela sua posição. As instruções são executadas de forma sequencial, podendo ter o fluxo alterado através de alguma instrução. 36
Arquitetura de Von Neumman Processador Unidade lógica e aritmética Controle Endereço Unidade de controle Registradores internos Memória Dispositivo periférico de entrada e saída Dados/Instruções 37
Arquitetura: Barramentos Barramento de controle: Transfere sinais de controle entre os elementos, indicando qual a natureza da operação (leitura/escrita) ou sinais de determinação da utilização do barramento. Barramento de endereços: Transfere os sinais de endereços, especificando em que local da memória será realizada a operação. Barramento de dados: Transfere dados ou instruções entre os elementos. 38
Arquitetura: Unidade Central de Processamento 39
CPU (Central Processing Unit) A Unidade Central de Processamento (UCP/CPU) é o componente responsável pelo processamento direto ou indireto dos dados. Executa instruções internas (gravadas pelo fabricante) de acordo com as instruções externas que recebe dos programas. Atualmente todos os componentes da unidade são encapsulados em um único chip o microprocessador. 40
Unidade central de processamento Processador Unidade lógica e aritmética Unidade de controle Registradores internos 41
CPU: Unidade de controle A Unidade de Controle coordena todas as atividades realizadas pela CPU, fornecendo sinais de controle que sincronizam e ordenam as operações. A sincronização é necessário para que os outros componentes do sistema funcionem de maneira correta, ou melhor, funcionem ao mesmo tempo. 42
CPU: Unidade Lógica e Aritmética (ULA) A Unidade Lógica e Aritmética (ULA) é responsável por realizar todas as operações aritméticas ou lógicas. Operações aritméticas (soma, subtração, multiplicação e divisão). Operações lógicas (e, ou, ou exclusivo, etc) [Próximas aulas!!!]. 43
CPU: Registradores Internos Registrador é uma unidade de memória capaz de armazenar alguns bits. Os registradores internos são responsáveis por auxiliar a Unidade de Controle e a ULA no processamento das instruções. Contador de programa: armazena o endereço de memória da próxima instrução a ser executada. Registrador de instruções: armazena a instrução que está sendo executada. Decodificador de instruções: entende a instrução e verifica quais os operandos fonte e destino. Registrador de dados da memória: armazena os dados recebidos da memória principal. 44
Entendendo algumas Micro instruções I. Endereçamento da próxima instrução a ser executada. II. III. IV. Leitura da instrução da memória de instruções. Escrita da instrução no registrador de instruções. Decodificação dos operandos. V. Leitura dos operandos da memória ou dos registradores. VI. Execução da instrução. VII. Escrita do resultado. As figuras deste slide foram retiradas de [Kreutz, 2014].
Entendendo algumas Micro instruções Endereçamento da próxima instrução a ser executada. As figuras deste slide foram retiradas de [Kreutz, 2014]. 46
Entendendo algumas Micro instruções Leitura da instrução da memória de instruções. As figuras deste slide foram retiradas de [Kreutz, 2014]. 47
Entendendo algumas Micro instruções Escrita da instrução no registrador de instruções. As figuras deste slide foram retiradas de [Kreutz, 2014]. 48
Entendendo algumas Micro instruções Decodificação dos operandos. As figuras deste slide foram retiradas de [Kreutz, 2014]. 49
Entendendo algumas Micro instruções Leitura dos operandos da memória ou dos registradores. As figuras deste slide foram retiradas de [Kreutz, 2014]. 50
Entendendo algumas Micro instruções Execução da instrução. As figuras deste slide foram retiradas de [Kreutz, 2014]. 51
Entendendo algumas Micro instruções Escrita do resultado. As figuras deste slide foram retiradas de [Kreutz, 2014]. 52
Memórias 53
Memórias Uma memória é um circuito eletrônico rapaz de reter informação. Classificação das memórias: Memórias voláteis: Memórias que mantém o conteúdo apenas enquanto há alimentação elétrica. Memórias não voláteis: Memórias em que a informação é preservada mesmo quando a alimentação é bloqueada. 54
Tipos de memória Memórias somente de leitura Read Only Memory (ROM): São chips de memória que guardam os dados por um longo período de tempo (memórias não voláteis), os dados contidos nela são de difícil modificação. Memórias de leitura e escrita Random Acess Memory (RAM): Memória que pode ser alterada (sofrer operações de escrita e leitura), porém o seu conteúdo é perdido quando a alimentação é retirada. 55
Tipos de memórias ROM Mask-ROM: os dados não podem ser alterados. PROM (Programmable ROM): os dados podem ser alterados através de equipamentos especiais. EPROM (Erasable Programmable ROM): a memória pode ser apagada (luz ultravioleta) e regravada. EEPROM (Electrically EPROM): os dados podem ser apagados por sinais elétricos. Flash-ROM: um tipo de memória EEPROM, mas com menor tempo exclusão e inserção de dados. Exemplo: Pendrive. 56
Tipos de memórias RAM Memórias estáticas (SRAM): Uma célula de memória é composta por 6 transistores (maior consumo de energia). Mais rápidas. Normalmente utilizadas na memória cache dos processadores. Memórias dinâmicas (DRAM): Uma célula de memória é composta por um transistor e um capacitor. Mais lenta, porém com maior capacidade de armazenamento. Normalmente utilizadas na memória principal dos computadores. 57
Exemplos de memórias DROM Tecnologias de memórias DRAM: DRAM convencional. SDRAM (Synchronous DRAM - síncrona). DDR-SDRAM (Double data rate SDRAM). DDR2-SDRAM (Double data rate 2 SDRAM). DDR3-SDRAM (Double data rate 3 SDRAM). 58
Unidade de memórias dos computadores Unidade de Memórias Memória de acesso rápido (Ex.: 8 GB - DDR3-SDRAM) ROM (Bios) Memória de armazenamento em massa (Ex.: Disco Rígio 500 GB) 59
Funcionamento: CPU e Memórias Unidade Central de Processamento 1 Memória de acesso rápido (Ex.: 8 GB - DDR3-SDRAM) 2 a) CPU solicitar o dado a memória de acesso rápido (passo 1). b) Se a memória de acesso rápido tiver o dado, então o dado é transferido para a CPU (passo 2). c) Se a memória de acesso rápido não tiver o dado, então o dado é solicitado ao disco rígido (passo 3). E depois o dado é transferido para a CPU (passo 2). 3 Memória de armazenamento em massa (Ex.: Disco Rígio 500 GB) 60
CPU solicita o dado Funcionamento: CPU e Memórias Passo 1 Unidade de Central Processamento 2 1 Memória de acesso rápido (Ex.: 8 GB - DDR3-SDRAM) 3 Passo 2 Sim DDR3 transfere o dado para CPU DDR3 tem o dado? Dado Não Passo 3 DDR3 solicita o dado ao disco rígido DDR3 transfere o dado para CPU Passo 2 Memória de armazenamento em massa (Ex.: Disco Rígido 500 GB) 61
Revisando Conceitos básicos sobre os computadores. Conceito de computador. Elementos que formam um computador. Diferença entre dados e informações. Representação da informação nos computadores digitais. Lógica booleana. Sistema de numeração decimal e binário. Representação da informação (valores numéricos, caracteres, imagens, vídeos e sons). Elementos/unidades dos computadores. Diferença entre arquitetura e organização dos computadores. Arquitetura de Von Neumman. Unidade central de processamento. Memórias. 62
Referências Marçula, Marcelo. Filho, Pio Armando Benini. Informática - Conceitos e Aplicações. 3 ed. São Paulo: Érica, 2008. Kreutz, Márcio Eduardo. Filho, Madiel de Sousa Conserva. Arquitetura de computadores [recurso eletrônico]. 2 ed. Natal: EDUFRN, 2014. Silva, Ivanovitch Medeiros Dantas da. Algoritmos e Lógica de Programação Notas de aula. UFRN, Natal, 2011. 63
Dúvidas? Dúvidas por email: heitorm@dca.ufrn.br 64