Brigham Young University Homepage

IT

Information Technology

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:

  1. Have an understanding of machine language, and basic assembly language.
  2. Have a solid understanding of the parts of a CPU and the interconnection to create a working CPU. (CPU Architecture)
  3. Understand how CPU architectures are interfaced to other components (peripherals).
  4. Understand performance issues within CPU architectures.

Prerequisites by topic:

  1. Binary and Hex number systems and math.
  2. Basic Digital Electronics.

Outcomes:

  1. Know basic Instruction Set Architecture of a model CPU.
  2. Know how the parts of a CPU interconnect.
  3. Know how to create a state machine that will implement a CPU.
  4. Understand CPU component issues.
  5. Be able to program using VHDL at a high beginning level.
  6. Design and work with a register set within a CPU.
  7. Design a CPU control unit using hardwired, microcode, and VHDL.
  8. Acquire a working skill in using digital electronic design software.
  9. Use RTL in the design of a CPU.
  10. Use CPLDs or FPGAs to build a working CPU.
  11. Gain an understanding that knowledge of low level computing can enhance high level computing.
  12. 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:

  1. Altera MAX_PLUS II software 10 stations
  2. Altera UP Design Laboratory Package 10 stations

OR

  1. Xlinx Foundation Software 10 stations
  2. 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)

Brigham Young University, Provo, UT 84602 - (801)422-4636 - Copyright 2007, All Rights Reserved XHTML CSS 508