Check out my first novel, midnight's simulacra!

Microarchitectures: Difference between revisions

From dankwiki
No edit summary
 
(30 intermediate revisions by the same user not shown)
Line 1: Line 1:
Microarchitecture is defined as those elements of a CPU design which are, to first order, invisible to application programmers (ie, not part of the instruction set). Those elements which are visible comprise the [[architecture]].
Microarchitecture is defined as those elements of a CPU design which are, to first order, invisible to application programmers (ie, not part of the instruction set). Those elements which are visible comprise the [[architecture]].
==[[:CATEGORY: x86|x86]] μarchitectures==
==[[:CATEGORY: x86|x86]] μarchitectures==
'''FIXME: add early clones (NEC V20/V30, etc)'''
'''FIXME: add early clones (NEC V20/V30, etc), AMD, VIA, Cyrix etc...'''<br/>
'''FIXME: add variants (80188, embedded 80386's, etc)'''
{| border="1"
{| border="1"
! Microarchitecture
! Name
! Maker
! Maker
! Date
! Date
Line 11: Line 12:
! Addr bits
! Addr bits
! Clock(s)
! Clock(s)
! New instructions
! ISA
! Notes
! Notes
|-
|-
Line 21: Line 22:
| 16
| 16
| 20
| 20
| 4.77--10 MHz
| 4--10 MHz
| x86-16
| x86-16
| Segmented memory
| Segmented memory<br/>Optional 80-bit 8087 FP coprocessor
Optional 80-bit 8087 FP coprocessor
|-
|-
| 8088
| 8088
Line 34: Line 34:
| 16/8
| 16/8
| 20
| 20
| 4.77--10 MHz
| 5--8 MHz
| none
| x86-16
| Designed for use with 8-bit externals
| Designed for use with 8-bit externals<br/>Used in IBM PC-5150 / XT-5160 / PCjr-4860
Used in IBM PC-5150 / XT-5160 / PCjr-4860
|-
|-
| 80186
| 80186
| Intel
| Intel
| 1982
| 1980
| 2.6 μm
| 2.6 μm
| 68-pin PLCC
| 68-pin PLCC<br/>68-pin PGA<br/>100-pin PQFP
68-pin PGA
100-pin PQFP
| 16
| 16
| 20
| 20
| 6--25 MHz
| 6--25 MHz
| 8086-2 (ENTER/LEAVE, PUSHA/POPA, INS/OUTS)
| 8086-2
| Designed for embedded systems (clock, PIC, DMA on-die)
| Designed for embedded systems<br/>(clock, PIC, DMA on-die)
|-
|-
| 80286
| 80286
Line 56: Line 53:
| 1982
| 1982
| 1.5 μm
| 1.5 μm
| 68-pin PGA
| 68-pin PGA<br/>68-pin CLCC<br/>68-pin PLCC
68-pin CLCC
68-pin PLCC
| 16
| 16
| 24
| 24
| 4--12.5 MHz
| 4--12.5 MHz
| 8086-2
| 8086-2<br/>+ PVAM
| Introduced protected mode
| Introduced protected mode/MMU<br/>Used in the IBM AT-5170
Used in the IBM AT-5170
|-
| 80386-DX
| Intel
| 1985
| CHMOS III 1.5 µm<br/>CHMOS IV 1 µm
| 132-pin PGA<br/>132-pin PQFP
| 32
| 32
| 12--33 MHz
| x86-32
| Introduced paging, VM86, flat memory<br/>Optional 80287 or 80387 FP<br/>Support for external caches
|-
| 80386-SX
| Intel
| 1988
| CHMOS IV 1 µm
| PQFP-100<br/>PGA-88
| 32/16
| 24
| 16--33 MHz
| x86-32
| Optional 80387SX (16-bit) FP
|-
| 80376
| Intel
| 1989
| CHMOS IV 1 µm
| PQFP-100<br/>PGA-88
| 32/16
| 24
| 16--20
| x86-32
| Protected mode '''only'''<br/>No paging<br/>Optional 80387SX (16-bit) FP
|-
| 80386-SL
| Intel
| 1990
| CHMOS IV 1 µm
| PQFP-132
| 32/16
| 24
| 20--25 MHz
| x86-32
| Designed for mobile/low-power systems<br/>Added [http://en.wikipedia.org/wiki/System_Management_Mode System Management Mode]
|-
|-
|}
|}
===Instruction sets===
* x86-16: The granddaddy of 'em all
* 8086-2: Added ENTER/LEAVE, PUSHA/POPA, INS/OUTS
* PVAM: Added Protected Virtual Address Mode instructions (L/S*DT, etc)
===Physical Packages===
* DIP (dual in-line package): 2 parallel rows of pins
* PGA (pin grid array): Regularly-spaced pins in rectangular geometry
* CLCC (ceramic leadless chip carrier): Regularly-spaced metallized castellations in rectangular geometry
* PLCC (plastic lead chip carrier): Regularly-spaced J-leads in rectangular geometry, surface- or package-mounted
* PQFP (plastic quad flat pack): Regularly-spaced side leads in rectangular geometry, designed for surface mounting


==References==
* [http://www.pcmech.com/article/a-cpu-history/ A CPU History], David Risley, PCMECH, 2001-03-23
* [http://portfolio.ecs.soton.ac.uk/29/1/Intel_History.pdf An Outline of Developments in Intel CPU Architecture], Benjamin MJ Hodgson, University of Southampton, 2007-03-14
* [http://www.redhill.net.au/c/c-1.html The Red Hill CPU Guide], Red Hill Technology
* [[Media:8088 datasheet.pdf|Intel 8088 Datasheet]], Intel, 1990-08
* [http://www.ragestorm.net/downloads/286intel.txt Intel 80286 Programmer's Reference Manual], Intel, 1987
* [[Media:Intel_80387_Datasheet.PDF|Intel 80376 Datasheet]], Intel, 1990-12
* [[Media:Amd80186.pdf|80186 AMD Datasheet]], Advanced Micro Devices, 1991-11-01
* [http://www.intersil.com/design/packages/hermetic.asp Hermetic Package information], Intersil
* [http://www.evergreensemiconductor.com/products/packages Packages], Evergreen Semiconductor Materials
* [http://www.cpu-world.com/CPUs/ Microprocessor/Co-processor/Microcontroller families], CPU World
* [http://www.pagetable.com/?p=460 The Intel 80376 – a Legacy-Free i386 (with a Twist!)], pagetable.com, 2010-11-16
[[CATEGORY: Hardware]]
[[CATEGORY: Hardware]]
[[CATEGORY: x86]]
[[CATEGORY: x86]]

Latest revision as of 01:31, 31 August 2012

Microarchitecture is defined as those elements of a CPU design which are, to first order, invisible to application programmers (ie, not part of the instruction set). Those elements which are visible comprise the architecture.

x86 μarchitectures

FIXME: add early clones (NEC V20/V30, etc), AMD, VIA, Cyrix etc...
FIXME: add variants (80188, embedded 80386's, etc)

Name Maker Date Process (min) Package ALU/data bits Addr bits Clock(s) ISA Notes
8086 Intel 1978 3.2 μm 40-pin DIP 16 20 4--10 MHz x86-16 Segmented memory
Optional 80-bit 8087 FP coprocessor
8088 Intel 1979 3.2 μm (?) 40-pin DIP

44-pin PLCC

16/8 20 5--8 MHz x86-16 Designed for use with 8-bit externals
Used in IBM PC-5150 / XT-5160 / PCjr-4860
80186 Intel 1980 2.6 μm 68-pin PLCC
68-pin PGA
100-pin PQFP
16 20 6--25 MHz 8086-2 Designed for embedded systems
(clock, PIC, DMA on-die)
80286 Intel 1982 1.5 μm 68-pin PGA
68-pin CLCC
68-pin PLCC
16 24 4--12.5 MHz 8086-2
+ PVAM
Introduced protected mode/MMU
Used in the IBM AT-5170
80386-DX Intel 1985 CHMOS III 1.5 µm
CHMOS IV 1 µm
132-pin PGA
132-pin PQFP
32 32 12--33 MHz x86-32 Introduced paging, VM86, flat memory
Optional 80287 or 80387 FP
Support for external caches
80386-SX Intel 1988 CHMOS IV 1 µm PQFP-100
PGA-88
32/16 24 16--33 MHz x86-32 Optional 80387SX (16-bit) FP
80376 Intel 1989 CHMOS IV 1 µm PQFP-100
PGA-88
32/16 24 16--20 x86-32 Protected mode only
No paging
Optional 80387SX (16-bit) FP
80386-SL Intel 1990 CHMOS IV 1 µm PQFP-132 32/16 24 20--25 MHz x86-32 Designed for mobile/low-power systems
Added System Management Mode

Instruction sets

  • x86-16: The granddaddy of 'em all
  • 8086-2: Added ENTER/LEAVE, PUSHA/POPA, INS/OUTS
  • PVAM: Added Protected Virtual Address Mode instructions (L/S*DT, etc)

Physical Packages

  • DIP (dual in-line package): 2 parallel rows of pins
  • PGA (pin grid array): Regularly-spaced pins in rectangular geometry
  • CLCC (ceramic leadless chip carrier): Regularly-spaced metallized castellations in rectangular geometry
  • PLCC (plastic lead chip carrier): Regularly-spaced J-leads in rectangular geometry, surface- or package-mounted
  • PQFP (plastic quad flat pack): Regularly-spaced side leads in rectangular geometry, designed for surface mounting

References