Organização Básica de computadores e linguagem de...

31
Organização Básica de computadores e linguagem de montagem 2 o Semestre de 2015 Prof. Edson Borin

Transcript of Organização Básica de computadores e linguagem de...

Page 1: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Organização Básica de computadores e linguagem de

montagem

2o Semestre de 2015

Prof. Edson Borin

Page 2: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura de computadores de propósito geral

Page 3: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Computadores de Propósito Geral

-  Programar o ENIAC era uma tarefa tediosa e demorada.

-  Em 1945, projetistas do ENIAC, incluindo John von Neumann, propuseram o “conceito de programa armazenado”. O programa é armazenado na memória, juntamente com os dados.

-  A idéia também foi concebida por Alan Turing.

Page 4: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

-  De 1946 a 1952, Neumann e seus colegas no Instituto de Estudos Avançados (IAS) de Princeton desenvolveram o computador “IAS”.

-  O IAS serviu como protótipo para vários computadores de propósito geral subseqüentes.

Computadores de Propósito Geral

Page 5: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS

Unidade lógica e

aritmética

MemóriaPrincipal

Equipamentode Entrada e

Saída

Unidade de Controle

Page 6: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS

Unidade lógica e

aritmética

MemóriaPrincipal

Equipamentode Entrada e

Saída

Unidade de Controle

011110101010110110010

010000101011110000100

Instruções

Dados Operações com dados binários: +, -, x, /

Controle

Page 7: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS: Memória

Memória Principal

0 01000 ... 001011 11011 ... 001102 01001 ... 00111... ...... ...

1021 01000 ... 001011022 11011 ... 001101023 01001 ... 00111

-  Memória do IAS

-  1024 palavras de 40 bits

-  Números e instruções representados na forma binária

40 bits

1024 palavras

Page 8: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS: Memória

Memória Principal

0 01000 ... 001011 11011 ... 001102 01001 ... 00111... ...... ...

1021 01000 ... 001011022 11011 ... 001101023 01001 ... 00111

-  Memória do IAS

-  1024 palavras de 40 bits

-  Números e instruções representados na forma binária

40 bits

1024 palavras

Endereços

Dados ou Instruções

Page 9: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS: Memória

0 1 39

Bit de sinal

Armazenamento de um Número

0 39

Código deoperação

Palavra para armazenamento de uma instrução7 8 19 20 28

Endereço Código deoperação

Endereço

Page 10: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eEstrutura do Computador IAS: Controle

MemóriaPrincipal

MAR PC

IR IBR

Cicuitos de controle

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

MBR

AC MQ

Circuitos lógicos e aritméticos

Page 11: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS: Controle

-  Operação: execução de instruções, uma a uma.

-  Processo de execução é dividido em dois ciclos:

1) ciclo de busca: a instrução é lida da memória

2) ciclo de execução: uma vez lida da memória, a instrução é executada

Page 12: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS: Controle

Ciclo de busca (Simplificado)

1) Unidade de controle envia o endereço contido em PC (contador do programa) para a memória2) A memória lê o conteúdo da memória a partir do endereço fornecido.3) A Unidade de controle move o dado lido para o registrador IR (registrador de instrução)

Page 13: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS: Controle

Ciclo de execução

1) Unidade de controle decodifica a instrução no registrador IR.2) Se necessário, a unidade de controle lê operandos da memória.3) A unidade de controle envia sinais para a unidade lógica e aritmética para realizar a operação4) Se necessário, a unidade de controle escreve o resultado na memória.

Page 14: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS: Controle

Exemplo: Execução da instrução LOAD M(X)-  Transfere M(X) para o acumulador-  acumulador = registrador AC-  M(X) = conteúdo da memória no endereço X-  código de operaçao 00000001

0

Código deoperação

7 19

Endereço

00000001 0000000011008

LOAD M(12)Transfere o dado no

endereço 12 da memória para o registrador AC.

Page 15: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Busca

0

Cicuitos de controle

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

Circuitos lógicos e aritméticos

00...0100... 01100

MemóriaPrincipal

01

...

999

PCMAR

IBRIR

MBR

MQAC

00...10 00... 00011

Page 16: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Busca

0 0

Cicuitos de controle

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

UC move o endereço da instrução (em PC) para MAR (Memory

Address Register).

00...0100... 0110000...10 00... 00011 01

Page 17: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Busca

0 0

Cicuitos de controle

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

A UC envia um sinal de controle para a memória requisitando a leitura do

