Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
1 Organização de Computadores Arquitetura de ComputadoresArquitetura de Computadores • Níveis de Abstração – O computador pode ser visto por várias perspectivas ou níveis, do mais alto nível, “do usuário”, até o mais baixo nível, “de transistores”. Cada um desses níveis representa uma abstração do computador; – Uma das razões para o grande sucesso dos computadores digitais é o grau de separação desses níveis, ou seja, a independência entre os níveis. 2 Arquitetura de ComputadoresArquitetura de Computadores • Níveis de Abstração 3 Arquitetura de ComputadoresArquitetura de Computadores } Comparação entre as linguagens de cada nível: l Linguagem de alto nível: A=5; l Linguagem de montagem: MOVE A, #5; l Linguagem de máquina: 0011001100000101 • Níveis das Abstração – Vantagens: l Cria abstrações para diferentes níveis de conhecimento de um computador. Ex: Usuário, Programador, Engenheiro, Físico, etc. l Compatibilidade para cima ou “Upward compatibility”. 4 Arquitetura de ComputadoresArquitetura de Computadores • Níveis de Abstração – A independência entre os níveis pode ser visto facilmente: l Um usuário que executa um editor de textos em um computador não precisa saber nada de programação; l Um programador não precisa se preocupar com a estrutura de portas lógicas existentes no computador. 5 Arquitetura de ComputadoresArquitetura de Computadores Arquitetura de Computadores • Níveis de Abstração 6 Nível Categoria Exemplos 6 Aplicações do usuário Jogos Processadores de texto Planilhas eletrônicas Bancos de dados Sistemas comerciais 5 Linguagens orientadas à resolução de problemas Visual Basic, Delphi, C++, Java, Pascal, etc. 4 Linguagem de montagem Montadores, compiladores e interpretadores 3 Sistema operacional MS-DOS, Windows, Linux, Unix, MacOS, etc. 2 ISA - Instruction Set Architeture (binério) Nível ISA - Programa objeto em Linguagem de Máquina (interface entre o hardware e o software) 1 Microprogramação Instruções gravadas em CPUs 0 Lógica digital Projetos de hardware • Nível de Abstração 6 Nível do usuário: Programas aplicativos l Nesse nível o usuário interage com o computador, executando programas como: editor de texto, planilha eletrônica, Internet ou jogos. 7 Arquitetura de Computadores • Nível de Abstração 5 Nível da Linguagem de Alto Nível l Pessoas que já tenham programado em uma linguagem de alto nível como C, Pascal, Basic, Java, etc, interagiu com o computador neste nível. l O programador vê somente a linguagem e nada dos detalhes de baixo nível da máquina. l Neste nível o programador vê os tipos de dados e instruções da linguagem de alto nível mas não necessita de conhecimento sobre como os tipos de dados são implementados na máquina. l Programas são compatíveis com máquinas diferentes se são escritos em uma linguagem de alto nível. Esse tipo de compatibilidade de chamado de compatibilidade de código- fonte. 8 Arquitetura de Computadores • Nível de Abstração 4 Nível de Linguagem de Montagem l A linguagem de máquina consiste em uma coleção de zeros e uns que combinados formam diversas instruções que o hardware entende. São chamados de código de máquina binário ou código binário. l Programar em zeros e uns é entendiante e passível de erros. Por esse motivo surgiu a Linguagem Assembly ou Linguagem de Montagem, cujo o objetivo era traduzir mnemônicos tais como MOVE, DATA, ACC para a linguagem correspondente em zeros e uns, ou seja, linguagem de máquina. 9 Arquitetura de Computadores • Nível de Abstração 3 Sistemas Operacionais 10 Arquitetura de ComputadoresArquitetura de Computadores Exemplos : Unix, Linux, Windows , MacOS, etc. • Programadores deste nível, e também dos níveis mais baixos, são conhecidos como programadores de sistema. • Os programadores dos níveis mais altos que este são chamados programadores de aplicação. • Nível de Abstração 3 Sistemas Operacionais 11 Arquitetura de ComputadoresArquitetura de Computadores O sistema operacional tem como objetivo gerenciar o funcionamento do computador como um todo. Qualquer tipo de programa que quisermos executar em nossa máquina necessitará primeiramente de um sistema operacional instalado, senão nenhum programa poderá ser rodado. Naturalmente, o sistema operacional precisa “entender” bastante de hardware para poder liberar os programadores e usuários dessa tarefa. Ele disponibiliza para os programadores e usuários certas tarefas, comumente chamadas de serviços do sistema operacional, ou simplesmente serviços. Serviços são comandos enviados do usuário ao sistema operacional para a execução de algumas tarefas. Serviços são comandos enviados do usuário ao sistema operacional para a execução de algumas tarefas. • Níveis de Abstração 2 e 1 O Nível de Arquitetura do Conjunto de Instruções (ISA - Instruction Set Architecture) é a interface entre software e hardware. l É o nível mais próximo ao hardware em que o usuário pode programar. l O Programa ISA binário é interpretado pelo microprograma ou pelo hardware. l ISA é definida pelo fabricante e dependente da arquitetura da máquina. É descrito como as instruções são executadas interpretativamente pelo microprograma ou como elas são executadas diretamente pelo hardware. l Essas informações são necessárias para os desenvolvedores de sistemas operacionais. 12 Arquitetura de Computadores • Nível de Abstração 0 Hardware - Portas lógicas, transistores e Fios l São os níveis mais baixos nos quais as funções de mais alto nível do computador ainda podem ser reconhecidas; l As portas lógicas implementam o nível mais baixo de operações lógicas das quais o funcionamento do computador depende. 13 Arquitetura de Computadores Fundamentos de programação de computadores Fundamentos de programação de computadores Fundamentos de programação de computadores Fundamentos de programação de computadores Fundamentos de programação de computadores Fundamentos de programação de computadores entendem. Fundamentos de programação de computadores Pessoa Idéia ou conceito Linguagem natural Linguagem de programação Código de máquina Sistema de gerenciamento bancário “ ... Depositar 100 reais ...” Saldo = saldo+100 1001101101100100 Autor Programador Compilador A ut om át ic o M an au l Fundamentos de programação de computadores Fundamentos de programação de computadores Fundamentos de programação de computadores 24 25 26 27 Fundamentos de programação de computadores 29 30 Montador 31 Montador Carregador Editor de ligação Compilador 32 33 Organização de Computadores Slide 2 Slide 3 Slide 4 Slide 5 Arquitetura de Computadores Arquitetura de Computadores Arquitetura de Computadores Arquitetura de Computadores Slide 10 Nível de Abstração 3 Sistemas Operacionais Arquitetura de Computadores Arquitetura de Computadores Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34