Alpha AXP Architecture Reference Manual


Book Description

Alpha AXP Architecture Reference Manual, Second Edition describes the required behavior of all Alpha implementations, as seen by the machine-language programmer. This book discusses Alpha single-board computers, which have been introduced to cover the high-end embedded controller market. Organized into five parts, this edition begins with an overview of the instruction-set architecture. This text then describes the supporting PALcode routines for three operating systems. Other parts consider a particular console implementation that is specific to platforms that support the OpenVMS AXP or DEC OSF/1 operating systems. This book discusses as well the specific operating system PALcode architecture. The final part provides a discussion of console issues for Windows NT with its PALcode description. This book is a valuable resource for machine-language programmers.




Alpha Architecture Reference Manual


Book Description

Alpha Architecture Reference Manual, Third Edition is the authoritative reference on the definition of Alpha architecture. Revised by the Alpha Architecture Committee, this book contains a complete description of the common architecture required of all implementations and describes the interfaces to support the Windows NT, Digital UNIX, and OpenVMS operating systems. The third edition reflects the latest implementations of the architecture, including the 21164A, 21164PC, and 21264. Some of the extensions to the architecture and the enhancement to the technical content include: new byte and word load, store and sign-extend operations; new multimedia instructions; new population enumeration and floating-point square root instructions; new instructions to improve data cache efficiency and updated Windows NT section. The Alpha chip is the fastest chip on the marketplace today. It runs Windows NT, UNIX and OpenVMS operating systems. New base-level server configurations provide four times the memory of current systems. Contains updated Windows NT section to reflect current technical port to Alpha Includes new insights into the software aspects of the implementation Covers new multimedia instructions for increased performance with high-end graphics applications




Federal Trade Commission Decisions


Book Description




High Performance Parallel Runtimes


Book Description

This book focuses on the theoretical and practical aspects of parallel programming systems for today's high performance multi-core processors and discusses the efficient implementation of key algorithms needed to implement parallel programming models. Such implementations need to take into account the specific architectural aspects of the underlying computer architecture and the features offered by the execution environment. This book briefly reviews key concepts of modern computer architecture, focusing particularly on the performance of parallel codes as well as the relevant concepts in parallel programming models. The book then turns towards the fundamental algorithms used to implement the parallel programming models and discusses how they interact with modern processors. While the book will focus on the general mechanisms, we will mostly use the Intel processor architecture to exemplify the implementation concepts discussed but will present other processor architectures where appropriate. All algorithms and concepts are discussed in an easy to understand way with many illustrative examples, figures, and source code fragments. The target audience of the book is students in Computer Science who are studying compiler construction, parallel programming, or programming systems. Software developers who have an interest in the core algorithms used to implement a parallel runtime system, or who need to educate themselves for projects that require the algorithms and concepts discussed in this book will also benefit from reading it. You can find the source code for this book at https://github.com/parallel-runtimes/lomp.




Software Security -- Theories and Systems


Book Description

For more than the last three decades, the security of software systems has been an important area of computer science, yet it is a rather recent general recognition that technologies for software security are highly needed. This book assesses the state of the art in software and systems security by presenting a carefully arranged selection of revised invited and reviewed papers. It covers basic aspects and recently developed topics such as security of pervasive computing, peer-to-peer systems and autonomous distributed agents, secure software circulation, compilers for fail-safe C language, construction of secure mail systems, type systems and multiset rewriting systems for security protocols, and privacy issues as well.




Chip Multiprocessor Architecture


Book Description

Chip multiprocessors - also called multi-core microprocessors or CMPs for short - are now the only way to build high-performance microprocessors, for a variety of reasons. Large uniprocessors are no longer scaling in performance, because it is only possible to extract a limited amount of parallelism from a typical instruction stream using conventional superscalar instruction issue techniques. In addition, one cannot simply ratchet up the clock speed on today's processors, or the power dissipation will become prohibitive in all but water-cooled systems. Compounding these problems is the simple fact that with the immense numbers of transistors available on today's microprocessor chips, it is too costly to design and debug ever-larger processors every year or two. CMPs avoid these problems by filling up a processor die with multiple, relatively simpler processor cores instead of just one huge core. The exact size of a CMP's cores can vary from very simple pipelines to moderately complex superscalar processors, but once a core has been selected the CMP's performance can easily scale across silicon process generations simply by stamping down more copies of the hard-to-design, high-speed processor core in each successive chip generation. In addition, parallel code execution, obtained by spreading multiple threads of execution across the various cores, can achieve significantly higher performance than would be possible using only a single core. While parallel threads are already common in many useful workloads, there are still important workloads that are hard to divide into parallel threads. The low inter-processor communication latency between the cores in a CMP helps make a much wider range of applications viable candidates for parallel execution than was possible with conventional, multi-chip multiprocessors; nevertheless, limited parallelism in key applications is the main factor limiting acceptance of CMPs in some types of systems. After a discussion of the basic pros and cons of CMPs when they are compared with conventional uniprocessors, this book examines how CMPs can best be designed to handle two radically different kinds of workloads that are likely to be used with a CMP: highly parallel, throughput-sensitive applications at one end of the spectrum, and less parallel, latency-sensitive applications at the other. Throughput-sensitive applications, such as server workloads that handle many independent transactions at once, require careful balancing of all parts of a CMP that can limit throughput, such as the individual cores, on-chip cache memory, and off-chip memory interfaces. Several studies and example systems, such as the Sun Niagara, that examine the necessary tradeoffs are presented here. In contrast, latency-sensitive applications - many desktop applications fall into this category - require a focus on reducing inter-core communication latency and applying techniques to help programmers divide their programs into multiple threads as easily as possible. This book discusses many techniques that can be used in CMPs to simplify parallel programming, with an emphasis on research directions proposed at Stanford University. To illustrate the advantages possible with a CMP using a couple of solid examples, extra focus is given to thread-level speculation (TLS), a way to automatically break up nominally sequential applications into parallel threads on a CMP, and transactional memory. This model can greatly simplify manual parallel programming by using hardware - instead of conventional software locks - to enforce atomic code execution of blocks of instructions, a technique that makes parallel coding much less error-prone. Contents: The Case for CMPs / Improving Throughput / Improving Latency Automatically / Improving Latency using Manual Parallel Programming / A Multicore World: The Future of CMPs




