Quem inventou a pilha de chamadas A referência mais antiga que posso encontrar para o conceito de uma pilha de chamadas está no artigo 1946 de Alan Turing039 sobre o Mecanismo Automático de Computação, geralmente referido como o relatório ACE. Citando um desejo de organizar a divisão de operações em operações subsidiárias, Turing delineou a teoria das sub-rotinas: ao chamar uma sub-rotina, faça um quotnotequot (endereço de retorno) de onde a rotina foi chamada e no final da função assegure-se de que O fluxo de controle retorna para este endereço. Ele descreve uma pilha LIFO (de tamanho 1024) e usa um registro para indexar nessa pilha. Duas instruções, BURY e UNBURY, empurrar e pop o endereço de retorno de e para o registro de instrução. Eu realmente recomendo a leitura do relatório ACE: prosa Turing039s é clara e simples, e os detalhes técnicos são muito bons para deixar passar. Ele justifica o uso do binário, observando que sua simplicidade parece particularmente adequada para computação eletrônica. As operações aritméticas também são interessantes: o ACE fornece duas operações de multiplicação (uma rápida que opera em inteiros de 16 bits e uma mais lenta de propósito geral) ainda omite um operador de divisão, talvez por um desejo de simplicidade ou para evitar a Problema pegajoso de uma instrução de divisão binária rápida. Além disso, Turing designa o ACE para ter um tamanho de palavra de 32 bits Turing usa o termo 039word039, que é possivelmente uma das primeiras aparências desse termo em um contexto computacional. A história do relatório ACE também é bastante interessante. Porque Turing trabalhou para o serviço de inteligência britânico, não lhe foi permitido revelar em seu relatório ao laboratório físico nacional que o ACE poderia realmente ser executado com o hardware eletrônico era presumivelmente apresentado como a teoria. Isso permitiu que o artigo de John von Neumann sobre a EDVAC, publicado vários meses antes do relatório ACE, substituísse o relatório da ACE em termos de popularidade, o que é uma vergonha, já que o ACE parece um computador real e programável e pouco mais do que um EDVAC calculadora. Mais uma leitura: Mark Smotherman039s excelente página sobre a história de subrotinas (cs. clemson. ed u / Questões relacionadasMore Respostas abaixo Aaron Boodman. Programa e instigador De acordo com Douglas Crockford, a primeira implementação de sub procedimentos foi Grace Hopper039s A-0 em 1951. Não consigo encontrar qualquer informação sobre se ela estava ciente ou influenciada pelo artigo de Alan Turing descrito na resposta de Patrick Thomson.
No comments:
Post a Comment