Processor Design and Implementation for Real-Time Testing of Embedded Systems Walters, G.; King, E.; Kessinger, R.; Fryer, R. 17th DASC. The AIAA/IEEE/SAE,

Slides:



Advertisements
Similar presentations
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
Advertisements

CS-334: Computer Architecture
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
Towards Target-Level Testing and Debugging Tools For Embedded Software Harry Koehnemann, Arizona State University Dr. Timothy Lindquist, Arizona State.
Microprocessor system architectures– IA32 debugging and performance monitoring Jakub Yaghob.
RUAG Aerospace 11 Using SpaceWire as EGSE Interface Anders Petersén, Torbjörn Hult RUAG Aerospace Sweden AB (Saab Space) International SpaceWire Conference.
The ARM7TDMI Hardware Architecture
Interrupts (contd..) Multiple I/O devices may be connected to the processor and the memory via a bus. Some or all of these devices may be capable of generating.
Architectural Support for OS March 29, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
1 Lecture 6 Performance Measurement and Improvement.
Ritu Varma Roshanak Roshandel Manu Prasanna
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
What are Exception and Interrupts? MIPS terminology Exception: any unexpected change in the internal control flow – Invoking an operating system service.
Cortex-M3 Debugging System
0 Deterministic Replay for Real- time Software Systems Alice Lee Safety, Reliability & Quality Assurance Office JSC, NASA Yann-Hang.
Digital Signal Processors for Real-Time Embedded Systems By Jeremy Kohel.
Intel
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
MICE III 68000/20/30 MICETEK International Inc. CPU MICEIII MICEView Examples Contents Part 1: An introduction to the MC68000,MC68020 and Part.
1 Fault Tolerance in the Nonstop Cyclone System By Scott Chan Robert Jardine Presented by Phuc Nguyen.
MICROPROCESSOR INPUT/OUTPUT
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Introduction of Intel Processors
Debugging in Java. Common Bugs Compilation or syntactical errors are the first that you will encounter and the easiest to debug They are usually the result.
UBI >> Contents Chapter 2 Software Development tools Code Composer Essentials v3: Code Debugging Texas Instruments Incorporated University of Beira Interior.
System Address Registers/Memory Management Registers Four memory management registers are used to specify the locations of data structures which control.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
25 April 2000 SEESCOASEESCOA STWW - Programma Evaluation of on-chip debugging techniques Deliverable D5.1 Michiel Ronsse.
Computer Organization & Assembly Language © by DR. M. Amer.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
Shared Memory Consistency Models. SMP systems support shared memory abstraction: all processors see the whole memory and can perform memory operations.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
1 CSE451 Architectural Supports for Operating Systems Autumn 2002 Gary Kimura Lecture #2 October 2, 2002.
Computer Architecture 2 nd year (computer and Information Sc.)
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
IT3002 Computer Architecture
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Processor Organization and Architecture Module III.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
HCS12 Technical Training Module 15 – Break Module Slide 1 MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other.
Evaluating the Fault Tolerance Capabilities of Embedded Systems via BDM M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dipartimento di Automatica.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Introduction to Exceptions 1 Introduction to Exceptions ARM Advanced RISC Machines.
Submitted To: Submitted By: Seminar On 8086 Microprocessors.
CPU (Central Processing Unit). The CPU is the brain of the computer. Sometimes referred to simply as the processor or central processor, the CPU is where.
1 load [2], [9] Transfer contents of memory location 9 to memory location 2. Illegal instruction.
Microprocessors Personal Computers Embedded Systems Programmable Logic
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Embedded Systems Design
Architectural Support for OS
Introduction to Microprocessor Programming
Architectural Support for OS
First Generation 32–Bit microprocessor
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Processor Design and Implementation for Real-Time Testing of Embedded Systems Walters, G.; King, E.; Kessinger, R.; Fryer, R. 17th DASC. The AIAA/IEEE/SAE, Digital Avionics Systems Conference, Proceedings., Volume: 1 Page(s): B44/1 -B44/8