endereço em MAR

00...0100... 0110000...10 00... 00011 01

Page 18: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Busca

0

Cicuitos de controle

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

00...11

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

0

A Memória lê o dado e o envia para o registrador

MBR (Memory Buffer Register)

00...0100... 0110000...10 00... 00011 01

Page 19: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Busca

0

00..001 00...11

Cicuitos de controle

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

00...100

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

00...1100

00...0100... 0110000...10 00... 00011

A UC transfere o código de operação da instrução lida da

memória para o registrador de instruções (IR), o endereço para

o registrador MAR

e a segunda metade da palavra de memória para o IBR

Page 20: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Exemplo LOAD M(X): Ciclo de Busca

-  Ciclo de busca completo

-  O código da instrução a ser executada está em IR

-  O valor do campo endereço da instrução a ser executada está em MAR

-  Vamos ver o ciclo de execução

Page 21: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Execução

0

00..001

Cicuitos de controle

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

00...100

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

00...0100... 0110000...10 00... 00011 01

00...1100

00...11

A UC decodifica a operação em IR e descobre a operação

LOAD M(X)

Page 22: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Execução

0

00..001

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

Cicuitos de controle

00...0100... 0110000...10 00... 00011 01 Os 12 bits do campo

endereço da instrução (bits11 a 19) já estão no registrador

MAR

00...100

00...1100

00...11

Page 23: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Execução

0

00..001

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

00...100

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

Cicuitos de controle

A UC envia um sinal de controle para a memória requisitando a leitura do

endereço em MAR

00...0100... 0110000...10 00... 00011 01

00...1100

00...11

Page 24: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Execução

0

00..001

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

0.1100

Cicuitos de controle

11...111A Memória lê o dado e o envia para o registrador

MBR (Memory Buffer Register)

00...0100... 0110000...10 00... 00011 01

Page 25: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Execução

0

00..001

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

11...111

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

0.1100

Cicuitos de controle

11...111

00...0100... 0110000...10 00... 00011 01

A UC envia sinais para a unidade lógica e

aritmética (ULA) copiar o valor de MBR para o

registrador AC.

00...11

Page 26: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Exemplo LOAD M(X): Ciclo de Execução

-  Ciclo de execução completo

-  O conteúdo da memória no endereço 12 foi copiado para o registrador AC.

-  A próxima instrução pode ser executada a partir do ciclo de busca.

-  Note que o ciclo de busca da próxima instrução deve buscar a instrução do IBR, em vez da memória! – Ciclo de busca à direita!

Page 27: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Exemplo LOAD M(X): Ciclo de Execução

-  Ciclo de execução completo

-  O conteúdo da memória no endereço 12 foi copiado para o registrador AC.

-  A próxima instrução pode ser executada a partir do ciclo de busca.

-  Note que o ciclo de busca da próxima instrução deve buscar a instrução do IBR, em vez da memória!

E a instrução subsequente (3a)? De

onde ela deve ser buscada?

Page 28: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Busca

1

00..001

Cicuitos de controle

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

00...100

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

00...1100

A UC deve incrementar o PC para apontar para a próxima instrução ao término do ciclo

de busca.

00...0100... 0110000...10 00... 00011 01

00...11

Page 29: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Uni

dade

de

Con

trol

eExemplo LOAD M(X): Ciclo de Busca

1

00..001

Cicuitos de controle

Sinais de controle

...

Equipamentos de entrada e saída

Unidade Lógicae Aritmética

00...100

Circuitos lógicos e aritméticos

MemóriaPrincipal

...

999

PCMAR

IBRIR

MBR

MQAC

00...1100

Isso não occore sempre, apenas quando instruções à

direita estão sendo executadas! (Veja apostila)

00...0100... 0110000...10 00... 00011 01

00...11

Page 30: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Estrutura do Computador IAS: Exercício

-  A instrução ADD M(X) soma o valor na posição X da memória com o valor do registrador AC e grava o resultado no registrador AC.

1)  Qual a diferença entre o ciclo de busca desta instrução e o ciclo de busca da instrução LOAD M(X)?

2)  Descreva o ciclo de execução da instrução ADD M(X).

Page 31: Organização Básica de computadores e linguagem de montagemedson/disciplinas/mc404/2015-2s/ab/slides/mc404... · Organização Básica de computadores e linguagem de montagem 2o

Computadores de Propósito Geral

Leitura

-  Apostila: Programando o Computador IAS – Edson Borin e Rafael Auler.