SlideShare uma empresa Scribd logo
1 de 18
Curso:Análise e Desenvolvimento de Sistemas
Disciplina: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES
Tutor:Fernando Marco Perez Campos
Aluno: Willian Leal da Silva RA: 8138708
Unidade (Polo): Orlando -FL Turma: DGTDS2101ORLA0D
• Contador de Programa (CP)
• Qual a função de um contador de programa?
• Lembre-se de que uma das características de um computador é o armazenamento de todo
• o programa e dos dados na sua memória.
• Este armazenamento ocorre nas posições de memória, de forma sequencial, iniciando-se na posição (0000)2 e seguindo para os
próximos endereços: (0001) 2, (0010)2, (0011)2 e assim sucessi- vamente.
• Essas posições são compostas por 4 bits porque é uma característica da memória do SAP1, que possui 16 posições de memória.
• A função do Contador de Programa (CP) é a de apontar para o computador a próxima ins- trução a ser executada.
• Toda vez que o computador é inicializado, o Contador de Programa aponta para o ende- reço (0000); antes de o computador
executar a primeira instrução, o CP passa para a memória a posição da instrução que será executada (no caso (0000)2) e incrementa
o seu valor, e se prepara para apontar para a segunda instrução, ou seja, a instrução que virá após a busca e execução da primeira
instrução. O contador de programa repetirá esse procedimento até o final do programa.
• O Contador de Programas funciona como um dedo apontando para a próxima instrução a ser executada, ele muitas vezes é
chamado de apontador.
• A tarefa desempenhada pelo CP é parte integrante da Unidade de Controle.
•
Entrada e REM
• É neste módulo que ocorre a entrada de dados e instruções para
que o SAP1 possa ser programado (entrada), e também é o local onde
fica armazenado o valor passado pelo CP, que é o endereço que será
acessado na memória RAM (Registrador de Endereço de Memória
REM).
•
RAM
• RAM é uma memória estática que possui 16 linhas e 8 bits por linha,
ou seja 16 X 8, com a
• finalidade de armazenar instruções e dados a serem utilizados pelo
computador.
• Durante o processamento, a RAM recebe endereços de 4 bits do
REM e logo após é execu- tado uma operação de leitura neste
endereço e o seu conteúdo é disponibilizado no barramento w para
a devida utilização.
Registrador de instruções
•Quando uma instrução é lida da memória RAM, o byte referente à
instrução é enviado ao Registrador de Instrução (RI), onde ele é
separado em dois nibbles (meio byte), o nibble superior é referente à
própria instrução e é passado imediatamente ao Controlador-
Sequencializador e o nibble inferior é referente ao campo operando
que, quando for o caso, será disponibilizado no barramento w.
•A tarefa desempenhada pelo Registrador de Instruções é parte
integrante da Unidade de
•Controle.
Controlador-Sequencializador
Controlador-Sequencializador constitui parte da unidade de controle e é o módulo res-
•ponsável pelo controle do computador.
•Recebe o nibble referente a instrução que será executada naquele momento por inter-
médio do Registrador de Instrução, decodifica e envia uma palavra de controle de 12
bits para todo computador.
•A palavra de controle é responsável por habilitar ou desabilitar cada funcionalidade de
•cada módulo presente no computador a fim de que ele execute uma determinada
tarefa.
•Podemos fazer uma analogia entre o Controlador-Sequencializador e um maestro de
or- questra, que determina quem, o que fazer e em que hora fazer uma determinada
ação. O maes- tro é parte significativa para os componentes de uma orquestra, assim
como o Controlador-
•-Sequencializador é para os módulos que compõe o computador.
Acumulador
• O acumulador é um registrador de memória temporária que
armazena operandos e tam- bém resultados de processamentos.
Recebe um dado do barramento e pode disponibilizá-lo tanto para
o Somador-Subtrator quanto para o barramento novamente.
Somador-Subtrator
• O Somador-Subtrator é o módulo responsável por efetuar uma
operação de soma ou sub-tração entre o valor presente no
acumulador com outro valor presente na memória RAM.
• A subtração é feita pelo método do complemento de 2; ou seja,
para subtrair, ele efetua
• uma soma do acumulador com o complemento do segundo
operando.
Registrador B
Registrador B é um registrador de memória temporária utilizado em uma operação
•aritmética para pegar determinado valor presente no barramento e entregá-lo ao Somador-
•-Subtrator.
•Ele é necessário, pois o único caminho para se chegar ao Somador-Subtrator é por meio do Acumulador ou do
Registrador B; como o Acumulador já contém um operando, a única forma de carregar o outro operando no
Somador-Subtrator é passando por um caminho al- ternativo, no caso o Registrador B.
•O Acumulador, o Somador-Subtrator e o Registrador B são módulos que fazem parte da Unidade Lógica e
Aritmética do SAP1.
Registrador de Saída
• Depois que o computador executou um determinado processamento, o resultado fica ar-
• mazenado no Acumulador.
• Para que o usuário do computador possa visualizar o resultado do processamento, é ne- cessário
transferir o conteúdo do Acumulador para um registrador que permita o envio do re- sultado para o
usuário.
• O registrador responsável por pegar o resultado presente no Acumulador e disponibilizar
• o seu conteúdo para um dispositivo visual é chamado de Registrador de Saída ou Porta de Saída.
Indicador Visual em Binário
• Para visualizar o conteúdo do Registrador de Saída, é utilizado um conjunto de oito LEDS (diodos
emissores de luz) que ficam dispostos de forma alinhada e representam os oito bits presentes no RI.
Linguagem de máquina
ENDEREÇO CONTEÚDO ENDEREÇO CONTEÚDO
0H 8H
1H 9H
2H AH
3H BH
4H CH
5H DH
6H EH
7H FH
Instruções
MNEMÔNICO OPCODE FUNÇÃO
LDA 0000 Carrega o valor contido no endereço de memória pelo seu operando no
acumulador.
ADD 0001 Soma o valor contido no endereço de memória apontado pelo seu operando
com o conteúdo armazenado no acumulador.
SUB 0010 Subtrai do valor contido no acumulador, o valor contido no endereço de
memória apontado pelo seu operando.
OUT 1110 Faz com que o conteúdo armazenado no acumulador seja indicado no
módulo indicador visual binário.
HLT 1111 Pára o processamento. É utilizado no final do programa.
Exemplos de programação do SAP1
ENDEREÇO INSTRUÇÃO
0H LDA EH
1H ADD FH
2H OUT
3H HLT
4H
5H
6H
7H
8H
9H
AH
BH
CH
DH
EH 03H
FH 05H
Exemplo:
Faremos um programa para retornar o resultado de 3+5.
Observação: Os valores 3 e 5 estão no sistema de numeração decimal e deverão ser arma- zenados nas posições EH e FH da memória.
PROGRAMA ESCRITO EM LINGUAGEM DE MONTAGEM X PROGRAMA ES-CRITO EM LINGUAGEM DE
MÁQUINA
• Os programas escritos, anteriormente, utilizam os MNEMÔNICOS das instruções do SAP1, juntamente com os
valores de posição de memória e operandos em hexadecimal.
• Essa forma de se escrever um programa chama-se MONTAGEM (assembly), ou seja, os programas escritos até
agora utilizaram uma linguagem denominada de Linguagem de Monta- gem, que gerou o que chamamos de
programa fonte.
• Como bem sabemos, os computadores precisam receber um programa em linguagem de máquina para poder
trabalhar, e o que veremos na sequência é como se faz para transformar um programa fonte escrito em linguagem
de montagem, em um programa escrito em lingua- gem de máquina.
• Qualquer programa escrito em linguagem de máquina chama-se programa objeto.
• A maioria dos programadores trabalham escrevendo programa em uma linguagem de alto nível e quem
transforma o programa fonte em programa objeto é o tradutor (pode ser um com- pilador ou interpretador).
• Veremos como é que se traduz um programa escrito em linguagem de montagem para linguagem de máquina,
sem a ajuda de um tradutor.
• Veja como é simples, basta substituir todos os valores apontados em hexadecimal para binário e indicar as
instruções por meio dos seus códigos de operação (opcode), e não mais pelo mnemônico (apelido).
• Para ficar claro, estude os programas a seguir, que são as traduções dos exemplos feitos
• em linguagem de montagem apresentados até agora.
Exemplos de programas escritos em
linguagem de máquina
ENDEREÇO INSTRUÇÃO
0000 0000 1110
0001 0001 1111
0010 1110
0011 1111
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110 0000 0011
1111 0000 0101
Exemplo:
Faremos um programa para retornar o resultado de 3+5.
Observação: Os valores 3 e 5 estão no sistema de numeração decimal e deverão ser arma- zenados nas posições EH e FH da memória.
REFERÊNCIAS BIBLIOGRÁFICAS
• MALVINO, Albert Paul; LASCHUK, Anatolio. Microcomputadores e microprocessadores. São Paulo: McGraw-
Hill do Brasil, 1985.
• MANUAL DO ALUNO ARQUITETURA E ORGANIZAÇÃODE COMPUTADORES

Mais conteúdo relacionado

Semelhante a ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES

Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptJadna Almeida
 
Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02bruno santos ferreira
 
Arquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyArquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyElaine Cecília Gatto
 
Alocação dinâmica em C
Alocação dinâmica em CAlocação dinâmica em C
Alocação dinâmica em CBruno Oliveira
 
Funcionamento de um sistema de computação
Funcionamento de um sistema de computaçãoFuncionamento de um sistema de computação
Funcionamento de um sistema de computaçãoPAULO Moreira
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoElaine Cecília Gatto
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programaçãoSandro Lopes
 
Programação de Microprocessadores
Programação de MicroprocessadoresProgramação de Microprocessadores
Programação de MicroprocessadoresDiogo Silva
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computadorredesinforma
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Apostila para aprender sobre CPUs e tudo mais
Apostila para aprender sobre CPUs e tudo maisApostila para aprender sobre CPUs e tudo mais
Apostila para aprender sobre CPUs e tudo maisGilberto Mota
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadoresmiroslayer
 

Semelhante a ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES (20)

Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02
 
Arquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyArquitetura de Computadores: Assembly
Arquitetura de Computadores: Assembly
 
Redes 6
Redes 6Redes 6
Redes 6
 
Alocação dinâmica em C
Alocação dinâmica em CAlocação dinâmica em C
Alocação dinâmica em C
 
