270 likes | 547 Views
CS 325: CS Hardware and Software Organization and Architecture. Introduction. Outline. Get to know each other Course information Course website Syllabus Term project. Myself. Dr. Michael Galloway COHH 4135 jeffrey.galloway@wku.edu
E N D
CS 325: CS Hardware and SoftwareOrganization and Architecture Introduction
Outline • Get to know each other • Course information • Course website • Syllabus • Term project
Myself • Dr. Michael Galloway • COHH 4135 • jeffrey.galloway@wku.edu • Ph.D. – Computer Science – The University of Alabama, Aug. 2013 • Specialization: Parallel and Distributed Computing, Cloud Computing Local Infrastructure as a Service Cloud Architectures • M.S. – Computer Science – The University of Alabama, May 2008 • Specialization: VANETs, MANETs, Network Protocols • B.W.E – Wireless Engineering – Auburn University, December 2005 • Specialization: Wireless Communication Protocols, Resource Management of Handheld Devices. • Taught classes at 6 colleges and universities • First time teaching computer organization and architecture • Current Research: Infrastructure Cloud Architectures, Automated Resource Deployment, Vertical Educational Clouds, Power Modeling • Co-Chair: WKU ACM Student Chapter – Everyone should join!!
Yourself • Your name • What you would like to be called • What would you like to learn from this class? • Anything you would like us to know
Course Description • This course will provide a means for advanced coverage of computer systems and architecture, provide a bridge between low-level hardware systems and operating systems programming and provide a means for in-depth coverage of new generation hardware and computer systems. • Topics include computer number representations, computer arithmetic, CPU operations, instruction sets, I/O memory management, system performance, and parallelism.
Important Information • Course Website: • http://ip204-5.sth.wku.edu//cs325Web/ • Required Book: • “Computer Organization and Architecture” by William Stallings, ninth edition. • Office Hours: • 8am – 11am on Tuesday, Thursday
Why Should We Study Computer Architecture? • It’s required • Understand computer performance and cost factors. • Basis for understanding OS and programming concepts. • Understand how to write programs that are: • Faster • Smaller • Less prone to error • To appreciate the relative cost of operations and the effect of programming choices. • Helps you to debug.
The Bad News… • Digital Hardware • Is complex • Cannot be fully understood in one course • Requires background in electrical engineering, physics, chemistry • The CPU is the most complex device created by humans. • Over 2 Billion transistors (2013) • Transistor switching speed of over 4 billion/sec (4Ghz) • 22nm fabrication process, and getting smaller • 14nm scale projected for 2014 • ~60 Si atoms!
The Good News! • It is possible to understand the architectural components without knowing all of the low-level details. • Programmers only need to know the essentials • Characteristics of major components • Role in overall system • Consequences for programmers
Computer Architecture Computer Organization
370 Architecture IBM System • IBM System/370 architecture • Was introduced in 1970 • Included a number of models • Could upgrade to a more expensive, faster model without having to abandon original software • New models are introduced with improved technology, but retain the same architecture so that the customer’s software investment is protected • Architecture has survived to this day as the architecture of IBM’s mainframe product line • 370 Architecture still in use by IBM today! • IBM zSeries • IBM zEnterprise Series
Backward compatible instruction set architectures Intel x86 • 1978 – Introduced 8088, 16 – bit • 80186, 80286 • 1985 – 80386, 32 – bit • 80486, Pentium, Pentium MMX • 1995 – Pentium Pro • Pentium II, Pentium III • 2000 – Pentium 4 • 2006 – Core 2, 64 – bit, multi-core • 2008 – Core i3/i5/i7 • Atom
Function A computer can perform four basic functions: Data processing Data storage Data movement Control
CPU – controls the operation of the computer and performs its data processing functions • Main Memory – stores data • I/O – moves data between the computer and its external environment • System Interconnection – some mechanism that provides for communication among CPU, main memory, and I/O There are four main structural components of the computer:
Control Unit • Controls the operation of the CPU and hence the computer • Arithmetic and Logic Unit (ALU) • Performs the computer’s data processing function • Registers • Provide storage internal to the CPU • CPU Interconnection • Some mechanism that provides for communication among the control unit, ALU, and registers CPU Major structural components:
Summary • Computer Organization • Computer Architecture • Function • Data processing • Data storage • Data movement • Control • Structure • CPU • Main memory • I/O • System interconnection • CPU structural components • Control unit • ALU • Registers • CPU interconnection
Internet Resources- Web site for book • http://WilliamStallings.com/COA/COA9e.html • Links to sites of interest • Links to sites for courses that use the book • Errata list for book • Information on other books by W. Stallings • http://WilliamStallings.com/StudentSupport.html • Math • How-to • Research resources • Misc