Arquitetura e Organização de computadores
Aula 1: Organização e evolução de computador, parte 2
Prof. MSc. Pedro Brandão Neto, [email protected]
Sistemas de Informação - UNDB
3
Nível 0: Nível da Lógica Digital Nível mais baixo da estrutura. É o verdadeiro hardware da máquina
Objetos de interesse são conhecidas portas lógicas (AND, OR e XOR)
Cada porta lógica possui 1 ou mais entradas digitais (aceitam 0 ou 1) ecalculam funções lógicas simples sobre essas entradas
Um pequeno número número de portas pode ser combinado paraformar uma memória de 1 bit, que pode armazena 0 ou 1
As memórias de 1 bit podem ser combinadas em grupos de 16, 32 ou64 para formar registradores
Portas também podem ser combinadas para formar o mecanismoprincipal de computação, o processador
Máquinas Multiníveis Contemporâneas
4
Nível 1: Nível da Microarquitetura Constituído por um conjunto de 8 a 32 registradores (uma memória local) e o
circuito Unidade Aritmética Lógica (UAL, capaz de executar operaçõesaritméticas simples)
Registradores são conectados à UAL para formar o caminho dos dados
Operações são controladas por um microprograma ou diretamente porhardware
O microprograma é um interpretador para as instruções no Nível 2. Ele busca,decodifica e executa instruções, uma a uma, usando o caminho de dados para arealizações de terefas Por exemplo: Com uma instrução ADD, a instrução é buscada, seus
operandos, localizados e trazidos para dentro do registrador e então asoma é calculada pela UAL e, por fim, o resultado é enviado para a memória
Máquinas Multiníveis Contemporâneas
6
Nível 2: Nível de Arquitetura do Conjunto de Instruções (ISA -Instruction Set Architecture) , ou nível ISA
É o nível de Arquitetura do conjunto de instruções (ISA -Instruction Set Architecture), ou nível ISA
Fabricantes disponibilizam “Manual de Referência da Linguagemde Máquina” ou “Princípios de operação” do ComputadorModelo XYZW” (ou algo similar)
Os manuais de referências descrevem as instruções executadaspor interpretação pelo microprograma ou pelo circuitos deexecução do hardware
As informações dos manuais são necessárias para osdesenvolvedores de sistemas operacionais
Máquinas Multiníveis Contemporâneas
7
Nível 2: Nível de Arquitetura do Conjunto de Instruções (ISA -Instruction Set Architecture) , ou nível ISA
Coleção completa das instruções que a CPU é capaz de executar Linguagem de máquina É uma linguagem numérica (sequência de bits)
Linguagem demontagem (Assembly) é uma representaçãosimbólica do conjunto de instruções
Tradução é feita por um programa montador – Assembler (1:1) Linguagens de alto-nível devem ser convertidas em linguagem de
máquina para sua execução Tradução por compiladores ou interpretadores(1:N)
Máquinas Multiníveis Contemporâneas
8
Nível 3: Nível do Sistema Operacional Neste nível também podem conter instruções do nível ISA
Suporta uma organização diferente de memória
Suporta capacidade de executar 2 ou mais programassimultaneamente
Programadores deste nível, e também dos níveis mais baixos, sãoconhecidos como programadores de sistema
Os programadores dos níveis mais altos que este são chamadosprogramadores de aplicação
As novas facilidades adicionadas ao nível 3 são executadas por uminterpretador que executa no nível 2. O nível 3 é denominadosistema operacional
Máquinas Multiníveis Contemporâneas
9
Nível 4: Nível da linguagem de montagem (Assembly language) Os três níveis mais baixos 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 (escritos por pessoas
denominadas programadores de sistemas que se especializam em projetar eimplementar novas máquinas reais) que dão suporte aos níveis mais alto
Este nível e os superiores são dirigidos ao programador de aplicaçõesque tem um problema a resolver Linguagem de montagem (assembly): forma simbólica de representação das
linguagens do nível mais baixo
Programas em assembly são traduzidos para as linguagens dos níveis 1, 2e 3 e depois interpretados pela máquina virtual apropriada ou pelaprópria máquina real
Programa que realiza a tradução é denominado assembler (montador)
Máquinas Multiníveis Contemporâneas
10
Nível 5: Nível das linguagens orientadas para solução dosproblemas
Conhecidas como linguagens de alto nível. Exemplos: Basic, C,c++, Pascal, Java, LISP, Prolog....
Programas são geralmente traduzidos para os níveis 3 e 4 porcompiladores.
Alguns são interpretados: Exemplo: programas em Java.
Máquinas Multiníveis Contemporâneas
11
Observações importantes (I)
A maioria dos computadores modernos consiste em dois ou maisníveis
Computadores são projetados como uma série de níveis, cada umdeles construído em cima de seus precursores.
Cada nível representa uma abstração distinta, com diferentesobjetos e operações.
A abstração permite ignorar, "abstrair", temporariamente detalhesirrelevantes, de níveis mais baixos, reduzindo uma questão complexaa algo muito mais fácil de ser entendido.
Máquinas Multiníveis
12
Observações importantes (II)
O conjunto de tipos de dados, operações e características de cadanível é denominado arquitetura
A arquitetura trata dos aspectos que são visíveis ao usuário daquelenível. Características que o programador vê, como a quantidade dememória disponível, são parte da arquitetura
O estudo sobre como projetar as partes de um sistema decomputador que sejam visíveis para os programadores édenominado arquitetura de computadores.
Máquinas Multiníveis
13
Evolução das máquinas Multiníveis
Programas escritos em linguagem de máquina (nivel 1) de umcomputador podem ser executados diretamente pelos circuitoeletrônicos (nível 0) sem nenhum interpretador ou tradutor
Os circuitos eletrônicos junto com a memória e dispositivos deentrada/saída formam o hardware do computador
O hardware consiste em objetos tangíveis Circuitos integrados, placas de circuito impresso, cabos, fontes de
energia, memórias e impressoras, ao invés de ideias abstratas,algoritmos ou instruções
Máquinas Multiníveis
14
Evolução das máquinas Multiníveis
O software, entretanto, consiste em algoritmos (instruçõesdetalhadas que dizem como fazer algo) e suas representações nocomputador
Primeiros computadores – fronteira entre o hardware e osoftware era muito clara
Máquinas Multiníveis
Evolução das máquinas Multiníveis
Qualquer operação realizada por software pode ser realizadadiretamente por hardware
Qualquer instrução executada por hardware pode ser simuladaem software.
Hardware e software são equivalentes logicamente
15
Máquinas Multiníveis
16
Considerações (I)
Fronteira entre o hardware e o software pode ser arbitrária eestá sempre mudando.
O que hoje está implementado em software poderá em breveestar implementado em hardware, e vice-versa - O software dehoje pode ser o hardware de amanhã e vice-versa.
As fronteiras entre os demais níveis não estão bem definidas epodem também ser alteradas.
Máquinas Multiníveis
17
Considerações (II)
Do ponto de vista do programador, não tem muita importância amaneira como uma instrução é realmente implementada.
Programador de um nível, em geral, não deve se preocupar comimplementações de níveis inferiores
Máquinas Multiníveis
Invenção da Microprogramação
Os primeiros computadores (anos 40) possuíam somente doisníveis Nível de Arquitetura de Conjunto de Instruções (ISA) – onde era
feita toda programação – e o Nível de Lógica Digital queexecutava os programas Os circuitos eram complicados, difíceis de entender e montar, e não
confiáveis.
Em 1951, Maurice Wilkes (University of Cambridge) sugeriuprojetar um computador de três níveis para simplificardrasticamente o hardware. Essa máquina deveria ter uminterpretador embutido, imutável, cuja função fosse executarprogramas de nível ISA.
18
Invenção do Sistema Operacional
Por volta de 1960, foi criado o primeiro sistema operacional queautomatizava o trabalho do programador:
carregar o compilador de FORTRAN. Antes o programador colocava-ona leitora de cartões e apertava o botão START
carregar o programa a ser compilado. Antes o programador tinha quecolocar o seu programa na leitora e apertava o botão CONTINUE
O programa resultante da compilação começava a executar. Antes ocompilador perfurava os cartões o programa traduzido para a linguagem demáquina
entrar os dados para o programa imprimir os resultados do programa ...
19
Invenção do Sistema Operacional
Nos anos subsequentes, os sistemas operacionais tornaram-secada vez mais sofisticados Novas instruções, facilidades e características foram adicionadas
ao nível ISA. Estas novas instruções ficaram conhecidas como macros de SO
ou chamadas do supervisor. Hoje é conhecido como chamada do sistema.
21
Sistemas Embarcados
Circuito de Aplicação Específica – ASIC
Computação Reconfigurável Lógica programável - FPGA
Máquinas Multiníveis
22
Sistemas Embarcados
Partes de outros produtos
Exemplos de sistemas embarcados: microcomputadores microcontroladores processadores digitais de sinais
Exemplos de aplicações para sistemas embarcados: Telefones celulares Automóveis Video Games TV GPS
Máquinas Multiníveis
Código Morse
Sistema de representação de letras, números e sinais de pontuaçãoatravés de um sinal codificado enviado intermitentemente
Desenvolvido por Samuel Morse em 1835, criador do telégrafo elétrico
Uma mensagem codificada pode ser transmitida através de pulsos (outons) curtos e longos por: pulsos eléctricos transmitidos em um cabo ondas mecânicas (perturbações sonoras) sinais visuais (luzes acendendo e apagando) ondas eletromagnéticas (sinais de rádio)
Vide ilustração: https://www.youtube.com/watch?v=eu2jKRDHff024
Ábaco
Há cerca de 5 mil anos. Foi quando os mercadores daMesopotâmia desenvolveram o primeiro sistema científico paracontar e acumular grandes quantias.
25
Top Related