Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
mshonorato

O que é stack? (nos CISCs)

Recommended Posts

stack é literalmente uma pilha, e não é usada apenas nos "CISC".

A pilha é um artifício utilizado na programação que impõe a regra de acesso, o primeiro item a entrar é o último a sair, imagine uma pilha de livros, você só vai poder tirar o último (que foi o primeiro a entrar na pilha) depois que retirar todos os outros.

No caso que você falou a principal utilização é o endereço de retorno de chamadas (e as variaveis locais, mas deixa essas para la para não complicar), imagine uma função a, que chama a função b que chama uma função c, que chama uma função d, a pilha ficaria mais ou menos assim:

c

b

a

assim que a excução do programa sair da função d ele volta para a c (que é a que esta no topo da fila), removendo-a da fila, depois b e por fim a.

Compartilhar este post


Link para o post
Compartilhar em outros sites
stack é literalmente uma pilha, e não é usada apenas nos "CISC".

Mas os CISCs costumam suportar uma stack diretamente no hardware, pelo menos "nominalmente". Enquanto isso, nos RISCs, o compilador tende a administrar esse tipo de coisa, reservar os registradores necessários, etc...

Só comentando a diferença... bem na verdade um bom CISC implemente pelo menos uma "Instrução Maníaca em Microcódigo que Implementa um Programa Inteiro em C contido nas Ferramentas UNIX" TM...

Editado por ThiagoLCK

Compartilhar este post


Link para o post
Compartilhar em outros sites
Enquanto isso, nos RISCs, o compilador tende a administrar esse tipo de coisa, reservar os registradores necessários, etc...

Muitos "RISC"s possuem um registrador destinado a pilha, já faz tempo que isso não é exclusividade dos CISC.

"Se todos precisam da droga da pilha forneçam as instruções para manipulá-la, p@#$%".

Compartilhar este post


Link para o post
Compartilhar em outros sites
Muitos "RISC"s possuem um registrador destinado a pilha, já faz tempo que isso não é exclusividade dos CISC.

"Se todos precisam da droga da pilha forneçam as instruções para manipulá-la, p@#$%".

Por isso que eu disse que "na verdade um bom CISC implemente pelo menos uma "Instrução Maníaca em Microcódigo que Implementa um Programa Inteiro em C contido nas Ferramentas UNIX" TM..."

Implementar instruções especiais para manipular uma estrutura que todo mundo usa é bem razoável, principalmente em alguns casos. Coisas bem mais complexas que costumam definir um CISC típico... não? Os ARMs, por exemplo, já há um bom tempo têm funções bem pouco típicas para um RISC (ou um CISC...), mas que são de uso geral.

Editado por ThiagoLCK

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×