Ir ao conteúdo

Como fazer banco de memória de 6Kb e sua interface com a CPU?


Ir à solução Resolvido por aphawk,

Posts recomendados

Postado

Boa tarde a todos. Eu realmente nao sei como fazer essa questao. Sim eu seu que a resposta pode ser obvia para a maioria mas infelizmente não é obvia para mim. Eu preciso muito de ajuda. Esse circuito que fiz está no circuit maker. 

 

Este é o enunciado de meu problema. Abaixo imagens do que se explica no exercício e o que já consegui fazer

 

Considerando uma CPU com 24 bits de endereço, 16 bits de dados e um sinal WE indicando leitura (1) ou escrita (0), construa um banco de memória de 6Kb e sua interface com a CPU. Tal banco deve ter seu endereçame nto iniciando em 2K. Utilize o integrado RAM1K do Circuit Maker.

 

A parte de ser d0 a d15 eu entendi. É o tamanho do dado ser 16 que me força a fazer essa estrutura. Só que não faço ideia de como trabalhar a parte do endereço. Como faço corretamente o chip select ? Serão 2 decodificadores mesmo ? Se sim, por que ?

 

Perdão por tantas duvidas básicas e desde já agradeço a atenção

 

Abraços

ex3.JPG

duvida_questao3.JPG

  • Membro VIP
Postado

1/2 dificinho... pra minha idade então.. afff... Vou tentar só uma introdução e tentativa semifrustrada de consultar minhas vagas lembranças e de quebra tentar dar uma desenferrujada no tico e teco.

 

-6K vai precisar de 6 ci's de 1k

-o WE pode estar no E3 de todos

-o chip select de cada vai ter que acionado a cada 1k (1024 ou 0x400)... bem só com este dado já se percebe algo que aproveito e represento em 24 bits de endereço pra melhorar a visualização:

0x400=0b0000 0000 0000 0100 0000 0000 => bit10 em 1.

-agora o 2º chip em 0x800 -> 0b0000 0000 0000 1000 0000 0000

-o 3º 0b0000 0000 0001 1000 0000 0000...

-4º 0b0000 0000 0010 0000 0000 0000... consegue ver os endereços "evoluindo" nos bits? É isso... eles compõem as entradas do seu multiplex ls138 cujas saídas são os CS's de cada chip RAM

-percebamos também que são 6 cis de ram portanto 6 CS portanto 1 ls138 dá conta...

-a questão do endereço inicial em 2K depois a gente vê ou deduza você.

Portanto a dica de se visualizar/representar (e entender) o sistema em binários, fica mais fácil de ser visualizar a conexão entre o sw e hw

 

... bem por hora é só... qualquer momento penso + ... se é que existo.🤪. Pense 1 pouco aí pra mim e me explique pois acho que nem eu me entendi direito 😁

 

edit's ... complementos semi etílicos... kk.... pode ter alguma falha na análise... ajuda nóis aí...

  • Obrigado 1
  • Haha 1
Postado

@.if

2 horas atrás, .if disse:

1/2 dificinho... pra minha idade então.. afff... Vou tentar só uma introdução e tentativa semifrustrada de consultar minhas vagas lembranças

-6K vai precisar de 6 ci's de 1k

-o WE pode estar no E3 de todos

-o chip select de cada vai ter que acionado a cada 1k (1024 ou 0x400)... bem só com este dado já se percebe algo que aproveito e represento em 24 bits de endereço pra melhorar a visualização:

0x400=0b0000 0000 0000 0100 0000 0000 => bit10 em 1.

-agora o 2º chip em 0x800 -> 0b0000 0000 0000 1000 0000 0000

-o 3º 0b0000 0000 0001 1000 0000 0000...

-4º 0b0000 0000 0010 0000 0000 0000... consegue ver os endereços "andando" nos bits?

-percebamos também que são 6 cis de ram portanto 6 CS portanto 1 ls138 dá conta...

-a questão do endereço inicial em 2K depois a gente vê ou deduza você.

Portanto a dica de se visualizar/representar (e entender) o sistema em binários, fica mais fácil de ser visualizar a conexão entre o sw e hw

