Microprocessoren
Vincent Claes
2006
Inleiding
 Wat is een microprocessor
 CPLD / FPGA
 Types Microprocessoren
 Voordelen/nadelen
Inleiding
 Wat is een microprocessor
 CPLD / FPGA
 Types Microprocessoren
 Voordelen/nadelen
Microprocessor (µP)
 Één enkele IC waar verschillende
nuttige functies in zitten
 De mogelijkheid om een opgeslagen set
instructies uit te voeren om zo taken die
de gebruiker aanmaakt uit te voeren
 De mogelijkheid om extern geheugen
IC’s aan te spreken om zo data te lezen
van en te schrijven naar deze geheugen
IC’s
Microcomputer
 Een computersysteem bestaat uit:
 Een computer
 Één of meer invoereenheden
 Één of meer uitvoereenheden
Invoereenheden - Uitvoereenheden
 Principiële opbouw van een computersysteem
Invoer
eenheid
Geheugen
ALU
Besturings-
eenheid
Uitvoer
eenheid
O
/
P
O
O
R
T
E
N
I
/
P
O
O
R
T
E
N
Input Computer Output
Toetsenbord
Temp. Opnemer
Scherm
Printer
Motor
Computer
 De computer zelf bestaat uit:
 CVE (centrale verwerkingseenheid)
 Rekenkundige en logische eenheid (ALU)
 Besturingseenheid (Control Unit)
 Geheugen
 I/O-poorten
 Microcomputer = computer waarvan
de CVE nog slechts één chip is.
Busstructuur bij een microcomputer
CVE
(MPU)
Geheugen
RAM & ROM
I/O
Poorten
Controlebus
Databus
D0 – D7
Adresbus 16 bit (A0 – A15)
P0 – P7
De Microprocessor
ALU
A
Adres Buffer
PC 16bit
S 8bit
IR
Controle
Databuffer
Besturing V
N
Z
C
Conditiecode of
status register
8bit databus
D0 – D7
Controle bus
Adresbus 16 bit
A0 – A15 Interne databus 8bit
De Microcontroller (µC)
CPU Memory I/O
BUS
Overzicht
 Wat is een microprocessor
 CPLD / FPGA
 Types Microprocessoren
 Voordelen/nadelen
Soorten programmeerbare logica
Belangrijkste:
PLDs
CPLDs
FPGAs
Programmable Logic Devices (PLDs)
 IC waarvan logische functie
geprogrammeerd wordt na fabricage
 Meestal zelfs herprogrammeerbaar
 PLD (PLA of PAL): two-level structuur
van AND en OR gates met user-
programmable connections
 CPLDs (Complex PLDs) en FPGAs
(Field Programmable Gate Arrays)
werden ontworpen om grotere
systemen mee op te zetten
PROM:
Programmable Read Only Memory
AND Array (vast)
OR Array (programmeerbaar)
PLDs – PAL:
Programmable Array Logic
AND Array (programmeerbaar)
OR Array (vast)
PLDs – FPLA:
Field Programmable Logic Array
AND Array (programmeerbaar)
OR Array (programmeerbaar)
PLDs
 Kleine chips
 Werking moet je kennen voor verder
te kunnen
 PLDs worden meestal
geprogrammeerd in
programmeertalen zoals ABEL of
PALASM (hardware equivalent van
assembler) ofwel door gebruik te
maken van een schematic capture
tool
CPLDs
 Complex Programmable Logic Devices
 Kan gezien worden als meerdere
PLDs (en een surplus aan
“programmable interconnect”) in 1
chip
 Meer logische vergelijkingen of een
gecompliceerder design
 Vele 7400-serie ICs vervangen door
1 CPLD!!!
CPLD – interne structuur
Logic
Block
Logic
Block
Logic
Block
Logic
Block
Switch
Matrix
CPLDs
 Architectuur
 Iedere logische blok is eigenlijk een PLD
 In een CPLD bevinden zich 4 of meer
logische blokken
 Deze logische blokken bestaan zelf uit
macrocellen en “interconnect wiring”
zoals een gewone PLD
FPGAs
 Field Programmable Gate Arrays
 Voor het implementeren van bijna
