Computer Organisation and Architecture
eBook - ePub

Computer Organisation and Architecture

Evolutionary Concepts, Principles, and Designs

Pranabananda Chakraborty

Share book
  1. 564 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Computer Organisation and Architecture

Evolutionary Concepts, Principles, and Designs

Pranabananda Chakraborty

Book details
Book preview
Table of contents
Citations

About This Book

Computer organization and architecture is becoming an increasingly important core subject in the areas of computer science and its applications, and information technology constantly steers the relentless revolution going on in this discipline. This textbook demystifies the state of the art using a simple and step-by-step development from traditional fundamentals to the most advanced concepts entwined with this subject, maintaining a reasonable balance among various theoretical principles, numerous design approaches, and their actual practical implementations. Being driven by the diversified knowledge gained directly from working in the constantly changing environment of the information technology (IT) industry, the author sets the stage by describing the modern issues in different areas of this subject. He then continues to effectively provide a comprehensive source of material with exciting new developments using a wealth of concrete examples related to recent regulatory changes in the modern design and architecture of different categories of computer systems associated with real-life instances as case studies, ranging from micro to mini, supermini, mainframes, cluster architectures, massively parallel processing (MPP) systems, and even supercomputers with commodity processors. Many of the topics that are briefly discussed in this book to conserve space for new materials are elaborately described from the design perspective to their ultimate practical implementations with representative schematic diagrams available on the book's website.

Key Features

  • Microprocessor evolutions and their chronological improvements with illustrations taken from Intel, Motorola, and other leading families


  • Multicore concept and subsequent multicore processors, a new standard in processor design


  • Cluster architecture, a vibrant organizational and architectural development in building up massively distributed/parallel systems


  • InfiniBand, a high-speed link for use in cluster system architecture providing a single-system image


  • FireWire, a high-speed serial bus used for both isochronous real-time data transfer and asynchronous applications, especially needed in multimedia and mobile phones


  • Evolution of embedded systems and their specific characteristics


  • Real-time systems and their major design issues in brief


  • Improved main memory technologies with their recent releases of DDR2, DDR3, Rambus DRAM, and Cache DRAM, widely used in all types of modern systems, including large clusters and high-end servers


  • DVD optical disks and flash drives (pen drives)


  • RAID, a common approach to configuring multiple-disk arrangements used in large server-based systems


  • A good number of problems along with their solutions on different topics after their delivery


  • Exhaustive material with respective figures related to the entire text to illustrate many of the computer design, organization, and architecture issues with examples are available online at http://crcpress.com/9780367255732


This book serves as a textbook for graduate-level courses for computer science engineering, information technology, electrical engineering, electronics engineering, computer science, BCA, MCA, and other similar courses.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Computer Organisation and Architecture an online PDF/ePUB?
Yes, you can access Computer Organisation and Architecture by Pranabananda Chakraborty in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Engineering. We have over one million books available in our catalogue for you to explore.

Information

Year
2020
ISBN
9781000190427
Edition
1

Part I

Fundamental Computer Organisation

1
Computer and Its Environment

LEARNING OBJECTIVES

  • To study the evolution of computer organisations and operating systems (OSs), and their numerous developments through different generations.
  • To gain a clear understanding of the basic system structures and different types of relevant system software.
  • To describe the salient features of different generations of computers, using representative computer systems of each generation up to supercomputers.
  • To provide an overview of various hardware technologies and pioneering concepts.
  • To describe the vibrant technological innovations in the area of microprocessors using family concept.
  • To give an idea about multiple-processor architectures along with their numerous forms and different topologies.
  • To explain the concepts of embedded systems and to describe in brief the generic real-time systems.
  • To focus on the various forms and different issues of recent multicore processors.
  • To introduce different types of operating systems – network operating system (NOS), distributed operating system (DOS), and real-time operating system (RTOS) – to handle different computing environments.

1.1 History in Short

The history of the evolution of the computer is itself very scintillating. A journey through it gives an overview of the evolutionary track with respect to computer structure, its design, and its function. It also helps to understand how its initial versions have been gone through many vibrant inventions and sparkling innovations to arrive at its present form (Augarten, S.).
The rapid pace in change that took place in the advancement of computer technology over this period to bring about the formation of today’s computer architecture and organisation has been identified and narrated. These changes entail almost all aspects of computer science, starting from the underlying simple semiconductor technology through the most advanced integrated circuit (IC) technology. These technologies are presently used to fabricate numerous advanced computer components. Assembling of these superior components has eventually led to the extent of increasing use of ultimate parallel architecture concepts. It is interesting to note that despite radical changes in the concept of computer architecture and design, as well as the rapid pace in technological evolution by this time, certain fundamental concepts that emerged long back, still by and large, are consistently applied throughout, even at the present age of supercomputers. The implementation of the ongoing concepts existing at any point of time over this period is, however, observed to be decided mostly by the current state of technology and cost/performance, in order to fulfil certain primary prevailing objectives. Sometimes the implementation of an innovative design remains awaiting for the introduction of a befitting technology. This chapter, although not a complete one, highlights only the selective salient features of the ongoing evolution in the technology to realize numerous advanced computer components that summarily set the stage of a revolution in the design, organisation, and architecture of the computer system along with its inseparable part, the OS, as a whole.

