What This Document Is
These are comprehensive class notes from CSE 362M: Computer Architecture, offered at Washington University in St. Louis. The notes delve into the foundational principles governing the structure and function of digital computers, exploring the intricate relationship between various levels of operation – from the high-level application perspective down to the electronic design level. This material provides a detailed look at how computer systems are designed and how different components interact to execute instructions.
Why This Document Matters
This resource is invaluable for students currently enrolled in or planning to take a computer architecture course. It’s particularly helpful for those seeking a deeper understanding of the underlying principles that dictate how software interacts with hardware. These notes can be used for pre-lecture preparation, reinforcing concepts covered in class, or as a study aid for exams. Individuals interested in low-level programming, system design, or computer engineering will also find this material beneficial.
Common Limitations or Challenges
While these notes offer a robust overview of computer architecture, they are designed to *supplement* – not replace – lectures and assigned readings. The notes assume a foundational understanding of digital logic and basic programming concepts. They do not provide hands-on coding exercises or detailed implementation guides. Access to the full notes is required to fully grasp the specific details and nuances of each topic.
What This Document Provides
* An exploration of the multiple layers within a computer system, from application level to semiconductor physics.
* A discussion of key units and scales used in computer science (bits, bytes, hertz).
* An overview of machine and assembly language, including the role of assemblers.
* Explanation of the stored program concept and the fetch-execute cycle.
* Insights into Instruction Set Architecture (ISA) and its components.
* A comparative look at programmer’s models of different commercial machines.
* Definitions of machine, processor, and memory state.
* A comparison between High-Level Languages and Assembly Language.