Andreas Ehliar

Relevanta dokument
F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Läsminne Read Only Memory ROM

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Föreläsningsanteckningar 2. Mikroprogrammering I

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

Grundläggande datavetenskap, 4p

LV6 LV7. Aktivera Kursens mål:

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Tentamen Datorteknik Y, TSEA28 Datum

L15 Introduktion modern digital design

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

IT för personligt arbete F5

DEC Alpha instruktions Arkitektur

Tentamen. Datorteknik Y, TSEA28

Datorsystemteknik DAV A14 Föreläsning 1

Tentamen. Datorteknik Y, TSEA28

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor

Datorsystemteknik DVGA03 Föreläsning 8

Pipelining i Intel Pentium II

Tenta i Digitalteknik

Närliggande allokering Datorteknik

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

Tentamen. Datorteknik Y, TSEA28

LABORATION DATORTEKNIK Y,C,I DATORTEKNIK D

Datorarkitekturer med Operativsystem

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Arm Cortex-A8 Pipeline

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

Digitala System: Datorteknik ERIK LARSSON

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)

Grundläggande programmeringsteknik Datorsystem

Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg. Laboration nr 4 i digitala system ht-15. Ett sekvensnät. grupp. namn.

Digital Projekt EDI 021 Konstruktion av talande nummerpresentatör VT1 2004

Tentamen. Datorteknik Y, TSEA28

Programmerbar logik och VHDL. Föreläsning 1

Digital- och datorteknik

Hantering av hazards i pipelines

Digitalteknik och Datorarkitektur 5hp

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

HF0010. Introduktionskurs i datateknik 1,5 hp

LABORATION. Datorteknik Y

ALU:n ska anslutas hur då?

Tentamen. Datorteknik Y, TSEA28

Digital Aritmetik Unsigned Integers Signed Integers"

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

Datorarkitekturer med operativsystem ERIK LARSSON

Processor pipelining genom historien (Intel i9-intel i7)

Tenta i Digitalteknik

Digitala elektroniksystem

SIMD i Intel s P5- baserade Pentium MMX

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

Digitalteknik och Datorarkitektur

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Design av digitala kretsar

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Mintermer. SP-form med tre mintermer. William Sandqvist

Assemblerprogrammering del 1

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Grundläggande Datorteknik Digital- och datorteknik

Centralenheten: ALU, dataväg och minne

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

DESIGN AV SEKVENTIELL LOGIK

Tenta i Digitalteknik

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Digital- och datorteknik

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Laboration 6. A/D- och D/A-omvandling. Lunds universitet / Fakultet / Institution / Enhet / Dokument / Datum

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

TSEA22 Digitalteknik 2019!

Digital IC konstruktion

TSEA22 Digitalteknik 2019!

Talrepresentation. Heltal, positiva heltal (eng. integers)

Tentamen i Digital Design

EDA Digital och Datorteknik

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Jacquards vävstol, 1801

Datorteknik. Föreläsning 7 Historia och framtid. Institutionen för elektro- och informationsteknologi, LTH

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

Tentamen. Datorteknik Y, TSEA28

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Shannon-Fano-Elias-kodning

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden.

2-4: Bråktal addition-subtraktion. Namn:.

F1 Introduktion och ingenjörsrollen EDAA05 Datorer i system! Roger Henriksson!

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

Transkript:

En casestudy i processordesign (Eller konsten att dissekera en 68000) Andreas Ehliar <ehliar@isy.liu.se>

Informationskällor US patent 4325121 Two level Control Store for Microprogrammed Data processor Thomas G. Gunter; Harry L. Tredennick Innehåller all(?) mikrokod I M68000 The architecture of microprocessors Francois Anceau Kapitel om M68000 är baserat på reverse engineering Kan lånas på TekNat biblioteket för den som vill veta mer

Informationskällor Nick Tredennick via email Tips om boken och vissa artiklar Största delen av patenten stämmer med verkligheten Slutsats: Huvuddelen av informationen torde vara korrekt, men vissa detaljer kanske inte stämmer fullt ut

Offret: En oskyldig Amiga 500

Offret i obducerat tillstånd

En intet ont anandes M68000

Efter ett besök i fräsen samt ett uppfriskande bad i röd rykande salpetersyra Notera hur litet chippet är i förhållande till kapseln

Den intressanta delen uppförstorad

Med mikroskop istället för scanner

Ganska kort skärpedjup...

Tillräckligt för viss reverse engineering (för den som orkar...)

PLA Programmable Logic Array Programmable Logic Array AND/OR matris Används för att implementera två nivåers booleska uttryck Sällan lika utrymmeseffektivt som specialgjord logik, men mycket enklare att designa

Mikrokodsstyrenheten

Mikrokodsstyrenheten

Minnesstorlekar Minnesstorlekar Mikrokod 544 ord 17 bitar bred Nanokod 336 ord 68 bitar bred

Trick Nanokodsrommet är ej fullständigt avkodat Olika mikrokods sekvenser kan använda samma fysiska nanokodsord Ett visst pusslande krävdes för att få till detta...

Mikrokod Instruktionsformat

Mikrokod Instruktionsformat Alla mikroinstruktioner innehåller en pekare till nästa instruktion Det går även att hämta nästa adress från en av de PLAer som används för adresseringsläges avk odning

Mikrokod Instruktionsformat Slutligen går det att göra ett villkorligt hopp Notera att villkorliga hopp enbart har 8 bitars destinations adress istället för de 10 bitar en ovillkorlig instruktion har De minst signifikanta bitarna bestäms av

Mikrokods utveckling Visst datorstöd för simulering av mikrokoden 161 sidor med den här typen av flödesschema i patentet

Mikrokodsstyrenheten

PLA som används för adresseringslägesavkodning Den ena delen är synlig, men den andra delen täcks tyvärr av metall

Mikro/nanokods minne

ROM uppförstorat Oklart om det går att se mikrokoden här utan att etsa bort det översta lagret av metall

Mikrokodsstyrenheten

IRD PLA Exekveringsenheten styrs både av nanokoden och instruktionsordet i instruktionsregistret via en PLA (IRD PLA)

Exekveringsenheten

Exekveringsenheten

Exekveringsenheten Två adderare En ALU Teoretiskt sett kan alltså M68000 göra tre 16 bitars operationer samtidigt!

Exekveringsenheten Notera att den höga delen av dataregistren ligger onödigt(?) långt bort från data ALU:n

Exekveringsenheten Det är intressant att notera att det inte finns någon adderare som endast används för PC

ALU operationer Sign extend Addition/subtraktion And/or/xor Diverse skift/rotation Speciellt 32 bitars skiftregister Skiftar en bit i taget

Exekveringsenheten

Hårdvaruprototypen MC6800: Cirka 4000 5000 transistorer Hårdvaruprototyp med cirka 350 IC och 5 kretskort MC68000: Drygt 68000 transistorer(?) Hårdvaruprototyp med över 2000 IC 14 kretskort Begränsad nytta då designen ändrades för snabbt för att kunna bygga om prototypen

68020 Egen adderare för PC Fler PLAer för adresseringsläg en Notera att cachen är uppdelad på båda sidor av chippet

Övrigt I 68000 hör cirka 30 % av ytan till exekveringsenheten Är det verkligen bra att designa en dator så att enbart 30% av ytan faktiskt gör något?

För den som vill veta mer om 68000 Patent: 4296469, 4338661, 4342078, 4307445, 4312034, 4325121, 4348722 Francois Anceau: The architecture of microprocessors Ieeexplore

Andra tips Fina chipfoton: http://www.flylogic.net/blog/ Intel 4004: http://www.4004.com/ Komplett kretsschema plus java simulator Visual 6502: http://visual6502.org/ Javascript simulator av 6502 The soul of a new machine av Tracy Kidder Vann Pulitzer priset The original nerd epic enligt Wired The pentium chronicles av Robert P. Colwell