CS 341 Computer Architecture and Organization
CS 341 Computer Architecture and Organization
CS 341 Computer Architecture and Organization
Welcome to CS341
This course teaches computer architecture and organization from the embedded system POV Textbooks are:
Professional Assembly Language Shaums Outline Series, Digital Principles
Getting Started
UNIX Account
Apply for CS341 ASAP! (Science 3rd Floor UNIX Lab)
Dont use chown, chgrp, or chmod on any of your mp directories or files! That could enable cheating. 3
Homework
Familiarize yourself with the course syllabus Locate and start reading course references:
Web Based / Linked from syllabus web page
Textbook Commentary
This textbook is one of the few books that uses the GNU (aka ATT) syntax for i386 assembly language instructions Well be using the GNU syntax in this course Most other books (e.g. the previous textbook) require learning and using a translation for the syntax which was always a pain to deal with However, it has a couple disadvantages
5
Textbook Commentary
The textbook teaches Intel i386 assembly language programming and development tools from the point of view where code is being run on the same machine as where it is being developed The text material on the development tools must be adapted for cross compilation and cross assembly to run on SAPCs which are simulating embedded systems 6
Textbook Commentary
The book assumes that you will write your assembly language programs to run on the development host with a Linux O/S It shows you how to use Linux system calls for I/O operations that we will not be using We will run our assembly language programs on an SAPC under Tutor not Linux We need to use direct I/O instructions (e.g. in and out) that are not covered in the book
7
Embedded Systems
Embedded processors are inside a system that is not usually thought of as a computer There are many more processors in embedded systems than there are in IT applications such as laptops, desktops and servers (90% / 10%) There are complex challenges for embedded system programming and these programmers need specialized knowledge and are well-paid
8
Embedded Systems
Examples:
Automobile engine controls, GPS systems, etc. Appliances such as microwave ovens, TVs, etc. Manufacturing plants / robotic machines Chemical and petroleum plants - control systems Aircraft/Ships/Rockets commercial and military Building HVAC, elevator, and security systems Communications routers, switches, and modems Medical instrumentation and implanted devices9
Embedded Systems
Considerations for embedded system software
The processors are NOT powerful Pentiums with Gigabytes of memory / disk and Gigabit networks Cost may be critical for high volume products Code/data space and bandwidth are critical resources There may be hard real time constraints so the SW efficiency and timing are usually critical factors The cost of a bug in the SW may include injury or death for a person or even worse many people
10
11
Depth Sensor
CPU
RT Clock
Temp Sensor
Program Memory
LOG Memory
12
14
YouTube video:
http://www.youtube.com/watch?v=eNqPTOb31S8&NR=1
15
16
Programmed using a language like C/C++ with a custom I/O support library Development system cost $36.00! Buying the processor alone in quantity would probably be about the price of a candy bar
17
18