IT 251A
Catalog Data: (2:2:3) W Prerequisite: CS 142, IT 104B. Principles
of computer hardware. Internal CPU organization and implementation. Principles of
computer Instruction set architecture. VHDL and CPLD/FPGA used to create a simple
working CPU.
NEW COURSE. DESCRIPTION IS DRAFT ONLY. CONSULT CLASS COORDINATOR FOR DETAILS.
Textbook(s)
- Carpinelli, John D. Computer Systems Organization & Architecture, Addison
Wesley
- Ashenden, Peter J. The Student’s Guide to VHDL, Morgan Kaufmann
Recommended Book(s):
Reference Book(s):
- Brey, Barry B. The Intel Microprocessors 5 th Edition,
Prentice-Hall
- Hyde, Randall The art of assembly language programming,
- http://webster.cs.ucr.edu/Page_asm/ArtOfAsm.html
- Choisser, John P., Foster, John O. The PC Technical Source-Book, Anna Books
Class website: http://class.et.byu.edu/it150/
Class Coordinator: Stephen R. Renshaw
Goals: At the completion of this class the students should be able
to do the following:
- Have an understanding of machine language, and basic assembly language.
- Have a solid understanding of the parts of a CPU and the interconnection to create
a working CPU. (CPU Architecture)
- Understand how CPU architectures are interfaced to other components (peripherals).
- Understand performance issues within CPU architectures.
Prerequisites by topic:
- Binary and Hex number systems and math.
- Basic Digital Electronics.
Outcomes:
- Know basic Instruction Set Architecture of a model CPU.
- Know how the parts of a CPU interconnect.
- Know how to create a state machine that will implement a CPU.
- Understand CPU component issues.
- Be able to program using VHDL at a high beginning level.
- Design and work with a register set within a CPU.
- Design a CPU control unit using hardwired, microcode, and VHDL.
- Acquire a working skill in using digital electronic design software.
- Use RTL in the design of a CPU.
- Use CPLDs or FPGAs to build a working CPU.
- Gain an understanding that knowledge of low level computing can enhance high level
computing.
- Be able to explain how large systems can be built upon small components.
Laboratory projects:
The laboratory projects give the students experiences in creating a CPU from digital
components and the beginnings of software programming using machine and assembly
language. The students get experiences with current methods for designing and synthesizing
hardware through the use of VHDL and CPLDs/FPGAs.
Laboratory assignments:
- Introduction lab, Using VHDL tools, CPLD boards
- Implementation of simple State machines
- ALU implementation
- Registers implementation
- Memory implementation
- Interconnect implementation
- Loading and Running machine instructions
- Beginning assembly
Laboratory Equipment and Student Kits:
- Altera MAX_PLUS II software 10 stations
- Altera UP Design Laboratory Package 10 stations
OR
- Xlinx Foundation Software 10 stations
- Xlinx Evaluation Board 10 stations
Computer Equipment used: The majority of the labs will be done
on Intel based computers.(808X type), running Windows NT or 2000. These will run
the Altera MAX+PLUS II software or the Xlinx Foundation software as the development
platform.
Written and oral communication requirements:
- Four periodical article readings in technology are required with a one-page write
ups on each.
- Lab reports are required for each lab session, which are complete lab write-ups.
- Class portfolio turned in at completion of semester includes all work for the class.
Math Analysis: Binary and Hex number systems, Boolean math
Lifelong Learning Exercises: As mentioned previously, this class
requires that students engage in outside reading (in technical periodicals) and
submit reports based on this reading.
Prepared By: Stephen R. Renshaw
Date Revised: Draft (May 2005)