What’ Problem ? Design and implement processor that are compatible with commercial instruction sets and have specific features for visibility to facilitate to test,debug, and maintenance of real-time processing system. These features include: – Real time Non-intrusive instrumentation(RTNI) – Behavioral Verification Technology(BVT) – Do not interfere in any way in the operation of the system.

Introduction The advance of combination of RTNI and BVT: – Reduces system validation time,risk and cost. – Increasing the coverage and assurance level The feature implemented in processor – High performance – Low power,commercial grade, or radiation hardened Development of processor military and commercial application

Background DOD-design embedded processors contained in avionics system have incorporated “test hooks” to facilitate the debugging of the system and software Most of Commercial-Off-The-Shelf (COTS) have not included RTNI for real-time software application

Real time Non-intrusive Instrumentation (RTNI) The software bug often do not appear until the system has been fully integrated and running at speed. Real time execution causes event timing and the CPU profile to change, since it is affected by real-time interrupts, real-time task-switching,and inter-task dependencies.

Bus-based debugging system That is blind when MP is doing in no bus cycles at system bus. That is unable locate instruction or operand boundaries within the block of memory accessed. This force s firmware/software developer to intrusively trap real time code.

Solve Bus-based problem The instrumentation mechanisms must be transparent to the behavior of the software. Transparency has typically been deemed adequate : – If the flow of addresses in program execution is identical – If the time relationships of all software detectable events are equivalent – i.e. interrupts,sequence of procedures run,time spent in a process.

The debug functions of RTNI supports Trace Stop/Start on Event Single Step Software/Hardware Breakpoints Inspect/Change Memory Up to (16) Hardware traps Timers/Event Counters Event Timing Inspect/Change Registers Inspect/Change I/O port Reset/Configure Performance Monitor Enter/Exit Console Mode Reset RTNI Run/Stop

The RTNI specifics The interface is made up of : – 8-bit command bus – 32-bits data bus – 14-bits status bus The data bus is used to : – Specify the register number for read/write register commends – Specify the address for read/write memory/IO commends – Specify the data value for write commends – Provide the data value for read commends – Provide the trace data when trace is enable

The RTNI specifics (cont.) The status bus is to indicate: – RTNI can accept a new commend – Current RTNI commend complete – Current state of the microprocessor – Valid trace data – First word of multi-word trace packet – Hit/Miss status for the internal breakpoint register

The application of RTNI Support industry standard symbolic debugger through an Application Programming Interface (API). Implemented as a general-purpose diagnostic port architecture which is open, scalable and consistent with commercial development tools.

The characteristics of BVT It is automated, checking against expected results thereby eliminating the uncertainty of ad-hoc,random testing. It is based on a measurable and enforceable specification. It provides comprehensive specification coverage.

The characteristics of BVT It is applicable throughout the development process as well as on the finished product. It integrates new tests as the specification evolves or as the developer requires. It provides repeatable and predictable test results. It is easy to use.

The test procedure of BVT

The “bootstrapping” Validation Fashion Simplest functionComplete system Incremental

The basic organization of BVT Basic Function Test – Focus on each individual operation or function are working properly – Also verify that unwanted side-effect do not exist. » Example: proper result is calculated register and memory are update correctly condition code are set properly.

The basic organization of BVT Corner Case Test – boundary conditions cases of a function » Example : underflow or overflow in floating point operation Cause address calculation to cross memory boundary – exception cases of a function. » Example: Proper prioritization of multiple exception

The basic organization of BVT Sequence Tests – Multiple functions are executed sequentially or concurrently – Sequences of multiple instructions interact properly » Example : Dependencies between instruction for register values,memory contents,and flag settings.

Applications CPU-1750A – Inserted in an Air Force avionics system – provide 12 DAIS MIPS sustained at 60MHz MS1 – An x86-compatible micro processor – Developed in conjunction with Navy BVT provides more test coverage than vector,application and/or random testing.

Conclusion RTNI – Single cycle execution of COTS processor. – Standardized across multi-processor including DSP – Visualize real-time data allows developers to isolate where and why a particular real-time bug occurs.

Conclusion BVT – Based on the systematic verification of the specification – Significantly more effective in finding, identifying, correcting, and re-testing bugs – Created to validate specifications for both software and hardware