retarget open64 with an object-oriented adl

22
Retarget Open64 with an Object- Oriented ADL Zhen Cao Tsinghua University

Upload: artan

Post on 15-Jan-2016

38 views

Category:

Documents


0 download

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

Page 1: Retarget Open64 with an Object-Oriented ADL

Retarget Open64 with an Object-Oriented ADL

Zhen Cao

Tsinghua University

Page 2: Retarget Open64 with an Object-Oriented ADL

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

Page 3: Retarget Open64 with an Object-Oriented ADL

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

Page 4: Retarget Open64 with an Object-Oriented ADL

OpenDL Specification

Register Description Instruction Set ABI Architecture Parameters

Page 5: Retarget Open64 with an Object-Oriented ADL

Register Definition

Page 6: Retarget Open64 with an Object-Oriented ADL

Instruction Set

Primitive Instruction

Page 7: Retarget Open64 with an Object-Oriented ADL

Instruction Set

Compose Instuction Side-Effect Instuction

Page 8: Retarget Open64 with an Object-Oriented ADL

ABI

Page 9: Retarget Open64 with an Object-Oriented ADL

Inheritance Mechanisms

Instruction Amalgamation Pattern Abstraction Common Information Extraction

Page 10: Retarget Open64 with an Object-Oriented ADL

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

Page 11: Retarget Open64 with an Object-Oriented ADL

Instruction Amalgamation

Syntax Class Syntax Application

Page 12: Retarget Open64 with an Object-Oriented ADL

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

Page 13: Retarget Open64 with an Object-Oriented ADL

Pattern Abstraction

Decorator Classes Decorator Application

Page 14: Retarget Open64 with an Object-Oriented ADL

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

Page 15: Retarget Open64 with an Object-Oriented ADL

Common Information Extraction

Operation Class Operation Application

Page 16: Retarget Open64 with an Object-Oriented ADL

Compression Results

Page 17: Retarget Open64 with an Object-Oriented ADL

Backend Framework

Page 18: Retarget Open64 with an Object-Oriented ADL

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

Page 19: Retarget Open64 with an Object-Oriented ADL

GCC-Torture Results

Page 20: Retarget Open64 with an Object-Oriented ADL

SPEC2000 Results

Page 21: Retarget Open64 with an Object-Oriented ADL

Comparison of Targets

Page 22: Retarget Open64 with an Object-Oriented ADL

Thanks