skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · undergraduate program · senior project · projects · 

Senior Project - FUBAR


Silicon Validation Execution Code

Senior Project: 2003-2004
Ryan Gardner, Ryan Nielsen, Nicholas Romanyshyn, Jason Scyoc and Christopher Weaver

Advanced Micro Devices (AMD) produces many x86-compatible processors for an assortment of purposes, from embedded to mainframe systems. They had no means for easily validating a new processor for x86 compliance or for developing a suite of regression tests to apply to new processor revisions. Having such a suite would save valuable testing time and assist in diagnosing processor failures. This project serves as the first step in developing a large scale processor test infrastructure.

The system provides a foundation for testing AMD processors. The software prepares a target computer for testing by placing it in a known, "virgin" state. It can then load a test in the form of an x86 COM file onto the test computer using an Agilent PCI Exerciser, which provides the means for direct remote memory input and output on the target machine. The system then directs the processor to run this test code placed on the machine and, when the test finishes, the system detects its completion. The host computer then reads and stores a relevant memory dump from the target computer that can later be used to verify or invalidate the processor's functionality.

Because all code runs at the lowest level on the target machine, free of any operating system or other setup, the system also provides a "test shell" for each processor mode of the x86 architecture, including real mode, protected mode, big real mode, and virtual 8086 mode. These test shells put the target machine in the corresponding mode and set up its execution environment so that test developers can easily execute existing assembly code snippets with minimal additional setup. The shells also automate test completion procedures, for example automatically signaling test completion to the host computer.

The Hardware
The Hardware
Software Installation
Software Installation
Test Setup
Test Setup
See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (14:07)