TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A FUNDAMENTAÇÃO PILHA

Por:   •  5/4/2017  •  Artigo  •  811 Palavras (4 Páginas)  •  285 Visualizações

Página 1 de 4

FUNDAMENTAÇÃO PILHA

Ao ter acesso à informação armazenada na memória já notamos que, quando possível, é útil ter um entendimento a respeito do endereço da próxima palavra a ser escrita ou lida. Assim, achamos muito útil armazenar instruções sucessivas nos sucessivos locais da memória, o que significava que tínhamos que tratar do endereço da próxima instrução apenas infrequentemente. Exceto quando forem encontradas instruções de salto (jump), a provisão do endereço da próxima instrução requer somente que um cotador, o contador de programa, seja incrementado.

De maneira idêntica, é mui útil (quando for viável fazê-lo) armazenar dados numa facilidade da memória de tal maneira que novos endereços possam ter estabelecidos simplesmente incrementando (ou decrementando) um contador. Tal facilidade de memória é chamada pilha. A escrita de uma palavra numa pilha é chamada colocação (pushing) e a leitura de uma palavra é chamada extração ou retirada (popping).

Qualquer conjunto de registradores pode ser usado como uma pilha. Usualmente, no entanto, a facilidade de armazenamento usada para implementar uma pilha é uma seção reservada de uma RAM. Na programação, queremos ser capazes de lembrar qual seção da RAM está sendo reservada para a pilha de memória. Por conseguinte, admitimos uma memória de capacidade de N palavras com endereços dos locais estendendo-se de 0 a N-1, e reservamos para a pilha o final da memória com endereços N-1, N-2 etc. O registrador do contador que é incrementado ou decrementado para ir de um local de pilha para o seguinte é chamado apontador ou indicador de pilha (SP). A terminologia é apropriada, já que o apontador de pilha guarda o endereço de, isto é, aponta para o local da pilha a que tem acesso para leitura ou escrita.

A ordem em que os dados são colocados na pilha é, primeiro, dados A no local N-1, depois dados B no local N-2 etc. A pilha é mostrada na figura X, depois de quatro palavras de dados A,B,C e D terem sido colocadas nela. Na leitura, isto é, extração ou retirada, primeiro extraímos D, depois C etc. Um modo pelo qual podemos implementar o processo de clocação de uma palavra pilha é o seguinte:

1. Escrever a palavra no local da memória especificado pelo indicador de pilha

2. Depois decrementar o indicador de pilha.

Tendo colocado uma palavra na pilha, suponhamos que queremos extrair esta mesma palavra. O procedimento é como se segue:

1. Incrementar o apontador de pilha.

2. Em seguida, ler a palavra do local da memória especificado pelo apontador de pilha.

[pic 1]

        Acrescentamos agora um apontador de pilha, mas para acrescentar tal facilidade de pilha, é necessário acrescentar ao repertório de instruções o que o controlador do sistema é capaz de executar. Deve haver uma instrução que carregará no apontador de pilha o endereço que nos propomos a iniciar a pilha. Deve haver uma instrução que carregue o endereço do apontador de pilha no registrador de endereços da memória. Deve haver uma instrução que colocará, isto é, incrementará SP e escreverá na memória, e também uma instrução que retirará, isto é, decrementará SP e lerá da memória. Alguns computadores têm instruções que efetuarão inúmeras operações de colocar ou retirar, em sequência, todas em resposta a esta única instrução.

...

Baixar como (para membros premium)  txt (5.1 Kb)   pdf (94.9 Kb)   docx (103.6 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com