Disciplina: Organização de computadores Professora: Carolina D. G. dos Santos E-mail: profcarolinadgs@gmail.com Página: profcarolinadgs.webnode.com.br Unip / Prof. a Carolina 1
Conceitos Básicos Sistema de computação Conjunto de componentes integrados para funcionar como se fossem um único elemento com o objetivo de realizar manipulações com dados (realizar operações com os dados a fim de obter uma informação útil). DADOS (entrada) PROCESSAMENTO (transformação) (interpretação) INFORMAÇÃO (saída) 2
Componentes Modelo de computador com componentes básicos, os quais fazem parte (exceto as memórias) das etapas de um processo de manipulação de dados. Processador Dispositivo de Saída Dispositivo de Entrada Memória principal (RAM) ou primária Memória secundária 3
Exemplo corriqueiro Consideremos o caso de um sistema de controle do movimento diário de uma agência bancária: Atualização dos saldos das contas de clientes que tiveram movimento em um determinado dia. Em linhas gerais, o movimento do dia compreenderia apenas retiradas de algum valor ou inclusões. As duas possíveis operações seriam, então: retirada operação de subtrair do saldo atual o valor da retirada, obtendo-se um novo valor de saldo; depósito operação de somar ao saldo atual o valor do depósito, obtendo-se um novo valor de saldo. Ambas as operações são realizadas por meio de informações obtidas de um documento DOC que contém o número da conta a ser manipulada, o tipo da operação (retirada ou depósito) e o valor em moeda. 4
Algoritmo Início do Programa Enquanto houver DOC Fazer Obter um DOC Ler número do DOC Encontrar conta com número = número do DOC Se tipo-doc = depósito Então: Novo-saldo = Saldo + Valor Se tipo-doc = retirada Então: Novo-saldo = Saldo Valor Escrever Novo-Saldo no lugar de Saldo Fim do Fazer Fim do Programa Desta forma (informal) não é possível ser processado por uma máquina, devido à sua informalidade e à ausência de qualquer padrão de nomenclatura. 5
Linguagem de programação Com isso houve a necessidade de definir linguagens de comunicação com os computadores, chamadas de: linguagem de programação. void main () { O próximo passo seria então codificar o algoritmo em comandos de uma linguagem de programação printf ( Digite de o alto número nível, do ex. documento ); C ou Pascal, Visual C, Delphi, etc. scanf ( %d, &num_doc); while (num_doc!= 0) { printf ( Informe o número da conta ); scanf ( %d, &num_conta); printf ( Informe o valor ); scanf ( %d, &valor); printf ( Qual o tipo de lançamento (D) Depósito ou (R) Retirada ); scanf ( %c, &tp_lanc); if tp_lanc == D Saldo = Saldo + valor; else Saldo = Saldo - valor; printf ( Digite o número do documento ); scanf ( %d, &num_doc); } 6
Componentes Em seguida, os comandos definidos que juntos constituem um PROGRAMA DE COMPUTADOR são interpretados pela máquina, para isso precisam de alguma forma serem introduzidos no hardware (primeira etapa do processamento). ENTRADA requer um componente ou equipamento específico (hardware): Teclado 7
Componentes ENTRADA além do teclado podemos citar: Mouse Scanner Caneta Microfone Touch-Screen Sensores ópticos (utilizados para ler as marcas a lápis, colocadas em folhas de respostas por candidatos em um concurso) Sensores Magnéticos (utilizado para ler marcas colocadas em um cheque de banco) Disquetes ou discos rígidos CDs, DVDs etc 8
Componentes Os computadores foram (e ainda são) projetados com capacidade de entender e realizar apenas tarefas bem simples e curtas, tais como: somar dois números de cada vez (não efetua com 3 ou 4 números de uma só vez, etc.) mover um número de um local para outro. Ler o caractere correspondente à tecla que acabou de ser pressionada no teclado, e assim por diante. Portanto, para o computador poder realizar as tarefas é preciso que estas estejam bem detalhadas 9
Início do Programa INICIO Obter um DOC Se não há mais DOC. Então: Vá para FIM Senão: Fazer 1: Ler número do DOC CONTA Obter Nova Conta Ler número da Conta Se Número do DOC = Número da Conta Então: Fazer 2: Ler tipo do DOC Se tipo do DOC = depósito Então: Trazer o valor da conta para Calculador Trazer valor do DOC para Calculador Somar: Valor da conta + valor do DOC = Resultado Substituir Valor da Conta por Resultado Senão Trazer o valor da conta para Calculador Trazer valor do DOC para Calculador Somar: Valor da conta - valor do DOC = Resultado Substituir Valor da Conta por Resultado Fim de Fazer 2 Senão: Retornar para CONTA Fim de Fazer 1 FIM Fim do Programa 10
Componentes Ignorando como foram feitos os algoritmos, nosso objetivo é identificar quais são os componentes envolvidos com a realização das tarefas descritas nos algoritmos e conhecer suas funções básicas dentro do processo global. Para que uma máquina seja capaz de realizar várias operações, é preciso que ela seja de algum modo instruída para identificar cada uma delas e, depois de identificá-la, saber como realizá-la. As tarefas relacionadas são, uma por uma, operações que uma determinada máquina pode realizar. Chamam-se por causa disso instruções de máquina. 11
Processador (UCP) O componente do computador que é capaz de entender e realizar uma operação definida por uma instrução de máquina denomina-se Unidade Central de Processamento UCP, ou simplesmente processador central (CPU Central Processing Unit). constituída de milhões de minúsculos circuitos e componentes eletrônicos (transistores, resistores, etc), cujas funções básicas são ler e interpretar instruções de máquina e realizar as operações matemáticas (ou outras) definidas após a interpretação de uma determinada instrução. Os mencionados milhões de elementos são encapsulados em um único invólucro, formando as pastilhas (chips). 12
Processador (UCP) 13
Processador (UCP) 14
Processador (UCP) 15
Processador (UCP) 16
Processador (UCP) 17
Processador (UCP) 18
Curiosidades Em 2007 a Intel havia mostrado um chip experimental com 80 núcleos que, apesar de não funcional, serviu para que a companhia estudasse maneiras de possibilitar comunicação eficiente entre um grande número de núcleos. 19
Curiosidades INTEL E SEU PROCESSADOR DE 48 NÚCLEOS! A Intel fez, no dia 02/12/09, a demonstração do protótipo de um processador com 48 núcleos. O pessoal da equipe afirma que esse processador é de 10 a 20 vezes mais rápido que os atuais. Motivo: ele é fabricado com tecnologia de 45nm, possui controlador de memória DDR3 integrado, um barramento de alta velocidade interligando os núcleos, além de novas técnicas de gerenciamento de energia que permitem operações de 25 watts ou 125 watts. Ou seja, usa a mesma quantidade de energia que duas lâmpadas de uso doméstico! Isso quer dizer que: Com um processador desses, você pode imaginar um centro de dados em nuvens para um futuro que será mais eficiente em energia do que o atual, explicou o chefe do Departamento de Tecnologia da empresa, Justin Rattner. Outras informações sobre o processador foram reveladas durante a International Solid State Circuits Conference que aconteceu em fevereiro de 2010. A Intel distribuiu 100 processadores experimentais para atrair acadêmicos e especialistas de outras empresas para que desenvolvam o componente e comecem a programar softwares compatíveis.http://www.blogdocomputador.com.br/intel-e-seu-processador-de-48- nucleos/ http://www.guiadohardware.net/noticias/2010-04/4bbf3003.html (abril/2010) 20
Processador (UCP - CPU) A CPU é o componente capaz de entender uma instrução; Tem como função básica ler e interpretar instruções e realizar operações matemáticas definidas após a interpretação de uma instrução; 21
Para que Uma CPU Trabalhe Entender e executar uma instrução de máquina: Introduzir o programa no sistema; Converter em código; CPU executar o código. 22
Processador (UCP - CPU) CPU: Realiza as ações finais Interpreta o tipo e o modo de execução de uma instrução Controla quando e o que deve ser realizado pelos demais componentes 23
Componentes Programa constituído de várias instruções Para que ele seja rapidamente executado é necessário que ele execute todas as instruções, recebendo os dados, manipulandoos e expondo todos os resultados, de forma totalmente automática. Antes da execução do programa, este e os dados que serão por ele manipulados, devem ser armazenados na própria máquina para, um a um, serem localizados pelo processador, entendidos e executados, sem que haja interferência de uma pessoa. O componente do sistema de computação responsável pelo armazenamento das informações introduzidas pelo componente de ENTRADA é denominado: MEMÓRIA. 24
Memórias 25
Componentes Após a realização de todas as operações, os resultados devem ser apresentados ao usuário interessado, o qual naturalmente deseja vê-los em uma forma inteligível para ele (caracteres alfabéticos, algarismos decimais, sinais de pontuação da nossa linguagem, etc) e não na linguagem do computador. Esses resultados podem ser apresentados em um vídeo, impressora, ou em qualquer dispositivo de SAÍDA. 26
Dispositivos de saída 27
Componentes Resumindo, os componentes básicos de um sistema de computação são: Componentes de Entrada e Saída (E/S) Processador Memória 28
UCP Unidade Central de Processamento Componente vital do sistema, Além de efetivamente realizar as ações finais (operações matemáticas com os dados), Interpreta o tipo e o modo de execução de uma instrução, Bem como controla quando e o que deve ser realizado pelos demais componentes, emitindo para isso sinais apropriados de controle. 29
Memória Os programas e dados são armazenados nela para execução imediata (memória principal e cache) ou para a execução ou uso posterior (memória secundária). 30
Dispositivos de Entrada e Saída Permitem que o sistema de computação se comunique com o mundo exterior, realizando ainda, além da interligação, a conversão das linguagens do sistema para a linguagem do meio exterior (caracteres de nossas linguagens) e vice-versa. Os seres humanos entendem símbolos como A,b, *, (, +, porém os computadores só compreendem 0 e 1. 31
Dispositivos de Entrada e Saída O teclado (dispositivo de entrada) interliga o usuário e o computador permitindo a comunicação entre ambos através do uso de suas teclas. Ao ser pressionada a tecla correspondente ao caractere A, por exemplo, os circuitos eletrônicos existentes no teclado convertem a pressão mecânica em um grupo de sinais elétricos, alguns com tensão alta (bit 1) e outros com tensão baixa (bit 0), que corresponde, para o computador, ao caractere A. 32
Dispositivos de Entrada e Saída Os dispositivos de saída operam de modo semelhante, porém em sentido inverso, isto é, do computador para o exterior, convertendo os sinais elétricos internos em símbolos conhecidos pelos humanos 33
Sistemas Computacionais Os sistemas atuais, embora mais potentes, possuem os mesmos componentes básicos e realizam suas funções essenciais orientadas pelos mesmos conceitos dos primeiros computadores (apresentados por John Von Neumann) Dados e instruções são armazenados em uma memória do tipo que escreva e recupera (leitura) 34
Sistemas Computacionais O conteúdo da memória é endereçado conforme a sua posição, independentemente do tipo da informação nele contido; A execução das instruções ocorre de forma sequencial ( a não ser que uma instrução específica mude momentaneamente a sequencia), uma em seguida à outra. 35
Representação das Informações Toda informação introduzida em um computador sejam dados que serão processados ou instruções de um programa precisa ser entendida pela máquina, para que possa corretamente interpretá-la e processá-la. 36
Representação das Informações O computador, sendo um equipamento eletrônico, armazena e movimenta as informações internamente sob forma eletrônica; esta pode ser um valor de tensão ou de corrente (na memória secundária as informações são armazenadas sob forma magnética ou ótica) 37
Representação das Informações Para que uma máquina pudesse representar eletricamente todos os símbolos utilizados na linguagem humana, seriam necessários mais de 100 diferentes valores de tensão. Uma máquina assim seria de difícil construção para fins comerciais e possivelmente teria uma confiabilidade muito baixa. 38
Representação das Informações Por que então uma máquina binária? Mais simples e confiável projetar o circuito capaz de gerar e manipular o menor número possível de valores distintos (0 e 1) Mais simples o emprego da lógica booleana (SIM/NÃO, ABERTO/FECHADO, ACIMA/ABAIXO, LIGADO/DESLIGAO, etc) 39