ALICE-TRD digital chip

Slides:



Advertisements
Ähnliche Präsentationen
Markus D. Oldenburg Max-Planck-Institut für Physik, München
Advertisements

Vom HW-Automaten zum Prozessor
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Multiplizierer Gesucht: Schaltkreis zur Multiplikation zweier Binärzahlen , Beispiel: RW-Systemarchitektur Kap. 3.
Ulrich Husemann Heiko Lacker Thomas Lohse Klaus Mönig Teilchenphysik bei ATLAS bei ATLAS Deine Perspektive in der Physik Humboldt-Universität zu Berlin,
Entwicklung einer radialen Spurendriftkammer für den Nachweis geladener Teilchen beim Experiment STAR (RHIC) Markus D. Oldenburg Max-Planck-Institut für.
3. Kapitel: Komplexität und Komplexitätsklassen
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Holger Harms, Harald Widiger,
SAP R/3 - Speichermanagement
Bericht über Arbeiten zu Asynchronen Wave Pipelines Stephan Hermanns Sorin Alexander Huss.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Java: Objektorientierte Programmierung
FH-Hof Formale Sprachen - Maschinenmodelle Richard Göbel.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Einsatz des Level-1-Kalorimeter-Trigger Jet/Energiesummen-Moduls bei ATLAS Teststrahlmessungen am CERN.
Rechneraufbau & Rechnerstrukturen, Folie 7.1 © 2006 W. Oberschelp, G. Vossen.
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
AC Analyse.
Nacht der Wissenschaft, Physikalisches Institut, Nov 10, 2007 Kai Schweda 1 Der Urknall im Labor Kai Schweda, Physikalisches Institut.
1Ausgewählte Themen des analogen Schaltungsentwurfs Zusammenfassung Einführung Teilchendetektore – Sensorstrukturen, Verstärker, Rauschen, Geschwindigkeit.
1 Jan Knopf / Dirk Wiedner Entwicklung eines Auslesesystems f ü r das ä ußere Spurkammersystem des LHCb- Detektors.
Hanna Kluge CMS DESY in Zeuthen Was machen Physikerinnen und Physiker mit einer Rechnerfarm ? Zeuthen, den
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Beauty-Produktion in Tief- Inelastischen Streuprozessen bei Z EUS Benjamin Kahle, Vincenzo Chiochia und Katarzyna Wichmann DPG-Frühjahrstagung Mainz 2004.
ATLAS Level 1 Trigger, Jet/Energiesummen-Module
EPIC, IA-64 und Itanium Eine Kurzpräsentation von Jan Hübbers bei Prof. Dr.-Ing. Risse im Fach Labor Rechnerstrukturen an der Hochschule Bremen
Markus Schumacher, Universität Bonn
Christian Steinle, Joachim Gläß, Reinhard Männer
Test von Prototypen eines TR Detektors für das CBM-Experiment
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Der Prozessor - zentraler Bestandteil eines jeden Computers
Forschungszentrum Karlsruhe für die KASCADE-Grande Kollaboration
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Bericht über Arbeiten zu Asynchronen Wave Pipelines Stephan Hermanns Sorin Alexander Huss.
Der Simple As Possible Computer
20:00.
1 Seminar zu Experimentelle Methoden der Teilchenphysik Der Trigger von ATLAS - Wolf Behrenhoff, Der Trigger im ATLAS-Experiment – LHC Grundlagen.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Syntaxanalyse Bottom-Up und LR(0)
3.4 CPU-Chips und Busse CPU-Chips
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Institut für Hochenergiephysik der Österreichischen Akademie der Wissenschaften 16. December December 2003 Das Experiment CMS am Large Hadron.
CMS - Trigger Kuratorium Institut für Hochenergiephysik Wien, 14. März 2003 vorgestellt von Claudia-Elisabeth Wulz.
Computerorientierte Physik VORLESUNG
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Advanced Digital Design Übung 3. Aufgabe 2 + R1R2R3 +
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Technische Frage Technische Frage Bitte löse die folgende Gleichung:
Christian Steinle, Andreas Kugel, Reinhard Männer
Rechnerstrukturen 3b. Endliche Automaten.
Universität Rostock Fachbereich Elektrotechnik und Informationstechnik Institut für Angewandte Mikroelektronik und Datentechnik Eine Prozessorarchitektur.
6. Übung Informatik 1 Inhalte: Der DLX-Prozessor
Teilchenjagd mit Siliziumdetektoren
ATLAS TRT Aufgabe und Funktion d. Detektors
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Whirlpool Spiralgalaxy 28 Millionen Lichtjahre
VHDL-Modellierung der Pipeline eines DLX-Prozessors
Vom HW-Automaten zum Prozessor
 Präsentation transkript:

ALICE-TRD digital chip Falk Lesser Kirchhoff Institut für Physik lesser@kip.uni-heidelberg.de

Inhalt Ziele des ALICE-Experiments Das TRD-System Lineare Regression Implementierungsansätze Der Prozessorkern femtoJava 1 Projekt-Status

Ziele des ALICE-Experiments ALICE ist eines der vier großen Experimente am LHC Studien am Quark Gluonen Plasma (QGP) Ereignisrate beträgt 4*103 Kollisionen pro Sekunde (Pb + Pb) Teilchenmultiplizität von etwa 16000 Teilchen in der Akzeptanz des Detektors (zentrales Event) Suche nach high pt Elektron-Positron Paaren (e+ e-) Teilchen mit einem Transversalimpuls  3 GeV/c 5 % aller zentralen Pb + Pb beinhalten e+e- -Paare Identifizierung der Teilchen über die Ablenkung in r/ -Ebene Ablenkung der gesuchten Teilchen < 2.0 mm bei pt  3 GeV/c ohne Trigger jährliche Produktion Y = 1000 Trigger auf interessante Ereignisse

Gesamtübersicht des Detektor TRD umgibt die TPC TRD ist der Level 0 Trigger der TPC TPC besitzt sehr lange Latenzzeiten Anforderung: Gute Spurauflösung, schnelle Triggerentscheidung Pionenunterdrückung Verarbeitet Daten aus 1.2 Millionen Kanälen (occupancy = 12 %)

Der Detektor Pionenunterdrückung: Track-Detection: (TR) -Photonen werden emittiert beim Übergang eines Teilchens durch zwei Medien unter- schiedlicher Dielektrizitätskonstanten 1 => 2 Intensität der Übergangsstrahlung  | 2 - 1 | Abgestrahlte Intensität  Lorentzfaktor L (Identifikation); Hochrelativistisch L >> 1 Elektronen L = 2000 (Größenordnung) Partikel ionisieren Gas (Xe/CO2 oder Xe/C4H10) und setzen freie Elektronen ab Elektronen driften entlang eines elektr. Feldes Detektion am Auslesepad Insgesamt 1.2 Millionen Auslesekanäle Track-Detection:

Zeitablauf Alle e+ e- mit minimaler Ablenkung sollen gefunden werden Ermittlung der Position, Winkel und Amplitude aller high pt tracks Infos zur Track Matching Unit (TMU). Datenreduktion von 1800 Hz (clean min bias) auf 40 Hz (e+ e-) Ereignisrate Selektion der steifen Tracks über lin. Regression parallel für alle Lagen Berechnung der Regressionsparameter in Echtzeit Berechnung charakteristischer Werte mit Hilfe einer microCPU Berechneten Werte in 32 Bit-Wert zusammenfassen und an TMU übergeben TMU korreliert Spursegmente und fällt Triggerentscheidung

Datenauslese Amplitude Pad timebin 12 % Occupancy bei Detektoroberfläche von 108 m2 (plane 1) 200 000 Pads/Lage => 4,5 cm2 pro Pad Ladungsteilung zwischen benachbarten Pads Ortsauflösung von 200 m

Simulation Teilchenmultiplizität von etwa 16000 Teilchen/s (Pb + Pb) Anzahl der Kanäle 1.200.000 30 Werte pro Kanal (Timebins) Sampling rate 15-20 MHz Auflösung der ADCs 8 Bit Gesamtaufkommen an Rohdaten 36 MByte Erste Simulation:

Datenaufkommen . . . . . Insgesamt : 18 TByte/s Datenformat: 8 Bit/pro Timebin und Kanal . . . Berechnungsdauer: 2 s Driftzeit . . Rohdaten: 30 Bytes pro Ereignis timebin Daten: 30 Bytes x 1.2 Millionen Kanäle = 36 MByte Insgesamt : 18 TByte/s Elektronik: Auf dem Detektor

Datenanalyse Pad-No. 30 timebin a b

Algorithmus AP+1 - AP-1 N yi xi - xi yi yi = b = N xi2 - (xi)2 Insgesamt 5 s Verarbeitungsdauer davon 2 s Driftzeit Positionen und Fit-Parameter während der Driftzeit bestimmbar Stichprobenwerte (xi, yi): i = 1, 2, ... N x-Wert ist diskret (timebin), y-Wert ist gemessene Position (Spur + Meßfehler) KQ-Methode: Zu Berechnen sind die Erwartungswerte für a, b AP+1 - AP-1 N yi xi - xi yi yi = b = N xi2 - (xi)2 AP-1 + AP + AP+1 yi xi2 - yi xi xi 2= N-1  [yi - ( a + bx)]2 a = N xi2 - (xi)2 Regressionsgerade: y(x) = a + bx