ieder hardware ontwerp
 Prototyping van ontwerpen voor
ASICs
FPGAs – interne structuur
Logic
Block
I/O
Block
Interconnection
resources
FPGAs
 Interne structuur
 CLB: Configurable Logic Block
 Programmable Interconnect
 I/O blocks
FPGAs
 Kleine en simpele macrocells zoals in
een PLD (fine-grained architecture)
 Grotere en meer complexe macrocells
(coarse-grained)
Programmatie CPLD / FPGA
 Programmeerbare logica
 IC’s waarvan de functie na de fysieke
productie door de klant kan worden
geconfigureerd
 VHDL of Verilog (LabVIEW FPGA ?)
Overzicht
 Wat is een microprocessor
 CPLD / FPGA
 Types Microprocessoren
 Voordelen/nadelen
Types Microprocessoren
 Discrete processoren
 Hard processor cores
 Soft Processor cores
Discrete Processor
 “Traditionele” manier van werken
 Meerdere fabrikanten (Atmel,
Microchip, ARM, Freescale…)
 Geïmplementeerd als een ASIC met
een specifieke “peripheral set” samen
met de processor core
 Juiste processor zoeken kost veel tijd
 Applicatie kost
 Functionele vereisten
 Custom Logic of “peripheral
functionality” nodig?
Discrete Processor - voorbeeld
 6502 (8-bit microprocessor)
 6809 (8-bit microprocessor)
 Z8000 (Zilog 16-bit microprocessor)
 8086 (Intel 16-bit microprocessor)
 68000 (Motorola 16-bit
microprocessor)
Hard processor cores
 Hard processor core in een FPGA of CPLD
 Zogenaamd “dedicated silicon” in deze
chip.
 Voordeel:
 de peripherals kunnen op maat gemaakt
worden voor de toepassing
 Nadeel:
 de core kan niet aangepast worden
 Men moet een specifieke FPGA kiezen met een
hard processor core in.
 De keuze van fabrikant en FPGA is gelimiteerd
Hard processor core - voorbeeld
 Altera EXCALIBUR (32-bit hardcore
CPU)
 Xilinx Virtex-II PRO (PowerPC 405D5
processor core – 32-bit hardcore
CPU)
Soft processor cores
 Is volledig geïmplementeerd in de logica van de FPGA
of CPLD (via VHDL / Verilog code)
 Ingezet bij een simpel systeem waar enkel de GPIO
(General Purpose Input/Output) moet gemanipuleerd
worden
 Past ook in een zeer complex systeem waar een
Operating System nodig en enkele interfaces nodig
zijn (Ethernet, PCI – Peripheral Component
Interconnect), custom IP (Intellectual Property),…)
 Nadeel:
 Heeft minder goede prestaties dan zijn hard processor core
tegenhanger of de discrete processor.
 Voordeel:
 Is veel flexibeler; alles is aanpasbaar
 Meerdere processoren langs elkaar in 1 chip
Soft processor core - voorbeeld
 Leon2 (32-bit softcore CPU - Gratis)
 Xilinx MicroBlaze (32-bit softcore
CPU)
 Xilinx PicoBlaze (8-bit softcore CPU)
 Altera NIOS (32-bit softcore CPU)
 OpenRISC 1200 (32-bit softcore CPU
- Gratis)
Overzicht
 Wat is een microprocessor
 CPLD / FPGA
 Types Microprocessoren
 Voordelen/nadelen
Samenvatting
Discrete
Processor
Soft
processor
core
Hard
processor
core
Oude manier van
werken
High-tech High-tech
Glue logic nodig Geen glue logic
nodig
Geen glue logic
nodig
Afhankelijk van
processor IC
Volledig digitaal
systeem kan
ontworpen en
aangepast worden in
1 IC ???
Afhankelijk van hard
processor core
Meerdere
microprocessoren in
1 chip
Snelheid Snelheid
Meer informatie
 http://www.opencores.org
 http://www.xilinx.com/products/desig
n_resources/proc_central/index.htm
 http://www.altera.com/products/ip/pr
ocessors/ipm-index.jsp
 http://www.actel.com/products/armin
