Computador Cleópatra

Documentos relacionados
Computador Cleópatra

Circuitos Seqüenciais

Arquiteturas Von Neumann e Harvard

ção de Computadores I

Neander - características

Circuitos Combinacionais

Exercícios Referentes à Prova P2

Organização e Arquitetura de Computadores INTRODUÇÃO

SSC0112 Organização de Computadores Digitais I

Esta pseudomáquina foi criada em homenagem ao homem de Neandertal, o antecessor do homo sapiens.

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Prof. Leonardo Augusto Casillo

SSC510 Arquitetura de Computadores 1ª AULA

Estrutura Básica de um Computador

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

NEANDERWIN. Algumas características do processador Neander são:

Prof. Gustavo Oliveira Cavalcanti

III.2 - Princípios de Arquitetura

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

Linguagem de Montagem do NeanderX

Solução Lista de Exercícios Processadores

ORGANIZAÇÃO DE COMPUTADORES

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

18/10/2010. Unidade de Controle Controle. UC Microprogramada

Introdução à Computação MAC0110

Disciplina de Organização de Computadores I

Organização de Computadores Aula 05

Introdução à Organização de Computadores. Aula 8

O Computador Neander Neander - Computador Hipotético Didático

Instruções. Maicon A. Sartin

Unidade de Controle. UC - Introdução

PSI3441 Arquitetura de Sistemas Embarcados

SSC0114 Arquitetura de Computadores

Instruções de Máquina

Arquitetura e Organização de Computadores

Aula 14: Lógica e circuitos digitais

Introdução à Computação: Máquinas Multiníveis

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Organização de Computadores (revisão) André Tavares da Silva

14/3/2016. Prof. Evandro L. L. Rodrigues

CONJUNTO DE INSTRUÇÕES

Conjunto de Instruções e Modelos de Arquiteturas

Arquitetura: características gerais

Aula 14 Funcionamento de Processadores (Visão específica)

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

William Stallings Computer Organization and Architecture

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

Disciplina: Arquitetura de Computadores

Unidade Central de Processamento UCP (CPU)

UCP: Construindo um Caminho de Dados (Parte I)

Evolução dos computadores

CPU Implementação. Multiciclo. Prof. Carlos Bazilio

Introdução à Computação MAC0110

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Organização e Arquitetura de Computadores I

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Aula 19: UCP: Construindo um Caminho de Dados (Parte III)

Aula 10 Microcontrolador Intel 8051 Parte 1

Projeto de Processadores Programáveis

Aula 17: UCP: Construindo um Caminho de Dados (Parte I)

UCP: Caminho de Dados (Parte II)

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Arquitetura de Um Processador I

Sistemas Processadores e Periféricos Aula 2 - Revisão

Figura 01 Programa e Processo

Transcrição:

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Computador Cleópatra Interface Hardware e Software Alexandre Amory Edson Moreno

2 / 9 Nas Aulas Anteriores Vimos como descrever e implementar circuitos combinacionais Como descrever a ULA da Cleo usando lógica combinacional Vimos como descrever e implementar circuitos sequenciais e máquinas de estados

3 / 9 Na Aula de Hoje Retomamos a Arquitetura Cleópatra Foco no fluxo de dados/instruções internamente ao processador Como as instruções Assembly são executadas Relação: instrução+me com a máquina de estados e ULA

4 / 9 Arquitetura Cleópatra - Von Neumann CPU ck µinst BLOCO DE CONTROLE n z c v IR PROGRAMA ARMAZENADO - dados - instruções ck reset ce rw µinst n z c v IR ck reset BLOCO DE DADOS dados endereços MEMÓRIA dados e programa

5 / 9 Bloco de Dados µinst n z c v IR DATAMEM escreve na memória CE RW ck reset Bloco de Dados ADDRESS lê da memória 0 mux 1 sel MAR MDR IR BUS_B BUS_A CE RW PC AC RS w Codificação de escrita ULA u lnz lcv r Codificação de leitura NZCV

6 / 9 Bloco de Controle CPU ck BLOCO DE CONTROLE µinst n z c v IR ck reset ce rw µinst ck reset n z c v IR BLOCO DE DADOS dados endereços MEMÓRIA dados e programa

7 / 9 Diagrama de Estados da Cleo

8 / 9 Cleo: Carrega Endereço da Instrução Memória CPU ADD #5 200 ADD, # 201 5 PC 200 200 MAR

9 / 9 Cleo: Carrega Endereço da Instrução DATAMEM escreve na memória CE RW ADDRESS lê da memória 0 mux 1 sel MAR MDR IR BUS_B BUS_A CE RW PC AC RS w Codificação de escrita ULA u lnz lcv r Codificação de leitura NZCV

10 / 9 Cleo: Lê Instrução da Memória Memória CPU ADD #5 200 ADD, # 201 5 endereço dado MAR 200 MDR ADD, I

11 / 9 Cleo: Lê Instrução da Memória DATAMEM escreve na memória CE RW ADDRESS lê da memória 0 mux 1 sel MAR MDR IR BUS_B BUS_A CE RW PC AC RS w Codificação de escrita ULA u lnz lcv r Codificação de leitura NZCV

12 / 9 Cleo: Decodifica Instrução Memória CPU ADD #5 200 ADD, # 201 5 IR ADD, I MDR ADD, I

13 / 9 Cleo: Decodifica Instrução DATAMEM escreve na memória CE RW ADDRESS lê da memória 0 mux 1 sel MAR MDR IR BUS_B BUS_A CE RW PC AC RS w Codificação de escrita ULA u lnz lcv r Codificação de leitura NZCV

