Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Sistema Computacional Peopleware (usuário) Software (programas) Hardware (máquina) Hardware Corresponde à parte material, aos componentes físicos do sistema. É o computador propriamente dito. Software Conjunto de programas (instruções arranjadas logicamente) e sua documentação. Estrutura de um computador digital Unidade Central de Processamento Unidade Lógica e Aritmética Unidade de Controle Memória Principal Memória Secundária Interfaces Unidades de Entrada Unidades de Saída Periféricos ____________________________________________________________________________________ Algoritmos Professor: Pa ulo Renato 3 Unidades de Entrada Pen drive, fitas magnéticas, mouse, joystick, microfone, scanners, CDROM, sensores, etc ... Unidades de Saída Vídeo, impressora, caixas de som, etc... Unidade Central de Processamento (CPU) Também chamada de microprocessador, é responsável pelo gerenciamento de todas as funções do sistema; A CPU distingue somente dois estados físicos, representados pelos números 0 e 1 – dígitos binários; É dividida em: Unidade Aritmética e Lógica É encarregada de realizar operações aritméticas e lógicas elementares. Unidade de Controle É encarregada de coordenar os diversos componentes. Memória Principal (RAM – Random Access Memory) É a unidade encarregada de armazenar os dados recebidos das unidades de entrada para imediato processamento pela CPU. Um dado a ser processado pela CPU do computador pode ser colocado na memória na hora de se executar as ações de transformação. ____________________________________________________________________________________ Algoritmos Professor: Pa ulo Renato 4 Um resultado de uma transformação realizada pela CPU pode também ser armazenado na memória antes que passe para as unidades de saída. Memória Principal CPU A memória é considerada um meio temporário de armazenamento de dados, que permanecem ali durante o tempo em que estiverem sendo processados. Memória Secundária (ou Auxiliar) A memória secundária pode ser composta por vários dispositivos capazes de ampliar a capacidade de armazenamento da memória principal; Estas memórias auxiliares podem armazenar grandes quantidades de dados e programas, permitindo que sejam solicitados diretamente pela memória principal quando necessários; Exemplos mais comuns: disco rígido (ou winchester), pen drive e fitas magnéticas. A memória secundária é um tipo de memória não volátil, teoricamente permanente e mais lenta; CPU Memória Principal Memória Secundária ____________________________________________________________________________________ Algoritmos Professor: Pa ulo Renato 5 Outra função da memória secundária é oferecer uma expansão virtual da memória principal – Memória Virtual. Memória Virtual Memória Principal Memória Secundária CONCEITOS IMPORTANTES Bit (“Binary DigiT” – dígito binário) Unidade de Informação, tem somente os valores “0” ou “1”; Byte (“BinarY Term” – termo binário) Conjunto de 8 bits, com o qual pode-se representar os números, as letras, os sinais de pontuação, etc... Palavra (Word) É a quantidade de bits que a CPU processa por vez. CPU ou micro de: 8 bits 16 bits 32 bits 64 bits 128 bits Palavra de: 8 bits = 1 byte = 1 caractere 16 bits = 2 bytes = 2 caracteres 32 bits = 4 bytes = 4 caracteres 64 bits = 8 bytes = 8 caracteres 128 bits = 16 bytes = 16 caracteres ____________________________________________________________________________________ Algoritmos Professor: Pa ulo Renato 6 Exemplo: se a palavra (texto) PESQUISA tiver sido transferida da memória para uma CPU de: 8 bits <= este precisará de 8 operações para processá-la; 16 bits <= este precisará de 4 operações para processá-la; 32 bits <= este precisará de 2 operações para processá-la; 64 bits <= este precisará de uma operação para processá-la; Interface Representa o meio de comunicação entre duas partes do sistema. Exemplo: disco e computador, teclado e computador, computador e impressora. Existem dois tipos de interface: - serial: os dados são enviados um bit de cada vez (cabos com um único fio); - paralela: um byte de cada vez (cabos com 8 fios); Unidades de Medida (Kilo, Mega, Giga, Tera) Unidades Kilo (K) Mega (M) Giga (G) Tera (T) Usual 103 106 109 1012 Informática 210 220 230 240 Exemplo: Qual a quantidade exata de bits que os dispositivos de memória auxiliar abaixo possuem ? a-) Disquete de 1,44 MB 1,44 MB = 1,44 * 220 * 8 = 12079595,52 bits ____________________________________________________________________________________ Algoritmos Professor: Pa ulo Renato 7 b-) Winchester de 3,1 Gb 3,1 Gb = 3,1 * 230 * 8 = 26628797235,2 bits Linguagens de Programação Para que um algoritmo possa ser executado pelo computador, é necessário que ele seja programado, isto é, que ele seja transcrito para uma linguagem que o computador possa “entender”, direta ou indiretamente. Tradutor Os computadores só podem executar diretamente os algoritmos expressos em linguagem de máquina (que é um conjunto de instruções capazes de ativar diretamente os dispositivos eletrônicos do computador). Um tradutor é um programa que traduz um algoritmo que está escrito em uma determinada linguagem de programação em linguagem de máquina. Programa Fonte Algoritmo ou programa escrito em uma determinada linguagem de programação Tradutor Algoritmo ou programa Programa traduzido para Objeto linguagem de ____________________________________________________________________________________ máquina Algoritmos Professor: Pa ulo Renato 8 O processo de tradução pode ser feito por: Compilação Lê, analisa e traduz todos os comandos do programa fonte, criando o programa objeto. Interpretação Traduz ou interpreta cada comando ao executá-lo. Tradutor Linguagem de Alto Nível Compilador Programa Fonte Interpretador Linguagem de Máquina Execução Programa Objeto Execução de todo o programa Executa um comando e volta A compilação é ideal para quando o programa estiver na sua forma definitiva ou for reutilizado com freqüência. É mais rápida na execução que o modo interpretado. A grande desvantagem do programa objeto é não ser possível modificá-lo. Para tal é necessário retomar o fonte, fazer as alterações e compilar tudo de novo. Ideal para comercialização de programas. A interpretação implica em mais tempo de execução. Evita, a cada alteração do fonte, traduzir tudo de novo. Ideal para a fase de desenvolvimento do programa ou uso interativo. ____________________________________________________________________________________ Algoritmos Professor: Pa ulo Renato 9 Sistema Operacional (SO) É um programa especial que controla e coordena todas as operações básicas de um computador. É um software básico que controla a execução de outros programas e pode proporcionar funções como: - controle de entrada e saída de dados; - alocação de memória; - gerenciamento de dados, etc ... Exemplo: Quando se pressiona uma letra no teclado, o SO executa centenas de operações muito elementares, que genericamente poderiam ser: - manter a atenção no teclado; quando for pressionada alguma tecla, calcular sua posição; verificar se a tecla shift está apertada; sendo uma tecla de controle, executar a operação desejada; não sendo, determinar a posição na tela onde está o cursor e ali gerar a imagem correspondente ao símbolo digitado. Os programas que compõem os SOs são, na maioria dos casos, escritos em linguagens de nível mais baixo, fazendo com que eles sejam mais rápidos e eficientes no gerenciamento de recursos do hardware. Exemplos mais comuns de SOs: DOS, Windows2007, Linux, etc. Os SOs podem ser classificados em: Monosusuário: somente um usuário pode processar dados por vez na CPU; Multiusuário: vários usuários podem acessar “ao mesmo tempo” a CPU de um sistema; ____________________________________________________________________________________ Algoritmos Professor: Pa ulo Renato 10 Monotarefa: somente um programa de cada vez é executado pela CPU. Multitarefa: vários programas podem ser executados de maneira concorrente pela CPU (eles concorrem pela mesma CPU). ____________________________________________________________________________________ Algoritmos Professor: Pa ulo Renato 11