retarget open64 with an object-oriented adl

Post on 15-Jan-2016

33 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Retarget Open64 with an Object-Oriented ADL. Zhen Cao Tsinghua University. Introduction. expressive, concise and high-quality architecture description languages (ADLs) desired embedded processors are growing complex - PowerPoint PPT Presentation

TRANSCRIPT

Retarget Open64 with an Object-Oriented ADL

Zhen Cao

Tsinghua University

Introduction

expressive, concise and high-quality architecture description languages (ADLs) desired embedded processors are growing complex describing detailed architecture information for compilers ar

e more and more complicated ADL description is tedious and error-prone to mainta

in redundancy, consistency

object-oriented ADL OpenDL reduced redundancy

Related Work

Structural MIMOLA (MSSQ)

HDL-like, as a netlist of register-transfer modules Behavioral

nML (CHESS), ISDL (AVIV) instruction-set level, no explicit pipeline

Mixed MDes, Expression (Trimaran)

LISP-like, split description into instruction-set and structural LISA (CoSy), RADL

C-like, extension works add semantics to structural behavior ArchC (SystemC and C++)

storage-based consistency coverification No object-oriented mechanism supported

OpenDL Specification

Register Description Instruction Set ABI Architecture Parameters

Register Definition

Instruction Set

Primitive Instruction

Instruction Set

Compose Instuction Side-Effect Instuction

ABI

Inheritance Mechanisms

Instruction Amalgamation Pattern Abstraction Common Information Extraction

Instruction Amalgamation

instructions of a group perform much like each other except for routine behaviors syntax form, i.e. add, add., addo, addo. . form affects LT, GT, EQ, SO of CR0 o form affects SO, OV of XER

define a class to describe the four syntax forms describe primitive instructions apply syntax form class to primitive instruction to aut

omatically generate instructions with syntax forms

Instruction Amalgamation

Syntax Class Syntax Application

Pattern Abstraction

instructions of the same operation type usually form a decorator pattern add, addc, adde, addi, addic, addis carrying, extended, immediate decorators apply to mul, and, etc

abstract decorators as semantic classes designate decorators to primitive instructions

to generate decorated instructions

Pattern Abstraction

Decorator Classes Decorator Application

Common Information Extraction instructions can be sorted into a few classes

integer and float-point arithmetic, bit-operation, memory access, SIMD, data transfer between gp and control registers

and, or, nand, nor, xor extract common information out as operation

classes instructions inherit operation classes

Common Information Extraction

Operation Class Operation Application

Compression Results

Backend Framework

Experiments

Apple iBook G4 PowerPC 7447A 1.33GHz 1GB Memory

Ubuntu 8.04 kernel version 2.6.24-23-powerpc

GCC 4.1.3 Open64 4.2

GCC-Torture Results

SPEC2000 Results

Comparison of Targets

Thanks

top related