Funcionamento de um sistema de computação
Funcionamento de um sistema de computaçãoFuncionamento de um sistema de computação
Funcionamento de um sistema de computação
 
Oc2 cap03
Oc2 cap03Oc2 cap03
Oc2 cap03
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introdução
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
Programação de Microprocessadores
Programação de MicroprocessadoresProgramação de Microprocessadores
Programação de Microprocessadores
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computador
 
aula_01.pdf
aula_01.pdfaula_01.pdf
aula_01.pdf
 
bom-1.pdf
bom-1.pdfbom-1.pdf
bom-1.pdf
 
Resumo x86
Resumo x86Resumo x86
Resumo x86
 
aula_04.pdf
aula_04.pdfaula_04.pdf
aula_04.pdf
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Apostila s7
Apostila s7Apostila s7
Apostila s7
 
Apostila para aprender sobre CPUs e tudo mais
Apostila para aprender sobre CPUs e tudo maisApostila para aprender sobre CPUs e tudo mais
Apostila para aprender sobre CPUs e tudo mais
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadores
 

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES

  • 1. Curso:Análise e Desenvolvimento de Sistemas Disciplina: ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Tutor:Fernando Marco Perez Campos Aluno: Willian Leal da Silva RA: 8138708 Unidade (Polo): Orlando -FL Turma: DGTDS2101ORLA0D
  • 2.
  • 3. • Contador de Programa (CP) • Qual a função de um contador de programa? • Lembre-se de que uma das características de um computador é o armazenamento de todo • o programa e dos dados na sua memória. • Este armazenamento ocorre nas posições de memória, de forma sequencial, iniciando-se na posição (0000)2 e seguindo para os próximos endereços: (0001) 2, (0010)2, (0011)2 e assim sucessi- vamente. • Essas posições são compostas por 4 bits porque é uma característica da memória do SAP1, que possui 16 posições de memória. • A função do Contador de Programa (CP) é a de apontar para o computador a próxima ins- trução a ser executada. • Toda vez que o computador é inicializado, o Contador de Programa aponta para o ende- reço (0000); antes de o computador executar a primeira instrução, o CP passa para a memória a posição da instrução que será executada (no caso (0000)2) e incrementa o seu valor, e se prepara para apontar para a segunda instrução, ou seja, a instrução que virá após a busca e execução da primeira instrução. O contador de programa repetirá esse procedimento até o final do programa. • O Contador de Programas funciona como um dedo apontando para a próxima instrução a ser executada, ele muitas vezes é chamado de apontador. • A tarefa desempenhada pelo CP é parte integrante da Unidade de Controle. •
  • 4. Entrada e REM • É neste módulo que ocorre a entrada de dados e instruções para que o SAP1 possa ser programado (entrada), e também é o local onde fica armazenado o valor passado pelo CP, que é o endereço que será acessado na memória RAM (Registrador de Endereço de Memória REM). •
  • 5. RAM • RAM é uma memória estática que possui 16 linhas e 8 bits por linha, ou seja 16 X 8, com a • finalidade de armazenar instruções e dados a serem utilizados pelo computador. • Durante o processamento, a RAM recebe endereços de 4 bits do REM e logo após é execu- tado uma operação de leitura neste endereço e o seu conteúdo é disponibilizado no barramento w para a devida utilização.
  • 6. Registrador de instruções •Quando uma instrução é lida da memória RAM, o byte referente à instrução é enviado ao Registrador de Instrução (RI), onde ele é separado em dois nibbles (meio byte), o nibble superior é referente à própria instrução e é passado imediatamente ao Controlador- Sequencializador e o nibble inferior é referente ao campo operando que, quando for o caso, será disponibilizado no barramento w. •A tarefa desempenhada pelo Registrador de Instruções é parte integrante da Unidade de •Controle.
  • 7. Controlador-Sequencializador Controlador-Sequencializador constitui parte da unidade de controle e é o módulo res- •ponsável pelo controle do computador. •Recebe o nibble referente a instrução que será executada naquele momento por inter- médio do Registrador de Instrução, decodifica e envia uma palavra de controle de 12 bits para todo computador. •A palavra de controle é responsável por habilitar ou desabilitar cada funcionalidade de •cada módulo presente no computador a fim de que ele execute uma determinada tarefa. •Podemos fazer uma analogia entre o Controlador-Sequencializador e um maestro de or- questra, que determina quem, o que fazer e em que hora fazer uma determinada ação. O maes- tro é parte significativa para os componentes de uma orquestra, assim como o Controlador- •-Sequencializador é para os módulos que compõe o computador.
  • 8. Acumulador • O acumulador é um registrador de memória temporária que armazena operandos e tam- bém resultados de processamentos. Recebe um dado do barramento e pode disponibilizá-lo tanto para o Somador-Subtrator quanto para o barramento novamente.
  • 9. Somador-Subtrator • O Somador-Subtrator é o módulo responsável por efetuar uma operação de soma ou sub-tração entre o valor presente no acumulador com outro valor presente na memória RAM. • A subtração é feita pelo método do complemento de 2; ou seja, para subtrair, ele efetua • uma soma do acumulador com o complemento do segundo operando.
  • 10. Registrador B Registrador B é um registrador de memória temporária utilizado em uma operação •aritmética para pegar determinado valor presente no barramento e entregá-lo ao Somador- •-Subtrator. •Ele é necessário, pois o único caminho para se chegar ao Somador-Subtrator é por meio do Acumulador ou do Registrador B; como o Acumulador já contém um operando, a única forma de carregar o outro operando no Somador-Subtrator é passando por um caminho al- ternativo, no caso o Registrador B. •O Acumulador, o Somador-Subtrator e o Registrador B são módulos que fazem parte da Unidade Lógica e Aritmética do SAP1.
  • 11. Registrador de Saída • Depois que o computador executou um determinado processamento, o resultado fica ar- • mazenado no Acumulador. • Para que o usuário do computador possa visualizar o resultado do processamento, é ne- cessário transferir o conteúdo do Acumulador para um registrador que permita o envio do re- sultado para o usuário. • O registrador responsável por pegar o resultado presente no Acumulador e disponibilizar • o seu conteúdo para um dispositivo visual é chamado de Registrador de Saída ou Porta de Saída.
  • 12. Indicador Visual em Binário • Para visualizar o conteúdo do Registrador de Saída, é utilizado um conjunto de oito LEDS (diodos emissores de luz) que ficam dispostos de forma alinhada e representam os oito bits presentes no RI.
  • 13. Linguagem de máquina ENDEREÇO CONTEÚDO ENDEREÇO CONTEÚDO 0H 8H 1H 9H 2H AH 3H BH 4H CH 5H DH 6H EH 7H FH
  • 14. Instruções MNEMÔNICO OPCODE FUNÇÃO LDA 0000 Carrega o valor contido no endereço de memória pelo seu operando no acumulador. ADD 0001 Soma o valor contido no endereço de memória apontado pelo seu operando com o conteúdo armazenado no acumulador. SUB 0010 Subtrai do valor contido no acumulador, o valor contido no endereço de memória apontado pelo seu operando. OUT 1110 Faz com que o conteúdo armazenado no acumulador seja indicado no módulo indicador visual binário. HLT 1111 Pára o processamento. É utilizado no final do programa.
  • 15. Exemplos de programação do SAP1 ENDEREÇO INSTRUÇÃO 0H LDA EH 1H ADD FH 2H OUT 3H HLT 4H 5H 6H 7H 8H 9H AH BH CH DH EH 03H FH 05H Exemplo: Faremos um programa para retornar o resultado de 3+5. Observação: Os valores 3 e 5 estão no sistema de numeração decimal e deverão ser arma- zenados nas posições EH e FH da memória.
  • 16. PROGRAMA ESCRITO EM LINGUAGEM DE MONTAGEM X PROGRAMA ES-CRITO EM LINGUAGEM DE MÁQUINA • Os programas escritos, anteriormente, utilizam os MNEMÔNICOS das instruções do SAP1, juntamente com os valores de posição de memória e operandos em hexadecimal. • Essa forma de se escrever um programa chama-se MONTAGEM (assembly), ou seja, os programas escritos até agora utilizaram uma linguagem denominada de Linguagem de Monta- gem, que gerou o que chamamos de programa fonte. • Como bem sabemos, os computadores precisam receber um programa em linguagem de máquina para poder trabalhar, e o que veremos na sequência é como se faz para transformar um programa fonte escrito em linguagem de montagem, em um programa escrito em lingua- gem de máquina. • Qualquer programa escrito em linguagem de máquina chama-se programa objeto. • A maioria dos programadores trabalham escrevendo programa em uma linguagem de alto nível e quem transforma o programa fonte em programa objeto é o tradutor (pode ser um com- pilador ou interpretador). • Veremos como é que se traduz um programa escrito em linguagem de montagem para linguagem de máquina, sem a ajuda de um tradutor. • Veja como é simples, basta substituir todos os valores apontados em hexadecimal para binário e indicar as instruções por meio dos seus códigos de operação (opcode), e não mais pelo mnemônico (apelido). • Para ficar claro, estude os programas a seguir, que são as traduções dos exemplos feitos • em linguagem de montagem apresentados até agora.
  • 17. Exemplos de programas escritos em linguagem de máquina ENDEREÇO INSTRUÇÃO 0000 0000 1110 0001 0001 1111 0010 1110 0011 1111 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 0000 0011 1111 0000 0101 Exemplo: Faremos um programa para retornar o resultado de 3+5. Observação: Os valores 3 e 5 estão no sistema de numeração decimal e deverão ser arma- zenados nas posições EH e FH da memória.
  • 18. REFERÊNCIAS BIBLIOGRÁFICAS • MALVINO, Albert Paul; LASCHUK, Anatolio. Microcomputadores e microprocessadores. São Paulo: McGraw- Hill do Brasil, 1985. • MANUAL DO ALUNO ARQUITETURA E ORGANIZAÇÃODE COMPUTADORES