University of Colorado at Boulder
University of Colorado at Boulder Search A to Z Campus Map CU Search Links
ECE Home
Undergraduate
Graduate
Course List
Research
Contact Us

ECEN 3350, Programming of Digital Systems


Catalog Data ECEN 3350 (3). Programming of Digital Systems. Explores how computers and programmable hardware in general are used to implement digital systems by looking at the capabilities of central processing units, the use and control of various input/output (I/O) devices, memory organization, and concurrency management. Topics include computer architecture, instruction sets, I/O device programming, interrupts, data transfer mechanisms, semaphores, shared procedures, multiple processors, and memory management.
Credits and Design 3 credit/contact hours. Required core course.
Prerequisite(s) ECEN 2350, Digital Logic.
Corequisite(s) none.
Instructor(s) Aaron Bradley, Li Shang, Andrew Pleszkun.
Textbook ***** To be determined *****
  
Course Objectives For students to:
  1. Understand programmable system architectures and their associated assembly language constructs.
  2. Understand the use of programmable hardware as a component of an embedded system.
  3. Understand how to convert digital design specifications into hardware and software components.
Learning Outcomes After taking this course students will be able to recognize and use the following concepts, ideas, and/or tools:
  1. Assembly language programming, including assembler syntax, processor instructions, addressing modes, and organization of data in memory.
  2. Procedure call stack, including instruction set support, organization in memory, and interface to higher-level language modules.
  3. I/O device interfacing, including device access and control, timing, polling, and interaction via interrupt handlers.
  4. System level support, including low-level hardware support, process management, and memory management.
Student Outcomes
Addressed
3a 3b 3c 3d 3e 3f 3g1 3g2 3h 3i 3j 3k
Math
/Sci
Exper-
iments
Design Teams Engr
Problems
Respon-
sibility
Oral Written Engr Solns
Impact
LL
Learning
Contem-
porary
Tools
H   M                 M
Topics Covered
  1. Basic computer architecture components
  2. Data representation
  3. The instruction set and assembly language for one processor
  4. Procedure invocation and support at the assembly-language level
  5. Modularity and program structure
  6. Devices and interfaces
  7. Serial input/output
  8. Interrupts and interrupt-driven input/output
  9. Conversion between analog and digital information
  10. Managing concurrency, the critical-section problem and semaphores
  11. Process management
  12. Introduction to memory management and caching

Last revised: 05-24-11, PM.