Calculate fit summands Anforderungen Während der Driftzeit: Nach der Driftzeit: N = Hitcount A = Achsenabschnitt yi = Ort B = Steigung xi = Summe Timebin Allg. Größen = f( yi, xi) yi = Summe Ort 2 = Qualitätsmaß für den Fit  xi yi = Summe Ort * Timebin Keine Iteration notwendig am Ende der Driftzeit! Zeitersparnis 2 s Pipelineverarbeitung in Hardware: 64 64 Do Di AP+1 Calculate Position Calculate fit summands Calculate sums 8 15  xi y'i < 15377 AP  y'i2 < 30753 8 5 +1  xi2 < 10417 AP+1 - AP-1 14 +1 xi < 497 3 y'i < 993 xi  xi2 yi = yi2 AP-1 8 AP-1 + AP + AP+1 14 yi  yi2 xi yi xi2  xi yi 4 Op. 3 Op. 6 Op. 12 Op. Sum Memory

Rechenleistung im Vergleich Notwendige Operationen: Lineare Regression Ziel: Geradengleichung Regressionsparameter : 25 Operationen pro Timebin 30 Werte pro Track: 750 Operationen pro Track Werte a, b: 11 Operationen für jeden Parameter Wert 2 : 30 Operationen Insgesamt: 791 Arithmetische Operationen (AOPS) 16 000 Tracks: 12,656 * 106 Arithmetische Operationen Rechenzeit 2 s 6,328 * 1012 AOPS insgesamt y(x) = a + b x

Lösungsansatz Problem: Gesamtaufkommen an Daten: 18 TByte/s Erforderliche Rechenleistung: 6,328 * 1012 AOPS Lösung: Netzwerk aus 75 000 CPUs Jeder Kanal berechnet die Regressionsparameter microCPU verarbeitet die Daten von 16 Kanälen I II III 16 (18) Verarbeitungskanäle auf jedem Chip 16 HSLP-ADCs für jeden Chip Funktionseinheiten von 16 Kanäle auf MCM Algorithmen in Java-Bytecode AMS035 CMOS-Technologie

I/O-Daten der Fit-Logik Input-Daten 8 Bit (256 Quantisierungsstufen) 16 Datenkanäle + 2 benachbarte Kanäle Samplingrate 15-20 MHz (62,5 - 50 ns) Output Daten 32 Bit Ausgabedaten teilen sich auf in r Position 11 Bits Korrigierter -Winkel bzw. Displacement 5 Bit z-Position 6 Bits (Position aus Chip-Nummer, Padrow, Sektor) Amplitude 8 Bits TR-Qualität 2 Bits

Implementierungsansätze Pad 1 Pad 2 Pad 3 Pad 8 Pad 9 Pad 10 Pad 16 TH-Logic TH-Logic TH-Logic TH-Logic TH-Logic TH-Logic TH-Logic Evt. Buffer Zentr. Zentr. Selektion der Operanden Selektion der Operanden A1 ..A4 A5 ..A8 A9 ..A12 A13 ..A16 Sub Sub Sub Sub A1 ... A4 A5 ... A8 A9 ... A12 A13 ... A16 Shift Shift Shift Shift Reg Reg Reg Reg Reg Reg Reg Reg Div Div Div Div y y y y Reg Reg Reg Reg

Ausschnitt aus der TH-Logik Selektion der ADC-Werte: AP-1 + AP + AP+1 > TH (AP-1 < AP) & (AP+1 < AP) Datenreduktion: Faktor 4 (30 x 1 Byte => 4 x 1 Byte) Pad 1 Pad 2 Pad 3 Pad 8 Pad 9    TH TH TH Comp Comp Comp Comp Comp & & & & Sum Sum & & & Zentr. Zentr. Zentr. Sum

Die virtuelle Java Maschine Kompilierte Programme Quellprogramme A.class B.class C.class A.java B.java C.java Class-Loader Java Compiler Execution Engine Java Virtual Machine A.class B.class C.class X.class Y.class Z.class Kompilierte Programme Standard Java-Klassen (API) Definition eines abstrakten Maschinenmodells Funktionale Verhalten ist genau spezifiziert Spezifikation der JVM ist von Implementierungsdetails entkoppelt Flexibler Triggercode Ideal spezifizierter Prozessor

Spezifikation der JVM Befehlssatz besteht aus 201 Opcodes Laden/Speichern Arithmetische/Logische Befehle Typumwandlungsbefehle Befehle zur Verwaltung des Operandenstapels Kontrolltransferbefehle Befehle zum Erzeugen und Manipulieren von Objekten Spezialbefehle: N yi xi - xi yi N xi2 - (xi)2 Befehlsformat 8 Bit Datenformat 32 Bit (hier 16 Bit)

