Skip to main content

A Simplistic Machine Model

  • Chapter
  • First Online:
Principles of Parallel Scientific Computing

Part of the book series: Undergraduate Topics in Computer Science ((UTICS))

  • 1313 Accesses

Abstract

The von Neumann architecture equips us with an understanding how a computer processes our program code step by step. Our brief review of the architecture highlights the role of registers for our numerical computations. We will augment the straightforward definition of a register later to realise vector processing, i.e. the first flavour of hardware parallelism, while the architecture review provides clues why many numerical codes struggle with performance flaws and bottlenecks on our CPUs.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The fact that we do not distinguish code and instructions within the memory—they are technically both just number sequences and the software has to interpret them either as data or instruction codes—is a built-in security problem. Malware can alter code by pretending it wrote data into the memory.

  2. 2.

    This is where the machine truncates the bit sequence of the floating point number into the IEEE format (cmp. Sect. 4.2.3): If the ALU uses 80 bits per double internally for example, the number is now reduced to 64.

  3. 3.

    This is the price to pay for fame: the most important technological achievements might be named after you, but then the flaws tied to it inherit your name, too.

  4. 4.

    With a theoretical computer science background, you will characterise algorithms as \(\mathcal {O}(n)\) or \(\mathcal {O}(n\log n)\) or ...where n counts the algorithm’s operations. In reality, there might be an additional \(\mathcal {O}(m)\), \(\mathcal {O}(m \log m)\), ...term paraphrasing the memory movement cost. It is not clear a priori which term dominates the actual runtime.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tobias Weinzierl .

Rights and permissions

Reprints and permissions

Copyright information

© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Weinzierl, T. (2021). A Simplistic Machine Model. In: Principles of Parallel Scientific Computing. Undergraduate Topics in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-030-76194-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-76194-3_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-76193-6

  • Online ISBN: 978-3-030-76194-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics