+ Responder Tópico
Página 1 de 2 1 2 Última
  1. #1
    hardMOB Staff - Moderação Avatar de 3,14k2|P1k4chu
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Jun 2003
    Mensagens
    42.363
    Verdinhas
    653

    [Projeto] Memória Cache de 8086, alguem sabe como fazer? :eek:

    Ai pessoal, essa vai ser difícil alguem saber, acho que só o Falcon_br vai saber, mas vamos ver.

    Código:
    Projetar um "cache" usando um microcomputador baseado em uma CPU 8086.
    
    Especificação do Cache
    => Associatividade: 4
    => Tamanho da linha: 16 bytes
    => Política de escrita WRITE BACK na memória externa ao Cache
    => Numero de Endereços do cache: 256
    
    Caracteristicas da CPU Externa a qual o Cache vai ser conectado
    => Barramento de endereços: 32 bits
    => Barramento de dados: 16 bits
    => Barramento de controle: RD, WR, M#/IO, READY (Sinal de Ready é pulsado para indicar para a CPU externa o final de um acesso a memória)
    => Sinal ADS pulsado para indicar que endereço, controle e dados (durante uma escrita) foram gerados
    
    Especificação do Microcomputador
    => Portas de E/S para recever endereço, controle e receber/enviar dados da CPU externa e portas de E/S para enviar endereço, controle e receber/enviar dados da memória externa
    => Memória Flash para o programa de controle do cachê
    => Memória SRAM para armazenar endereços, dados e ... (sim é redissencias)
    => O programa de controle do cache deve ser disparado por interrupção
    
    E de quebra: faça uma rotina para verificar se um endereço está, ou não no cache.
    Então HAUAUHAUHAUHUAHUA xD

    Qualquer ajuda, qualquer mesmo é bem vinda, vai ser meu passatempo do fim de semana isso

    []'s
    Última edição por 3,14k2|P1k4chu : 13-07-2007 às 0:04

  2. # Publicidade
    Publicidade

  3. #2
    hardMOB Staff - Moderação Avatar de 3,14k2|P1k4chu
    Autor do tópico
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Jun 2003
    Mensagens
    42.363
    Verdinhas
    653

    Caralho acho que comecei a entender o que era para fazer!

    Não é para fazer um Cache para 8086, mas sim um Cache para uma CPU aleatória que está especificada logo acima, mas que esse Cache tem um 8086 para controla-lo, e é composto por memorias SRAM (do cache obviamente) e a Flash com o microprograma que o 8086 roda para controlar a cache.

    Puta que me pariu, é isso mesmo?

    Pensando em blocos seria mais ou menos isso daqui:

    Código:
    ***********      ***********       ***********
    *         *      *  Cache  *       *         *
    *   CPU   *      *         *       *         *
    * Externa * ===> *  8086   * <===> *   RAM   *
    *         *      *  SRAM   *       *         *
    *         *      *  Flash  *       *         *
    ***********      ***********       ***********
    E ai?

    []'s

  4. #3
    Membro Avatar de miesso
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Oct 2004
    Mensagens
    6.517
    Verdinhas
    431

    cara soh nao te dou a resposta pq eu to com preguiça de digitar

  5. #4
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Nov 2005
    Mensagens
    2.753
    Verdinhas
    0

    Não entendi nada e nem para que serve isso ae...

  6. #5
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Th1ag0w
    Registro
    Jul 2004
    Mensagens
    2.048
    Verdinhas
    97

    Só nao te ajudo pq vc falo q soh o falcon saberia essa..














    zuando soh to floodando e upando o topico pra vc

  7. #6
    Membro Avatar de diegotmc
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    May 2007
    Mensagens
    874
    Verdinhas
    54

    faz um gato com um chip gsm usado

  8. #7
    Membro Avatar de Hubie
    Info Conteúdo e Citações Jogos Mensageiros
    Hill Valley
    Registro
    Sep 2002
    Mensagens
    9.941
    Verdinhas
    1498

    oaiheoauehoae, em que linguagem ? c ? ouaehoeh

  9. #8
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Nov 2001
    Mensagens
    4.179
    Verdinhas
    33

    qual o projeto em si ? fazer um projeto pro hardware , linhas de dados e controle ? ou o software que vai controlar emissao de endereços e espera por dados etc ?

  10. #9
    Membro Avatar de almocreverson
    Info Conteúdo e Citações Jogos Mensageiros
    Too Long
    Registro
    Jan 2006
    Mensagens
    1.815
    Verdinhas
    369

    O que você tem que entregar? Um diagrama detalhando a cache ou tem que entregar ela implementada em algum simulador (chipmunk ou tkgate, por ex)?

  11. #10
    Membro Avatar de lorotãO
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Apr 2001
    Mensagens
    6.827
    Verdinhas
    871

    putz cara, ano passado fiz um projeto nesse mesmo processador, so que era um logica completa (cpu, memoria, mobo), so que nao lembro nada rsrs

  12. #11
    Membro Avatar de Cardone
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Jun 2003
    Mensagens
    7.111
    Verdinhas
    628

    Por isso que larguei a engenharia

  13. #12
    fep
    fep está offline
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Apr 2007
    Mensagens
    1.212
    Verdinhas
    5

    Citação Citando ]PF[.PhoeniX Ver mensagem
    Por isso que larguei a engenharia
    num fala isso nao, cara... to pensando em prestar engenharia, nao me desanima nao AHUEIAHOEIHAUOIEHAIOEAH

    e quanto ao tópico:

    é simples, mas to com preguiça de digitar



    ps.: Pikachu, vai postando o andamento do 'treco' ae, vo fica acompanhando aqui.. =)

  14. #13
    Banido
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Dec 2001
    Mensagens
    15.625
    Verdinhas
    2

    Cara, me adiciona no msn que eu resolvo para vc, so que tem muita coisa que eu não entendi o que o professor quer.

    Tipo, ele quer que cheque se tem escrito na memoria cache alguma coisa na linha do endereço dado (ou cheque endereço a endereço), e salve quais endereços tem coisa escrita ou não na memoria ram? Se for isso da para fazer de boa em poucas linhas.

    So vi o topico agora, me adiciona no msn que amanha eu resolvo ele para vc:
    [email protected]

  15. #14
    Redação
    hardMOB
    Avatar de Cadu®
    Info Conteúdo e Citações Jogos Mensageiros
    Brotherhood
    Registro
    Aug 2003
    Mensagens
    15.734
    Verdinhas
    295

    coisa de retardado isso ai veio AHEOIuHAOEIuh

    no mais, boa sorte

  16. #15
    Banido
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Dec 2001
    Mensagens
    15.625
    Verdinhas
    2

    Outra coisa, o 8086 tme duas interrupções por hardware, duas por tempo e duas que eu não esotu lembrado agora, eh para suar uma de hardware, pode ser a 0BH?

    Tipo, aqui tenho um programa antigo (os novos estão em disquete e o meu notebook não tem entrada para disquete).
    Mas ja da uma ajuda, pq era para usar a interrupção de hardware no 0bh acionada por uma chave

    Código:
    $mod51
    ;
    ORG 0000
    	LJMP MARLEY
    ORG 0BH
    	LJMP INTT
    ;
    ORG 100H
    ;
    MARLEY: SETB EA
    	SETB ET0
    	MOV R6,#26
    	MOV TMOD,#1
    	MOV TL0,#LOW 65535
    	MOV TH0,#HIGH 65535
    	MOV DPTR,#8000H
    	MOV R2,#7
    INICIO: MOV A,R2
    	MOVX @DPTR,A
    LAPD: 	MOV R1,#100
    TESTEA: JB P1.0,LAPD
    	DEC R1
    	CJNE R1,#0,TESTEA
    LAPE: 	MOV R1,#100
    TESTEB: JNB P1.0,LAPE
    	DEC R1
    	CJNE R1,#0,TESTEB
    	CPL TR0
    	JMP INICIO
    ;
    ;
    INTT:	DJNZ R6,INCL
    	MOV R6,#26
    	DEC R2
    	MOV A,R2
    	MOVX @DPTR,A
    INCL:	RETI
    
    
    END
    Também tenho de um amigo, ta todo comentado, viadagem dele, mas deve ser mais facil para vc entender:

    Código:
    $mod51
    
    ORG 0H
    	LJMP INIC		;SALTA PARA INIC
    
    ORG	0BH			;INTERRUPCAO DO TIMER
    	DJNZ	R7,LB2		;DECREMENTA CONTADOR
    	MOV	R7,#26		;RESTAURA CONTADOR QDO CHEGA EM ZERO
    	DEC	A		;DECREMENTA O CRONOMETRO
    	CJNE	A,#0,LB3	;SE FOR ZERO PULA PARA LB3
    	MOVX	@DPTR,A		;MOVE O ACUMULADOR PARA OS LEDS
    	MOV	A,#8		;MOVE 8 PARA O ACUMULADOR PARA VOLTAR PARA 7 NO PROXIMO DECREMENTO
    	RETI			;MOVE 7 PARA O ACUMULADOR
    LB3:	MOVX	@DPTR,A		;MOVE O ACUMULADOR PARA OS LEDS
    LB2:	RETI			;RETORNA DA INTERRUPCAO
    	
    ORG 500H
    INIC:	MOV	DPTR,#8000H	;MOVE O ENDEREÇO DOS LEDS PARA O DPTR
    	MOV	A,#7		;MOVE 7 PARA O ACUMULADOR
    	MOV	R7,#26		;MOVE PARA SER O CONTADOR DE CICLOS
    	MOV	R6,#100		;MOVE 100 PARA R6 PARA Q A OSCILACAO DA CHAVE NAUM PREJUDIQUE O PROGRAMA
    	MOV	TMOD,#1		;MODO 1 PARA O CONTADOR
    	MOV	TL0,#LOW 65535	;VALOR LSB DE 65535
    	MOV	TH0,#HIGH 65535	;VALOR MSB DE 65535
    	SETB	ET0		;HABILITA INTERRUPCAO DO TIMER0
    	SETB	EA		;HABILITA INTERRUPCOES		_
    LAB:	MOV	R6,#100		;MOVE 100 PARA R6		 |
    LB:	JB	P1.0,LAB	;ESPERA P1.0 IR PARA ZERO	 |ESTABILIZA A CHAVE
    	DJNZ	R6,LB		;DECREMENTA R6			_|
    	SETB	TR0		;LIGA O TEMPORIZADOR
    	JNB	P1.0,$		;ESPERA P1.0 IR PARA 1
    LB4:	JB	P1.0,$		;ESPERA P1.0 IR PARA ZERO
    	DJNZ	R6,LB4		;DECREMENTA R6
    	MOV	R6,#100		;MOVE 100 PARA R6	
    	CPL	TR0		;DESLIGA O CONTADOR		_
    LAB1:	MOV	R6,#100		;MOVE 100 PARA R6		 |
    LAB2:	JNB	P1.0,LAB1	;ESPERA P1.0 IR PARA 1		 |ESTABILIZA A CHAVE
    	DJNZ	R6,LAB2		;DECREMENTA E SALTA PRA LAB2	_|
    	SJMP	LB		;SALTA PARA LB			
    	END			;FIM

  17. #16
    hardMOB Staff - Moderação Avatar de 3,14k2|P1k4chu
    Autor do tópico
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Jun 2003
    Mensagens
    42.363
    Verdinhas
    653

    Citação Citando |nobre| Ver mensagem
    qual o projeto em si ? fazer um projeto pro hardware , linhas de dados e controle ? ou o software que vai controlar emissao de endereços e espera por dados etc ?
    Tipo Nobre, o prof quer que façamos o projeto mesmo, em blocos, ligar a SRAM, o 8086, a Flash, a CPU externa, ligar isso tudo.

    E depois tem que fazer a questão 2 lá que á a parte da rotina de verificação de endereço, só que essa eu não sei se é pra fazer em ASM ou uCode, alias, eu nem sei o que é pra fazer

    Citação Citando almocreverson Ver mensagem
    O que você tem que entregar? Um diagrama detalhando a cache ou tem que entregar ela implementada em algum simulador (chipmunk ou tkgate, por ex)?
    Só o diagrama mesmo, não precisa de simulador (se tivesse simulador na aula ia ser mais legal, mas é só diagrama mesmo).

    Citação Citando Falcon_br Ver mensagem
    Cara, me adiciona no msn que eu resolvo para vc, so que tem muita coisa que eu não entendi o que o professor quer.

    Tipo, ele quer que cheque se tem escrito na memoria cache alguma coisa na linha do endereço dado (ou cheque endereço a endereço), e salve quais endereços tem coisa escrita ou não na memoria ram? Se for isso da para fazer de boa em poucas linhas.

    So vi o topico agora, me adiciona no msn que amanha eu resolvo ele para vc:
    [email protected]
    Opa Falcon, vo adicionar sim.

    Sim já deve existir algo na RAM, é apenas um programa pra checar se um dado está na RAM ou não, acho que o mais problema não é o programa para verificação mas sim fazer o "projeto" dessa Cache louca ai controlada por um 8086, desenhar os blocos e tudo mais, sacou?

    []'s

  18. #17
    Membro Avatar de rafaelxtreme
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Mar 2006
    Mensagens
    1.832
    Verdinhas
    532

    WTF?

  19. #18
    hardMOB Staff - Moderação
    Info Conteúdo e Citações Jogos Mensageiros
    AEHOOO o/
    Registro
    Nov 2000
    Mensagens
    21.838
    Verdinhas
    2791

    Citação Citando rafaelxtreme Ver mensagem
    WTF?
    muito alem da sua compreensão, sorry

  20. #19
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Feb 2002
    Mensagens
    692
    Verdinhas
    1

    Pika, vc tem alguma duvida conceitual sobre isso???

    se tiver posso te ajudar com essa parte, acabei de passar em arquiteturaI aeiuehaiuae, tá tudo fresco na cabeça....

    Bom

    Associatividade 4, será o numero de palavras que vao ser colocadas em uma linha, usando sempre a regra do LBU ( substituir sempre a palavra mais velha que foi colocada nakela linha )

    O write back seria que aquela word que está na cache, soh vai ser atualizada pra memoria depois que ela for substituida por uma nova palavra na cache ( no conceido do lbu ali em cima )

    Numero de endereços vai ser o numero de linhas que o endereço vai mapear da cache pra memo principal....


    bom, espero ter ajudado...
    Última edição por Maddog : 14-07-2007 às 14:38

  21. #20
    Banido
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Dec 2001
    Mensagens
    15.625
    Verdinhas
    2

    Citação Citando Maddog Ver mensagem
    Pika, vc tem alguma duvida conceitual sobre isso???

    se tiver posso te ajudar com essa parte, acabei de passar em arquiteturaI aeiuehaiuae, tá tudo fresco na cabeça....

    Bom

    Associatividade 4, será o numero de palavras que vao ser colocadas em uma linha, usando sempre a regra do LBU ( substituir sempre a palavra mais velha que foi colocada nakela linha )

    O write back seria que aquela word que está na cache, soh vai ser atualizada pra memoria depois que ela for substituida por uma nova palavra na cache ( no conceido do lbu ali em cima )

    Numero de endereços vai ser o numero de linhas que o endereço vai mapear da cache pra memo principal....


    bom, espero ter ajudado...
    Então o que o professor propõem é que usemos a ram1 como memoria de programa e a ram2 como memoria de execução?
    Se for isso então é so ligar os cabos que sai tudo liso, mais facil que minha primeira prova de arquitetura 3.

    Editei pq inverti os nomes, to no msn mas nada de vc aparecer.
    Última edição por Falcon_br : 14-07-2007 às 17:08

  22. #21
    Membro Avatar de rafaelxtreme
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Mar 2006
    Mensagens
    1.832
    Verdinhas
    532

    Citação Citando DARKrider Ver mensagem
    muito alem da sua compreensão, sorry

    Engraçado que muitos fizeram comentários desse tipo e vc só me quotou.


    Que coisa, não?


    Malz pelo flood ai pikachu.

  23. #22
    Banido
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Dec 2001
    Mensagens
    15.625
    Verdinhas
    2

    Aqui tem o site daonde eu checo online as instruções de microcontroladores (inclusive processadores), baseados no 80XX:
    http://www.8052.com/
    Claro que tudo nesse site é compativel com o 8051 que estou acostumado a usar e o 8086. E tem simuladores nele, porem todos de microcontroladores.

    http://www.cpu-world.com/info/Pinouts/8086.html
    Pinagem do 8086 da intel, mas acredito que todos tem pinagem iguais. Se tiver um pino que vc não entendeu explica ae, vc tem que saber usar bem o diagrama de tempo dele para interfacear as memorias, usando psen, ale, a interupção em INTR, não use a interrupção não mascaravél NMI, mas lembre-se que a INTR tem que ser habilitada antes de ser usada, e que ele levanta a flag INTA. S0, S1 e S2 que estão o segredo do bichinho aonde vc vai usar o memory write, io ready e etc.

  24. #23
    Banido
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Dec 2001
    Mensagens
    15.625
    Verdinhas
    2

    Citação Citando rafaelxtreme Ver mensagem
    Engraçado que muitos fizeram comentários desse tipo e vc só me quotou.


    Que coisa, não?


    Malz pelo flood ai pikachu.
    Se vc ficar ligando toda vez que um noob te encher, vc estará se rebaixando ao nivel deles.

  25. #24
    hardMOB Staff - Moderação Avatar de 3,14k2|P1k4chu
    Autor do tópico
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Jun 2003
    Mensagens
    42.363
    Verdinhas
    653

    Citação Citando Falcon_br Ver mensagem
    Então o que o professor propõem é que usemos a ram1 como memoria de programa e a ram2 como memoria de execução?
    Se for isso então é so ligar os cabos que sai tudo liso, mais facil que minha primeira prova de arquitetura 3.

    Editei pq inverti os nomes, to no msn mas nada de vc aparecer.
    Sim creio que seja apenas, isso, mas o problema é como fazer esse "apenas".

    Tive um fim de semana tumultuado da porra, e essa parada é pra amanha =/

    Acho que não dá mais para fazer!

    Tu saberia fazer TUDO falcon?

    []'s

  26. #25
    Membro Avatar de In a RUSH
    Info Conteúdo e Citações Jogos Mensageiros
    Tough ain't enough!
    Registro
    Jul 2003
    Mensagens
    2.435
    Verdinhas
    188

    Citação Citando 3,14k2|P1k4chu Ver mensagem
    Sim creio que seja apenas, isso, mas o problema é como fazer esse "apenas".

    Tive um fim de semana tumultuado da porra, e essa parada é pra amanha =/

    Acho que não dá mais para fazer!

    Tu saberia fazer TUDO falcon?

    []'s
    Parece brincadeira, mas todos os finais de semana que precedem provas/entrega de trabalho são tumultuados...

+ Responder Tópico Ir para o Fórum
Página 1 de 2 1 2 Última

Assuntos do tópico

Compartilhar

Permissões