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
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.
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.
Conceitos básicos sobre
computadores
O que é um computador? • O que é o computador?
• O que o computador faz?
• Como uma máquina atende aos nossos
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.”
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.
Ciclo de processamento
8
Entrada Processamento Saída
Programa
...máquina de calcular...
...processa dados... ...resultados...
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.
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).
10
Dado Informação
Data de nascimento: 07/11/1992 Idade: 23 anos.
Representação digital
da informação
Representação digital da informação
12 • 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
0 1 2 3 4 5 6 7 8 90 1
Representação digital da informação
• Depois do desenvolvimento da lógica booleana, todos os computadores foram construídos baseados nessa lógica booleana.
• 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”.
0 1
Representação digital da informação
• Exemplos: Representação da iluminação da sala de aula.
14
Sala escura
(luz desligada)
Sala clara
(luz ligada)
Sala escura. Sala clara no lado direito.
Sala clara no lado esquerdo.
Sala clara.
Exemplo 01
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 escura01
Sala clara no lado direito10
Sala clara no lado esquerdo11
Sala claraQuantidade 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: número de bits
• Byte:
– É um conjunto de oito bits.
28 = 256 𝑐𝑜𝑚𝑏𝑖𝑛𝑎çõ𝑒𝑠 𝑑𝑖𝑓𝑒𝑟𝑒𝑛𝑡𝑒𝑠
Representação digital da informação • Valores numéricos. • Caracteres. • Imagens e sons. Informação Codificação
0 1
010001010 Informação digitalCodificaçã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𝑛 ≥ 10 → 2𝟒 = 16
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
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 ∗ 𝟏𝟎𝟐 + 5 ∗ 10𝟏 + [3 ∗ 𝟏𝟎𝟎 ]
Valores em azul: é a base do sistema de numeração.
• 10 é a base decimal.
Valores em vermelho: é a posição do dígito.
Conversão binário para decimal
Conversão de um valor na base 2 (conjunto binário) para a base decimal: 1010 1 ∗ 2𝟑 + 0 ∗ 𝟐𝟐 + 1 ∗ 2𝟏 + [0 ∗ 𝟐𝟎 ] 1 ∗ 𝟖 + 0 ∗ 𝟒 + 1 ∗ 𝟐 + 0 ∗ 𝟏 8 + 0 + 2 + 0 = 10 (𝟏𝟎𝟏𝟎)𝟐 = (𝟏𝟎)𝟏𝟎
Valores em azul: é a base do sistema de numeração.
• 2 é a base binária.
Praticando!
a) Qual o valor decimal do número (𝟎𝟏𝟏𝟏𝟎𝟏)𝟐 ?
b) Qual o valor decimal do número (𝟏𝟎𝟎𝟎𝟎)𝟐 ?
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).
Codificação ASCII
Representação de Imagens
• No computador uma imagem é representada em uma matriz, onde cada elemento é chamado de
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.
Representação de Imagens
• Assumindo uma profundidade de cor de 32 bits. • Tamanho da imagem:
𝑇𝑎𝑚𝑎𝑛ℎ𝑜 = 450 ∗ 300 ∗ 32
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.
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
Elementos de um computador
Voltando ao conceito!
• Conceito de computador:
Entrada Processamento Saída
Programa
...máquina de calcular...
...processa dados... ...resultados...
Elementos de um computador COMPUTADOR Unidade de processamento Unidade de armazenamento Unidade de entradas e saídas 32
Elementos de um computador Dispositivo periférico de entrada Dispositivo periférico de saída Unidade central de processamento Memória Unidade lógica e aritmética Unidade de controle Memória em massa Memória de acesso direto
Elementos de computador 34 Dispositivo periférico de entrada Dispositivo periférico de saída Unidade central de processamento Memória Unidade lógica e aritmética Unidade de controle Memória em massa Memória de acesso direto
Barramentos
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.
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.
Arquitetura de Von Neumman Dispositivo periférico de entrada e saída Processador Memória Unidade lógica e aritmética Unidade de controle Registradores internos Controle Endereço Dados/Instruções
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.
Arquitetura:
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.
Unidade central de processamento Processador Unidade lógica e aritmética Unidade de controle Registradores internos
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.
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!!!].
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.
Entendendo algumas Micro instruções
I. Endereçamento da próxima instrução a ser executada. II. Leitura da instrução da memória de instruções.
III. Escrita da instrução no registrador de instruções. IV. Decodificação dos operandos.
V. Leitura dos operandos da memória ou dos registradores. VI. Execução da instrução.
Entendendo algumas Micro instruções
• Endereçamento da próxima instrução a ser executada.
46 As figuras deste slide foram retiradas de [Kreutz, 2014].
Entendendo algumas Micro instruções
Entendendo algumas Micro instruções
• Escrita da instrução no registrador de instruções.
48 As figuras deste slide foram retiradas de [Kreutz, 2014].
Entendendo algumas Micro instruções
Entendendo algumas Micro instruções
• Leitura dos operandos da memória ou dos registradores.
50 As figuras deste slide foram retiradas de [Kreutz, 2014].
Entendendo algumas Micro instruções
Entendendo algumas Micro instruções
• Escrita do resultado.
52 As figuras deste slide foram retiradas de [Kreutz, 2014].
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.
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.
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.
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.
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).
Unidade de memórias dos computadores
ROM (Bios)
Memória de acesso rápido (Ex.: 8 GB - DDR3-SDRAM)
Memória de
armazenamento em massa Unidade de
Funcionamento: CPU e Memórias
60
Memória de acesso rápido (Ex.: 8 GB - DDR3-SDRAM)
Memória de
armazenamento em massa (Ex.: Disco Rígio – 500 GB)
Unidade Central de Processamento
1
2
3
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).
CPU solicita o dado
DDR3 tem o dado?
DDR3 transfere o dado para CPU
DDR3 solicita o dado ao disco rígido
DDR3 transfere o dado para CPU
Passo 1
Passo 2
Passo 2
Passo 3
Sim Não
Memória de acesso rápido (Ex.: 8 GB - DDR3-SDRAM)
Memória de
armazenamento em massa (Ex.: Disco Rígido – 500 GB)
Unidade de Central Processamento 1 2 3 Funcionamento: CPU e Memórias
Revisando
62
• 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.
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.
Dúvidas?
Dúvidas por email:
heitorm@dca.ufrn.br