Scientific Programming and Computer Architecture

Scientific Programming and Computer Architecture
Author: Divakar Viswanath
Publisher: MIT Press
Total Pages: 625
Release: 2017-07-28
Genre: Computers
ISBN: 0262036290

A variety of programming models relevant to scientists explained, with an emphasis on how programming constructs map to parts of the computer. What makes computer programs fast or slow? To answer this question, we have to get behind the abstractions of programming languages and look at how a computer really works. This book examines and explains a variety of scientific programming models (programming models relevant to scientists) with an emphasis on how programming constructs map to different parts of the computer's architecture. Two themes emerge: program speed and program modularity. Throughout this book, the premise is to "get under the hood," and the discussion is tied to specific programs. The book digs into linkers, compilers, operating systems, and computer architecture to understand how the different parts of the computer interact with programs. It begins with a review of C/C++ and explanations of how libraries, linkers, and Makefiles work. Programming models covered include Pthreads, OpenMP, MPI, TCP/IP, and CUDA.The emphasis on how computers work leads the reader into computer architecture and occasionally into the operating system kernel. The operating system studied is Linux, the preferred platform for scientific computing. Linux is also open source, which allows users to peer into its inner workings. A brief appendix provides a useful table of machines used to time programs. The book's website (https://github.com/divakarvi/bk-spca) has all the programs described in the book as well as a link to the html text.

Computer Applications in Engineering and Management

Computer Applications in Engineering and Management
Author: Parveen Berwal
Publisher: CRC Press
Total Pages: 365
Release: 2022-04-07
Genre: Computers
ISBN: 1000555720

The book Computer Applications in Engineering and Management is about computer applications in management, electrical engineering, electronics engineering, and civil engineering. It covers the software tools for office automation, introduces the basic concepts of database management, and provides an overview about the concepts of data communication, internet, and e-commerce. Additionally, the book explains the principles of computing management used in construction of buildings in civil engineering and the role of computers in power grid automation in electronics engineering. Features Provides an insight to prospective research and application areas related to industry and technology Includes industry-based inputs Provides a hands-on approach for readers of the book to practice and assimilate learning This book is primarily aimed at undergraduates and graduates in computer science, information technology, civil engineering, electronics and electrical engineering, management, academicians, and research scholars.

Computer Architecture

Computer Architecture
Author: John Y. Hsu
Publisher: CRC Press
Total Pages: 462
Release: 2017-12-19
Genre: Computers
ISBN: 9781420041101

With the new developments in computer architecture, fairly recent publications can quickly become outdated. Computer Architecture: Software Aspects, Coding, and Hardware takes a modern approach. This comprehensive, practical text provides that critical understanding of a central processor by clearly detailing fundamentals, and cutting edge design features. With its balanced software/hardware perspective and its description of Pentium processors, the book allows readers to acquire practical PC software experience. The text presents a foundation-level set of ideas, design concepts, and applications that fully meet the requirements of computer organization and architecture courses. The book features a "bottom up" computer design approach, based upon the author's thirty years experience in both academe and industry. By combining computer engineering with electrical engineering, the author describes how logic circuits are designed in a CPU. The extensive coverage of a micprogrammed CPU and new processor design features gives the insight of current computer development. Computer Architecture: Software Aspects, Coding, and Hardware presents a comprehensive review of the subject, from beginner to advanced levels. Topics include: o Two's complement numbers o Integer overflow o Exponent overflow and underflow o Looping o Addressing modes o Indexing o Subroutine linking o I/O structures o Memory mapped I/O o Cycle stealing o Interrupts o Multitasking o Microprogrammed CPU o Multiplication tree o Instruction queue o Multimedia instructions o Instruction cache o Virtual memory o Data cache o Alpha chip o Interprocessor communications o Branch prediction o Speculative loading o Register stack o JAVA virtual machine o Stack machine principles

Computer Architecture: A Minimalist Perspective

Computer Architecture: A Minimalist Perspective
Author: William F. Gilreath
Publisher: Springer Science & Business Media
Total Pages: 225
Release: 2012-12-06
Genre: Computers
ISBN: 1461502373

This book examines computer architecture, computability theory, and the history of computers from the perspective of minimalist computing - a framework in which the instruction set consists of a single instruction. This approach is different than that taken in any other computer architecture text, and it is a bold step. The audience for this book is researchers, computer hardware engineers, software engineers, and systems engineers who are looking for a fresh, unique perspective on computer architecture. Upper division undergraduate students and early graduate students studying computer architecture, computer organization, or embedded systems will also find this book useful. A typical course title might be "Special Topics in Computer Architecture." The organization ofthe book is as follows. First, the reasons for studying such an "esoteric" subject are given. Then, the history and evolution of instruction sets is studied with an emphasis on how modern computing has features ofone instruction computing. Also, previous computer systems are reviewed to show how their features relate to one instruction computers. Next, the primary forms of one instruction set computing are examined. The theories of computation and of Turing machines are also reviewed to examine the theoretical nature of one instruction computers. Other processor architectures and instruction sets are then mapped into single instructions to illustrate the features of both types of one instruction computers. In doing so, the features of the processor being mapped are highlighted.

Software Architecture in Practice

Software Architecture in Practice
Author: Len Bass
Publisher: Addison-Wesley Professional
Total Pages: 572
Release: 2003
Genre: Computers
ISBN: 9780321154958

This is the eagerly-anticipated revision to one of the seminal books in the field of software architecture which clearly defines and explains the topic.

Relating Software Requirements and Architectures

Relating Software Requirements and Architectures
Author: Paris Avgeriou
Publisher: Springer Science & Business Media
Total Pages: 395
Release: 2011-08-03
Genre: Computers
ISBN: 3642210015

Why have a book about the relation between requirements and software architecture? Understanding the relation between requirements and architecture is important because the requirements, be they explicit or implicit, represent the function, whereas the architecture determines the form. While changes to a set of requirements may impact on the realization of the architecture, choices made for an architectural solution may impact on requirements, e.g., in terms of revising functional or non-functional requirements that cannot actually be met. Although research in both requirements engineering and software architecture is quite active, it is in their combination that understanding is most needed and actively sought. Presenting the current state of the art is the purpose of this book. The editors have divided the contributions into four parts: Part 1 “Theoretical Underpinnings and Reviews” addresses the issue of requirements change management in architectural design through traceability and reasoning. Part 2 “Tools and Techniques” presents approaches, tools, and techniques for bridging the gap between software requirements and architecture. Part 3 “Industrial Case Studies” then reports industrial experiences, while part 4 on “Emerging Issues” details advanced topics such as synthesizing architecture from requirements or the role of middleware in architecting for non-functional requirements. The final chapter is a conclusions chapter identifying key contributions and outstanding areas for future research and improvement of practice. The book is targeted at academic and industrial researchers in requirements engineering or software architecture. Graduate students specializing in these areas as well as advanced professionals in software development will also benefit from the results and experiences presented in this volume.