Microprocessor 4


Book Description

Since its commercialization in 1971, the microprocessor, a modern and integrated form of the central processing unit, has continuously broken records in terms of its integrated functions, computing power, low costs and energy saving status. Today, it is present in almost all electronic devices. Sound knowledge of its internal mechanisms and programming is essential for electronics and computer engineers to understand and master computer operations and advanced programming concepts. This book in five volumes focuses more particularly on the first two generations of microprocessors, those that handle 4- and 8- bit integers. Microprocessor 4 – the fourth of five volumes – addresses the software aspects of this component. Coding of an instruction, addressing modes and the main features of the Instruction Set Architecture (ISA) of a generic component are presented. Futhermore, two approaches are discussed for altering the flow of execution using mechanisms of subprogram and interrupt. A comprehensive approach is used, with examples drawn from current and past technologies that illustrate theoretical concepts, making them accessible.




Encyclopedia of Parallel Computing


Book Description

Containing over 300 entries in an A-Z format, the Encyclopedia of Parallel Computing provides easy, intuitive access to relevant information for professionals and researchers seeking access to any aspect within the broad field of parallel computing. Topics for this comprehensive reference were selected, written, and peer-reviewed by an international pool of distinguished researchers in the field. The Encyclopedia is broad in scope, covering machine organization, programming languages, algorithms, and applications. Within each area, concepts, designs, and specific implementations are presented. The highly-structured essays in this work comprise synonyms, a definition and discussion of the topic, bibliographies, and links to related literature. Extensive cross-references to other entries within the Encyclopedia support efficient, user-friendly searchers for immediate access to useful information. Key concepts presented in the Encyclopedia of Parallel Computing include; laws and metrics; specific numerical and non-numerical algorithms; asynchronous algorithms; libraries of subroutines; benchmark suites; applications; sequential consistency and cache coherency; machine classes such as clusters, shared-memory multiprocessors, special-purpose machines and dataflow machines; specific machines such as Cray supercomputers, IBM’s cell processor and Intel’s multicore machines; race detection and auto parallelization; parallel programming languages, synchronization primitives, collective operations, message passing libraries, checkpointing, and operating systems. Topics covered: Speedup, Efficiency, Isoefficiency, Redundancy, Amdahls law, Computer Architecture Concepts, Parallel Machine Designs, Benmarks, Parallel Programming concepts & design, Algorithms, Parallel applications. This authoritative reference will be published in two formats: print and online. The online edition features hyperlinks to cross-references and to additional significant research. Related Subjects: supercomputing, high-performance computing, distributed computing




Active Networks


Book Description

This book constitutes the refereed proceedings of the First International Workshop on Active Networks, IWAN'99, held in Berlin, Germany in June/July 1999. The 30 revised full papers presented were carefully reviewed and selected from a total of 80 submissions. The book is divided in sections on networks architectures, platforms, active management and control, and security. All in all, this book provides a unique state-of-the-art account of architectural aspects, technologies, and prototype systems that will impact the way future networked businesses will be created and managed.




OpenVMS Alpha Internals and Data Structures


Book Description

OpenVMS Alpha Internals and Data Structures: Memory Management is an updateto selected parts of the book OpenVMS AXP Internals and Data Structures Version 1.5 (Digital Press, 1994). This book covers the extensions to the memory management subsystem of OpenVMS Alpha to allow the operating system and applications to access 64 bits of address space. It emphasizes system data structures and their manipulation by paging and swapping routines and related system services.It also describes management of dynamic memory, such as nonpaged pool, and support for nonuniform memory access (NUMA) platforms.This book is intended for systems programmers, technical consultants, application designers, and other computer progressions interested in learning the details of the OpenVMS executive. Teachers and students of graduate and advanced undergraduate courses in operating systems will find this book a valuable study in how theory and practice are resolved in a complex commercialoperating system.THE definitive reference describing how the OpenVMS kernel worksWritten by a top authority on OpenVMS systemsCovers the latest version of OpenVMS