Integrating Hardware Experiences into a Computer Architecture Core Course Fred Martin Computer Science University of Massachusetts Lowell.

Slides:



Advertisements
Similar presentations
VHDL 8 Practical example
Advertisements

1 (Review of Prerequisite Material). Processes are an abstraction of the operation of computers. So, to understand operating systems, one must have a.
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Engr. M.K.Debnath1 Microcontroller and PLC Eng. ISRAFIL KHAN. DIPLOMA IN ELECTRONIC.
Traffic Light Behavior IF A=1 AND B=0 Car Sensors B A.
Systems Programming Course Gustavo Rodriguez-Rivera.
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
Chapter 6 Memory and Programmable Logic Devices
ASPPRATECH.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
Prardiva Mangilipally
Computer Organization and Assembly language
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Atmega32 Architectural Overview
Computer Security Conference 15 APR 2010 FPGAs In The Classroom : Practice and Experience William M. Jones, Ph.D. Department of Computer Science Coastal.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
1 Layers of Computer Science, ISA and uArch Alexander Titov 20 September 2014.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Revised: Aug 1, ECE 263 Embedded System Design Lesson 1 68HC12 Overview.
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
1 Embedded Systems Computer Architecture. Embedded Systems2 Memory Hierarchy Registers Cache RAM Disk L2 Cache Speed (faster) Cost (cheaper per-byte)
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
Computer Organization - 1. INPUT PROCESS OUTPUT List different input devices Compare the use of voice recognition as opposed to the entry of data via.
25 April 2000 SEESCOASEESCOA STWW - Programma Evaluation of on-chip debugging techniques Deliverable D5.1 Michiel Ronsse.
Computer Architecture Memory, Math and Logic. Basic Building Blocks Seen: – Memory – Logic & Math.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
FPL Sept. 2, 2003 Software Decelerators Eric Keller, Gordon Brebner and Phil James-Roxby Xilinx Research Labs.
Computer Architecture 2 nd year (computer and Information Sc.)
Stored Programs In today’s lesson, we will look at: what we mean by a stored program computer how computers store and run programs what we mean by the.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
CS 1428 Foundations of Computer Science I. Two Main Components  Hardware  Physical media that uses electrical current to process instructions.  Software.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 5A Transforming Data Into Information.
Representation of Data - Instructions Start of the lesson: Open this PowerPoint from the A451 page – Representation of Data/ Instructions How confident.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
MICROPROCESSOR INTEL 8086/8088 BY: SERA SYARMILA SAMEON.
Programming with Java. Chapter 1 Focuses on: –components of a computer –how those components interact –how computers store and manipulate information.
1 COMP541 Final Missing Pieces of MIPS: Adding Memory & I/O Montek Singh Apr 6, 2010.
Discrete logic processor
Addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine.
Homework Reading Machine Projects Labs
SHRI S’AD VIDYA MANDAL INSTITUTE OF TECHNOLOGY
PROGRAMMABLE LOGIC CONTROLLERS SINGLE CHIP COMPUTER
ARM Embedded Systems
Atmega32 Architectural Overview
Processor/Memory Chapter 3
Slides developed in part by Mark Brehob & Prabal Dutta
COMP541 Datapaths I Montek Singh Mar 28, 2012.
Modified Harvard Architectures
Embedded Systems Design
Architecture & Organization 1
Foundations of Computer Science
Computer Science I CSC 135.
ریز پردازنده. ریز پردازنده مراجع درس میکروکنترلرهای AVR برنامه نویسی اسمبلی و C محمدعلی مزیدی، سپهر نعیمی و سرمد نعیمی مرجع کامل میکروکنترلرهای AVR.
Architecture & Organization 1
McGraw-Hill Technology Education
Intro to Architecture & Organization
COMP541 Datapaths I Montek Singh Mar 18, 2010.
Chapter 4 Introduction to Computer Organization
ECE 352 Digital System Fundamentals
Chapter 9 Bootloader.
Lecture 6 CdM-8 CPU overview
McGraw-Hill Technology Education
McGraw-Hill Technology Education
A Level Computer Science Topic 5: Computer Architecture and Assembly
Dr. Clincy Professor of CS
Presentation transcript:

