Ir ao conteúdo
  • Cadastre-se

O que é stack? (nos CISCs)


mshonorato

Posts recomendados

  • Membro VIP

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.

Link para o comentário
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...

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
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@#$%".

Link para o comentário
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.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...