... bem por hora é só... qualquer momento penso + ... se é que existo.🤪. Pense 1 pouco aí pra mim e me explique pois acho que nem eu me entendi direito 😁

Muito Obrigado pela sua resposta. Realmente sou iniciante demais nessa matéria e não sabia nem por onde começar a pensar.

 

Então, quanto a 6k eu entendi. Serão 6 ci's de 1k. Porém o meu dado é de 16 bits então acho que serão 2 ci's de 1k para fazer 1k16 (não sei se é assim mesmo que se escreve) .

 

Agora começam minhas duvidas.

 

-Quando diz que WE pode estar no E3 de todos significa que ele será o sinal de escrita e leitura em cada CI do circuito correto ?

 

-No caso do chip select de cada que vai ter que acionar cada 1k (1024 ou 0x400) eu devo começar ele em chip select 0 até 5 a partir do ls138 correto ?

 

-A questão do endereço inicial em 2K é um elemento que minha professora adicionou agora. no caso os endereços devem ir de 2k ate 8k porém não sei como representar isso. 

 

Com base no que disse fiz o seguinte circuito. Estou seguindo o caminho certo ?circuito3_mark1.thumb.JPG.0b0d70bae2a049953aebff2d00bfdf69.JPG

 Desde já agradeço por tudo !

 

  • Membro VIP
Postado

Agora bateu a dúvida que você pode tirar com sua professora. 1Kbytes ou 1Kwords? Geralmente neste micromundo referimos a K como bytes (8 bits) mesmo. Se word (16bits), sim ... 2 ci's de 1k.

- sim amigo. WE pode ser comum a todos. Mas penso que não deve ir pro 138. Apenas pra ram mesmo. De fato nem penso direito...🤪

 

-correto

 

-converta 2k em binário e vai "ver" o bit inicial: 2048 =1000 000 000

 

Seu circuito está semi certo. Foi você que criou ou outra pessoa ou ctrl-c ctrl-v? E só quer entender pra colocar no trabalho?

