Escola de Ciências e Tecnologia UFRN Componentes do Computador Prof. Aquiles Burlamaqui ECT1103 INFORMÁTICA FUNDAMENTAL
Manter o telefone celular sempre desligado/silencioso quando estiver em sala de aula; Nunca atender o celular na sala de aula;
Objetivo da Aula Entender a evolução dos computadores; Apresentar os componentes que constituem um computador Entender Como funciona o Computador Computador como uma ferramenta e disciplina
Conceitos Fundamentais O que é um Computador? Aparelho eletrônico usado para processar, guardar e tornar acessível informação de variados tipos.(dicionário Priberam) Denomina-se computador uma máquina capaz de variados tipos de tratamento automático de informações ou processamento de dados.(wiki) Máquina destinada ao processamento de dados; dispositivo capaz de obedecer a instruções que visam produzir certas transformações nos dados,com o objetivo de alcançar um fim determinado. Quem usa? Industrias, empresas, universidades, população em geral;
Conceitos Fundamentais Três pilares Físico ( Periféricos Hardware (CPU + Lógico ( Fábrica Firmware (Instruções de ( Programas ) Software Humano Algoritmo ( Profissionais ) Peopleware
3500 a.c. - O Ábaco Chinês, Russo, japonês. Evolução histórica 1642 - A máquina de Blaise Pascal Rodas dentadas e engrenagens Soma e subtração 1801 - O Tear Programável Joseph Marie Jacquard Cartões perfurados 1822 - A Máquina que "ficou no papel Charles Babbage Pai do Computador
Evolução histórica ( 1955 (1940 - válvulas 1ª Geração: tecnologia de ( 1955-1965 ) 2ª Geração: a utilização do transistor ( 1965-1980 ) 3ª Geração: os circuitos integrados ( 1980-Hoje ) 4ª Geração: microprocessadores
Evolução histórica 1 GERAÇÃO (Componente eletrônico- válvulas) 1943 - Mark I 17 metros de comprimento 2 metros e meio de altura 5 toneladas 1945 ENIAC Utilizava válvulas eletrônicas Manipulação em Forma decimal Limitação: Difícil programação
Evolução histórica 1936, Allan Turing. Máquina de Turing Representação da Máquina de Turing Colossus
Construir um Computador que: Calcule o valor da expressão: ((A-B)*C)/D CPU Impressora Perf. cartões Cartões variáveis A =100 B = 50 C = 2 D = 5
1936- Von Neumann Evolução histórica Sugeriu que as instruções fossem armazenadas na memória do computador para então executá-las, tornando o computador mais rápido. Unidade Lógica e Aritmética Dispositivos de Entrada e Saída Unidade de Controle Memória Principal
Elementos da Arquitetura Von Neumann Unidade de entrada Traduz informação de um dispositivo de entrada em um código que o computador entende (Binário). Memória armazena os dados e o próprio programa. Número finito de localizações que são identificadas por meio de um único endereço. Unidade lógica e aritmética(ula), capaz de realizar operações matemáticas e lógicas; Unidade de controle Responsável pelo tráfego de dados. Barramentos: um conjunto de linhas de comunicação que permitem a interligação entre a CPU, a memória e outros dispositivos. Unidade de saída converte os dados processados, de impulsos elétricos em palavras ou números que podem ser escritos em dispositivos de saída.
A =100 B = 50 C = 2 D = 5 Construir um Computador que: Calcule o valor das expressões: 1. ((A-B)*C)/D 2. (D + C)* A 3. (A+D-C) Unidade Lógica e Aritmética Dispositivos de Entrada e Saída Unidade de Controle Memória Principal
Evolução histórica 2 GERAÇÃO (1959-1964) substituiu as válvulas eletrônicas por transistores e os fios de ligação por circuitos impressos. 3 GERAÇÃO (1964-1980) foi construída com circuitos integrados (miniaturização de transistores num único chip) 4 GERAÇÃO (1980 até hoje) é caracterizada por um aperfeiçoamento da tecnologia já existente Microprocessadores Maior grau de miniaturização, confiabilidade e velocidade maior, já da ordem de nanosegundos (bilionésima parte do segundo).
Como funciona o computador? Unidade Lógica e Aritmética Dispositivos de Entrada e Saída Memória Principal Unidade de Controle Arquitetura de Von Neumann
Memórias A memória é um elemento com capacidade para armazenar qualquer tipo de informação (dados e programas). Memória pode ser classificada em termos de: Tempo de acesso Tamanho Capacidade de leitura e escrita(vida util) Volatilidade Tipos de Memórias Primárias Secundárias
Memória ROM É uma memória que unicamente pode ser lida. Esta memória não pode ser reescrita, servindo apenas para leitura. É utilizada para guardar programas e informação responsáveis pelo funcionamento interno do computador. Não Volátil.
Registradores Memória de alta velocidade Armazenamento de valores intermediários Informações de comando Número limitado de bits Em geral, uma palavra de memória Registradores mais importantes Contador de programa (PC - Program Counter) Aponta para a próxima instrução a executar Registro de instrução (IR - Instruction Register) Outros Armazena a instrução em execução Armazena resultados intermediários
Memória Cache É utilizada para o armazenamento dos dados requisitados pelo processador. A sua capacidade é bastante reduzida, a cache é uma memória de acesso bastante rápida. Volátil 19
Memória Primária A RAM é uma memória primária que contém os programas e os dados que serão utilizados. Características da memória RAM: É de leitura e escrita, pois permite ler e escrever dados, alterá-los e voltar a gravá-los; Volátil pois perde toda a informação quando o computador é desligado. 20
Memória Primária Organizada em Palavras Cada palavra tem um endereço de memória
Memórias Secundárias São utilizadas para guardar, de uma forma mais permanente (Não-volátil), os dados que se encontram na memória RAM.
Hierarquia de memória Tipo Capacidade Velocidade Custo Localização Volatilidade Registrador Bytes muito alta muito alto UCP Volátil Memória Cache Kbytes alta alto UCP/placa Volátil Memória Primária Gbytes média médio Placa Volátil Memória Secundária Gbytes baixa baixo Externa Não Volátil
Unidade Central de Processamento Formada por: Unidade de Controle Execução das instruções Leitura de dados da memória Escrita de dados na memória Leitura de dados de periféricos de E/S Escrita de dados em periféricos de E/S Desvios na execução de instruções Unidade Lógica e Aritmética Realiza operações lógicas e aritméticas (+, -, *, etc.) CPU Unidade de Controle Contador de programa Registro de instrução Unidade Lógica e Aritmética
Conjunto de Instruções Instrução Determina o que a CPU irá fazer Utilizado para diferenciar os vários processadores Número de instruções Complexidade das operações realizadas Tipos de dados suportados OPCODE: comando OPERANDO 1 OPERANDO 2 OPCODE OPERANDO 1 OPERANDO 2
Unidade Central de Processamento Operação OpCode Modo de usar Leia read read (Endereço Disp.) (Endereço p/ Salvar) Escreva write write (Endereço Origem)(Endereço Disp.) Copiar mov mov (Endereço Origem)(Endereço Destino) Soma (+) add add (Endereço 1) (Endereço.2) Subtração(-) sub sub (Endereço1) (Endereço2) Divisão (/) div div (Endereço1) (Endereço2) Mult. (*) mul mul(endereço1) (Endereço2) Armazene sto sto (valor) (Endereço 1) * Em todas as operações aritméticas o resultado vai para endereço (End. 2)
Dispositivos de Entrada e Saída (E/S) Os dispositivos de E/S são usados para a comunicação do computador com o mundo exterior; Todos os dispositivos de E/S necessitam de uma controladora para permitir a comunicação entre eles e o computador; Uma controladora é uma interface entre a CPU e um dispositivo E/S; As duas funções executadas por uma controladora são: Combinar as velocidades entre os dispositivos que operam em velocidades diferentes. Convertem dados de um formato em outro.
Dispositivos de Entrada Teclado Lê os caracteres digitados pelo usuário Mouse Lê os movimentos e toque de botões Drive de CD-ROM Lê dados de discos CD-ROM Microfone Transmite sons para o computador Scanner Usado para o computador "ler" figuras ou fotos
Unidade de Saída Alto-falante Realiza comunicação com o usuário através de so Vídeo Mostra ao usuário, na tela caracteres e gráficos Impressora Imprime caracteres e gráficos
Barramentos Via de comunicação entre componentes de computador Tipos: Barramento de Dados Barramento de Endereço Barramento de Controle
Placa Mãe Permite que o processador comunique com todos os periféricos instalados. É a base onde se encontram circuitos eletrônicos e a memória ROM. É onde se instalam todos os componentes internos do computador: processador (CPU), memória RAM, discos, placa gráfica, placa de som, drive de disquetes, CDs ou de DVDs. 31
32
Ciclo de Execução da Arquitetura de Von Neumann Instruções e dados armazenados na memória indistintamente. Uma palavra escolhida aleatoriamente na memória não pode ser identificada como uma instrução ou um palavra de dado. O significado de uma palavra é determinado pela maneira como o processador vai interpretá-la. Ciclo formado pelos seguintes passos: Obter instrução Decodificar instrução Obter dados adicionais Executar instrução
Ciclo de Execução Obter Instrução CPU Endereço Valor Unidade de Controle Contador de programa 12 Barramento 1 Read (16) (4) 2 Read (16) (5) N+1... Memória Primária Registro de instrução Read (16) (4) Unidade Lógica e Aritmética 1. Obter a instrução: O Contador de Programa contém o endereço da próxima instrução; A unidade de controle usa o barramento para copiar o conteúdo da memória indicado pelo Contador de Programa para o Registro de Instrução; O Contador de Programa passa a conter o endereço da próxima instrução;
Ciclo de Execução Decodificar Instrução CPU Endereço Valor Unidade de Controle Contador de programa 12 Barramento 1 Read (16) (4) 2 Read (16) (5) N+1... Memória Primária Registro de instrução Read (16) (4) Unidade Lógica e Aritmética 2. Decodificar Instrução: Verifica no conjunto de instruções se a operação é válida; Determina quais sinais serão enviados para realizar a operação (Exe.: Ler dispositivo de entrada e salvar valor na memória); Este passo mostra que um computador realiza apenas operações que estão definidas nos seus circuitos lógicos.
Ciclo de Execução Obter dados necessários CPU Endereço Valor Unidade de Controle Contador de programa 12 Barramento 1 Read (16) (4) 2 Read (16) (5) N+1... Memória Primária Registro de instrução Read (16) (4) 3. Obter dados necessários: Acessa o teclado para permitir a entrada do dado solicitado; Unidade Lógica e Aritmética 8
Ciclo de Execução Executa a operação CPU Endereço Valor Unidade de Controle Contador de programa 12 Barramento 1 Read (16) (4) 2 Read (16) (5) 3 Read (16) (6) 4 8 Registro de instrução Read (16) (4) Memória Primária Unidade Lógica e Aritmética 3. Executa a operação: Envia os sinais responsáveis pela execução da operação; No caso, envia o valor fornecido pelo teclado para o endereço de memória 4. Reinicia o ciclo de execução
Exemplo de Programação: Calcular a expressão ((A-B)*C)/D CPU Endereço Valor Unidade de Controle Contador de programa Registro de instrução Unidade Lógica e Aritmética Barramento 1 Read (16) (9) 2 Read (16) (10) 3 Read (16) (11) 4 Read (16) (12) 5 sub (9) (10) 6 mul (10) (11) 7 Div (11) (12) 8 Write (12) (17) 9 10 11 12 13 14 15 Memória Primária
Exemplo de Programação: Calcular a expressão ((A-B)*C)/D CPU Endereço Valor Unidade de Controle Contador de programa 1 Registro de instrução Read (16) (9) Barramento 1 Read (16) (9) 2 Read (16) (10) 3 Read (16) (11) 4 Read (16) (12) 5 sub (9) (10) 6 mul (10) (11) 7 Div (11) (12) 8 Write (12) (17) Unidade Lógica e Aritmética 5 9 10 11 12 13 14 15 5 Memória Primária
Exemplo de Programação: Calcular a expressão ((A-B)*C)/D CPU Endereço Valor Unidade de Controle Contador de programa 2 Registro de instrução Read (16) (10) Barramento 1 Read (16) (9) 2 Read (16) (10) 3 Read (16) (11) 4 Read (16) (12) 5 sub (9) (10) 6 mul (10) (11) 7 Div (11) (12) 8 Write (12) (17) Unidade Lógica e Aritmética 3 9 10 11 12 13 14 15 5 3 Memória Primária
Exemplo de Programação: Calcular a expressão ((A-B)*C)/D CPU Endereço Valor Unidade de Controle Contador de programa 3 Registro de instrução Read (16) (11) Barramento 1 Read (16) (9) 2 Read (16) (10) 3 Read (16) (11) 4 Read (16) (12) 5 sub (9) (10) 6 mul (10) (11) 7 Div (11) (12) 8 Write (12) (17) Unidade Lógica e Aritmética 4 9 10 11 12 13 14 15 5 3 4 Memória Primária
Exemplo de Programação: Calcular a expressão ((A-B)*C)/D CPU Endereço Valor Unidade de Controle Contador de programa 4 Registro de instrução Read (16) (12) Barramento 1 Read (16) (9) 2 Read (16) (10) 3 Read (16) (11) 4 Read (16) (12) 5 sub (9) (10) 6 mul (10) (11) 7 Div (11) (12) 8 Write (12) (17) Unidade Lógica e Aritmética 2 9 10 11 12 13 14 15 5 3 4 2 Memória Primária
Exemplo de Programação: Calcular a expressão ((A-B)*C)/D CPU Endereço Valor Unidade de Controle Contador de programa 5 Registro de instrução sub (9) (10) Unidade Lógica e Aritmética Barramento 1 Read (16) (9) 2 Read (16) (10) 3 Read (16) (11) 4 Read (16) (12) 5 sub (9) (10) 6 mul (10) (11) 7 Div (11) (12) 8 Write (12) (17) 9 10 11 12 13 14 15 5 2 4 2 Memória Primária
Exemplo de Programação: Calcular a expressão ((A-B)*C)/D CPU Endereço Valor Unidade de Controle Contador de programa 6 Registro de instrução mul (10) (11) Unidade Lógica e Aritmética Barramento 1 Read (16) (9) 2 Read (16) (10) 3 Read (16) (11) 4 Read (16) (12) 5 sub (9) (10) 6 mul (10) (11) 7 Div (11) (12) 8 Write (12) (17) 9 10 11 12 13 14 15 5 2 8 2 Memória Primária
Exemplo de Programação: Calcular a expressão ((A-B)*C)/D CPU Endereço Valor Unidade de Controle Contador de programa 7 Registro de instrução Div (11) (12) Unidade Lógica e Aritmética Barramento 1 Read (16) (9) 2 Read (16) (10) 3 Read (16) (11) 4 Read (16) (12) 5 sub (9) (10) 6 mul (10) (11) 7 Div (11) (12) 8 Write (12) (17) 9 10 11 12 13 14 15 5 2 8 4 Memória Primária
Exemplo de Programação: Calcular a expressão ((A-B)*C)/D CPU Endereço Valor Unidade de Controle Contador de programa 8 Registro de instrução Write (12) (17) Unidade Lógica e Aritmética Barramento 1 Read (16) (9) 2 Read (16) (10) 3 Read (16) (11) 4 Read (16) (12) 5 sub (9) (10) 6 mul (10) (11) 7 Div (11) (12) 8 Write (12) (17) 9 10 11 12 13 14 15 5 2 8 4 Memória Primária
Atividades Definir um programa em memória para calcular: (D + C)* A (A+D-C) (B+C)*((A / 7) + (D - 7)) Operação OpCode Modo de usar Leia read read (Endereço Disp.) (Endereço p/ Salvar) Escreva write write (Endereço Origem)(Endereço Disp.) Copiar mov mov (Endereço Origem)(Endereço Destino) Soma (+) add add (End.1) (End.2) Resultado vai para endereço (End 2) Subtração(-) sub sub (Endereço1) (Endereço1) Divisão (/) div div (Endereço1) (Endereço1) Mult. (*) mul mul(endereço1) (Endereço1) Armazene sto sto (valor) (Endereço 1)
Site http://www.ect.ufrn.br/modulo/ect1103/