Ir ao conteúdo

O que é stack? (nos CISCs)


mshonorato

Posts recomendados

  • Membro VIP
Postado

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.

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

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

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

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!