14 / 9 Cleo: Inicia Busca do Operando Memória CPU ADD #5 200 ADD, # 201 5 PC 201 201 MAR

15 / 9 Cleo: Inicia Busca do Operando DATAMEM escreve na memória CE RW ADDRESS lê da memória 0 mux 1 sel MAR MDR IR BUS_B BUS_A CE RW PC AC RS w Codificação de escrita ULA u lnz lcv r Codificação de leitura NZCV

16 / 9 Cleo: Leitura do Operando Memória CPU ADD #5 200 ADD, # 201 5 endereço dado MAR 201 MDR 5

17 / 9 Cleo: Leitura do Operando DATAMEM escreve na memória CE RW ADDRESS lê da memória 0 mux 1 sel MAR MDR IR BUS_B BUS_A CE RW PC AC RS w Codificação de escrita ULA u lnz lcv r Codificação de leitura NZCV

18 / 9 Cleo: Realiza a Operação CPU AC AC + MDR MDR 5

19 / 9 DATAMEM escreve na memória Cleo: ADD Imediato CE RW ADDRESS Exemplo: ADD #5 lê da memória 0 mux 1 sel MAR MDR IR BUS_B BUS_A CE RW PC AC RS w Codificação de escrita ULA u lnz lcv r Codificação de leitura NZCV

20 / 9 Datapath Cleo ULA DATAMEM escreve na memória CE RW ADDRESS lê da memória 0 mux 1 sel MAR MDR IR BUS_B BUS_A CE RW PC AC RS w Codificação de escrita ULA u lnz lcv r Codificação de leitura NZCV

21 / 9 Bloco de Controle - Máquina de Estados Finita

22 / 9 Modo de Endereçamento Imediato Operando é o próprio dado Usado para representar constantes Direto Ex.: Número 45 do trecho de código C Operando é endereço do dado Usado para representar variáveis Ex. Variável entrada do trecho de código C int valor; int *p = &valor; int entrada = 8; *p = entrada + 45; Indireto Operando é endereço do endereço do dado Usado para representar ponteiros Ex. Ponteiro *p (que aponta para valor) do trecho de código C

23 / 9 Descrição das Instruções Mnemônico NOT STA oper LDA oper ADD oper OR oper AND oper JMP oper JC oper JV oper JN oper JZ oper JSR oper RTS HLT Operação Complementa (inverte) todos os bits de AC. Armazena AC na memória dada por oper. Carrega AC com conteúdos de memória da posição dada por oper. Adiciona AC ao conteúdo da memória dada por oper. Realiza OU lógico do AC com conteúdo da memória dada por oper. Realiza E lógico do AC com conteúdo da memória dada por oper. PC recebe dado especificado por oper (desvio incondicional). Se C=1, então PC recebe valor dado por oper (desvio condicional). Se V=1, então PC recebe valor dado por oper (desvio condicional). Se N=1 então PC recebe valor dado por oper (desvio condicional). Se Z=1, então PC recebe valor dado por oper (desvio condicional). RS recebe conteúdo de PC e PC recebe dado de oper (subrotina). PC recebe conteúdos de RS (retorno de subrotina). Suspende processo de busca e execução de instruções.

24 / 9 Meu Primeiro Prog Assembly Linguagem alto nível (e.g. C, JAVA) *C = A+3 Assembly da Cleo LDA A ADD #3 STA C,I

25 / 9 Meu Primeiro Prog Assembly Linguagem alto nível (e.g. C, JAVA) *C = A+3 Assembly da Cleo LDA A ADD #3 STA C,I Carrega a variável A no reg interno

26 / 9 Meu Primeiro Prog Assembly Linguagem alto nível (e.g. C, JAVA) *C = A+3 Assembly da Cleo LDA A ADD #3 STA C,I Soma o conteúdo do reg interno (A) com a constante 3. o resultado é salvo no reg interno. Utiliza Modo Imediato.

27 / 9 Meu Primeiro Prog Assembly Linguagem alto nível (e.g. C, JAVA) *C = A+3 Assembly da Cleo LDA A ADD #3 STA C,I Carrega conteúdo do reg interno (A+3) na variável C

28 / 9 Meu Primeiro Prog Assembly Linguagem alto nível (e.g. C) *C = A+3 Assembly da Cleo LDA A ADD #3 STA C,I

29 / 9 Meu Primeiro Prog Assembly Linguagem alto nível (e.g. C) *C = A+3 Assembly da Cleo LDA A ADD #3 STA C,I

30 / 9 Meu Primeiro Prog Assembly Linguagem alto nível (e.g. C) *C = A+3 Assembly da Cleo LDA A ADD #3 STA C,I DATAMEM escreve na memória CE RW ADDRESS lê da memória 0 mux 1 sel MAR MDR IR BUS_B BUS_A CE RW PC AC RS w Codificação de escrita ULA u lnz lcv r Codificação de leitura NZCV

31 / 9 Meu Primeiro Prog Assembly Linguagem alto nível (e.g. C) *C = A+3 Assembly da Cleo LDA A ADD #3 STA C,I

32 / 9 Meu Primeiro Prog Assembly Linguagem alto nível (e.g. C) *C = A+3 Assembly da Cleo LDA A ADD #3 STA C,I

33 / 9 Resumo Como um programa Assembly é executado O que acontece dentro do processador durante a execução de uma instrução