Integrating Hardware Experiences into a Computer Architecture Core Course Fred Martin Computer Science University of Massachusetts Lowell

Motivations  Simulation is important  Simulation lets you build more complex designs in limited time, but  simulation-only is not fun  interesting problems are at the edges  Understanding low-level provides basis for understanding higher abstractions

More Motivations  I like hardware  Hardware is fun  Hardware plus software is really fun  Everyone should get to play with hardware at least once  I need students who can do hardware

Context  UML-CS dept has history of doing hardware  UML has an ECE dept, but we’re separate  CS has 3-semester Logic Design, Org, Arch sequence  When I joined dept in 2002 there was no core hardware experience for majors

Constraints  No dedicated lab space  Can not add lab units to course  Some money but not lots ($50/kit x 35 students)  Can’t extract lab-kit money from students

Solution  Nearly all students have computers; let’s use them  Can also use our computer labs  Give them everything they need to build (and hopefully debug) logic + embedded CPU designs  Answer: A take-home lab kit!

Custom “UML 305DEV” Board +5v supply serial out serial in 8 LED inputs 8 switch ins piezo logic probe gnd Parts + Board: $25 RS-232 to TTL level shifter

Rest of the Kit

Course Design WeekTopicsAssignments 1–2 Digital logic, 74xx Mystery chips 2–3 State machines Make robot follow line 4 ISA of 68HC11 CPU Boot your HC11 5 Timing & cycle count Make particular beeps 6 Mem mapped I/O Address decoding 7, 8 x86 ISA “Bomblab” 9, 10 6-state execution “Archlab A + B” 11, 12 Pipelining “Archlab C” 13, 14 Cache memory “Perflab” hardwaresimulation real SW

Digital Logic Lab  Build oscillator, counter/divider, view signals  Mystery chips: you are given one 14-pin and one 16-pin DIP. Figure out which member of the 74HCxx series it is!  A review of digital logic topics, but with more emphasis on understanding signals, including high impedance state.

State Machine Lab  Implement state machine with register, logic equations, minimization  Actually implement with latch chips  Program a LEGO robot to follow a line with a 4-state, 1- sensor solution

HC11 Boot Lab  Install and configure tools on your PC (Java source provided)  Get HC11 to load 3-line program and light an LED  Introduce addressing modes, memory map, bootloader  Relatively little wiring needed

Why 68HC11?  Simple, 8-bit processor with standard von Neumann architecture  16-bit external memory interface  Serial boot mode  Available in DIP package  I know it well

HC11 Beep Lab  Generate particular tones on HC11 output pin; listen to them with piezo  Doubly-nested delay loops  Many levels of time: usec instruction clock, millisec half-wave delay, audio frequencies  Introduced scopes when later had a lab  Timing stuff is particularly valuable and new to students

HC11 Address Decoding  Build combo logic to decode 4 bits of addr and allow HC11 to write to a latch  Test design by running provided code and seeing bit flash pattern on latch outputs  Also do paper design of RAM addressing  Advanced for most students: hard to debug, possible for wrong designs to work

Rest of Course: CS/APP  Switched text to Bryant/O’Hallaron’s Computer Systems: A Programmer’s Perspective (2003)  ORG: by decompiling Linux executables— “Binary Bomb Lab”  ARCH: based on “Y86” pedagogical processor simulator  Cache treatment with “Perflab”—improve stride in 2D image processing app

Discussion & Conclusions  Review/revisiting with a fresh perspective is good  Basic design (take-home kits + labs themselves) is sound  Labs are fairly modular and could be adopted by others  Later revs of class left out Logic Lab (made room for Perf Lab)

More Discussion  Some students like it a lot; others are annoyed  I repeatedly refer back to HW labs in core arch material  Would love to do arch material with FPGA implementations  Best measure of success: students recruited to my research lab, and those graduated in HW-oriented industry jobs

Final Pitch  Have successfully handed off course to dept colleague  I am happy to give away all course material for academic use, including:  PCB artwork for “305DEV” board  Parts lists  Java-based HC11 tools  Labs  Exams  Please contact me if you are interested!