Ordinateur à programme enregistré

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un ordinateur à programme enregistré (ou calculateur à programme enregistré; en anglais stored-program computer) est un ordinateur qui enregistre les instructions des programmes qu'il exécute dans sa mémoire vive[1].

La définition précédente est souvent étendue pour exiger que le traitement des instructions et des données en mémoire doive être interchangeable et uniforme[2],[3],[4].

Un ordinateur avec une architecture de von Neumann enregistre ses données et ses instructions dans la même mémoire; un ordinateur avec une architecture Harvard enregistre ses données et ses instructions dans des mémoires séparées[5],[6]

Histoire[modifier | modifier le code]

L'expression ordinateur à programme enregistré est parfois utilisée comme synonyme d'architecture de von Neumann[7],[8]. Cependant, le professeur Jack Copeland considère qu'il est « historiquement inapproprié de considérer les ordinateurs à programme enregistré comme des machines de von Neumann »[9]. Hennessy et Patterson ont écrit que les premières machines de Harvard étaient considérées comme « réactionnaires par les défenseurs des ordinateurs à programme enregistré[10] ».

Le concept d'ordinateur à programme enregistré remonte à un article de 1936 sur une machine de Turing universelle[11]. Von Neumann connaissait cet article et l'a fait connaître à ses collaborateurs[12].

Plusieurs des premiers ordinateurs n'étaient pas programmables. Ils n'exécutaient qu'un seul programme câblé dans l'ordinateur. Comme ces ordinateurs ne contenaient pas d'instructions, ils n'avaient pas besoin de mémoire. D'autres programmes, bien que programmables, conservaient leurs programmes sur des cartes perforées qui étaient physiquement fournies à l'ordinateur au besoin.

En 1936, Konrad Zuse a anticipé, comme démontré par ses deux applications de brevet, que les instructions de l'ordinateur pouvaient être conservées dans la même mémoire que les données.

Le Small-Scale Experimental Machine (SSEM) de l'Université de Manchester[13] est généralement considéré comme le premier ordinateur électronique à avoir exécuté un programme enregistré en mémoire ; cet événement s'est produit le 21 juin 1948[14],[15]. Par contre, le SSEM n'était pas considéré comme un ordinateur achevé, mais plutôt comme une démonstration de faisabilité en vue de la construction de l'ordinateur Manchester Mark 1. Le 6 mai 1949, le EDSAC à Cambridge a exécuté un programme enregistré en mémoire et, de ce fait, est considéré comme le « premier ordinateur électronique numérique à programme enregistré complet et opérationnel »[16]. Certains affirment que l'IBM SSEC, opérationnel en janvier 1948, était le premier ordinateur à programme enregistré[17]. Cette affirmation est controversée, à cause de la nature hiérarchique de la mémoire de l'IBM SSES, et à cause de certains aspects de ses opérations, comme l'accès aux relais ou aux rubans magnétiques qui fonctionnaient par branchements manuels[18].

Références[modifier | modifier le code]

  1. (en) Joanne Allison, Stored-program Computers, 1997
  2. (en) William F. Gilreath et Phillip A. Laplante, Computer Architecture: A Minimalist Perspective, Springer,‎ 2003 (ISBN 978-1-4020-7416-5, lire en ligne), p. 24
  3. (en) Edwin D. Reilly, Milestones in computer science and information technology, Greenwood Publishing Group,‎ 2003 (ISBN 978-1-57356-521-9, lire en ligne), p. 245
  4. (en) Miles J. Murdocca et Vincent P. Heuring, Principles of Computer Architecture, Prentice-Hall,‎ 2000 (ISBN 0-201-43664-7), p. 5
  5. (en) Daniel Page, A Practical Introduction to Computer Architecture, Springer,‎ 2009 (ISBN 978-1-84882-255-9), p. 148
  6. (en) Mark Balch, Complete digital design: a comprehensive guide to digital electronics and computer system architecture, McGraw-Hill Professional,‎ 2003 (ISBN 978-0-07-140927-8, lire en ligne), p. 149
  7. (en) Daniel Page, A Practical Introduction to Computer Architecture, Springer,‎ 2009 (ISBN 978-1-84882-255-9, lire en ligne), p. 153
  8. (en) Ivor Grattan-Guinness, Companion encyclopedia of the history and philosophy of the mathematical sciences, JHU Press,‎ 2003 (ISBN 978-0-8018-7396-6, lire en ligne), p. 705
  9. (en) Jack Copeland, A Brief History of Computing: ENIAC and EDVAC, 2000
  10. (en) John L. Hennessy, David A. Patterson et David Goldberg, Computer architecture: a quantitative approach, Morgan Kaufmann,‎ 2003 (ISBN 978-1-55860-724-8, lire en ligne), p. 68
  11. (en) B. Jack Copeland, Colossus: the secrets of Bletchley Park's codebreaking computers, Oxford University Press,‎ 2006 (ISBN 978-0-19-284055-4, lire en ligne), p. 104
  12. (en) Christof Teuscher, Alan Turing: life and legacy of a great thinker, Springer,‎ 2004 (ISBN 978-3-540-20020-8, lire en ligne), p. 321-322
  13. (en) Electronic Digital Computers, 162, Nature,‎ 25 septembre 1948 (DOI 10.1038/162487a0, lire en ligne), p. 487
  14. (en) Rául Rojas et Ulf Hashagen, The first computers: history and architectures, MIT Press,‎ 2002 (ISBN 978-0-262-68137-7, lire en ligne), p. 379
  15. (en) Daniel Page, A Practical Introduction to Computer Architecture, Springer,‎ 2009 (ISBN 978-1-84882-255-9), p. 158
  16. (en) Mike Hally, Electronic brains: stories from the dawn of the computer age, National Academies Press,‎ 2005 (ISBN 978-0-309-09630-0, lire en ligne), p. 96
  17. (en) Emerson W. Pugh, Building IBM: shaping an industry and its technology, MIT Press,‎ 1995 (ISBN 978-0-262-16147-3, lire en ligne), p. 136
  18. (en) Arthur Tatnall, History of Computing : Learning from the Past : IFIP WG 9.7 International Conference, HC 2010, held as part of WCC 2010, Brisbane, Australia, September 20-23, 2010 : proceedings, New York, Springer,‎ 2010 (ISBN 9783642151989 et 978-3-642-15199-6, DOI 10.1007/978-3-642-15199-6_17)DOI:10.1007/978-3-642-15199-6_17

Source[modifier | modifier le code]