fusion/
 The Design Warrior’s guide to FPGA
 ISBN: 0-7506-7604-3 (Elsevier)
--- Vragen ??? ---

Softcore vs Hardcore processor

  • 1.
  • 2.
    Inleiding  Wat iseen microprocessor  CPLD / FPGA  Types Microprocessoren  Voordelen/nadelen
  • 3.
    Inleiding  Wat iseen microprocessor  CPLD / FPGA  Types Microprocessoren  Voordelen/nadelen
  • 4.
    Microprocessor (µP)  Éénenkele IC waar verschillende nuttige functies in zitten  De mogelijkheid om een opgeslagen set instructies uit te voeren om zo taken die de gebruiker aanmaakt uit te voeren  De mogelijkheid om extern geheugen IC’s aan te spreken om zo data te lezen van en te schrijven naar deze geheugen IC’s
  • 5.
    Microcomputer  Een computersysteembestaat uit:  Een computer  Één of meer invoereenheden  Één of meer uitvoereenheden
  • 6.
    Invoereenheden - Uitvoereenheden Principiële opbouw van een computersysteem Invoer eenheid Geheugen ALU Besturings- eenheid Uitvoer eenheid O / P O O R T E N I / P O O R T E N Input Computer Output Toetsenbord Temp. Opnemer Scherm Printer Motor
  • 7.
    Computer  De computerzelf bestaat uit:  CVE (centrale verwerkingseenheid)  Rekenkundige en logische eenheid (ALU)  Besturingseenheid (Control Unit)  Geheugen  I/O-poorten  Microcomputer = computer waarvan de CVE nog slechts één chip is.
  • 8.
    Busstructuur bij eenmicrocomputer CVE (MPU) Geheugen RAM & ROM I/O Poorten Controlebus Databus D0 – D7 Adresbus 16 bit (A0 – A15) P0 – P7
  • 9.
    De Microprocessor ALU A Adres Buffer PC16bit S 8bit IR Controle Databuffer Besturing V N Z C Conditiecode of status register 8bit databus D0 – D7 Controle bus Adresbus 16 bit A0 – A15 Interne databus 8bit
  • 10.
  • 11.
    Overzicht  Wat iseen microprocessor  CPLD / FPGA  Types Microprocessoren  Voordelen/nadelen
  • 12.
  • 13.
    Programmable Logic Devices(PLDs)  IC waarvan logische functie geprogrammeerd wordt na fabricage  Meestal zelfs herprogrammeerbaar  PLD (PLA of PAL): two-level structuur van AND en OR gates met user- programmable connections  CPLDs (Complex PLDs) en FPGAs (Field Programmable Gate Arrays) werden ontworpen om grotere systemen mee op te zetten
  • 14.
    PROM: Programmable Read OnlyMemory AND Array (vast) OR Array (programmeerbaar)
  • 15.
    PLDs – PAL: ProgrammableArray Logic AND Array (programmeerbaar) OR Array (vast)
  • 16.
    PLDs – FPLA: FieldProgrammable Logic Array AND Array (programmeerbaar) OR Array (programmeerbaar)
  • 17.
    PLDs  Kleine chips Werking moet je kennen voor verder te kunnen  PLDs worden meestal geprogrammeerd in programmeertalen zoals ABEL of PALASM (hardware equivalent van assembler) ofwel door gebruik te maken van een schematic capture tool
  • 18.
    CPLDs  Complex ProgrammableLogic Devices  Kan gezien worden als meerdere PLDs (en een surplus aan “programmable interconnect”) in 1 chip  Meer logische vergelijkingen of een gecompliceerder design  Vele 7400-serie ICs vervangen door 1 CPLD!!!
  • 19.
    CPLD – internestructuur Logic Block Logic Block Logic Block Logic Block Switch Matrix
  • 20.
    CPLDs  Architectuur  Iederelogische blok is eigenlijk een PLD  In een CPLD bevinden zich 4 of meer logische blokken  Deze logische blokken bestaan zelf uit macrocellen en “interconnect wiring” zoals een gewone PLD
  • 21.
    FPGAs  Field ProgrammableGate Arrays  Voor het implementeren van bijna ieder hardware ontwerp  Prototyping van ontwerpen voor ASICs
  • 22.
    FPGAs – internestructuur Logic Block I/O Block Interconnection resources
  • 23.
    FPGAs  Interne structuur CLB: Configurable Logic Block  Programmable Interconnect  I/O blocks
  • 24.
    FPGAs  Kleine ensimpele macrocells zoals in een PLD (fine-grained architecture)  Grotere en meer complexe macrocells (coarse-grained)
  • 25.
    Programmatie CPLD /FPGA  Programmeerbare logica  IC’s waarvan de functie na de fysieke productie door de klant kan worden geconfigureerd  VHDL of Verilog (LabVIEW FPGA ?)
  • 26.
    Overzicht  Wat iseen microprocessor  CPLD / FPGA  Types Microprocessoren  Voordelen/nadelen
  • 27.
    Types Microprocessoren  Discreteprocessoren  Hard processor cores  Soft Processor cores
  • 28.
    Discrete Processor  “Traditionele”manier van werken  Meerdere fabrikanten (Atmel, Microchip, ARM, Freescale…)  Geïmplementeerd als een ASIC met een specifieke “peripheral set” samen met de processor core  Juiste processor zoeken kost veel tijd  Applicatie kost  Functionele vereisten  Custom Logic of “peripheral functionality” nodig?
  • 29.
    Discrete Processor -voorbeeld  6502 (8-bit microprocessor)  6809 (8-bit microprocessor)  Z8000 (Zilog 16-bit microprocessor)  8086 (Intel 16-bit microprocessor)  68000 (Motorola 16-bit microprocessor)
  • 30.
    Hard processor cores Hard processor core in een FPGA of CPLD  Zogenaamd “dedicated silicon” in deze chip.  Voordeel:  de peripherals kunnen op maat gemaakt worden voor de toepassing  Nadeel:  de core kan niet aangepast worden  Men moet een specifieke FPGA kiezen met een hard processor core in.  De keuze van fabrikant en FPGA is gelimiteerd
  • 31.
    Hard processor core- voorbeeld  Altera EXCALIBUR (32-bit hardcore CPU)  Xilinx Virtex-II PRO (PowerPC 405D5 processor core – 32-bit hardcore CPU)
  • 32.
    Soft processor cores Is volledig geïmplementeerd in de logica van de FPGA of CPLD (via VHDL / Verilog code)  Ingezet bij een simpel systeem waar enkel de GPIO (General Purpose Input/Output) moet gemanipuleerd worden  Past ook in een zeer complex systeem waar een Operating System nodig en enkele interfaces nodig zijn (Ethernet, PCI – Peripheral Component Interconnect), custom IP (Intellectual Property),…)  Nadeel:  Heeft minder goede prestaties dan zijn hard processor core tegenhanger of de discrete processor.  Voordeel:  Is veel flexibeler; alles is aanpasbaar  Meerdere processoren langs elkaar in 1 chip
  • 33.
    Soft processor core- voorbeeld  Leon2 (32-bit softcore CPU - Gratis)  Xilinx MicroBlaze (32-bit softcore CPU)  Xilinx PicoBlaze (8-bit softcore CPU)  Altera NIOS (32-bit softcore CPU)  OpenRISC 1200 (32-bit softcore CPU - Gratis)
  • 34.
    Overzicht  Wat iseen microprocessor  CPLD / FPGA  Types Microprocessoren  Voordelen/nadelen
  • 35.
    Samenvatting Discrete Processor Soft processor core Hard processor core Oude manier van werken High-techHigh-tech Glue logic nodig Geen glue logic nodig Geen glue logic nodig Afhankelijk van processor IC Volledig digitaal systeem kan ontworpen en aangepast worden in 1 IC ??? Afhankelijk van hard processor core Meerdere microprocessoren in 1 chip Snelheid Snelheid
  • 36.
    Meer informatie  http://www.opencores.org http://www.xilinx.com/products/desig n_resources/proc_central/index.htm  http://www.altera.com/products/ip/pr ocessors/ipm-index.jsp  http://www.actel.com/products/armin fusion/  The Design Warrior’s guide to FPGA  ISBN: 0-7506-7604-3 (Elsevier)
  • 37.