Intel Instruction Set Extensions

Total Page:16

File Type:pdf, Size:1020Kb

Intel Instruction Set Extensions Intel instruction set extensions Continue From WikiChip extensions - x86 X86 ISA has gone through numerous iterations that have added new instructions for specific tasks. These collections of new instructions are grouped into extensions. Different microprocessor models have different levels of support for certain extensions. The X86 ISA review has been developed over forty years. Various extensions have been proposed and implemented by various vendors to improve the functionality of the basic set of instructions. Timeline (edit) Experimental extensions (edit) Reverse compatibility (edit) Generally speaking, all extensions are supported from their introductory date to today. The extensions introduced by AMD K6-2 (i.e. 3DNow! and E3DNow!) and those introduced by the AMD bulldozer (i.e. FMA4, XOP, LWP, and then TBM) are out of date. Note that zen, at least for the first step, still offer FMA4 support, even if it is not specified by CPUID. See also extensions to the x86 microprocessor set architecture for Microprocessors from Intel and AMD Advanced Vector Extensions (AVX, also known as Sandy Bridge New Extensions) are extensions to the x86 microprocessor set architecture for microprocessors from Intel and AMD, proposed by Intel in March 2008 and first supported by Intel with the Sandy Bridge processor in the first quarter of 2011, followed by AMD with the delivery of the Bulldozer processor in the third quarter of 2011. AVX provides new features, new instructions and a new coding scheme. AVX2 (also known as Haswell New Instructions) expands most additional commands to 256 bits and introduces fusion multiplication (FMA) operations. They were first supported by Intel with the Haswell processor, which comes in 2013. The AVX-512 extends the AVX to 512-bit support with a new EVEX prefix proposed by Intel in July 2013 and first supported by Intel with the Knights Landing processor, which was shipped in 2016. AVX uses sixteen YMM registers to perform a single instruction on multiple parts of the data (see SIMD). Each YMM register can hold and do simultaneous operations (mathematics) on: eight 32-bit single-point floating dots or four 64-bit two-point floating point numbers. The width of THE SIMD registers has been increased from 128 bits to 256 bits and renamed from XMM0-XMM7 to YMM0-YMM7 (in x86-64 mode, from XMM0-XMM15 to YMM0-YMM15). Outdated SSE instructions can still be used via the VEX set-top box to work on the lower 128 bits of YMM registers. The AVX-512 registration scheme as an extension from AVX (YMM0-YMM15) and SSE (XMM0-XMM15) registers 511 256 255 128 127 0 MMM0 YMM0 MMMM1 YMM1 YMM1 XMM1 MM2 YMM2 MMM3 YMM3 X3MMMM XMM4 MM5 YMM5 XMM5 MMM5 MMM6 YMM6 XMM6 MM7 YMM7 XMM7 MM8 YMM8 MM8 MM9 XMM9 MMMM9 MMM10 YMM10 MMM10 MM11 YMM11 XMM11 XMM1 1MM1MM1 YMM12 YMM12 XMM12MM12MM12MM12MM12MM12MM12MM12MM12MM1 МММ14 YMM14 XMM14 МММ15 YMM15 XMM15 МММ16 YMM16 YMM16 MMM17 YMM17 XMM17 MM18 YMM18 XMM18 MM19 YMM19 XMM19 MM20 YMM20 XMM20 MM21 HM21 YMM21 XMM21 MM22MM22 XMM222MM22 YMM23 XMM23 XMM23 MM23 MM23 MMM24 YMM24 XMM22MM22 YMM25 XMM25 MMM26 YMM26 XMM26 MM27 YMM27 XMM27 MMM28 YMM28 XMM28 MM29 YMM29 YMM29 XMM2 9 YMM30 YMM30 XMM30 NOMM31 YMM1 XMM31 AVX presents a three-series SIMD training format where the appointments register differ from two sources. For example, the SSE instruction using the usual two-go form a a b can now use an indestructible three-strong form c q a b, preserving both sources of operands. The three-part AVX format is limited to SIMD operands (YMM) and does not include instructions with general registers (e.g. EAX). This support will be available for the first time in AVX2. The SIMD memory alignment requirement has been relaxed. The new VEX coding scheme introduces a new set of code prefixes that expands the opcode space, allows instructions to have more than two opernds and allows SIMD vector registers to be longer than 128 bits. VeX prefix can also be used on outdated SSE instructions, giving them a three-go form, and forcing them to interact more effectively with AVX instructions without the need for VSERUPPER and VEEROALL. The AVX instructions support both 128-bit and 256-bit SIMD. 128-bit versions can be useful for improving old code without the need to expand vectorization, and avoid punishment for moving from SSE to AVX, they are also faster on some early AMD AVX implementations. This mode is sometimes known as the AVX-128. New Instructions These AVX instructions are in addition to those that are 256-bit extensions of outdated 128-bit SSE instructions; Most of them can be worked on as 128-bit and 256-bit operands. Instruction Description VBROADCASTSSS, VBROADCASTSD, VBROADCASTF128 Copy 32-bit, 64-bit or 128-bit ram operands for all XMM or YMM vector register elements. VINSERTF128 replaces either the bottom half or the top half of the 256-bit YMM register with a 128-bit source. The other half of the destination remains unchanged. VEXTRACTF128 Removes either the bottom half or the top half of the 256-bit YMM register and replicates the value to a 128-bit opera. VMASKMOVPS, VMASKMOVPD Conditionally reads any number of items from SIMD vector memory to the destination register, leaving the remaining vector elements unread and placing the relevant elements in the destination register to zero. In addition, conditionally records any number of elements from the SIMD operand vector register to the operand vector memory, leaving the rest of the memory opera intact. On the AMD Jaguar processor architecture, this operand memory guide takes more than 300 hour cycles when the mask is zero, in which case the instruction should do nothing. This is be a design flaw. VPERMILPS, VPERMILPD Permute in-lane. Shuffle 32-bit or 64-bit vector elements of one entrance opera. It's in a 256-bit instruction band, which means they work on all 256 bits with two separate 128-bit shuffling, so they can't shuffle through 128-bit bands. VPERM2F128 Shuffle four 128-bit vector elements from two 256-bit original operas in the opera 256-bit destination, with an immediate constant as a selector. SEE ALSO Set all YMM registers to zero and mark them as unused. Used when switching between 128-bit usage and 256-bit use. TAKERURPER Set the top half of all YMM registers to zero. Used when switching between 128-bit usage and 256-bit use. Processors with Intel Sandy Bridge AVX processors, Sandy Bridge E 1 2011 processors, Ivy Bridge E processors, Ivy Bridge E processors, Haswell processors for the third quarter of 2013, Haswell E processors for 2013, Broadwell processors for 2014, Skylake processors for the fourth quarter of 2014, Broadwell E processors for the 3rd quarter of 2015, Broadwell E processors for the 3rd quarter of 2015, Broadlake Kaby Lake processors for 2016, Skylake-X processors for 2016/ No.1 2017 (desktop/mobile) Skylake-X processors, Coffee Lake processors for 2nd quarter 2017, Cannon Lake processors for 4 2017 quarter, Whisky Lake Processors for 2018, Cascade Lake processors for the third quarter of 2018, Ice Lake processors for the fourth quarter of 2018, 3rd quarter 201 201 Comet Lake Processor (branded Core only) , Tiger Lake 2019 processor, Rocket Lake 2020 processor, 2021 Alder Lake processor, 2021 Not all processors from the listed families support AVX. Typically, Core i3/i5/i7 processors support them, while Pentium and Celeron processors don't. AMD: Jaguar-based processors and new Puma-based processors and new Heavy Equipment bulldozer-based processors, 4 2011-based 2011 processors, Steamroller 2012- based processors, 2014 excavator-based processors and newer zen-based processors in 2015, zen-1 2017 processors, 2018-based processors, zen-3 processors, 2020 issues related to compatibility between future Intel and AMD processors are discussed as part of the XOP set of instructions. VIA: Nano quadcore Eden X4 zhaoxing: WuDaoKou-based processors (KX-5000 and KH-20000) compiler and support collector Absoft supports with the mavx flag. The Free Pascal compiler supports THE AVX and AVX2 with -CfAVX and -CfAVX2 switches from version 2.7.1. GNU Assembler 'inline assembly (GAS) features support these instructions (available through GCC), as do Intel's primitives and Intel's inline builder (closely compatible with GAS, albeit more common in handling local links within the inline code). GCC, starting with 4.6 there was a 4.3 branch with some support) and the Intel Compiler Suite, starting with version 11.1 support for AVX. The Open64 4.5.1 version supports the AVX with the mavx flag. PathScale is supported through the -mavx flag. The Vector Pascal compiler supports AVX through the -cpuAVX32 flag. Visual Visual 2010/2012 compiler supports AVX through internal and /arch:AVX switch. Other collectors such as the MASM VS2010 version, YASM, AVX operating system support adds a new register state through the 256-bit wide YMM register file, so clear operating system support is required to properly save and restore extended AVX registers between context switches. The following versions of the operating system support AVX: DragonFly BSD: support was added in early 2013. FreeBSD: Support added to the January 21, 2012 patch, which was included in the 9.1 Linux stable release: supported from the 2.6.30 kernel version, 17, released on June 9, 2009. macOS: Support is added to the 10.6.8 (Snow Leopard) update released on June 23, 2011. OpenBSD: Support added on March 21, 2015. Solaris: supported in Solaris 10 Update 10 and Solaris 11 Windows: supported in Windows 7 SP1, Windows Server 2008 R2 SP1, Windows 8, Windows 10 Windows Server 2008 R2 SP1 with Hyper-V requires a hot fix to support AMD AVX (Opteron 6200 and 4200 series), KB2568088 Advanced Vector Extensions 2 Advanced Vector Extensions 2 (AVX2), also known as Haswell New Instructions, is an extension of the AVX set of instructions presented in the micro-architecture Intel Haswell.
Recommended publications
  • A Superscalar Out-Of-Order X86 Soft Processor for FPGA
    A Superscalar Out-of-Order x86 Soft Processor for FPGA Henry Wong University of Toronto, Intel [email protected] June 5, 2019 Stanford University EE380 1 Hi! ● CPU architect, Intel Hillsboro ● Ph.D., University of Toronto ● Today: x86 OoO processor for FPGA (Ph.D. work) – Motivation – High-level design and results – Microarchitecture details and some circuits 2 FPGA: Field-Programmable Gate Array ● Is a digital circuit (logic gates and wires) ● Is field-programmable (at power-on, not in the fab) ● Pre-fab everything you’ll ever need – 20x area, 20x delay cost – Circuit building blocks are somewhat bigger than logic gates 6-LUT6-LUT 6-LUT6-LUT 3 6-LUT 6-LUT FPGA: Field-Programmable Gate Array ● Is a digital circuit (logic gates and wires) ● Is field-programmable (at power-on, not in the fab) ● Pre-fab everything you’ll ever need – 20x area, 20x delay cost – Circuit building blocks are somewhat bigger than logic gates 6-LUT 6-LUT 6-LUT 6-LUT 4 6-LUT 6-LUT FPGA Soft Processors ● FPGA systems often have software components – Often running on a soft processor ● Need more performance? – Parallel code and hardware accelerators need effort – Less effort if soft processors got faster 5 FPGA Soft Processors ● FPGA systems often have software components – Often running on a soft processor ● Need more performance? – Parallel code and hardware accelerators need effort – Less effort if soft processors got faster 6 FPGA Soft Processors ● FPGA systems often have software components – Often running on a soft processor ● Need more performance? – Parallel
    [Show full text]
  • SIMD Extensions
    SIMD Extensions PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 12 May 2012 17:14:46 UTC Contents Articles SIMD 1 MMX (instruction set) 6 3DNow! 8 Streaming SIMD Extensions 12 SSE2 16 SSE3 18 SSSE3 20 SSE4 22 SSE5 26 Advanced Vector Extensions 28 CVT16 instruction set 31 XOP instruction set 31 References Article Sources and Contributors 33 Image Sources, Licenses and Contributors 34 Article Licenses License 35 SIMD 1 SIMD Single instruction Multiple instruction Single data SISD MISD Multiple data SIMD MIMD Single instruction, multiple data (SIMD), is a class of parallel computers in Flynn's taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data simultaneously. Thus, such machines exploit data level parallelism. History The first use of SIMD instructions was in vector supercomputers of the early 1970s such as the CDC Star-100 and the Texas Instruments ASC, which could operate on a vector of data with a single instruction. Vector processing was especially popularized by Cray in the 1970s and 1980s. Vector-processing architectures are now considered separate from SIMD machines, based on the fact that vector machines processed the vectors one word at a time through pipelined processors (though still based on a single instruction), whereas modern SIMD machines process all elements of the vector simultaneously.[1] The first era of modern SIMD machines was characterized by massively parallel processing-style supercomputers such as the Thinking Machines CM-1 and CM-2. These machines had many limited-functionality processors that would work in parallel.
    [Show full text]
  • Operating Guide
    Operating Guide EPIA-P830 Mainboard EPIA-P830 Operating Guide Table of Contents Table of Contents .......................................................................................................................................................................................... i VIA EPIA-P830 overview.............................................................................................................................................................................1 VIA EPIA-P830 layout ..................................................................................................................................................................................2 VIA EPIA-P830 specifications ...................................................................................................................................................................3 VIA EPIA-P830 processor SKUs ...............................................................................................................................................................4 VIA VX900 chipset overview.....................................................................................................................................................................5 VIA EPIA-P830 and P830-A board dimensions.................................................................................................................................6 VIA P830-B board dimensions.................................................................................................................................................................7
    [Show full text]
  • Apparecchiature Medicali: Il Ruolo Delle Nanotecnologie
    EO Medical APPAreCCHIAture MeDICALI: IL ruoLo DeLLe NANoteCNoLoGIe IN queSto NuMero III Mercati/Attualità VIII Stanford, in fase di sviluppo una ‘pelle elettronica’ X Dialisi direttamente a casa XII Affrontare richieste ad alte prestazioni per la visualizzazione di immagini mediche XIV Criteri di scelta per alimentatori conformi a Iec60601-1 3a edizione XVII News Foto: Future Electronics Murata MEMS Solutions for Medical and Healthcare Enabling MEMS Sensing Improved Care Elements (Dies) SCG12S and SCG14S In medical and healthcare applications Vertical Accelerometer Elements (Dies) Murata’s medical MEMS sensors enable • Size 3mm x 2.12mm x 1.95 or 1.25mm • Various measuring ranges possible (1 - 12g) improved care and a better quality of life • Proven capacitive 3D-MEMS Technology for patients and elderly people. Medical sensors increase the intelligence of life supporting SCG10X and SCG10Z Horizontal Accelerometer Elements (Dies) transplants, and they can be used in new types of patient • Size SCG10X: 2.55mm x 2.95mm x 1.91mm monitoring applications that allow patients to lead more • Size SCG10Z: 1.50mm x 1.70mm x 1.83mm independent lives. Detecting signals triggered by symptoms • Various measuring ranges possible (1 - 12g) • Proven capacitive 3D-MEMS Technology helps optimize medication and prevent serious attacks of illness. Murata’s unique MEMS design, which combines single SCB10H crystal silicon and glass, ensures exceptional reliability, Pressure Sensor Elements (Dies) unprecedented accuracy and excellent stability over time. The • Size 1.4mm x 1.4mm x 0.85mm • High pressure shock survival (> 200 bar) power requirements of these medical sensors are extremely • Various pressure ranges possible (1.2 - 25 bar) low, which gives them a significant advantage in small • Proven capacitive 3D-MEMS technology battery-operated devices.
    [Show full text]
  • Professor Won Woo Ro, School of Electrical and Electronic Engineering Yonsei University the Intel® 4004 Microprocessor, Introdu
    Professor Won Woo Ro, School of Electrical and Electronic Engineering Yonsei University The 1st Microprocessor The Intel® 4004 microprocessor, introduced in November 1971 An electronics revolution that changed our world. There were no customer‐ programmable microprocessors on the market before the 4004. It propelled software into the limelight as a key player in the world of digital electronics design. 4004 Microprocessor Display at New Intel Museum A Japanese calculator maker (Busicom) asked to design: A set of 12 custom logic chips for a line of programmable calculators. Marcian E. "Ted" Hoff Recognized the integrated circuit technology (of the day) had advanced enough to build a single chip, general purpose computer. Federico Faggin to turn Hoff's vision into a silicon reality. (In less than one year, Faggin and his team delivered the 4004, which was introduced in November, 1971.) The world's first microprocessor application was this Busicom calculator. (sold about 100,000 calculators.) Measuring 1/8 inch wide by 1/6 inch long, consisting of 2,300 transistors, Intel’s 4004 microprocessor had as much computing power as the first electronic computer, ENIAC. 2 inch 4004 and 12 inch Core™2 Duo wafer ENIAC, built in 1946, filled 3000‐cubic‐ feet of space and contained 18,000 vacuum tubes. The 4004 microprocessor could execute 60,000 operations per second Running frequency: 108 KHz Founders wanted to name their new company Moore Noyce. However the name sounds very much similar to “more noise”. "Only the paranoid survive". Moore received a B.S. degree in Chemistry from the University of California, Berkeley in 1950 and a Ph.D.
    [Show full text]
  • Multiprocessing Contents
    Multiprocessing Contents 1 Multiprocessing 1 1.1 Pre-history .............................................. 1 1.2 Key topics ............................................... 1 1.2.1 Processor symmetry ...................................... 1 1.2.2 Instruction and data streams ................................. 1 1.2.3 Processor coupling ...................................... 2 1.2.4 Multiprocessor Communication Architecture ......................... 2 1.3 Flynn’s taxonomy ........................................... 2 1.3.1 SISD multiprocessing ..................................... 2 1.3.2 SIMD multiprocessing .................................... 2 1.3.3 MISD multiprocessing .................................... 3 1.3.4 MIMD multiprocessing .................................... 3 1.4 See also ................................................ 3 1.5 References ............................................... 3 2 Computer multitasking 5 2.1 Multiprogramming .......................................... 5 2.2 Cooperative multitasking ....................................... 6 2.3 Preemptive multitasking ....................................... 6 2.4 Real time ............................................... 7 2.5 Multithreading ............................................ 7 2.6 Memory protection .......................................... 7 2.7 Memory swapping .......................................... 7 2.8 Programming ............................................. 7 2.9 See also ................................................ 8 2.10 References .............................................
    [Show full text]
  • Communication Theory II
    Microprocessor (COM 9323) Lecture 2: Review on Intel Family Ahmed Elnakib, PhD Assistant Professor, Mansoura University, Egypt Feb 17th, 2016 1 Text Book/References Textbook: 1. The Intel Microprocessors, Architecture, Programming and Interfacing, 8th edition, Barry B. Brey, Prentice Hall, 2009 2. Assembly Language for x86 processors, 6th edition, K. R. Irvine, Prentice Hall, 2011 References: 1. Computer Architecture: A Quantitative Approach, 5th edition, J. Hennessy, D. Patterson, Elsevier, 2012. 2. The 80x86 Family, Design, Programming and Interfacing, 3rd edition, Prentice Hall, 2002 3. The 80x86 IBM PC and Compatible Computers, Assembly Language, Design, and Interfacing, 4th edition, M.A. Mazidi and J.G. Mazidi, Prentice Hall, 2003 2 Lecture Objectives 1. Provide an overview of the various 80X86 and Pentium family members 2. Define the contents of the memory system in the personal computer 3. Convert between binary, decimal, and hexadecimal numbers 4. Differentiate and represent numeric and alphabetic information as integers, floating-point, BCD, and ASCII data 5. Understand basic computer terminology (bit, byte, data, real memory system, protected mode memory system, Windows, DOS, I/O) 3 Brief History of the Computers o1946 The first generation of Computer ENIAC (Electrical and Numerical Integrator and Calculator) was started to be used based on the vacuum tube technology, University of Pennsylvania o1970s entire CPU was put in a single chip. (1971 the first microprocessor of Intel 4004 (4-bit data bus and 2300 transistors and 45 instructions) 4 Brief History of the Computers (cont’d) oLate 1970s Intel 8080/85 appeared with 8-bit data bus and 16-bit address bus and used from traffic light controllers to homemade computers (8085: 246 instruction set, RISC*) o1981 First PC was introduced by IBM with Intel 8088 (CISC**: over 20,000 instructions) microprocessor oMotorola emerged with 6800.
    [Show full text]
  • Evolution Des X86befehlssatzes Und Seiner Erweiterungen
    Technische Universität Dresden Evolution des x86-Befehlssatzes und seiner Erweiterungen Peter Ebert Dresden, 15.07.2009 Einführung · Überblick & Historie · Konkurrierende Befehlssatzarchitekture n · Befehlsarten · Registerstruktur · x87 15.07.2009 Evolution des x86-Befehlssatzes und seiner Erweiterungen 2/24 Übersicht & Historie · IBM 1981: erster PC · x86-Architektur verwendet einen CISC-Befehlssatz · alle Prozessoren seit dem Pentium Pro sind aber hybride CISC/RISC-Prozessoren 1978 1. Gen.: 8086 1982 2. Gen.: 80286 1985 3. Gen.: 80386 IA-32 1989 4. Gen.: 80486 1993 5. Gen.: Pentium MMX 1995 6. Gen.: P2, P3 3DNow!, SSE 1999 7. Gen.: Athlon (XP), P4 SSE2 2003 8. Gen.: Opteron x86-64 15.07.2009 Evolution des x86-Befehlssatzes und seiner Erweiterungen 3/24 Konkurrierende Befehlssatzarchitekturen · ARM (Acorn Risc Machine) RISC-Architektur 1983 vom englischen Computerhersteller Acorn. Einsatz vor allem im eingebetteten Bereich z.B.: Mobiltelefonen, PDAs, Routern, iPod, iPhone, Internet Tablets von Nokia und den neueren PDAs von ASUS, Konsolen wie der Nintendo DS, der GP2X und die Pandora. · PowerPC (Performance optimization with enhanced RISC Performance Chip) 1991 durch ein Konsortium aus Apple, IBM und Motorola. z.B.: Nintendo GameCube und Wii, Xbox 360 von Microsoft, Playstation 3 von Sony und in vielen eingebetteten Systemen. Auch benutzen PKW und Produkte in der Luft- und Raumfahrt · SPARC (Scalable Processor ARChitecture) Von Sun Microsystems entwickelt ab 1985 und vermarktete ab 1987, offene Architektur, 1995 64-Bit-Erweiterung (UltraSparc) 15.07.2009 Evolution des x86-Befehlssatzes und seiner Erweiterungen 4/24 Befehlsarten · Transferbefehlen werden Daten innerhalb des Systems bewegt. Die Daten werden dabei nur kopiert, d. h. bleiben an ihrem Quellort unverändert.
    [Show full text]
  • Computer Architectures an Overview
    Computer Architectures An Overview PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 25 Feb 2012 22:35:32 UTC Contents Articles Microarchitecture 1 x86 7 PowerPC 23 IBM POWER 33 MIPS architecture 39 SPARC 57 ARM architecture 65 DEC Alpha 80 AlphaStation 92 AlphaServer 95 Very long instruction word 103 Instruction-level parallelism 107 Explicitly parallel instruction computing 108 References Article Sources and Contributors 111 Image Sources, Licenses and Contributors 113 Article Licenses License 114 Microarchitecture 1 Microarchitecture In computer engineering, microarchitecture (sometimes abbreviated to µarch or uarch), also called computer organization, is the way a given instruction set architecture (ISA) is implemented on a processor. A given ISA may be implemented with different microarchitectures.[1] Implementations might vary due to different goals of a given design or due to shifts in technology.[2] Computer architecture is the combination of microarchitecture and instruction set design. Relation to instruction set architecture The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer. The ISA includes the execution model, processor registers, address and data formats among other things. The Intel Core microarchitecture microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA. The microarchitecture of a machine is usually represented as (more or less detailed) diagrams that describe the interconnections of the various microarchitectural elements of the machine, which may be everything from single gates and registers, to complete arithmetic logic units (ALU)s and even larger elements.
    [Show full text]
  • SMBIOS Specification
    1 2 Document Identifier: DSP0134 3 Date: 2019-10-31 4 Version: 3.4.0a 5 System Management BIOS (SMBIOS) Reference 6 Specification Information for Work-in-Progress version: IMPORTANT: This document is not a standard. It does not necessarily reflect the views of the DMTF or its members. Because this document is a Work in Progress, this document may still change, perhaps profoundly and without notice. This document is available for public review and comment until superseded. Provide any comments through the DMTF Feedback Portal: http://www.dmtf.org/standards/feedback 7 Supersedes: 3.3.0 8 Document Class: Normative 9 Document Status: Work in Progress 10 Document Language: en-US 11 System Management BIOS (SMBIOS) Reference Specification DSP0134 12 Copyright Notice 13 Copyright © 2000, 2002, 2004–2019 DMTF. All rights reserved. 14 DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and systems 15 management and interoperability. Members and non-members may reproduce DMTF specifications and 16 documents, provided that correct attribution is given. As DMTF specifications may be revised from time to 17 time, the particular version and release date should always be noted. 18 Implementation of certain elements of this standard or proposed standard may be subject to third party 19 patent rights, including provisional patent rights (herein "patent rights"). DMTF makes no representations 20 to users of the standard as to the existence of such rights, and is not responsible to recognize, disclose, 21 or identify any or all such third party patent right, owners or claimants, nor for any incomplete or 22 inaccurate identification or disclosure of such rights, owners or claimants.
    [Show full text]
  • ECE 4750 Computer Architecture Topic 1: Microcoding
    ECE 4750 Computer Architecture Topic 1: Microcoding Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece4750 slide revision: 2013-09-01-10-42 Instruction Set Architecture Microcoded MIPS Processor Microcoding Discussion & Trends Agenda Instruction Set Architecture IBM 360 Instruction Set MIPS Instruction Set ISA to Microarchitecture Mapping Microcoded MIPS Processor Microcoded MIPS Microarchitecture #1 Microcoded MIPS Microarchitecture #2 Microcoding Discussion and Trends ECE 4750 T01: Microcoding 2 / 45 • Instruction Set Architecture • Microcoded MIPS Processor Microcoding Discussion & Trends Instruction Set Architecture I Contract between software & hardware Application Algorithm I Typically specified as all of the Programming Language programmer-visible state (registers & Operating System memory) plus the semantics of instructions Instruction Set Architecture Microarchitecture that operate on this state Register-Transfer Level IBM 360 was first line of machines to Gate Level I Circuits separate ISA from microarchitecture and Devices implementation Physics ... the structure of a computer that a machine language programmer must understand to write a correct (timing independent) program for that machine. — Amdahl, Blaauw, Brooks, 1964 ECE 4750 T01: Microcoding 3 / 45 • Instruction Set Architecture • Microcoded MIPS Processor Microcoding Discussion & Trends Compatibility Problem at IBM I By early 1960’s, IBM had several incompatible lines of computers! . Defense : 701 . Scientific : 704, 709, 7090, 7094 . Business : 702, 705, 7080 . Mid-Sized Business : 1400 . Decimal Architectures : 7070, 7072, 7074 I Each system had its own: . Instruction set . I/O system and secondary storage (tapes, drums, disks) . Assemblers, compilers, libraries, etc . Market niche ECE 4750 T01: Microcoding 4 / 45 • Instruction Set Architecture • Microcoded MIPS Processor Microcoding Discussion & Trends IBM 360: A General-Purpose Register Machine I Processor State .
    [Show full text]
  • Architecture of VIA Isaiah (NANO)
    Architecture of VIA Isaiah (NANO) Jan Davidek dav053 2008/2009 1. Introduction to the VIA Nano™ Processor The last few years have seen significant changes within the microprocessor industry, and indeed the entire IT landscape. Much of this change has been driven by three factors: the increasing focus of both business and consumer on energy efficiency, the rise of mobile computing, and the growing performance requirements of computing devices in a fast expanding multimedia environment. In the microprocessor space, the traditional race for ever faster processing speeds has given way to one that factors in the energy used to achieve those speeds. Performance per watt is the new metric by which quality is measured, with all the major players endeavoring to increase the performance capabilities of their products, while reducing the amount of energy that they require. Based on the recently announced VIA Isaiah Architecture, the new VIA Nano™ processor is a next-generation x86 processor that sets the standard in power efficiency for tomorrow’s immersive internet experience. With advanced power and thermal management features helping to make it the world’s most energy efficient x86 processor architecture, the VIA Nano processor also boasts ultra modern functionality, high-performance computation and media processing, and enhanced VIA PadLock™ hardware security features. Augmenting the VIA C7® family of processors, the VIA Nano processor’s pin compatibility extends the VIA processor platform portfolio, enabling OEMs to offer a wider range of products for different market segments, and furnishing them with the ability to upgrade device performance without incurring the time and cost expense associated with system redesign.
    [Show full text]