![]()
Introduction
CptS 260 - Intro to Computer Architecture Washington State University |
|
Introduction to Computer ArchitectureWhat is this class about?The purpose of this course is to provide Computer Science students with the knowledge of computer hardware they need to design and implement effective and efficient software. Students who complete this course should be able to perform the following tasks:
How does this class relate to other classes you have taken and will take for your computer science degree?121, 122, and 223 (//): prerequisites; you need to be comfortable with basic programming tasks. Also, memory and file organization is strongly influenced by data structures you will study in 223. This course is prerequisite for CptS 360 (system programming) where you will study, for example, file system implementation and how a program interacts with external storage devices. It is even more essential for CptS 460 where you will learn how to "boot" an operating system onto "bare" hardware. You will do relatively little assembly-language programming in these classes but you will need to know what the computer is doing at the instruction level when it is executing your programs. If you are interested in pursuing advanced computer architecture courses (for example as part of a Computer Engineering minor or option area) you should drop this course and take EE 214 and 234 which are preprequisites for the advanced courses. Why do we call it computer "architecture"? Why not "design"?Computer architecture (for a software person) is typically concerned with two related topics:
An architecture is an abstraction of many details. Those details make up the design of the computer. For example, the Intel Pentium is a processor architecture that has been implemented in many designs. Different designs have different performance qualities but typically otherwise have little effect on software so we say we "abstract away from the details". Design is also very important but is more in the realm of Computer Engineering. (All boundaries here are quite fuzzy!) Design has to concern itself with power consumption, size, speed, physical constraints, etc. all of which disappear from consideration when we talk about architecture. Creating an architecture requires a lot of design knowledge as input so that good choices are made that can be implemented within the current capabilities of technology. Consider history of n-bit microprocessor architectures. Architecture is also strongly influenced and constrained by history: backward compatibility is often an issue. Exercises
|
|