GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.0.0 24 March 2014

Total Page:16

File Type:pdf, Size:1020Kb

GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.0.0 24 March 2014 GNU MP The GNU Multiple Precision Arithmetic Library Edition 6.0.0 24 March 2014 by Torbj¨orn Granlund and the GMP development team This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.0.0. Copyright 1991, 1993-2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual”, and with the Back-Cover Texts being “You have freedom to copy and modify this GNU Manual, like GNU software”. A copy of the license is included in Appendix C [GNU Free Documentation License], page 127. i Table of Contents GNU MP Copying Conditions ................................... 1 1 Introduction to GNU MP .................................... 2 1.1 How to use this Manual ........................................................... 2 2 Installing GMP ................................................ 3 2.1 Build Options ..................................................................... 3 2.2 ABI and ISA ...................................................................... 8 2.3 Notes for Package Builds ......................................................... 11 2.4 Notes for Particular Systems ..................................................... 12 2.5 Known Build Problems ........................................................... 14 2.6 Performance optimization ........................................................ 15 3 GMP Basics .................................................. 17 3.1 Headers and Libraries ............................................................ 17 3.2 Nomenclature and Types ......................................................... 17 3.3 Function Classes ................................................................. 18 3.4 Variable Conventions ............................................................. 18 3.5 Parameter Conventions ........................................................... 19 3.6 Memory Management ............................................................ 20 3.7 Reentrancy....................................................................... 20 3.8 Useful Macros and Constants ..................................................... 21 3.9 Compatibility with older versions ................................................. 21 3.10 Demonstration programs ........................................................ 21 3.11 Efficiency ....................................................................... 22 3.12 Debugging ...................................................................... 24 3.13 Profiling ........................................................................ 26 3.14 Autoconf........................................................................ 27 3.15 Emacs .......................................................................... 28 4 Reporting Bugs............................................... 29 5 Integer Functions............................................. 30 5.1 Initialization Functions ........................................................... 30 5.2 Assignment Functions ............................................................ 31 5.3 Combined Initialization and Assignment Functions ................................ 31 5.4 Conversion Functions ............................................................. 32 5.5 Arithmetic Functions ............................................................. 33 5.6 Division Functions ............................................................... 33 5.7 Exponentiation Functions ........................................................ 35 5.8 Root Extraction Functions ....................................................... 36 5.9 Number Theoretic Functions ..................................................... 37 5.10 Comparison Functions........................................................... 39 5.11 Logical and Bit Manipulation Functions ......................................... 39 5.12 Input and Output Functions..................................................... 40 5.13 Random Number Functions ..................................................... 41 ii GNU MP 6.0.0 5.14 Integer Import and Export ...................................................... 42 5.15 Miscellaneous Functions ......................................................... 43 5.16 Special Functions ............................................................... 44 6 Rational Number Functions ................................. 46 6.1 Initialization and Assignment Functions .......................................... 46 6.2 Conversion Functions ............................................................. 47 6.3 Arithmetic Functions ............................................................. 47 6.4 Comparison Functions ............................................................ 48 6.5 Applying Integer Functions to Rationals .......................................... 48 6.6 Input and Output Functions ...................................................... 49 7 Floating-point Functions..................................... 50 7.1 Initialization Functions ........................................................... 50 7.2 Assignment Functions ............................................................ 52 7.3 Combined Initialization and Assignment Functions ................................ 53 7.4 Conversion Functions ............................................................. 53 7.5 Arithmetic Functions ............................................................. 54 7.6 Comparison Functions ............................................................ 55 7.7 Input and Output Functions ...................................................... 55 7.8 Miscellaneous Functions .......................................................... 56 8 Low-level Functions .......................................... 58 8.1 Low-level functions for cryptography.............................................. 65 8.2 Nails ............................................................................. 68 9 Random Number Functions ................................. 69 9.1 Random State Initialization ...................................................... 69 9.2 Random State Seeding ........................................................... 70 9.3 Random State Miscellaneous ..................................................... 70 10 Formatted Output .......................................... 71 10.1 Format Strings .................................................................. 71 10.2 Functions ....................................................................... 73 10.3 C++ Formatted Output......................................................... 74 11 Formatted Input ............................................ 76 11.1 Formatted Input Strings......................................................... 76 11.2 Formatted Input Functions ...................................................... 78 11.3 C++ Formatted Input .......................................................... 78 12 C++ Class Interface ........................................ 80 12.1 C++ Interface General .......................................................... 80 12.2 C++ Interface Integers .......................................................... 81 12.3 C++ Interface Rationals ........................................................ 82 12.4 C++ Interface Floats ........................................................... 84 12.5 C++ Interface Random Numbers................................................ 86 12.6 C++ Interface Limitations ...................................................... 87 13 Custom Allocation .......................................... 89 iii 14 Language Bindings .......................................... 91 15 Algorithms .................................................. 93 15.1 Multiplication ................................................................... 93 15.1.1 Basecase Multiplication..................................................... 93 15.1.2 Karatsuba Multiplication ................................................... 94 15.1.3 Toom 3-Way Multiplication................................................. 95 15.1.4 Toom 4-Way Multiplication................................................. 97 15.1.5 Higher degree Toom’n’half .................................................. 97 15.1.6 FFT Multiplication......................................................... 97 15.1.7 Other Multiplication ....................................................... 99 15.1.8 Unbalanced Multiplication.................................................. 99 15.2 Division Algorithms ............................................................ 100 15.2.1 Single Limb Division ...................................................... 100 15.2.2 Basecase Division ......................................................... 100 15.2.3 Divide and Conquer Division .............................................. 101 15.2.4 Block-Wise Barrett Division ............................................... 101 15.2.5 Exact Division ............................................................ 101 15.2.6 Exact Remainder.......................................................... 102 15.2.7 Small Quotient Division ................................................... 103 15.3 Greatest Common Divisor ...................................................... 103 15.3.1
Recommended publications
  • Ausgabe 05/2012 Als
    freiesMagazin Mai 2012 Topthemen dieser Ausgabe Selbstgebacken 3: make Seite 3 Das Bauen eines Kernels und das Aktualisieren der Quellen ist keine große Zauberkunst und, sofern man keine besonderen Extras haben möchte, mit ein paar make-Kommandos recht schnell erledigt, wobei make den Löwenanteil der Arbeit verrichtet. Es bekommt gesagt, was man möchte, den Rest erledigt es dann von alleine. Der Artikel soll das Geheimnis von make etwas lüften. (weiterlesen) Kollaboratives Schreiben mit LATEX Seite 14 Ob im wissenschaftlichen oder privaten Bereich: Möchte man die volle Kontrolle über das Aus- sehen seiner erstellten Dokumente behalten, führt oft kein Weg an LATEX vorbei. Die Standard TEX-Distribution zeigt jedoch ein paar Restriktionen auf. Sowohl die Online-Verfügbarkeit des Dokuments von jedem Ort aus sowie der kollaborative Ansatz, dass mehrere Personen zeit- gleich an einem Dokument arbeiten können, ist mit den Standardmitteln der Desktopinstallation nicht zu erreichen. Die im Artikel vorgestellten Lösungen versuchen, die gewünschten Zusatz- funktionen bereitzustellen. (weiterlesen) Astah – Kurzvorstellung des UML-Programms Seite 23 Die Februar-Ausgabe von freiesMagazin enthielt einen kleinen Test diverser UML-Programme. Dabei wurde aber das UML- und Mindmap-Programm Astah übersehen. In dem Artikel soll gezeigt werden, ob das Programm mit den zuvor getesteten mithalten kann. (weiterlesen) © freiesMagazin CC-BY-SA 3.0 Ausgabe 05/2012 ISSN 1867-7991 MAGAZIN Editorial Fünfter Programmierwettbewerb be- Abschied Inhalt Linux allgemein endet Im April hieß es Abschied nehmen von einem Selbstgebacken 3: make S. 3 Der am 1. März 2012 gestartete fünfte langjährigen Teammitglied. Thorsten Schmidt, Der April im Kernelrückblick S. 8 freiesMagazin-Programmierwettbewerb [1] ging seit 2007 als Autor, danach als Korrektor und offiziell am 15.
    [Show full text]
  • The Kernel Report
    The kernel report (ELC 2012 edition) Jonathan Corbet LWN.net [email protected] The Plan Look at a year's worth of kernel work ...with an eye toward the future Starting off 2011 2.6.37 released - January 4, 2011 11,446 changes, 1,276 developers VFS scalability work (inode_lock removal) Block I/O bandwidth controller PPTP support Basic pNFS support Wakeup sources What have we done since then? Since 2.6.37: Five kernel releases have been made 59,000 changes have been merged 3069 developers have contributed to the kernel 416 companies have supported kernel development February As you can see in these posts, Ralink is sending patches for the upstream rt2x00 driver for their new chipsets, and not just dumping a huge, stand-alone tarball driver on the community, as they have done in the past. This shows a huge willingness to learn how to deal with the kernel community, and they should be strongly encouraged and praised for this major change in attitude. – Greg Kroah-Hartman, February 9 Employer contributions 2.6.38-3.2 Volunteers 13.9% Wolfson Micro 1.7% Red Hat 10.9% Samsung 1.6% Intel 7.3% Google 1.6% unknown 6.9% Oracle 1.5% Novell 4.0% Microsoft 1.4% IBM 3.6% AMD 1.3% TI 3.4% Freescale 1.3% Broadcom 3.1% Fujitsu 1.1% consultants 2.2% Atheros 1.1% Nokia 1.8% Wind River 1.0% Also in February Red Hat stops releasing individual kernel patches March 2.6.38 released – March 14, 2011 (9,577 changes from 1198 developers) Per-session group scheduling dcache scalability patch set Transmit packet steering Transparent huge pages Hierarchical block I/O bandwidth controller Somebody needs to get a grip in the ARM community.
    [Show full text]
  • Demarinis Kent Williams-King Di Jin Rodrigo Fonseca Vasileios P
    sysfilter: Automated System Call Filtering for Commodity Software Nicholas DeMarinis Kent Williams-King Di Jin Rodrigo Fonseca Vasileios P. Kemerlis Department of Computer Science Brown University Abstract This constant stream of additional functionality integrated Modern OSes provide a rich set of services to applications, into modern applications, i.e., feature creep, not only has primarily accessible via the system call API, to support the dire effects in terms of security and protection [1, 71], but ever growing functionality of contemporary software. How- also necessitates a rich set of OS services: applications need ever, despite the fact that applications require access to part of to interact with the OS kernel—and, primarily, they do so the system call API (to function properly), OS kernels allow via the system call (syscall) API [52]—in order to perform full and unrestricted use of the entire system call set. This not useful tasks, such as acquiring or releasing memory, spawning only violates the principle of least privilege, but also enables and terminating additional processes and execution threads, attackers to utilize extra OS services, after seizing control communicating with other programs on the same or remote of vulnerable applications, or escalate privileges further via hosts, interacting with the filesystem, and performing I/O and exploiting vulnerabilities in less-stressed kernel interfaces. process introspection. To tackle this problem, we present sysfilter: a binary Indicatively, at the time of writing, the Linux
    [Show full text]
  • RISC-V Bitmanip Extension Document Version 0.90
    RISC-V Bitmanip Extension Document Version 0.90 Editor: Clifford Wolf Symbiotic GmbH [email protected] June 10, 2019 Contributors to all versions of the spec in alphabetical order (please contact editors to suggest corrections): Jacob Bachmeyer, Allen Baum, Alex Bradbury, Steven Braeger, Rogier Brussee, Michael Clark, Ken Dockser, Paul Donahue, Dennis Ferguson, Fabian Giesen, John Hauser, Robert Henry, Bruce Hoult, Po-wei Huang, Rex McCrary, Lee Moore, Jiˇr´ıMoravec, Samuel Neves, Markus Oberhumer, Nils Pipenbrinck, Xue Saw, Tommy Thorn, Andrew Waterman, Thomas Wicki, and Clifford Wolf. This document is released under a Creative Commons Attribution 4.0 International License. Contents 1 Introduction 1 1.1 ISA Extension Proposal Design Criteria . .1 1.2 B Extension Adoption Strategy . .2 1.3 Next steps . .2 2 RISC-V Bitmanip Extension 3 2.1 Basic bit manipulation instructions . .4 2.1.1 Count Leading/Trailing Zeros (clz, ctz)....................4 2.1.2 Count Bits Set (pcnt)...............................5 2.1.3 Logic-with-negate (andn, orn, xnor).......................5 2.1.4 Pack two XLEN/2 words in one register (pack).................6 2.1.5 Min/max instructions (min, max, minu, maxu)................7 2.1.6 Single-bit instructions (sbset, sbclr, sbinv, sbext)............8 2.1.7 Shift Ones (Left/Right) (slo, sloi, sro, sroi)...............9 2.2 Bit permutation instructions . 10 2.2.1 Rotate (Left/Right) (rol, ror, rori)..................... 10 2.2.2 Generalized Reverse (grev, grevi)....................... 11 2.2.3 Generalized Shuffleshfl ( , unshfl, shfli, unshfli).............. 14 2.3 Bit Extract/Deposit (bext, bdep)............................ 22 2.4 Carry-less multiply (clmul, clmulh, clmulr)....................
    [Show full text]
  • SPARC Enterprise Oracle VM Server for SPARC Important Information
    SPARC Enterprise Oracle VM Server for SPARC Important Information C120-E618-06EN October 2012 Copyright © 2007, 2012, Oracle and/or its affiliates and FUJITSU LIMITED. All rights reserved. Oracle and/or its affiliates and Fujitsu Limited each own or control intellectual property rights relating to products and technology described in this document, and such products, technology and this document are protected by copyright laws, patents, and other intellectual property laws and international treaties. This document and the product and technology to which it pertains are distributed under licenses restricting their use, copying, distribution, and decompilation. No part of such product or technology, or of this document, may be reproduced in any form by any means without prior written authorization of Oracle and/or its affiliates and Fujitsu Limited, and their applicable licensors, if any. The furnishings of this document to you does not give you any rights or licenses, express or implied, with respect to the product or technology to which it pertains, and this document does not contain or represent any commitment of any kind on the part of Oracle or Fujitsu Limited, or any affiliate of either of them. This document and the product and technology described in this document may incorporate third-party intellectual property copyrighted by and/or licensed from the suppliers to Oracle and/or its affiliates and Fujitsu Limited, including software and font technology. Per the terms of the GPL or LGPL, a copy of the source code governed by the GPL or LGPL, as applicable, is available upon request by the End User.
    [Show full text]
  • GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.0.0 25 March 2014
    GNU MP The GNU Multiple Precision Arithmetic Library Edition 6.0.0 25 March 2014 by Torbj¨orn Granlund and the GMP development team This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.0.0. Copyright 1991, 1993-2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual”, and with the Back-Cover Texts being “You have freedom to copy and modify this GNU Manual, like GNU software”. A copy of the license is included in Appendix C [GNU Free Documentation License], page 127. i Table of Contents GNU MP Copying Conditions ................................... 1 1 Introduction to GNU MP .................................... 2 1.1 How to use this Manual ........................................................... 2 2 Installing GMP ................................................ 3 2.1 Build Options ..................................................................... 3 2.2 ABI and ISA ...................................................................... 8 2.3 Notes for Package Builds ......................................................... 11 2.4 Notes for Particular Systems ..................................................... 12 2.5 Known Build Problems ........................................................... 14 2.6 Performance optimization .......................................................
    [Show full text]
  • Toward a Unified Framework for the Heterogeneous Cloud Utilizing Bytecode Containers
    Toward a Unified Framework for the Heterogeneous Cloud Utilizing Bytecode Containers by David Andrew Lloyd Tenty Bachelor of Science (Honours), Ryerson University, 2016 A thesis presented to Ryerson University in partial fulfillment of the requirements for the degree of Master of Science in the program of Computer Science Toronto, Ontario, Canada, 2019 ©David Andrew Lloyd Tenty, 2019 AUTHOR'S DECLARATION FOR ELECTRONIC SUBMISSION OF A THESIS I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I authorize Ryerson University to lend this thesis to other institutions or individuals for the purpose of scholarly research. I further authorize Ryerson University to reproduce this thesis by photocopying or by other means, in total or in part, at the request of other institutions or individuals for the purpose of scholarly research. I understand that my dissertation may be made electronically available to the public. iii Toward a Unified Framework for the Heterogeneous Cloud Utilizing Bytecode Containers Master of Science 2019 David Andrew Lloyd Tenty Computer Science Ryerson University Abstract As we approach the limits of Moore's law the Cloud computing landscape is becoming ever more hetero- geneous in order to extract more performance from available resources. Meanwhile, the container-based cloud is of growing importance as a lightweight way to deploy applications. A unified heterogeneous systems framework for use with container-based applications in the heterogeneous cloud is required. We present a bytecode-based framework and it's implementation called Man O' War, which allows for the creation of novel, portable LLVM bitcode-based containers for use in the heterogeneous cloud.
    [Show full text]
  • Oracle's SPARC T5-2, SPARC T5-4, SPARC T5-8, and SPARC T5-1B Server Architecture Oracle's SPARC T5-2, SPARC T5-4, SPARC T5-8, and SPARC T5-1B Server Architecture
    An Oracle White Paper February 2014 Oracle's SPARC T5-2, SPARC T5-4, SPARC T5-8, and SPARC T5-1B Server Architecture Oracle's SPARC T5-2, SPARC T5-4, SPARC T5-8, and SPARC T5-1B Server Architecture Introduction ....................................................................................... 1 Comparison of SPARC T5–Based Server Features........................... 2 SPARC T5 Processor ........................................................................ 3 Taking Oracle’s Multicore/Multithreaded Design to the Next Level 5 SPARC T5 Processor Architecture ................................................ 6 SPARC T5 Processor Cache Architecture ..................................... 8 SPARC T5 Core Architecture ........................................................ 9 Oracle Solaris for Multicore Scalability............................................. 16 Oracle Solaris 11 Operating System ................................................ 18 Oracle Solaris Predictive Self Healing, Fault Management Architecture, and Service Management Facility ....................................................... 19 Oracle Solaris Cryptographic Frameworks................................... 19 End-to-End Virtualization Technology .............................................. 19 A Multithreaded Hypervisor ......................................................... 20 Oracle VM Server for SPARC ...................................................... 20 Oracle Solaris Zones ................................................................... 21 Enterprise-Class
    [Show full text]
  • Exploiting Simple Analytical Models for Modeling Hardware Accelerators
    Exploiting Simple Analytical Models for Modeling Hardware Accelerators by Muhammad Shoaib Bin Altaf A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Electrical & Computer Engineering) at the UNIVERSITY OF WISCONSIN–MADISON 2016 Date of final oral examination: 12/08/2016 The dissertation is approved by the following members of the Final Oral Committee: Mark Hill, Professor, Computer Science Mikko Lipasti, Professor, Electrical & Computer Engineering Karthikeyan Sankaralingam, Associate Professor, Computer Science Michael Swift, Associate Professor, Computer Science David Wood, Professor, Computer Science © Copyright by Muhammad Shoaib Bin Altaf 2016 All Rights Reserved i To my parents Tehseen Kausar and Sheikh Altaf Hussain, and my wife Iram Majeed for their love and support. ii acknowledgments I consider myself fortunate enough to work under the guidance of my advisor, David Wood. I would not have completed my thesis without his support. Working with David, can be a challenge in the beginning and you take time in getting settled with his unique style of mentoring. He gave me the freedom to choose a problem of my own choice but made sure that I stayed on the right path. He has a knack for communicating ideas succinctly, and expects (and forces) his students to develop the same. Thanks to David, I consider myself a better writer and researcher. Thanks David. I am also thankful to my committee members for providing useful feedback and com- ments on my work. Mark Hill encouraged and showed excitement about the modeling framework right form the beginning. His advice on making slides has helped me become a better presenter.
    [Show full text]
  • Oracle VM Server for SPARC 2.1 Release Notes
    Oracle®VM Server for SPARC 2.1 Release Notes Part No: 821–2856–12 February 2012 Copyright © 2007, 2012, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS. Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms setforth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
    [Show full text]
  • Table of Contents
    1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Eine phatastische Reise ins Innere der Hardware Franz Haberhauer Stefan Hinker Oracle Hardware in 3D 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. T5 and M5 PCIe Carrier Card . Supports standard low-profile PCIe cards Air Flow PCIe Retimer x16 Connector (x8 electrical) 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. PCIe Data Paths: Full System . Two root complexes per T5 processor . Each PCIe port on a T5 processor controls a single PCIe slot 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. T5-2 Block Diagram DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB T5-0 T5-1 CPU CPU TPM Host & CPU PCIe Debug CPU PCIe Debug Data Flash DC/DCs 0 1 Port DC/DCs 0 1 Port x8 x8 FPGA x8 x4 x8 x1 HDD0 DBG SAS/SATA x1 HDD0 IO Controller x4 x4 PCIe PCIe SP Module HDD0 get rid of all inside x8 x8 SAS/SATA smallSwitch boxes 0 Switch 1 FRUID HDD0 IO Controller Sideband Mgmt DRAM HDD0 USB 1.1 Keyboard Mouse Service SPI x8 USB 3.0 x8 USB 2.0 Storage Flash HDD0 Host Processor SATA DVD NAND USB 2.0 Hub USB USB 3.0 USB Internal USB Hub VGA VGA REAR IO Board USB2 USB3 VGA USB0 USB1 VGA Serial Enet Quad 10Gig Enet DB15 Mgmt Mgmt Slot 2 (8) 2 Slot (8) 3 Slot (8) 4 Slot (8) 5 Slot (8) 6 Slot (8) 7 Slot (8) 8 Slot Slot 1 (8) 1 Slot 10/100 FAN BOARD REAR IO 8 Copyright © 2013, Oracle and/or its affiliates.
    [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]