Académique Documents
Professionnel Documents
Culture Documents
Sumrio
Objetivo
Introduo
Mquina Multinvel Computador Digital Consideraes Finais
Objetivo
Compreender a importncia e entender os conceitos relacionados arquitetura de computadores em mltiplos nveis. Ser capaz de identificar os componentes principais da CPU do computador, bem como suas funes. Saber diferenciar compiladores, interpretadores e tradutores
Introduo
Computador Digital:
Mquina capaz de resolver problemas atravs da execuo de instrues que lhe so passadas.
Circuitos de um computador:
Executam um conjunto limitado de instrues simples: adio, subtrao, deslocamento, OR, AND...
Introduo
Algumas funes bsicas devem ser realizadas para resolver os problemas: Armazenar o programa e os dados utilizados na computao. Localizar cada instruo e identificar a ao que deve ser realizada. Executar a ao, possivelmente obtendo, transformando e armazenando dados. Comunicar- se com outros dispositivos (entrada e sada).
Memria Aritmtica e Lgica Controle Canais de Comunicao
Dispositivos
Introduo
Um programa sequncias de instrues que mostra como executar uma determinada tarefa. Pode ser escrita em uma linguagem especfica. Por exemplo:
Some dois nmeros. Imprima positivo se o resultado for > 0. Imprima negativo se o resultado for < 0.
Introduo
Problema:
Complexidade do que as pessoas precisam fazer versus simplicidade do conjunto de instrues do computador.
Solues:
Criar uma hierarquia de abstraes de nveis mais altos baseados nos nveis mais baixos. Criar uma organizao estruturada de computadores para facilitar a comunicao homem-mquina
Introduo
Sistema Hierrquico:
Constitudo de um conjunto de subsistemas interrelacionados, cada qual, possuindo tambm uma estrutura hierrquica, contendo, em seu nvel mais baixo, subsistemas elementares.
O comportamento de cada nvel depende apenas de uma caracterizao abstrata e simplificada do sistema de nvel imediatamente inferior.
Mquina Multinvel
Uma mquina pode ser vista como tendo vrios nveis, cada um capaz de executar um conjunto de instrues especficas. A maioria dos computadores possui dois ou mais nveis.
10
Mquina Multinvel
Traduo (Compilador)
Nvel 5
Traduo (Montador)
Nvel 4
Linguagem de montagem
Sistema Operacional Mquina Convencional Mquina de microprogramao Lgica Digital
Nvel 3
Nvel 2
Interpretao (Microprograma)
Nvel 1
Os microprogramas so executados diretamente pelo hardware
Nvel 0
11
Mquina Multinvel
Mquinas multinvel contemporneas
As mquinas com controle programado no hardware no possuem o nvel 1 (Mquina de microprogramao).
12
Mquina Multinvel
Hardware e software
O hardware composto de objetos tangveis. O software consiste em algoritmos (instrues detalhadas que dizem como fazer algo) e suas representaes para o computador Qualquer operao efetuada pelo software pode tambm ser implementada diretamente em hardware e vice-versa.
13
Mquina Multinvel
Hardware e software
Uma forma intermediria entre o hardware e o software o firmware.
Utilizao do firmware:
Quando se espera que os programas raramente ou nunca sero mudados. Quando os programas no podem ser perdidos ao se acabar a alimentao Em muitos computadores, o microprograma est em firmware
14
Mquina Multinvel
Detalhando os nveis
Linguagem orientada para problemas
Linguagem de montagem Sistema Operacional Mquina Convencional
Mquina de microprogramao
Lgica Digital Dispositivos
15
Mquina Multinvel
Detalhando os nveis
Linguagem orientada para problemas
Linguagem de montagem Sistema Operacional Mquina Convencional
Mquina de microprogramao
Lgica Digital Dispositivos
16
Mquina Multinvel
Detalhando os nveis
Linguagem orientada para problemas
Linguagem de montagem Sistema Operacional Mquina Convencional
Comandos para executar funes especficas da mquina: Gerenciamento de tarefas Sistema de arquivos Memria virtual de paginao
Mquina de microprogramao
Lgica Digital Dispositivos
17
Mquina Multinvel
Detalhando os nveis
Linguagem orientada para problemas
Linguagem de montagem Sistema Operacional Mquina Convencional
Mquina de microprogramao
Lgica Digital Dispositivos
18
Mquina Multinvel
Detalhando os nveis
Linguagem orientada para problemas
Linguagem de montagem Sistema Operacional Mquina Convencional
Mquina de microprogramao
Lgica Digital Dispositivos
Microinstrues constituem de microprogramas que controlam a entrada e sada de sinais para vrios dispositivos e controlam vrias portas lgicas Instrues binrias
19
Mquina Multinvel
Detalhando os nveis
Linguagem orientada para problemas
Linguagem de montagem Sistema Operacional Mquina Convencional
Mquina de microprogramao
Lgica Digital Dispositivos
20
Mquina Multinvel
Detalhando os nveis
Linguagem orientada para problemas
Linguagem de montagem Sistema Operacional Mquina Convencional
Mquina de microprogramao
Lgica Digital Dispositivos
21
Computador Digital
Von Neumann
Matemtico hngaro, naturalizado norte americano, props nos anos 40 do sculo XX, um padro de arquitetura de computadores que ainda hoje seguido, sendo hoje em dia altamente pesquisada uma alternativa a esse padro.
22
Mquina Multinvel
Mquinas Von Neumann
Programa armazenado representado em forma digital na memria do computador, juntamente com os dados;
Execuo sequencial de instrues;
Computador Digital
23
Mquina Multinvel
Mquinas Von Neumann
Trs subsistemas bsicos:
CPU com trs blocos principais: unidade de controle, unidade lgico-aritmtica (ALU) e registradores, incluindo-se a um registrador contador de programa (PC); Memria principal;
Sistema de E/S.
24
Computador Digital
25
Computador Digital
Mquinas Von Neumann
Operao: a execuo de um programa uma sequencia de ciclos de mquina Von Neumann, compostos por:
Busca da instruo (fetch). Execuo da instruo
26
Barramento
27
Computador Digital
Processadores (UCP) UC
Constitudos por circuitos lgicos combinacionais e sequenciais, responsveis pela gerao de sinais de controle necessrios execuo das instrues de um programa: Operaes da UC:
Busca uma instruo localizada na memria, enviando o endereo da instruo e um comando de leitura para memria. A instruo armazenada no endereo transferida para unidade de controle. Esta instruo decodificada pelos circuitos da unidade de controle para determinar qual a instruo.
28
Computador Digital
Processadores (UCP) ULA
Os dados a serem operados podero vir da memria ou dos dispositivos de entrada. Os resultados obtidos podero ser enviados para a memria ou para dispositivos de sada de dados. O tipo de operao a ser executada determinado por sinais vindos da Unidade de Controle. As ULAs mais modernas, possuem circuitos capazes de executar tambm operaes de multiplicao e diviso.
29
Computador Digital
Processadores (UCP) Registradores
Armazenam tambm, resultados intermedirios ou finais obtidos pelas operaes realizadas na ULA. Operaes bsicas: leitura e escrita As operaes da memria so controladas pela Unidade de Controle. As informaes que sero escritas na memria podem vir da ULA ou de dispositivos de entrada de dados. As informaes podem ser lidas da memria para a ULA ou para algum dispositivo de sada.
30
Computador Digital
Processadores (UCP) Registradores
31
Computador Digital
Instrues - Formato
Formatos tpicos de instrues:
Cdigo da operao
Cd. Da operao
Cd. Da operao
endereo
endereo 1 endereo 2
32
Computador Digital
Execuo de Instrues ADD 1,2
1. Busca o primeiro operando, Armazena no registrador A. 2. Busca o segundo operando, armazena no registrador B. 3. Diz a ALU para adicionar A e B. 4. coloca o resultado em AC.
33
Computador Digital
Execuo de Instrues Ciclo BuscaDecodifica-Executa
34
Computador Digital
Implementao de Programas
Um programa de computador , basicamente, uma sequncia de comandos ou instrues representando um algoritmo a ser executado pela mquina. Normalmente utiliza-se Linguagens de Programao de Alto Nvel (LAN). Entretanto, estas linguagens correspondem a um nvel de abstrao elevado.
As linguagens dos processadores como o x86 ou o MIPS correspondem a um nvel de abstrao baixo, e so denominada de Linguagens de Baixo Nvel (LBN)
Desta maneira necessrio um processo de traduo.
35
Computador Digital
Traduo
As linguagens LBNs, so definidas por uma srie de Mnemnicos.
Exemplo:
add sub lw sw
36
Computador Digital
Assembler x Linguagem de Mquina
A mquina s entende cdigo binrio.
O conjunto de instrues de uma arquitetura (na forma Mnemnicos) corresponde linguagem de Montagem da arquitetura (Linguagem Assembly) O conjunto de instrues de uma arquitetura (na forma binria) corresponde linguagem de Mquina.
37
Computador Digital
Diferentes Nveis de Abstrao
Linguagem Natural
Linguagem de Alto Nvel(Pascal, C, C++, Fortran) Linguagens de Baixo Nvel (ASSEMBLER)
38
Computador Digital
Tradutores
Tanto os programas implementados em LANs como em LBN precisam ser traduzidos para linguagem de mquina.
O processo de traduo de uma LAN para uma linguagem de mquina feito por compiladores ou interpretadores. O processo de traduo de uma linguagem de montagem para uma linguagem de mquina feito por tradutores denominados de montadores (ou Assemblers).
39
Computador Digital
Compiladores x Interpretadores
Compiladores so tradutores que aps vrias fases geram um programa executvel. Este programa executvel dever ser carregado em memria para ser executado (programa carregador ou loader) Interpretadores no geram cdigo executvel. Os interpretadores traduzem cada instruo do programa (em LAN ou Assembly) e a executam.
40
Computador Digital
Programas
O processo de compilao traduz todo o programa fonte para um programa objeto. A interpretao traduz comando a comando o programa fonte, que so executados medida que so traduzidos
41
Computador Digital
Programas O processo de execuo envolve:
Executar cada instruo do programa objeto. Obter os dados necessrios para a computao. Produzir as sadas resultantes da computao.
42
Computador Digital
Tradutores
Cdigo fonte (Ling. Montagem) Cdigo fonte (LAN) Cdigo fonte (LAN ou Assembly) montador Cdigo Objeto Execuo
compilador
Cdigo Objeto
Execuo
interpretador
Execuo
43
Consideraes Finais
Fronteira entre o hardware e o software pode ser arbitrria e est sempre mudando. O que hoje est implementado em software poder em breve estar implementado em hardware, e vice-versa - O software de hoje pode ser o hardware de amanh e vice-versa. As fronteiras entre os demais nveis no esto bem definidas e podem tambm ser alteradas. Programador de um nvel, em geral, no deve se preocupar com implementaes de nveis inferiores.
44
Bibliografia
Andrew S. Tanenbaum. Organizao Estruturada De Computadores. Prentice Hall, 5 Edio, 2007 STALLINGS, William. Arquitetura e organizao de computadores. 5 edio. Prentice Hall, 2003 TORRES, Gabriel. Hardware: curso completo. 4 edio. Axcel Books, 2001.
45
Perguntas?