Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow.

Slides:



Advertisements
Similar presentations
1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
Advertisements

CS2422 Assembly Language & System Programming September 19, 2006.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#4)
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
Embedded Systems : WRT54GL Wireless Router B. Ramamurthy.
Introduction to Kernel
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
CS533 - Concepts of Operating Systems
Basic Computer Organization Background for CS260.
8/12/ Embedded XINU and WRT54GL. Purpose 8/12/ Xinu is a embedded kernel It runs on “torn-down” wireless router used as a host for this embedded.
COM181 Computer Hardware Ian McCrumRoom 5B18,
COMPUTER ORGANIZATIONS CSNB123 May 2014Systems and Networking1.
Dept. of Computer Science Engineering Islamic Azad University of Mashhad 1 Computer System Architecture Dept. of Computer Science Engineering Islamic Azad.
CMPT 300: Operating Systems
Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization.
Chapter 2 - Computer Organization CPU organization –Basic Elements and Principles –Parallelism Memory –Storage Hierarchy I/O –Fast survey of devices Character.
A data structure model: basic representation of data, such as integers, logic values, and characters homogeneous data structures, such as arrays and stringsheterogeneous.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
Computers Central Processor Unit. Basic Computer System MAIN MEMORY ALUCNTL..... BUS CONTROLLER Processor I/O moduleInterconnections BUS Memory.
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
CISC105 General Computer Science Class 1 – 6/5/2006.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
10/12/ Embedded XINU and WRT54GL. 10/12/ Topics Logic and shift operators Data-driven vs function-driven Embedded XINU and WRT54GL.
COMP3221 lec04--prog-model.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 4: Programmer’s Model of Microprocessors
Digital Design and Computer Architecture Dr. Robert D. Kent LT Ext Lecture 1 Introduction.
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Why do you need to study computer organization and architecture? Computer science and IT.
5. Assembly Language. Basics of AL Program data Pseudo-ops Array Program structures Data, stack, code segments.
RISC and CISC. What is CISC? CISC is an acronym for Complex Instruction Set Computer and are chips that are easy to program and which make efficient use.
Computer Architecture Souad MEDDEB
MIPS Processor Chapter 12 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
12/8/ Embedded XINU and WRT54GL. 12/8/ Topics WRT54GL architecture and internals Embedded XINU Logic and shift operators.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
1/8/ Embedded XINU and WRT54GL. 1/8/ Topics WRT54GL architecture and internals Embedded XINU Logic and shift operators.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Spring 2016, Jan 13 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Spring 2016 Introduction Vishwani D. Agrawal.
3/12/ Embedded XINU and WRT54GL. 3/12/ Topics Logic and shift operators Optimizing operations (mul, div VS shiftL, shiftR) WRT54GL architecture.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
CHAPTER 2 Instruction Set Architecture 3/21/
1 x86 Programming Model Microprocessor Computer Architectures Lab Components of any Computer System Control – logic that controls fetching/execution of.
File System Department of Computer Science Southern Illinois University Edwardsville Spring, 2016 Dr. Hiroshi Fujinoki CS 314.
Computer Architecture Furkan Rabee
CSC235 Computer Organization & Assembly Language
What Do Computers Do? A computer system is
Introduction to Kernel
Assembly language.
Instruction Set Architecture
nZDC: A compiler technique for near-Zero silent Data Corruption
Operating System I/O System Monday, August 11, 2008.
1st micro 1971 calculator 2300 transistors 4-bit microprocessor
CS-401 Assembly Language Programming
Embedded XINU and WRT54GL
Central Processing Unit
Computer Systems Summary
Chapter 1: Intro (excerpt)
CSC Classes Required for TCC CS Degree
An Embedded Systems Course and Course
Information Security - 2
What time is it?. What time is it? Major Concepts: a data structure model: basic representation of data, such as integers, logic values, and characters.
University of Gujrat Department of Computer Science
Embedded XINU and WRT54GL
Computers.
Course Outline for Computer Architecture
CPU Structure CPU must:
Instructor: Xiuwen Liu Department of Computer Science
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Department of Computer Science
Chapter 1: Introduction CSS503 Systems Programming
ELEC / Computer Architecture and Design Fall 2014 Introduction
Presentation transcript:

Department of Mathematics, Statistics, and Computer Science An Experimental Laboratory Environment for Teaching Embedded Hardware Systems Dennis Brylow

Hardware Systems What makes a good intro Hardware Systems course? Hands-on experience with hardware Hands-on experience with lowest levels of software Focus on how hardware and software concerns are interrelated. Integration with rest of curriculum There is no magic in the box!

Experimental Labs What goes into a good experimental computer systems laboratory environment? Purdue XINU Laboratory: Consoles Booting Rebooting

[Image courtesy Digi]

... sread:.word 0 ! sectors read of current track head:.word 0 ! current head track:.word 0 ! current track read_it: mov al,setup_sects inc al mov sread,al mov ax,es test ax,#0x0fff die: jne die ! es must be at 64kB boundary xor bx,bx ! bx is starting address within segment rp_read: #ifdef __BIG_KERNEL__ #define CALL_HIGHLOAD_KLUDGE.word 0x1eff,0x220 ! call far * bootsect_kludge ! NOTE: as86 can't assemble this CALL_HIGHLOAD_KLUDGE ! this is within setup.S #else mov ax,es sub ax,#SYSSEG #endif cmp ax,syssize ! have we loaded all yet?... [Code GPLed under Linux]

The Solution Need a coherent strategy to drive hands-on laboratory work in Hardware Systems, Operating Systems, perhaps extending to Embedded Systems, Networking and Internetworking, Compilers, etc. Flexible Extensible Hands-on Modern Challenging Interesting Inexpensive Duplicable

[Image courtesy Linksys]

Broadcom 5352 [Diagram courtesy Broadcom]

Programming Environment Standard C Language execution environment Obeys MIPS calling convention Buffered I/O getchar(), putchar(), printf() Starter I/O functions getInt(), printInt() Memory allocation malloc() and free() Also sleep() and halt(), process management, and interrupt facilities available.

Course Objectives Principles Major hardware components Solve problems in Assembler Platform-specific knowledge for later courses in O/S, networking, etc. Development environment

Course Topics Digital Logic, combinational and sequential Data Representation Processors and Pipelines Instruction Sets, both RISC and CISC Assembly and addressing modes Activation Records Memory and Storage, virtual memory and caching I/O and busses Interrupts

Assignments Basic Assembler Operations I/O maniulation Functions and calling conventions Recursion and Activation Records Pointers and Memory Device I/O Interrupts

Future Work: Embedded Systems Course, Internetworking Course, IP telephony Real-time constructs, Provable guarantees, World Conquest...