porque você conectou só duas entradas do ls138? consegue controlar as 6 saídas com 2 sinais? Mas e se for 16 bits (2 ci's)? Quantas saídas seriam?

porque começou com A1? Seu barramento de endereço poderia começar com A0? Teria algo a ver com 2 ci's a formar 16 bits?

Responda-se(me-nos) 🤪

  • Curtir 1
Postado
36 minutos atrás, .if disse:

Agora bateu a dúvida que você pode tirar com sua professora. 1Kbytes ou 1Kwords? Geralmente neste micromundo referimos a K como bytes (8 bits) mesmo. Se word (16bits), sim ... 2 ci's de 1k.

- sim amigo. WE pode ser comum a todos. Mas penso que não deve ir pro 138. Apenas pra ram mesmo. De fato nem penso direito...🤪

 

-correto

 

-converta 2k em binário e vai "ver" o bit inicial: 2048 =1000 000 000

 

Seu circuito está semi certo. Foi você que criou ou outra pessoa ou ctrl-c ctrl-v? E só quer entender pra colocar no trabalho?

porque você conectou só duas entradas do ls138? consegue controlar as 6 saídas com 2 sinais? Mas e se for 16 bits (2 ci's)? Quantas saídas seriam?

porque começou com A1? Seu barramento de endereço poderia começar com A0? Teria algo a ver com 2 ci's a formar 16 bits?

Responda-se(me-nos) 🤪

Sim é Kwords mesmo. Tirei essa duvida com ela essa semana. Fico feliz de ter acertado alguma coisa.

 

-Muito obrigado amigo. Já removi o WE do 138 aqui. 

 

47 minutos atrás, .if disse:

Seu circuito está semi certo. Foi você que criou ou outra pessoa ou ctrl-c ctrl-v?

Foi eu mesmo que criei o circuito com base no que entendi da matéria e exemplos que encontrei na web.

 

47 minutos atrás, .if disse:

E só quer entender pra colocar no trabalho?

porque você conectou só duas entradas do ls138?

. O trabalho é desenvolver o circuito nessas especificações. Ela quer o esquema dele no circuit maker dessa forma. 

Quando você diz duas entradas do 138 fala sobre E1, E2 e E3 ou A11 e A12 ?  Desculpe eu sei muito pouco. 

 

 

50 minutos atrás, .if disse:

consegue controlar as 6 saídas com 2 sinais?

Desculpe não sei ao certo. Achei que seria os sinais CS de 0 a 5 que fariam isso

 

Mas e se for 16 bits (2 ci's)?

No caso seria o mesmo sinal CS para os 2 correto ?

 

 

52 minutos atrás, .if disse:

porque começou com A1? Seu barramento de endereço poderia começar com A0? Teria algo a ver com 2 ci's a formar 16 bits?

 

Coloquei em A1 com base no que ela disse sobre o endereço começar em 2k. De acordo com ela o A0 será um don't care mas nao consegui entender além disso. Não tem a ver com os 2 ci's isso eu sei(acho). 

 

Desculpe pela falta de linguajar técnico é que eu realmente sou muito iniciante nesse assunto. 

 

 

 

  • Membro VIP
Postado

Bacana amigo. Sua intuição está correta e correto você está também em basear no que vê na net e tentar entender/adaptar/melhorar.

+ umas gotas...

2 horas atrás, Julio Cesar Maia de Carvalho disse:

entradas do 138 fala sobre E1, E2 e E3 ou A11 e A12 ?

Falo sobre as entradas A2 A1 A0 do 138 cuja combinação binária aciona sua respectiva saída.

E3,E2,E1 simplesmente libera ou desliga as saídas. Por gentileza, dê uma conferida no d.s. do mesmo pois teclo de memória e... já sabe né...

 

2 horas atrás, Julio Cesar Maia de Carvalho disse:

não sei ao certo. Achei que seria os sinais CS de 0 a 5 que fariam isso

Correto. 2 sinais controlam 4 saídas apenas. 2²=4, lembra disso? Pra controlar 6 saídas há necessidade de mais um controle 2^3=8

Maaassss como agora sabemos que o sistema é 16 bits então de fato 2 controles são suficientes. Portanto, sim...

2 horas atrás, Julio Cesar Maia de Carvalho disse:

Mas e se for 16 bits (2 ci's)?

No caso seria o mesmo sinal CS para os 2 correto ?

estás correto! Pois vais precisar de apenas 3 sinais: 1 pra cada 2 ci's.

 

2 horas atrás, Julio Cesar Maia de Carvalho disse:

Coloquei em A1 com base no que ela disse sobre o endereço começar em 2k. De acordo com ela o A0 será um don't care mas nao consegui entender além disso. Não tem a ver com os 2 ci's isso eu sei(acho). 

Se você não colocar A0, perceba que vai acessar apenas os endereços pares - de 2 em 2 - correto? A não ser que o A0 seja usado pra selecionar entre um ci e outro pra trabalhar com 2x8bits o que torna o sistema um pouco + complexo. Pergunte a ela porque o A0 não importa. Não vale dizer que não vai ver mais ela e o prazo pro trabalho já terminou pois isso é problema seu e não motiva ninguém 😑

😁

  • Obrigado 1
Postado
22 minutos atrás, .if disse:

Bacana amigo. Sua intuição está correta e correto você está também em basear no que vê na net e tentar entender/adaptar/melhorar.

+ umas gotas...

Falo sobre as entradas A2 A1 A0 do 138 cuja combinação binária aciona sua respectiva saída.

E3,E2,E1 simplesmente libera ou desliga as saídas. Por gentileza, dê uma conferida no d.s. do mesmo pois teclo de memória e... já sabe né...

 

Correto. 2 sinais controlam 4 saídas apenas. 2²=4, lembra disso? Pra controlar 6 saídas há necessidade de mais um controle 2^3=8

Maaassss como agora sabemos que o sistema é 16 bits então de fato 2 controles são suficientes. Portanto, sim...

estás correto! Pois vais precisar de apenas 3 sinais: 1 pra cada 2 ci's.

 

Se você não colocar A0, perceba que vai acessar apenas os endereços pares - de 2 em 2 - correto? A não ser que o A0 seja usado pra selecionar entre um ci e outro pra trabalhar com 2x8bits o que torna o sistema um pouco + complexo. Pergunte a ela porque o A0 não importa. Não vale dizer que não vai ver mais ela e o prazo pro trabalho já terminou pois isso é problema seu e não motiva ninguém 😑

😁

 

Mais uma vez muito obrigado mesmo por toda sua ajuda. Vou conferir aqui sim o funcionamento do ds. 

 

27 minutos atrás, .if disse:

Se você não colocar A0, perceba que vai acessar apenas os endereços pares - de 2 em 2 - correto? A não ser que o A0 seja usado pra selecionar entre um ci e outro pra trabalhar com 2x8bits o que torna o sistema um pouco + complexo. Pergunte a ela porque o A0 não importa. Não vale dizer que não vai ver mais ela e o prazo pro trabalho já terminou pois isso é problema seu e não motiva ninguém 😑

Verdade amigo. Vou perguntar a ela aqui porque o A0 não importa.

 

Mas no caso como deveria ser o circuito se o A0 fosse para selecionar ci's diferentes e trabalhar 2x8 ou 2x16 ?

  • Membro VIP
Postado
1 hora atrás, Julio Cesar Maia de Carvalho disse:

como deveria ser o circuito se o A0 fosse para selecionar ci's diferentes e trabalhar 2x8

No caso, vislumbro só 2x8. Algo como o 2x4 abaixo (sorry mas foi o que achei rapidão na net)

Image157.gif

Imagine o A8 acima como A0. Em 0 seleciona o da esquerda - o da direita está fora pois está em 1. E vice versa.

E o barramento como aquele que você bolou começando pelo A1...

circuito3_mark1.JPG

 

De fato o A0 poderia ser combinado com numa porta AND ou OR com o CS pra alternar as seleções. Endereços pares seleciona um chip e ímpares, outro. Mas está doidêra seria pra um barramento de 8 bits, entende? .(.. sério?... nem eu ... achei que poderia me explicar kk.)

Registre-se que são apenas insights e não necessariamente regras. Sim podem haver padronizações que lhe cabe pesquisar...

abç

  • Obrigado 1
Postado

duvida_questao3_2.thumb.JPG.8c911435ecc61c0df7ead80c694ce266.JPGEste é o circuito depois das alterações que me recomendou e de algumas duvidas que consegui esclarecer com minha professora.

 

Ela disse o seguinte sobre A0: 

 

A0 não entra nos chips de memória porque a CPU sempre lê dois endereços de cada vez (16 bits de dados). Sendo assim, se ela gerar A0=0 lerá o byte que pediu (de um dos chips) e mais o posterior (do outro chip). E se gerar A0= 1, lerá o que pediu (de um chip)  e mais o anterior (de outro). Portanto, A0 não é utilizado para selecionar registros internos dos chips. 

 

Mas agora fica minha duvida. Este circuito seria o final ? Eu não preciso mais nenhum sinal no decoder além dos 2 sinais de endereço ?

 

 

Postado
Em 12/11/2020 às 16:11, Julio Cesar Maia de Carvalho disse:

Considerando uma CPU com 24 bits de endereço, 16 bits de dados e um sinal WE indicando leitura (1) ou escrita (0), construa um banco de memória de 6Kb e sua interface com a CPU. Tal banco deve ter seu endereçamento iniciando em 2K. Utilize o integrado RAM1K do Circuit Maker.

 

 

Bom ...  se a CPU é mesmo de 16 bits e reais, e tenho de acessar 6K de Ram, devo utilizar 12 chips de 1k por 8 bits, e não 6 como foi desenhado acima.

E o mesmo pensamento vale para ser necessário o uso de A0 como sinal de endereçamento. Sem o uso de A0, você não terá acesso a endereços impares, apenas a endereços pares ....

 

Mesmo que fosse uma CPU tipo 8085, que tinha 16 bits mas acessava apenas 8 bits de cada vez, era necessário o uso de A0...

 

Sobre U4 :  

 

As saídas não utilizadas devem ficar sem nenhuma conexão, não podem ser ligadas ao GND sob risco de pifar o LS138.

E vaI mesmo ter de usar o sinal de endereçamento A2 ligado ao Address Bus pois será necessário o uso de 6 saidas , cada uma selecionando dois CIs de memória de 1K ao mesmo tempo.

 

 

 

1 hora atrás, Julio Cesar Maia de Carvalho disse:

Ela disse o seguinte sobre A0: 

 

A0 não entra nos chips de memória porque a CPU sempre lê dois endereços de cada vez (16 bits de dados).

 

Tem certeza de que a sua professora lhe informou isso ??????????

Acho melhor ela voltar para a faculdade .... toda CPU que trabalhei com 8, 16 e 32 bits usavam A0 ....

 

https://www.ques10.com/p/32755/explain-minimum-mode-of-8086-microprocessor-draw-t/

 

Paulo

 

  • Curtir 1
  • Obrigado 1
  • Membro VIP
Postado

Suspeitei desde o princípio. Mas logo em seguida achei que sim, A0 é necessário. A única maneira de 'não usar o A0' é fazê-lo selecionar entre um chip e outro, como lhe disse. Mas penso que nem vale a pena enveredar por este caminho. Ligue 'normal' pow.

Mas será que 1 de nós não está a confundir A0 do barramento com A0 do 138?

Dica: monte do 'seu jeito' (e da prof) e simule pra ver (se já não o fez). Depois do jeito 'normal'. Infelizmente não conheço tal simulador😁

  • Obrigado 1
Postado
2 horas atrás, aphawk disse:

 

Bom ...  se a CPU é mesmo de 16 bits e reais, e tenho de acessar 6K de Ram, devo utilizar 12 chips de 1k por 8 bits, e não 6 como foi desenhado acima.

E o mesmo pensamento vale para ser necessário o uso de A0 como sinal de endereçamento. Sem o uso de A0, você não terá acesso a endereços impares, apenas a endereços pares ....

 

Mesmo que fosse uma CPU tipo 8085, que tinha 16 bits mas acessava apenas 8 bits de cada vez, era necessário o uso de A0...

 

Sobre U4 :  

 

As saídas não utilizadas devem ficar sem nenhuma conexão, não podem ser ligadas ao GND sob risco de pifar o LS138.

E vaI mesmo ter de usar o sinal de endereçamento A2 ligado ao Address Bus pois será necessário o uso de 6 saidas , cada uma selecionando dois CIs de memória de 1K ao mesmo tempo.

 

 

 

 

Tem certeza de que a sua professora lhe informou isso ??????????

Acho melhor ela voltar para a faculdade .... toda CPU que trabalhei com 8, 16 e 32 bits usavam A0 ....

 

https://www.ques10.com/p/32755/explain-minimum-mode-of-8086-microprocessor-draw-t/

 

Paulo

 

 

Muito obrigado mesmo pela ajuda amigo.

 

No caso ela me explicou que A0 não entra nos chips de memória porque a CPU sempre lê dois endereços de cada vez (16 bits de dados). Sendo assim, se ela gerar A0=0 lerá o byte que pediu (de um dos chips) e mais o posterior (do outro chip) e se gerar A0= 1 lerá o que pediu (de um chip)  e mais o anterior (de outro). Com base nisso que A0 não é utilizado para selecionar registros internos dos chips. 

 

Eu acho que esse mecanismo tem a ver com o fato de nossos endereços começarem em 2k. Esse é um dos requisitos do nosso trabalho. porém ainda não entendi direito como essa lógica se encaixa :(

 

 

 

 

 

31 minutos atrás, .if disse:

Suspeitei desde o princípio. Mas logo em seguida achei que sim, A0 é necessário. A única maneira de 'não usar o A0' é fazê-lo selecionar entre um chip e outro, como lhe disse. Mas penso que nem vale a pena enveredar por este caminho. Ligue 'normal' pow.

Mas será que 1 de nós não está a confundir A0 do barramento com A0 do 138?

Dica: monte do 'seu jeito' (e da prof) e simule pra ver (se já não o fez). Depois do jeito 'normal'. Infelizmente não conheço tal simulador😁

 

Muito obrigado pela ajuda amigo! Eu alterei projeto e ficou da seguinte forma:

 

duvida_questao3_3.thumb.JPG.400810f8425a4b9a396b86fa72db98c1.JPG

 

Mas a parte do endereço ainda esta meio estranha para mim. Uso 3 sinais de endereço para chip select quando deveria ser 2.

Minha professora respondeu a um e-mail meu de ontem. Realmente são três pares de 1k e três sinais de chip select apenas na visão dela. O que você acha ? Será que é essa questão mesmo?

 

Desde já muito obrigado mesmo por tudo amigo. 

 

Postado
29 minutos atrás, Julio Cesar Maia de Carvalho disse:

 

Eu acho que esse mecanismo tem a ver com o fato de nossos endereços começarem em 2k. Esse é um dos requisitos do nosso trabalho. porém ainda não entendi direito como essa lógica se encaixa :(


Você não entendeu porque ela está errada. Nem eu entendo o que ela fala kkkkk !

 

Um pouco de lógica :

 

Supondo que vá iniciar no endereço 2k ( 2048 decimal ). Para acessar o endereço 2048 você precisa de A0 = 0.

O próximo endereço será o 2049, a menos que essa CPU seja maluca. Para isso, A0 =1 !

Não tem nada a ver a explicação doida dela de endereço posterior e anterior ... cada chip de 1K vai lhe dar 8 bits de dado, no mesmo endereço que você acessar .... é muito simples configurar o ls138 para o mapeamento de 2k até 8K , não vejo onde está a sua dificuldade ... em cada uma das 6 saídas que você vai usar, você vai ligar DOIS chips de 1K, um responsável pelos 8 bits baixos e outro responsável pelos 8 bits altos.

 

Acredite, você precisa usar o A0...

 

Paulo

 

45 minutos atrás, Julio Cesar Maia de Carvalho disse:

Minha professora respondeu a um e-mail meu de ontem. Realmente são três pares de 1k e três sinais de chip select apenas na visão dela. O que você acha ? Será que é essa questão mesmo?


Tres pares de 1k por 8 bits lhe dará acesso a apenas 3K de endereços de memória de 16 bits.... o seu enunciado não fala de 6K de memória de 16 bits ?

 

Paulo

  • Obrigado 1
Postado

@aphawk É complicado mesmo amigo. Minha dificuldade em eletrônica é mais por ser iniciante. Reconheço que o problema esta entre a cadeira e o teclado :P

1 hora atrás, aphawk disse:

Supondo que vá iniciar no endereço 2k ( 2048 decimal ). Para acessar o endereço 2048 você precisa de A0 = 0.

O próximo endereço será o 2049, a menos que essa CPU seja maluca. Para isso, A0 =1 !

Não tem nada a ver a explicação doida dela de endereço posterior e anterior ... cada chip de 1K vai lhe dar 8 bits de dado, no mesmo endereço que você acessar .... é muito simples configurar o ls138 para o mapeamento de 2k até 8K , não vejo onde está a sua dificuldade ... em cada uma das 6 saídas que você vai usar, você vai ligar DOIS chips de 1K, um responsável pelos 8 bits baixos e outro responsável pelos 8 bits altos.

 

Acredite, você precisa usar o A0...

 

Entendi amigo. Muito obrigado mesmo pela ajuda e pelo toque amigo.

 

1 hora atrás, aphawk disse:

Tres pares de 1k por 8 bits lhe dará acesso a apenas 3K de endereços de memória de 16 bits.... o seu enunciado não fala de 6K de memória de 16 bits ?

 

Sim, Mas o segundo chip está com os endereços ao contrário. De A9 ate A0 em U2, U5 E U7. Achei que isso fazia o circuito ler os ci`s de 1k como 6K.

Isso é possível ou estou falando besteira ? 

 

 

 

 

  • Membro VIP
Postado
12 horas atrás, Julio Cesar Maia de Carvalho disse:

Uso 3 sinais de endereço para chip select quando deveria ser 2.

Sim amigo podem ser 2 nas entradas do 138 pois vão ser 3 duplas de memória Q0,1,2 no CS0,1,2.

Sobre a ausência do A0 no sistema há de fato falta de sintonias. Pra tirar a dúvida, faça a simulação como te pedi. Melhor sentir 'na pele' o resultado do que ficar chutando, não é? Como não conheço o simulador, não sei como avaliar os resultados. Você só fica desenhando mas até agora não mostrou resultados práticos (meu mundo).

De curiosidade... como são gerados os endereços e como são lidos os resultados? usa algum contador? Como é feito o controle? Tem algum analisador lógico? Tem alguma cpu?

Enfim... rode o sistema e vê o que dá...

  • Obrigado 1
Postado

@.if Verdade amigo. Eu rodei aqui e apresentou isso:

Q3-em-execucao.thumb.JPG.5a0b35698bb01b8a9117a3a9bec29145.JPG

 

No exemplo que ela passou de 3-8 decoder os sinais de CS nos 1k ficam vermelhos (H). No meu ocorre o mesmo. Eu não sei dizer no momento se esta certo isso.

 

No caso ela não pediu nada que represente a geração de endereços nem cpu. Apenas o esquema desse banco de memoria e sua interface com a cpu.  

 

Mais uma vez muito obrigado por toda ajuda e atenção ! 

  • Curtir 1
  • Membro VIP
Postado

Ok . Não sei o significado do vermelho (algum curto ou conflito de níveis? ) pois não sei como o simulador opera.

4 horas atrás, Julio Cesar Maia de Carvalho disse:

ela não pediu nada que represente a geração de endereços nem cpu

Pelo jeito ela quer que você apenas entenda a logística da coisa. Pra isso, considere a avaliação em binários como te disse. Visualize os bits nos pinos e consulte os datasheets dos ci's.

  • Obrigado 1
Postado
16 minutos atrás, .if disse:

Ok . Não sei o significado do vermelho (algum curto ou conflito de níveis? ) pois não sei como o simulador opera.

Pelo jeito ela quer que você apenas entenda a logística da coisa. Pra isso, considere a avaliação em binários como te disse. Visualize os bits nos pinos e consulte os datasheets dos ci's.

Beleza então amigo. Muito obrigado mesmo por todas a sua ajuda. Vou pesquisar aqui sobre os Ci's. Abraços!

  • Solução
Postado

@Julio Cesar Maia de Carvalho ,

 

Segue um esquema feito no Proteus para te ajudar a entender toda a lógica.

 

Este circuito atende a todo o seu enunciado, trata 24 bits de endereçamento, seleciona 6k de RAM de 16bits num total de 12 chips de 1K x 8 bits, comecando no endereço 2k e terminando no (8K-1);  eu não liguei os Address Buses e nem os Data Buses nas memórias para não complicar, mas basta ligar o address bus de A0 até A9 em todas as memórias, e nas memórias na linha de cima você conecta elas no Data Bus de D0-D7, e as da linha de baixo você conecta elas no Data Bus de D8-D15.

 

Eu usei chips de memória de 2K porque no Proteus não existe chip de 1K, então ignore o pino A10 das memórias no meu esquema.

 

Embora funcione na simulação, esse circuito não vai funcionar na vida real porque existe muito atraso para decodificar o endereçamento das memórias, mas serve para te dar uma ideia.

 

Boa diversão !

 

Paulo

 

 

ESQUEMA.png

  • Curtir 1
  • Obrigado 1
  • Amei 1
  • Triste 1
Postado

@aphawk Muito obrigado mesmo irmão ! Já vou reproduzir aqui no Circuit Maker. Salvou meu trabalho hahaha. Só não entendi uma coisa. Por que você precisou fazer a logica com 4 nors e 2 ands no endereço de a13-a24 desse jeito em especifico ? Sei que a pergunta pode ser muito obvia mas sou iniciante demais e ainda estou aprendendo como funciona cada ci :P

Postado

@Julio Cesar Maia de Carvalho ,

 

Na verdade existem muitas maneiras de se fazer isso ... esta foi uma mais didática, com o uso de portas simples e facilmente encontradas.

 

O importante era fazer uma maneira que indicasse quando todos esses bits fossem nível 0 . 
 

Profissionalmente , teria a preocupação de igualar os delays em todo esse circuito, inclusive no LS138, para evitar o aparecimento de glitches que fariam seu projeto falhar...

 

 

@.if ,

 

Do jeito que tava indo isso não ia dar certo .... achei melhor dar uma ajuda porque nenhum dos circuitos apresentados tinha a mínima chance de funcionar ....

 

Paulo

  • Curtir 1
  • Haha 1
  • Membro VIP
Postado
1 hora atrás, Julio Cesar Maia de Carvalho disse:

precisou fazer a logica com 4 nors e 2 ands no endereço de a13-a24 desse jeito em especifico

...invadindo a mente do Paulão ... é pra inibir endereços altos. É um portão (grande porta) NOR de 10 entradas. Basta 1 em alguma entrada (A13...23) pra manter 0 na saída inibindo os chips. Pra evitar esta porta, sua professora poderia ter especificado endereços finais como RAM.

Boa Paulão.

off/ semi on - só pra descontrair

Em caso de sucesso total e de nota 10 no trabalho, o correto seria o amigo colocar a bibliografia da coisa. Mas isso...

https://www.clubedohardware.com.br/pagina/legal/

o deixaria pouco a vontade (bem como eu). Respeito, claro, mas numa visão simplista da coisa ao coibir linkagens o amigo GT (não menciono kk) perde eventuais novas visitas e cliques dos quais (penso eu) 'alimenta' o forum. Ele até me ameaçou de morte quando autorizei link pra minha (minha!) publicação kk. Por outro lado mais romântico 🥰, acho que ele me ama tanto que só ele quer me ter. kk😁

abç & sucessos!

  • Obrigado 1
  • Haha 1
Postado

@aphawk Entendi. Muito obrigado mesmo. Eu sei que estou boiando mesmo nessa atividade e agradeço de coração toda a ajuda. Vou me dedicar e esforçar mais para ter os conceitos na mente e ser mais apto para fazer esse tipo de projeto.  

 

@.if Mas é claro! Eu não vou me apropriar de forma alguma do projeto e farei sim referencia à vocês em minha apresentação. Postarei aqui o resultado assim que sair. 

 

Mais uma vez muito obrigado a ambos por toda sua ajuda e por todas as dicas. Mesmo sendo um projeto simples eu já estava ficando louco por não sair do lugar kkkk. Muito Obrigado!

  • Curtir 1
Postado

@Julio Cesar Maia de Carvalho ,

 

Olha ... falta tão pouco para você ter um trabalho perfeito, veja se não faz k k  nas ligações que faltam !

 

Mas me assustou muito ver a sua "professora"  dar as respostas totalmente sem nexo, porisso que preferí mostrar como deveria ser feito, eu cansei de dar dicas mas você continuava dando volta ignorando elas, acho que por culpa da professora mesmo ....

 

Agora, cá entre nós : se esse pequeno trabalho lhe pareceu complicado, você não vai chegar a lugar nenhum com seu atual conhecimento.

 

Sei que o ensino em geral tá uma porcaria, passa ano e entra ano vemos os novos "engenheirandos"  que só por Deus viu .... na minha época não conseguiriam nem trabalhar como técnico de rádio, de televisão então precisariam fazer PhD .... 

 

Estude lógica digital, microprocessadores de 8 bits, microcontroladores de 8 bits, e só depois tente aprender 16 e 32 bits. 

Nenhuma construção será melhor do que a fundação dela.

 

 

 

4 horas atrás, .if disse:

numa visão simplista da coisa ao coibir linkagens o amigo GT (não menciono kk) perde eventuais novas visitas e cliques dos quais (penso eu) 'alimenta' o forum.

 

Eu concordo, sem as linkagens perde-se uma excelente oportunidade de propagando e novos usuários.

Afinal, depois desse trabalho do amigo @Julio Cesar Maia de Carvalho , temos aqui no Fórum mais de 10 profissionais ( e aposentados )  que sabem bem mais do que muitos "professores"  por aí ....

 

Paulo

  • Obrigado 1
  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!