1.2 Computer Organisation and Architecture

Computers are often described, categorized, and distinguished in terms of their design, organisation, and architecture. Computer design is mostly concerned in the formulation of the specifications of the proposed computer system considering primarily the different hardware components and the types of hardware facilities to be provided, the type of applications to be normally run, the target user community and their financial capability, the maximum permissible cost of the system and its allied performance, and similar other related aspects. All these when considered together lead to build up a computer system, which is called computer design(Blaauw).
After the selection of all the appropriate operational hardware units, the issues are now the relative placement of these units, and the way how the units are to be interconnected with one another for smooth operation as intended – all these when considered together lead to conceive a model of an abstract machine, which is known as computer organisation.
Computer architecture involves both hardware organisation and the behaviour of the computer as experienced by the user. This includes the number of registers, instruction set, instruction format, addressing modes, the techniques for addressing memory, and similar other attributes that have a direct impact on the logical execution of a program. The architectural design also includes the specification of various functional models (like CPU (central processing unit), caches, buses, microcodes, and physical memory, etc.) and structuring of these models and their interoperations that eventually lead to essentially realize a complete computer system to achieve the desired system performance, which is the ultimate goal in the study of computer architecture.
Nevertheless, the architecture of the computer entails many other different issues, including the processor design that itself constitutes a central and very important element of computer architecture. That is why, various functional elements of a processor must be designed, interconnected without much affecting the existing organisation, and interoperated in such a way that desired processor performance can be achieved.
In summary, it can be concluded that whenever a specific hardware system is built up, a lot of strategies must be framed in advance, mainly with certain aspects in regard to each individual resource to be used, their relative placements, as well as the interconnections to be made between them so as to lead to a totality, commonly referred to as computer organisation (Langholz, G., et al.). The organisation of the computer must be designed in such a way that a particular architectural specification can be judiciously implemented. In fact, a thorough treatment of organisation requires a detailed examination of the architecture as well.

1.3 Hardware and Software: An Introductory Concept

A computing system consists of hardware, software, and programming elements, which are considered as its basic components. The electronic circuit, which is the lowest level of a computer system, consists of tangible objects such as processor, memory, input–output (I/O) devices, cables, integrated circuits ICs, printed circuit board, and power supplies, which all form the computer hardware. The basic hardware elements in any computer system, be it a tiny microcomputer, minicomputer, supermini, mainframe, or gigantic supercomputer, are processor, memory, I/O devices, and interconnecting buses. Depending on certain basic parameters (such as size, capacity, capability, power, and speed) of these individual resources and considering the characteristics of the interconnections made between resources, the computers are accordingly classified. These resources, however, are normally driven individually by the respective software.
Software essentially consists of the systematic steps (algorithms) to be executed to perform a predefined task, and their computer representation in the form of a collective meaningful sequence of suitable instructions is called a program. Software of any kind, however, is essentially the programs of any types and never includes the physical devices on which it resides. Software associated with computer systems truly defines and determines the ways that actually drive the hardware resources of the system. It is a key factor that unfolds the actual strength of the hardware by driving it properly to extract the best potential out of it. In fact, the joint effort of the software and the hardware manifests the real performance of the system. Software is mainly differentiated according to its purpose and broadly classified into two distinct categories, namely application software and system software. Application software is developed using mostly high-level programming languages that mainly cater to the specific needs of the concerned user.
Some common programs that are developed to drive, control, and monitor the operations of the computing system resources as and when they are required to make computers better adapt to the needs of their users are historically called the system software. Numerous I/O devices also require device-dependent programs that control and monitor the smooth operation of the devices during an I/O operation. These programs are essentially the system software known as device driver or sometimes called IOCS (input–output control system). All these programs are mostly written using a low-level language, such as assembly language and binary language, which are very near to the machine’s (hardware’s) own language or have the pattern so that the machine resources can be directly accessed from the user level. Nowadays, they are often developed also using a high-level language (HLL) like “C”. Common system software, in particular, is very general and covers a broad spectrum of functionalities. It mainly comprises three major subsystems: (i) language translators and runtime supporting systems for a programming language (compiler, assembler, loader), (ii) utility systems, and (iii) operating sustems. Some system software programs, such as graphic library, an artificial intelligence, image processing, and expert system, are specific to a particular application area and are rather not very common in others. The OS, compiler, assembler, loader, and to some extent the utilities are mainly required to commit physical hardware (machine) resources to bind with the application program for its execution. The optimal design of these software programs based on the architecture and organisation of the underlying hardware, their offered facilities, and lastly their effectiveness ultimately determine the efficiency of the hardware utilization and ...

Table of contents