Vous êtes sur la page 1sur 45

Representao De Arquitetura de Computadores em Mltiplos Nveis

Tiago De Lima Wanderley tiagowanderley@gmail.com

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

Linguagem orientada para problemas

Traduo (Montador)

Nvel 4

Linguagem de montagem
Sistema Operacional Mquina Convencional Mquina de microprogramao Lgica Digital

Interpretao Parcial (Sistema Operacional)

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

Comandos para executar funes especficas da mquina. MOV R ADD F

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

Portas lgicas e CI.


Implementam a manipulao de sinais executando funes lgicas bsicas: AND, OR, NOT, etc.

Mquina de microprogramao
Lgica Digital Dispositivos

20

Mquina Multinvel
Detalhando os nveis
Linguagem orientada para problemas
Linguagem de montagem Sistema Operacional Mquina Convencional

Formado pelos transistores individuais Tenso, corrente, circuitos, etc.

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:

Memria Aritmtica e Lgica Controle Canais de Comunicao Dispositivos

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

Padro Von Neumann

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

Computador Digital CPU / UCP


Unidade de controle
Unidade Lgica Aritmtica (ALU) Registradore s Memri a Princip al Disco Impressora

Unidade Central De Processamento (CPU)


Dispositivos de Entrada E Sada

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

H um determinado nmero de registradores, cada um com uma dada funo, so eles:


Contador de Programa (PC) Registrador de instruo (IR) Acumulador (AC) Outros registradores.

31

Computador Digital
Instrues - Formato
Formatos tpicos de instrues:
Cdigo da operao

Cd. Da operao
Cd. Da operao

endereo
endereo 1 endereo 2

Exemplo: ADD A,B ADD Operao A e B Operandos

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.

Fluxo de Dados Mquina de Von Neumann

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)

Linguagens de Mquina (Cdigo Binrio) Processadores

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?

Vous aimerez peut-être aussi