Hardwarestruktur des femtoJava 1 Data-Memory Verarbeitungsdaten Kontrollsignale femtoJava 1 Reset Pipe 1 Pipe 2 Pipe 3 (4) Initialisierung Kontrollsignale Instr.-Memory Instruktionen Instruktionen Dreistufige Pipelinestruktur Fetch/Decode (Pipe 1) Fetch Operands, Execute Control, Write Back (Pipe 2) Execute (Pipe 3)

Die erste Pipelinestufe Aktivität an Pipelinestufe 2 Pipelinestufe 2 Reset Clk idle Go Pipe 2 Anweis Const Code Temp 1 Temp 2 Read_instr Start Instr_ready Neuer LZ Instr_addr fetch 300 301 302 Opcode/Data Opcode goto Op 1 Op2 Befehls Decoder Instruktions Speicher 1. LZ LZ fortsetzen LZ fortsetzen Code goto PC- Logik decode Addr. temp1 Operand 1 Kontroll- Einheit temp2 Operand 2 2. LZ LZ fortsetzen anweisung Instruktionswort zu goto fetch2 const Konstante zu goto Decode abgeschlossen Kontrolleinheit Datenpfad

Kontrolleinheit der zweiten Stufe Execute ALU-Ctr Zeitgleich zum WB nächsten Fetchzyklus Pipe 1 Readdecode Executedecode Writedecode Read_ix8 Read_ix Write_ix8 Write_ix_1 Write _ix Read_ix8_2 Read_ix_2 Write_ix8_d1 Write_ix1_d1 Write _ix_d1 Read_ix_2d1 Write_ix8_d2 Write_ix1_d2 Write _ix_d2 Read_ix_2d2 Write _ix1_3_1 Write _ix1_3_2 Write _ix1_3_3 Readdecode: Daten laden Executedecode: Operationen der ALU steuern Writedecode: Speichern von Daten Write _ix1_4_1 Write _ix1_4_2 Write _ix1_4_3 Write _ix1_4_6 Write _ix1_4_5 Write _ix1_4_4

Datenpfad der zweiten Stufe Pipelinestufe 3 Funktion: R1 R2 R4 R5 Daten Speicher Vorverarbeitung der geladenen Daten und Operanden Laden und Speichern von Daten Zusammensetzen geladener Daten Alle Datenpfade sind vollständig voneinander entkoppelt Add Add vars Extension Kontroll Einheit Vorzeichen Check Add Add Optop anweisung const opcode Temp 1 Temp 2 Pipelinestufe 1

Kontrolleinheit der dritten Stufe Readdecode Readdecode Funktion: Executedecode Writedecode Nächster Fetch Execute Ready Steuerung der ALU-Operation Decodierung des ALU- Steuerwortes Freigabe des Ausgangsregisters Lmul1 Lmul3 Freigabe Register Go_ WB Lmul2 ALU idle ALU-Operation selektieren ALU-Operation selektieren

Datenpfad der dritten Stufe C1 C2 Funktion: C3 ALU verarbeitet 44 Befehle 17 Vergleichsoperationen 16 Arithmetische/Logische 6 Schiebeoperationen 5 Typkonvertierungen 42 Befehle werden innerhalb eines Taktes verarbeitet Aufwendige Befehle (64 Bit Mul) werden innerhalb von drei Takten verarbeitet Ass Temp Reg Shift Add/Sub Boolsche MAC Assemble Typkonv. R1 R2 R4 R5 Pipelinestufe 2

Hardwaresynthese Xilinx FPGA-Bibliothek: Gesamtentwurf umfaßt 3615 CLBs Kritische Pfad besitzt Signallaufzeit von 254 ns (ca. 4 MHz) AMS08 Standardzellenbibliothek Gesamtentwurf umfaßt 38,63 mm2 Chipfläche Kritische Pfad besitzt Signallaufzeit von 62 ns (ca. 16 MHz) Gatteräquivalent von 29834 Gatter Test-Layout des femtoJava 1 AMS035 Standardzellenbibliothek Gesamtentwurf umfaßt 7,27 mm2 Chipfläche (femtoJava 2) Kritische Pfad besitzt Signallaufzeit von 19 ns (ca. 52 MHz)

Projektstatus Implementierung der „Linear track fit engine“ Simulationsmodel liegt vor und wird iterativ verbessert Werte aus Simulation bestimmen die Implementierungsstruktur der Hardwarerealisierung Erster Prototyp der microCPU ist vorhanden Hardwarerealiesierung der LTFE liegt vor (VHDL-Modell) Tape out Q1 `00 Nächster Designschritt der microCPU Q2 `00