Baixe o app para aproveitar ainda mais
Prévia do material em texto
22/08/2013 1 1 Prof. Jonas de SouzaProf. Jonas de SouzaProf. Jonas de SouzaProf. Jonas de Souza AOC Fatec Jundiaí Prof. Jonas de Souza � Computador Digital ◦ Máquina que pode resolver problemas, executando instruções que lhe são dadas � Programa ◦ Sequência de instruções que descreve como realizar certa tarefa � Circuitos Eletrônicos ◦ Reconhecem e executam um conjunto limitado de instruções simples ◦ Os programas devem ser convertidos em instruções para que possam ser executados 2 22/08/2013 2 AOC Fatec Jundiaí Prof. Jonas de Souza � Instruções básicas raramente são muito mais complicadas do que: ◦ Some dois números ◦ Verifique um número para ver se ele é zero ◦ Copie dados de uma parte da memória do computador para outra 3 AOC Fatec Jundiaí Prof. Jonas de Souza � Linguagem de Máquina ◦ Juntas, as instruções primitivas de um computador formam uma linguagem com a qual as pessoas podem se comunicar com ele ◦ Quem projeta um computador, deve decidir quais instruções incluir em sua linguagem de máquina ◦ Mais simples possível, a fim de reduzir o custo da eletrônica necessária ◦ São simples, mas entediantes e difíceis de usá-las 4 22/08/2013 3 AOC Fatec Jundiaí Prof. Jonas de Souza � Com o tempo, foram criadas abstrações para estruturar os computadores. � Isto permitiu dominar a complexidade e projetar sistemas de modo estruturado. � ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES ◦ As pessoas querem fazer X, mas os computadores só permitem fazer Y, a organização ajuda a encontrar uma forma de resolver o problema. 5 AOC Fatec Jundiaí Prof. Jonas de Souza AOC Fatec Jundiaí Prof. Jonas de Souza 6 22/08/2013 4 AOC Fatec Jundiaí Prof. Jonas de Souza � Problema: projetar um conjunto de instruções que seja mais conveniente para as pessoas usarem do que um conjunto de instruções já embutido na máquina � Este conjunto de instruções forma uma linguagem: L1 � As instruções de máquina também formam uma linguagem: L0 7 AOC Fatec Jundiaí Prof. Jonas de Souza � Os computadores só podem executar programas escritos em L0, portanto, existem alguns métodos para permitir a execução de linguagens em L1: � Tradução: ◦ Substituir cada instrução escrita no programa por uma sequência equivalente em L0 ◦ Programa resultante fica totalmente em L0 8 22/08/2013 5 AOC Fatec Jundiaí Prof. Jonas de Souza � Interpretação ◦ Escrever um programa em L0 que considere programas em L1 e os execute examinando cada instrução por vez e executando diretamente a sequência equivalente de instruções em L0 � Dois métodos são muito usados, e uma combinação de ambos está sendo cada vez mais usada. � Porém, as máquinas não tem apenas 2 níveis de camadas e linguagens 9 AOC Fatec Jundiaí Prof. Jonas de Souza � Computador hipotético, cuja linguagem de máquina seja a L1 – esta máquina real seria a M1 ◦ Se fosse uma máquina real da L0, seria a M0 ◦ Se fosse barato e viável construir uma máquina M1 para esta linguagem, não teria sentido ter a linguagem L0 � A L1, porém, acaba não sendo muito diferente da L0, ficando ainda longe do ideal para a maioria das aplicações � A abordagem obvia é, portanto, inventar um novo conjunto de linguagens, a L2. 10 22/08/2013 6 AOC Fatec Jundiaí Prof. Jonas de Souza � A invenção de toda esta série de linguagens pode continuar indefinidamente, até que se chegue a uma adequada. ◦ Cada linguagem usa a antecessora como base � Um computador, portanto, possui várias camadas ou níveis, um sobre o outro. � Esta técnica é utilizada pois, apesar de possível, construir um computador cuja linguagem de máquina seja C ou Java teria um custo inaceitável. 11 AOC Fatec Jundiaí Prof. Jonas de Souza 12 22/08/2013 7 AOC Fatec Jundiaí Prof. Jonas de Souza � Um computador com n níveis pode ser considerado como n máquinas reais diferentes � Somente programas escritos em L0 podem ser executados diretamente por circuitos eletrônicos � Programas escritos em L1, L2, Ln, devem ser interpretados ou traduzidos � A maioria das pessoas que escreve programas para um nível n, não precisa estar ciente dos tradutores e interpretadores subjacentes ◦ Não importa se são interpretados, traduzidos ou executados diretamente por componentes eletrônicos, o importante é que são executados 13 AOC Fatec Jundiaí Prof. Jonas de Souza AOC Fatec Jundiaí Prof. Jonas de Souza 14 22/08/2013 8 AOC Fatec Jundiaí Prof. Jonas de Souza � A maioria dos computadores modernos possuem dois ou mais níveis. Algumas de até seis níveis. 15 AOC Fatec Jundiaí Prof. Jonas de Souza � Portas ◦ Construídas com componentes analógicos, porém, com precisão de dispositivos digitais ◦ Cada porta tem uma ou mais entradas digitais (0 ou 1), realiza uma função simples (E, OU, etc) e fornece uma saída ◦ Cada porta é composta, por no máximo, um punhado de transistores 16 22/08/2013 9 AOC Fatec Jundiaí Prof. Jonas de Souza � Registrador ◦ Um pequeno número de portas podem ser combinadas para formar uma memória de 1 bit, que pode armazenar 0 ou 1. ◦ As memórias de 1 bit podem ser combinadas em grupos de, por exemplo, 16, 32, 64 para formar registradores. ◦ Portas também podem ser combinadas para formar o próprio mecanismo principal de computação 17 AOC Fatec Jundiaí Prof. Jonas de Souza � ALU– Unidade lógica aritmética ◦ Conjunto de 8 a 32 registradores que formam uma memória local e um circuito, a ALU é o circuito. ◦ É capaz de executar operações aritméticas simples ◦ Os registradores são conectados à ALU para formar o caminho de dados, através do qual os dados transitam. ◦ A operação básica do caminho de dados consistem em selecionar um ou dois registradores, fazendo com que a ALU efetue algo com eles (por exemplo, some) e armazene o resultado em algum registrador. 18 22/08/2013 10 AOC Fatec Jundiaí Prof. Jonas de Souza 19 � Caminho dos dados AOC Fatec Jundiaí Prof. Jonas de Souza � Instruction Set Architecture – ou nível ISA ◦ Todo fabricante de computadores publica um manual para cada computador que vende, intitulado Manual de referência de linguagem de máquina ◦ Esses manuais tratam do nível ISA. ◦ Contém as instruções executadas por interpretação pelo microprograma ou pelos circuitos de execução de hardware. 20 22/08/2013 11 AOC Fatec Jundiaí Prof. Jonas de Souza � Este nível possui: ◦ Um conjunto de novas instruções ◦ Uma organização diferente da memória ◦ Capacidade de executar dois ou mais programas ao mesmo tempo � As novas facilidades adicionadas ao nível 3 são executadas por um interpretador que roda no nível 2, o que tem sido denominado historicamente de sistema operacional. 21 AOC Fatec Jundiaí Prof. Jonas de Souza � Há uma ruptura fundamental entre os níveis 3 e 4: ◦ Os três níveis mais abaixo não são projetados para utilização do programador médio, de nível caseiro. ◦ São dirigidos à execução dos interpretadores e tradutores necessários para dar suporte aos níveis mais altos. ◦ Esses interpretadores e tradutores são escritos por pessoas denominadas programadores de sistemasprogramadores de sistemasprogramadores de sistemasprogramadores de sistemas, que projetam e implementam novas máquinas reais ◦ Os níveis 4 ou superiores são dirigidos a programadores de programadores de programadores de programadores de aplicaçãoaplicaçãoaplicaçãoaplicação, que tem um problema específico à resolver. 22 22/08/2013 12 AOC Fatec Jundiaí Prof. Jonas de Souza � Nível Assembly � A linguagem de máquina dos níveis 1,2 e 3 são numéricas, o que bom para asmáquinas, mas ruim para as pessoas � A partir do nível 4, as linguagens possuem palavras e abreviações, possíveis de serem entendidas por pessoas. 23 AOC Fatec Jundiaí Prof. Jonas de Souza � Linguagens de alto nível ◦ Linguagens projetadas para serem usadas por programadores de aplicações que tenham um problema para resolver. � Existem centenas, como C, C++, Java � Compiladores ◦ Traduzem os programas escritos nas linguagens de alto nível para os níveis 3 ou 4. ◦ Algumas linguagens são interpretadas em vez de traduzidas. 24 22/08/2013 13 AOC Fatec Jundiaí Prof. Jonas de Souza � Computadores são projetados como uma série de níveis, cada um construído sobre seus antecessores. � O conjunto de tipos de dados, operações e características de cada nível é denominado arquiteturaarquiteturaarquiteturaarquitetura � O estudo sobre como projetar as partes de um sistema de computador é denominado arquitetura de computadores ou organização de arquitetura de computadores ou organização de arquitetura de computadores ou organização de arquitetura de computadores ou organização de computadorescomputadorescomputadorescomputadores 25 AOC Fatec Jundiaí Prof. Jonas de Souza AOC Fatec Jundiaí Prof. Jonas de Souza 26 22/08/2013 14 AOC Fatec Jundiaí Prof. Jonas de Souza � HARDWARE ◦ Circuitos eletrônicos, memória e dispositivos de entrada e saída ◦ Objetos tangíveis como circuitos integrados, placas de circuito impresso, cabos, fontes de energia, memórias, impressoras, etc. � SOFTWARE ◦ Algorítmos (instruções detalhadas que dizem como fazer algo) e suas representações no computador, o que chamamos de programas. ◦ O Software é o conjunto de instruções que compõem os programas, e não o meio físico no qual estão gravados 27 AOC Fatec Jundiaí Prof. Jonas de Souza � Nos primeiros computadores, a fronteira entre HW e SW era bem nítida � Atualmente, muitas vezes é difícil distinguí-la � Qualquer operação executada por SW também pode ser embutida em um HW � HW é apenas um SW petrificado � Qualquer instrução executada em HW também pode ser simulada em SW � A decisão é baseada em fatores como custo, velocidade, confiabilidade e frequência de mudanças esperadas 28 22/08/2013 15 AOC Fatec Jundiaí Prof. Jonas de Souza � Historia do computador em minutos 29
Compartilhar