Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Computadores Introdução aos sistemas de computação Prof: Charles Everton Organização Estruturada de Computadores 2 A visão do usuário O usuário enxerga software, velocidade, capacidade de armazenamento e funcionalidades de periféricos O que é um computador? DOGN Máquina eletrônica capaz de realizar uma grande variedade de tarefas com rapidez e precisão Computadores processam dados a partir de conjuntos de instruções denominadas programas Um programa é um conjunto especificado/pré- determinado de operações lógicas/aritméticas e fornecer o resultado destas operações Organização Estruturada de Computadores 4 “Visão do computador” • Circuitos eletrônicos ° Transistores interconectados ° Chaves ligadas ou desligadas • Linguagem de máquina ° Conjunto de instruções fundamentais que a máquina executa ° Expressa como um padrão de 0s e 1s Organização Estruturada de Computadores 5 Sistemas Numéricos • O sistema numérico mais conhecido é o decimal (base 10). • Porém, existem outros sistemas numéricos: ° Binário (base 2) ° Octal (base 8) ° Hexadecimal (base 16) Organização Estruturada de Computadores 6 Sistemas Numéricos • Qual sistema numérico é utilizado nos computadores? Sistema binário • Por quê é utilizado o sistema binário e não o decimal, o qual lidamos no dia-a-dia? Porque o sistema decimal seria muito difícil de implementar com circuitos digitais 7 Representação de Dados Sistema numérico binário (base 2) Dados são representados na forma binária, pois os computadores entendem apenas dois digitos: 0 (falso) e 1 (verdadeiro). 8 Representação de Dados Bit (~átomo) A menor unidade que transita em um computador é o BIT Que representa os estados aceso/apagado, ligado/desligado, verdadeiro/falso, 1/0 Byte (~molécula) Um símbolo, seja ele uma letra, um número, um sinal, é representado por um conjunto de bits A esse conjunto de Bits denomina-se BYTE Tipicamente, 1 (um) Byte tem 8 (oito) Bits Palavra (32 bits ou 64 bits) (~célula) Como cada símbolo precisa de 1 byte para ser representado, um texto precisará de vários bytes 9 32 bits e 64 bits 32 ou de 64 bits diz respeito à arquitetura tanto do processador quanto do sistema operacional empregados em uma determinada máquina. Do ponto de vista técnico, processadores de 32 bits têm a capacidade de processar “palavras” (sequência de bits) de até 32 bits, enquanto os de 64 bits podem trabalhar aquelas de até 64 bits, ou seja, o dobro de informações. 10 A informação nos Computadores Assim: ° 1 KByte = 1.024 Bytes ° 1 MByte = 1.024 KBytes ou 1.048.576 Bytes ° 1 GByte = 1.024 MBytes ou 1.048.576 KBytes ou 1.073.741.824 Bytes ° KByte = KiloByte = KB = K ° MByte = MegaByte = MB = Mega ° GByte = GigaByte = GB = Giga 11 Os dados e as informações em um computador são representados internamente das seguintes formas: Representação de Dados 12 Representação Alfanumérica Representação ASCII ‰atualmente utiliza 8 bits, apenas suficientes para representar 128 caracteres só serve para língua inglesa, pois não inclui acentos e símbolos utilizados em alguns idiomas Representação EBCDIC usado nos mainframes IBM e computadores Macintosh (Apple) apesar de utilizar o mesmo número de bits que o ASCII, a representação de um símbolo difere nos dois códigos Representação de Dados 13 Representação Alfanumérica Representação UNICODE os códigos anteriores são insuficientes para representar símbolos de outros idiomas além do inglês, este código amplia a representação para 16 bits, o que possibilita mais de 65.000 símbolos adotado por: Apple, HP, IBM, Microsoft, Oracle, Sun, Sybase, Unisys Representação de Dados Organização Estruturada de Computadores 14 O que é Arquitetura? • Contextura de um todo. • A arquitetura de um computador é a teoria por detrás do desenho de um computador. • É a estrutura e a organização do hardware, ou seja, refere-se ao funcionamento interno do computador. • conjunto de padrões que definem a aparência de uma aplicação, independentemente da plataforma de hardware (teclas que executam funções padrão, as telas da aplicação e como esta interage com o sistema operacional). Fonte: Michaelis 15 John Von Neumann • IAS – a máquina de von Neumann (1952) ° Arquitetura dos computadores modernos ° Programa armazenado em memória ° Unidades de controle e aritmética Memória Unidade de controle Unidade lógica- aritmética Entrada Saída Acumulador Organização Estruturada de Computadores 16 Arquiteturas em níveis • Qualquer computador atual é extremamente complexo para ser estudado de uma vez… • A solução é organizar a máquina em níveis: ° cada nível é definido em função do anterior ° problemas são expressos em função da interface definida para cada nível ° máquinas virtuais e linguagens associadas 17 Máquina virtual • Imagine que exista uma máquina hipotética (virtual) capaz de executar a linguagem L ° Máquina M • Escreva um programa em L ° M deve ser capaz de executar esse programa diretamente • Mesmo que a máquina virtual seja complexa, o programa ainda pode ser executado a partir da máquina do nível inferior Organização Estruturada de Computadores 18 Tradução • Programas representados em um nível têm que ser convertidos (tradução) para processamento no nível inferior • Um programa escrito por um programador (chamado código fonte) em uma linguagem de alto nível é um conjunto de instruções que é clara para programadores, mas não para computadores. Ou seja, os computadores entendem única e exclusivamente suas linguagens nativas, as linguagens de máquina. Organização Estruturada de Computadores 19 Compilação x Interpretação • Compilação ° Programa na linguagem do nível L é convertido em equivalente no nível L-1 ° Compilar (ou traduzir) significa substituir cada instrução de uma linguagem para outra. ° O processo de tradução do programa escrito em uma linguagem simbólica pelo programador, chamado código fonte (source code) para a linguagem de máquina do computador chamada código objeto (object code), é chamado compilação e é realizado por um programa chamado Compilador (Compiler) Organização Estruturada de Computadores 20 Compilação x Interpretação Basicamente, no processo de compilação existem três realidades distintas : • o programa ou código fonte (source) - escrito na linguagem de alto nível e de acordo com as regras e sintaxe da linguagem utilizada • o programa compilador - fornecido por diferentes fabricantes (com dialetos próprios de cada um), mas de acordo com a estrutura básica da linguagem e que irá transformar o código de alto nível em código máquina. É o compilador que vai detectar os erros de sintaxe ou estrutura que o programador, eventualmente, tenha cometido durante a fase de programação. • o programa executável - resultado da transformação, pelo compilador, do código fonte em código máquina. Este programa executável é autónomo, podendo ser transportado sem necessidade de estar presente o código fonte nem o compilador. É um programa "fechado", ou seja a que o utilizador não tem acesso, nem forma de consultar ou alterar. Organização Estruturada de Computadores 21 Compilação x Interpretação • Interpretação ° Cada instrução do nível L é analisada e o seu efeito é simuladopelo interpretador (programa de M-1) ° A conversão das instruções é feita a medida que o programa é executado. Cada linha que é lida é convertida para a linguagem de máquina e executada. Neste caso, nenhum novo arquivo é criado. ° A execução do programa é feita sempre na presença do programa interpretador e do programa fonte. 22 Linguagens, Níveis e Máquinas Virtuais Arquiteturas em níveis atuais Linguagens de alto nível Linguagem assembly Sistema operacional Linguagem de máquina Microarquitetura Lógica digital Tradução (compilador) Interpretação Tradução (assembler) Interpretação parcial (chamadas do sistema) Interpretação (microprograma) Execução direta Hardware 24 Arquiteturas em níveis atuais Linguagens de alto nível Linguagem assembly Sistema operacional Linguagem de máquina Microarquitetura Lógica digital Tradução (compilador) Interpretação Tradução (assembler) Interpretação parcial (chamadas do sistema) Interpretação (microprograma) Execução direta Hardware Suporte aos Níveis superiores Programadores de sistemas Programas consistem em séries de números Programadores de aplicações Programas contêm Palavras e abreviações 25 Hardware e Software • Hardware: objetos tangíveis ° Circuitos eletrônicos, componentes físicos • Software: idéias abstratas ° Algoritmos, programas 26 O Software Um programa são instruções eletrônicas que informam ao computador como realizar determinadas tarefas Software Básico O software básico tem como finalidade possibilitar a operação e o uso do computador, seja qual for a aplicação (o foco está na máquina) Software Aplicativo solução de um problema específico, utilizando o computador como ferramenta (o foco está na aplicação) 27 Linguagens de Programação Uma linguagem de programação é um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Linguagens de baixo nível Primeira geração: Linguagem de máquina Segunda geração: Linguagem de montagem (Assembler) Linguagens de alto nível Terceira geração: Linguagens procedurais Quarta geração: Linguagens aplicativas
Compartilhar