Essential Knowledge: Hardware

  • Guy Lebanon
  • Mohamed El-Geish


In order to implement efficient computer programs, it’s essential to understand the basic hardware structure of computers. In this chapter we examine the hardware components of a typical computer (CPU, memory, storage, GPU, etc.) focusing on issues that are relevant for software development and algorithm design. We also explore concepts like binary representations of numbers and strings, assembly language, multiprocessors, and the memory hierarchy.


  1. D. A. Patterson and J. L. Hennessy. Computer Organization and Design. Morgan Kaufmann, fourth edition, 2011.Google Scholar
  2. J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, fifth edition, 2011.Google Scholar
  3. D. E. Knuth. Art of Computer Programming, Volume 1: Fundamental Algorithms. Addison Wesley, third edition, 1997.Google Scholar
  4. D. E. Knuth. The Art of Computer Programming, Volume 1, Fascicle 1: MMIX - A RISC Computer for the New Millennium. Addison Wesley, 2005.Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Guy Lebanon
    • 1
  • Mohamed El-Geish
    • 2
  1. 1.AmazonMenlo ParkUSA
  2. 2.VoiceraSanta ClaraUSA

Personalised recommendations