Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore CU-BCA-SEM-IV-Computer System Architecture-Second Draft

CU-BCA-SEM-IV-Computer System Architecture-Second Draft

Published by Teamlease Edtech Ltd (Amita Chitroda), 2021-10-20 13:48:27

Description: CU-BCA-SEM-IV-Computer System Architecture-Second Draft

Search

Read the Text Version

BACHELOR OF COMPUTER APPLICATION SEMESTER-IV COMPUTER SYSTEM ARCHITECTURE

CHANDIGARH UNIVERSITY Institute of Distance and Online Learning SLM Development Committee Prof. (Dr.) H.B. Raghvendra Vice- Chancellor, Chandigarh University, Gharuan, Punjab:Chairperson Prof. (Dr.) S.S. Sehgal Registrar Prof. (Dr.) B. Priestly Shan Dean of Academic Affairs Dr. Nitya Prakash Director – IDOL Dr. Gurpreet Singh Associate Director –IDOL Advisors& Members of CIQA –IDOL Prof. (Dr.) Bharat Bhushan, Director – IGNOU Prof. (Dr.) Majulika Srivastava, Director – CIQA, IGNOU Editorial Committee Prof. (Dr) Nilesh Arora Dr. Ashita Chadha University School of Business University Institute of Liberal Arts Dr. Inderpreet Kaur Prof. Manish University Institute of Teacher Training & University Institute of Tourism & Hotel Management Research Dr. Manisha Malhotra Dr. Nitin Pathak University Institute of Computing University School of Business © No part of this publication should be reproduced, stored in a retrieval system, or transmitted in any formor by any means, electronic, mechanical, photocopying, recording and/or otherwise without the prior written permission of the authors and the publisher. SLM SPECIALLY PREPARED FOR CU IDOL STUDENTS 2 CU IDOL SELF LEARNING MATERIAL (SLM)

First Published in 2021 All rights reserved. No Part of this book may be reproduced or transmitted, in any form or by any means, without permission in writing from Chandigarh University. Any person who does any unauthorized act in relation to this book may be liable to criminal prosecution and civil claims for damages. This book is meant for educational and learning purpose. The author of the book has/have taken all reasonable care to ensure that the contents of the book do not violate any existing copyright or other intellectual property rights of any person in any manner whatsoever. In the event, Authors has/ have been unable to track any source and if any copyright has been inadvertently infringed, please notify the publisher in writing for corrective action. 3 CU IDOL SELF LEARNING MATERIAL (SLM)

CONTENT Unit - 1: Introduction To Computer Organization Part I ........................................................ 5 Unit - 2: Introduction To Computer Organization Part II ..................................................... 26 Unit - 3: Introduction To Flynn’s Classification .................................................................. 44 Unit – 4: Register Transfer And Micro Operations .............................................................. 55 Unit – 5: Micro Operations.................................................................................................. 70 Unit – 6: Basic Computer Instructions Part I ..................................................................... 104 Unit – 7: Basic Computer Instructions Part II .................................................................... 124 Unit – 8: Interrupt ............................................................................................................. 136 Unit – 9: Design Of Control Unit ...................................................................................... 151 Unit – 10: Addressing Modes ............................................................................................ 163 Unit – 11: I/O Organization............................................................................................... 174 Unit – 12: I/O Data Transfer Techniques ........................................................................... 196 Unit – 13: Synchronization................................................................................................ 216 4 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT-1:INTRODUCTION TO COMPUTER ORGANIZATION PART I STRUCTURE 1.0 Learning Objectives 1.1 Introduction to Computer and CPU 1.2Computer Organization 1.3Computer Design 1.4Computer Architecture 1.5Summary 1.6 Keywords 1.7 Learning Activity 1.8 Unit End Questions 1.9 References 1.0 LEARNING OBJECTIVES After studying this unit, you will be able to:  Explain introduction to computer and CPU.  Explain computer organization.  Explain computer design.  Illustrate computer architecture 1.1 INTRODUCTION TO COMPUTER AND CPU Introduction to Computer A computer is an electronic device, operating under the control of instructions stored in its own memory that can accept data (input), process the data according to specified rules, produce information (output), and store the information for future use. Functionalities of a Computer Any digital computer carries out five functions in gross terms.  Takes data as input  Stores the data/instruction in its memory and use them when required. 5 CU IDOL SELF LEARNING MATERIAL (SLM)

 Process the data and converts it into useful information.  Generates the output.  Controls all the above four steps. Figure 1.1: Functionalities of a Computer Computer Components Any kind of computers consists of hardware and software. Hardware Computer hardware is the collection of physical elements that constitutes a computer system. Computer hardware refers to the physical parts or components of a computer such as the monitor, mouse, keyboard, computer data storage, hard drive disk (HDD), system unit (graphic cards, sound cards, memory, motherboard and chips), etc. all of which are physical objects that can be touched. Figure 1.2 Hardware Input Devices Input device is any peripheral (piece of computer hardware equipment to provide data and control signals to an information processing system such as a computer or other information appliance. Input device Translate data from form that humans understand to one that the computer can work with. Most common are keyboard and mouse. 6 CU IDOL SELF LEARNING MATERIAL (SLM)

Figure 1.3: Input Device Example of input devices 1.Keyboard 2. Mouse (pointing device) 3. Microphone4. Touch screen 5. Scanner 6. Webcam 7. Touchpads 8. MIDI keyboard 9. Graphics Tablets 10. Cameras 11. Pen Input 12. Video Capture Hardware 13. Microphone 14. Trackballs 15. Barcode reader 17. Digital camera 18. Joystick 19. Gamepad 20. Electronic Whiteboard Note: The most common use keyboard is the QWERTY keyboard. Generally standard Keyboard has 104 keys. Central Processing Unit (CPU) A CPU is brain of a computer. It is responsible for all functions and processes. Regarding computing power, the CPU is the most important element of a computer system. The CPU is comprised of three main parts. 1. Arithmetic Logic Unit (ALU): Executes all arithmetic and logical operations. Arithmetic calculations like as addition, subtraction, multiplication and division. Logical operation like compare numbers, letters, or special characters. 2. Control Unit (CU): controls and co-ordinates computer components. i. Read the code for the next instruction to be executed. ii. Increment the program counter so it points to the next instruction. iii. Read whatever data the instruction requires from cells in memory. iv. Provide the necessary data to an ALU or register. v. If the instruction requires an ALU or specialized hardware to complete, instruct the hardware to perform the requested operation. 3. Registers: Stores the data that is to be executed next, \"very fast storage area\". 7 CU IDOL SELF LEARNING MATERIAL (SLM)

Primary Memory 1. RAM - Random Access Memory (RAM) is a memory scheme within the computer system responsible for storing data on a temporary basis, so that it can be promptly accessed by the processor as and when needed. It is volatile in nature, which means that data will be erased once supply to the storage device is turned off. RAM stores data randomly and the processor accesses these data randomly from the RAM storage. RAM is considered \"random access\" because you can access any memory cell directly if you know the row and column that intersect at that cell. 2. ROM (Read Only Memory)- ROM is a permanent form of storage. ROM stays active regardless of whether power supply to it is turned on or off. ROM devices do not allow data stored on them to be modified. Secondary Memory It stores data and programs permanently. It’s retained after the power is turned off. 1. Hard drive (HD): A hard disk is part of a unit, often called a \"disk drive,\" \"hard drive,\" or \"hard disk drive,\" that store and provides relatively quick access to large amounts of data on an electromagnetically charged surface or set of surfaces. 2. Optical Disk: an optical disc drive (ODD) is a disk drive that uses laser light as part of the process of reading or writing data to or from optical discs. Some drives can only read from discs, but recent drives are commonly both readers and recorders, also called burners or writers. Compact discs, DVDs, and Blu-ray discs are common types of optical media which can be read and recorded by such drives. Optical drive is the generic name; drives are usually described as \"CD\" \"DVD\", or \"Blu-ray\", followed by \"drive\", \"writer\", etc. There are three main types of optical media: CD, DVD, and Blu-ray disc. CDs can store up to 700 megabytes (MB) of data and DVDs can store up to 8.4 GB of data. Blu-ray discs, which are the newest type of optical media, can store up to 50 GB of data. This storage capacity is a clear advantage over the floppy disk storage media (a magnetic media), which only has a capacity of 1.44 MB. 3. Flash Disk: A storage module made of flash memory chips. Flash disks have no mechanical platters or access arms, but the term \"disk\" is used because the data are accessed as if they were on a hard drive. The disk storage structure is emulated. Now, let’s see the difference between primary memory and secondary memory. Sr. No Primary Memory Secondary Memory 1 Primary memory is temporary. Secondary memory is permanent. 8 CU IDOL SELF LEARNING MATERIAL (SLM)

2 Primary memory is directly accessible Secondary memory is not directly by Processor/CPU. accessible by the CPU. 3 Nature of Parts of Primary memory It’s always Non-volatile in nature. varies RAM- volatile in nature. ROM- Non-volatile. 4 Primary memory devices are more Secondary memory devices are less expensive than secondary storage expensive when compared to primary devices. memory devices. 5 The memory devices used for primary The secondary memory devices are memory are semiconductor memories. magnetic and optical memories. 6 Primary memory is also known as Secondary memory is also known as Main memory or Internal memory. External memory or Auxiliary memory. 7 Examples: RAM, ROM, Cache Examples: Hard Disk, Floppy Disk, memory, PROM, EPROM, Registers, Magnetic Tapes, etc. etc. Table 1.1: Primary memory Vs secondary memory Output Devices An output device is any piece of computer hardware equipment used to communicate the results of data processing carried out by an information processing system (such as a computer) which converts the electronically generated information into human- readable form. Figure 1.4: Output Devices 9 Example ofoutput devices are given below. 1. Monitor CU IDOL SELF LEARNING MATERIAL (SLM)

2. LCD Projection Panels 3. Printers (all types) 4. Computer Output Microfilm (COM) 5. Plotters 6. Speaker(s) 7. Projector Note: Basic types of monitors are mentioned below.  Cathode Ray Tube (CRT)  Liquid Crystal Displays (LCD)  light-emitting diode (LED) Printer types are mentioned below.  Laser printer  Ink jet printer.  Dot matrix printer Software Software is a generic term for organized collections of computer data and instructions, often broken into two major categories: system software that provides the basic non- task-specific functions of the computer, and application software which is used by users to accomplish specific tasks. Software Types 1. System software is responsible for controlling, integrating, and managing the individual hardware components of a computer system so that other software and the users of the system see it as a functional unit without having to be concerned with the low-level details such as transferring data from memory to disk, or rendering text onto a display. Generally, system software consists of an operating system and some fundamental utilities such as disk formatters, file managers, display managers, text editors, user authentication (login) and management tools, and networking and device control software. 2. Application software is used to accomplish specific tasks other than just running the computer system. Application software may consist of a single program, such as an image viewer; a small collection of programs (often called a software package) that work closely together to accomplish a task, such as a spread sheet or text processing system; a larger collection (often called a software suite) of related but independent programs and packages that have a common user interface or shared data format, such 10 CU IDOL SELF LEARNING MATERIAL (SLM)

as Microsoft Office, which consists of closely integrated word processor, spread sheet, database, etc.; or a software system, such as a database management system, which is a collection of fundamental programs that may provide some service to a variety of other independent applications. Comparison System Software Application Software Computer software or just software is a Application software, also general term primarily used for digitally known as an application or stored data such as computer programs and an \"app\", is computer other kinds of information read and written by software designed to help the computers. App comes under computer user to perform specific software though it has a wide scope now. tasks. Example: 1. Microsoft Windows 1. Opera (Web 2. Linux Browser) 3. Unix 4. Mac OSX 2. Microsoft Word 5. DOS (Word Processing) 3. Microsoft Excel (Spread sheet software) 4. MySQL (Database Software) 5. Microsoft PowerPoint (Presentation Software) 6. Adobe Photoshop (Graphics Software) Interaction: Generally,users do not interact with system Users always interact with software as it works in the background. application software while doing different activities. Dependency: System software can run independently of the Application software cannot application software. run without the presence of the system software. Table 1.2: Application Software and System Software 11 CU IDOL SELF LEARNING MATERIAL (SLM)

Unit of Measurements Storage Measurements The basic unit used in computer data storage is called a bit (binary digit). Computers use these little bits, which are composed of ones and zeros, to do things and talk to other computers. All your files, for instance, are kept in the computer as binary files and translated into words and pictures by the software (which is also ones and zeros). These two number systems are called a “binary number system” since it has only two numbers in it. The decimal number system in contrast has ten unique digits, zero through nine. Computer Storage Units Bit BIT 0 or 1 Kilobyte KB 1024 bytes Megabyte MB 1024 kilobytes Gigabyte GB 1024 megabytes Terabyte TB 1024 gigabytes Size Example  1 bit - answer to an yes/no question  1 byte - a number from 0 to 255  90 bytes: enough to store a typical line of text from a book  4 KB: about one page of text  120 KB: the text of a typical pocket book  3 MB - a three minute song (128k bitrate)  650-900 MB - an CD-ROM  1 GB -114 minutes of uncompressed CD-quality audio at 1.4 Mbit/s  8-16 GB - size of a normal flash drive Speed Measurement The speed of Central Processing Unit (CPU) is measured by Hertz (Hz), which represent a CPU cycle. The speed of CPU is known as computer speed. CPU speed measures 12 CU IDOL SELF LEARNING MATERIAL (SLM)

1 hertz or Hz 1 cycle per second 1 MHz 1 million cycles per second or 1000 Hz 1 GHz 1 billion cycles per second or 1000 MHz Computer’s Classification Computers can be generally classified by size and power as follows, though there is Considerable overlap.  Personal computer: A small, single-user computer based on a microprocessor. In addition to the microprocessor, a personal computer has a keyboard for entering data, a monitor for displaying information, and a storage device for saving data.  Workstation: A powerful, single-user computer. A workstation is like a personal computer, but it has a more powerful microprocessor and a higher-quality monitor.  Minicomputer: A multi-user computer capable of supporting from 10 to hundreds of users simultaneously.  Mainframe: A powerful multi-user computer capable of supporting many hundreds or thousands of users simultaneously.  Supercomputer: An extremely fast computer that can perform hundreds of millions of instructions per second. Laptop and Smartphone Computers Laptop: A laptop is a battery or AC-powered personal computer that can be easily carried and used in a variety of locations. Many laptops are designed to have all of the functionality of a desktop computer, which means they can generally run the same software and open the same types of files. However, some laptops, such as netbooks, sacrifice some functionality in order to be even more portable. Netbook: A netbook is a type of laptop that is designed to be even more portable. Netbooks are often cheaper than laptops or desktops. They are generally less powerful than other types of computers, but they provide enough power for email and internet access, which is where the name \"netbook\" comes from. Mobile device: A mobile device is basically any handheld computer. It is designed to be extremely portable, often fitting in the palm of your hand or in your pocket. Some mobile devices are more powerful, and they allow you to do many of the same things you can do with a desktop or laptop computer. These include tablet computers, e-readers, and smartphones. Tablet computers: Like laptops, tablet computers are designed to be portable. However, they provide a very different computing experience. The most obvious difference is that tablet 13 CU IDOL SELF LEARNING MATERIAL (SLM)

computers don't have keyboards or touchpads. Instead, the entire screen is touch-sensitive, allowing you to type on a virtual keyboard and use your finger as a mouse pointer. Tablet computers are mostly designed for consuming media, and they are optimized for tasks like web browsing, watching videos, reading e-books, and playing games. For many people, a \"regular\" computer like a desktop or laptop is still needed in order to use some programs. However, the convenience of a tablet computer means that it may be ideal as a second computer. Smartphones: A smartphone is a powerful mobile phone that is designed to run a variety of applications in addition to phone service. They are basically small tablet computers, and they can be used for web browsing, watching videos, reading e-books, playing games and more. Data, Information and Knowledge Data: Facts and figures which relay something specific, but which are not organized in any way and which provide no further information regarding patterns, context, etc. So data means \"unstructured facts and figures that have the least impact on the typical manager.\" Information: For data to become information, it must be contextualized, categorized, calculated and condensed. Information thus paints a bigger picture; it is data with relevance and purpose. It may convey a trend in the environment, or perhaps indicate a pattern of sales for a given period of time. Essentially information is found \"in answers to questions that begin with such words as who, what, where, when, and how many\". Knowledge: Knowledge is closely linked to doing and implies know-how and understanding. The knowledge possessed by each individual is a product of his experience, and encompasses the norms by which he evaluates new inputs from his surroundings. The content of the human mind can be classified into four categories. 1. Data: symbols. 2. Information: data that are processed to be useful; provides answers to \"who\", \"what\", \"where\", and \"when\" questions. 3. Knowledge: application of data and information; answers \"how\" questions. 4. Wisdom: evaluated understanding. We need to understand that processing data produced Information and process Information produces Knowledge and so on. Characteristics of Computer Speed, accuracy, diligence, storage capability and versatility are some of the key characteristics of a computer. A brief overview of these characteristics is  Speed: The computer can process data very fast, at the rate of millions of instructions per second. Some calculations that would have taken hours and days to complete 14 CU IDOL SELF LEARNING MATERIAL (SLM)

otherwise, can be completed in a few seconds using the computer. For example, calculation and generation of salary slips of thousands of employees of an organization, weather forecasting that requires analysis of a large amount of data related to temperature, pressure and humidity of various places, etc.  Accuracy: Computer provides a high degree of accuracy. For example, the computer can accurately give the result of division of any two numbers up to 10 decimal places.  Diligence: When used for a longer period of time, the computer does not get tired or fatigued. It can perform long and complex calculations with the same speed and accuracy from the start till the end.  Storage capability: Large volumes of data and information can be stored in the computer and also retrieved whenever required. A limited amount of data can be stored, temporarily, in the primary memory. Secondary storage devices like floppy disk and compact disk can store a large amount of data permanently.  Versatility: Computer is versatile in nature. It can perform different types of tasks with the same ease. At one moment you can use the computer to prepare a letter document and in the next moment you may play music or print a document. Computers have several limitations too. Computer can only perform tasks that it has been programmed to do. Computer cannot do any work without instructions from the user. It executes instructions as specified by the user and does not take its own decisions. Computer Viruses  Viruses: A virus is a small piece of software that piggybacks on real programs. For example, a virus might attach itself to a program such as a spread sheet program. Each time the spread sheet program runs, the virus runs, too, and it has the chance to reproduce (by attaching to other programs) or wreak havoc.  E-mail viruses: An e-mail virus travels as an attachment to e-mail messages, and usually replicates itself by automatically mailing itself to dozens of people in the victim's e-mail address book. Some e-mail viruses don't even require a double-click -- they launch when you view the infected message in the preview pane of your e-mail software.  Trojan horses: A Trojan horse is simply a computer program. The program claims to do one thing (it may claim to be a game) but instead does damage when you run it (it may erase your hard disk). Trojan horses have no way to replicate automatically.  Worms: A worm is a small piece of software that uses computer networks and security holes to replicate itself. A copy of the worm scans the network for another 15 CU IDOL SELF LEARNING MATERIAL (SLM)

machine that has a specific security hole. It copies itself to the new machine using the security hole, and then starts replicating from there, as well. What are some tips to avoid viruses and lessen their impact?  Install anti-virus software from a reputable vendor. Update it and use it regularly.  In addition to scanning for viruses on a regular basis, install an \"on access\" scanner (included in most anti-virus software packages) and configure it to start each time you start up your computer. This will protect your system by checking for viruses each time you run an executable file.  Use a virus scan before you open any new programs or files that may contain executable code. This includes packaged software that you buy from the store as well as any program you might download from the Internet.  If you are a member of an online community or chat room, be very careful about accepting files or clicking links that you find or that people send you within the community.  Make sure you back up your data (documents, bookmark files, important email messages, etc.) on disc so that in the event of a virus infection, you do not lose valuable work. 1.2 COMPUTER ORGANIZATION In describing computer system, a distinction is often made between computer architecture and computer organization. Computer architecture refers to those attributes of a system visible to a programmer, or put another way, those attributes that have a direct impact on the logical execution of a program.Computer organization refers to the operational units and their interconnection that realize the architecture specification.Examples of architecture attributes include the instruction set, the number of bit to represent various data types (e.g.., numbers, and characters), I/O mechanisms, and technique for addressing memory. Examples of organization attributes include those hardware details transparent to the programmer, such as control signals, interfaces between the computer and peripherals, and the memory technology used. As an example, it is an architectural design issue whether a computer will have a multiply instruction. It is an organizational issue whether that instruction will be implemented by a special multiply unit or by a mechanism that makes repeated use of the add unit of the system. The organization decision may be bases on the anticipated frequency of use of the multiply instruction, the relative speed of the two approaches, and the cost and physical size of a special multiply unit. 16 CU IDOL SELF LEARNING MATERIAL (SLM)

Historically, and still today, the distinction between architecture and organization has been an important one. Many computer manufacturers offer a family of computer model, all with the same architecture but with differences in organization. Consequently, the different models in the family have different price and performance characteristics. Furthermore, an architecture may survive many years, but its organization changes with changing technology. Structure and Function A computer is a complex system; contemporary computers contain millions of elementary electronic components. How, then, can one clearly describe them? The key is to recognize the hierarchical nature of most complex system. A hierarchical system is a set of interrelated subsystem, each of the later, in turn, hierarchical in structure until we reach some lowest level of elementary subsystem. The hierarchical nature of complex systems is essential to both their design and their description. The designer need only deal with a particular level of the system at a time. At each level, the system consists of a set of components and their interrelationships. The behaviour at each level depends only on a simplified, abstracted characterization of the system at the next lower level. At each level, the designer is concerned with structure and function.  Structure: The way in which the components are interrelated.  Function: The operation of each individual component as part of the structure. In term of description, we have two choices: starting at the bottom and building up to a complete description, or beginning with a top view and decomposing the system, describing their structure and function, and proceed to successively lower layer of the hierarchy. The approach taken in this course follows the latter. 1.3 COMPUTER DESIGN The concept of stored program computers appeared in 1945 when John von Neumann drafted the first version of EDVAC (Electronic Discrete Variable Computer). Those ideas have since been the milestones of computers.  An input device through which data and instructions can be entered.  Storage in which data can be read/written; instructions are like data; they reside in the same memory.  An arithmetic unit to process data.  A control unit which fetches instructions decode and execute them.  Output devices for the user to access the results. 17 CU IDOL SELF LEARNING MATERIAL (SLM)

The improvements in computer technology have been tremendous since the first machines appeared. A personal computer that can be bought today with a few thousand dollars has more performance (in terms of, say, floating point multiplications per second), more main memory and more disk capacity than a machine that cost millions in the 50s-60s. Four lines of evolution have emerged from the first computers (definitions are very loose and in many cases the borders between different classes are blurring). 1. Mainframes: large computers that can support very many users while delivering great computing power. It is mainly in mainframes where most of the innovations (both in architecture and in organization) have been made. 2. Minicomputers: have adopted many of the mainframe techniques, yet being designed to sell for less, satisfying the computing needs for smaller groups of users. It is the minicomputer group that improved at the fastest pace, mainly due to the evolution of integrated circuits technology. 3. Supercomputers: designed for scientific applications, they are the most expensive computers (over one million dollars), processing is usually done in batch mode, for reasons of performance. 4. Microcomputers: have appeared in the microprocessor era. The term micro refers only to physical dimensions, not to computing performance. A typical microcomputer (either a PC or a workstation) nicely fits on a desk. Microcomputers are a direct product of technological advances: faster CPUs, semiconductor memories, etc. Over the time many of the concepts previously used in mainframes and minicomputers have become common place in microcomputers. For many years the evolution of computers was concerned with the problem of object code compatibility. A new architecture had to be, at least partly, compatible with older ones. Older programs (“the dusty deck”) had to run without changes on the new machines. A dramatic example is the IBM-PC architecture, launched in 1981, it proved so successful that further developments had to conform with the first release, despite the flaws which became apparent in a couple of years thereafter. The assembly language is no longer the language in which new applications are written, although the most sensitive parts continue to be written in assembly language, and this is due to advances in languages and compiler technology. The obsolescence of assembly language programming, as well as the creation of portable operating systems (like UNIX), have reduced the risks of introducing new architectures. New families of computers are emerging, many of them hybrids of “classical” families: graphical supercomputers, multiprocessors, MPPmini- supercomputers, etc. 18 CU IDOL SELF LEARNING MATERIAL (SLM)

What Drives the Work of a Computer Designer? A Designing a computer is a challenging task. It involves software (at least at the level of designing the instruction set), and hardware as well at all levels: functional organization, logic design, and implementation. Implementation itself deals with designing/specifying ICs, packaging, noise, power, cooling etc. It would be a terrible mistake to disregard one aspect or other of computer design, rather the computer designer has to design an optimal machine across all mentioned levels. You cannot find a minimum unless you are familiar with a wide range of technologies, from compiler and operating system design to logic design and packaging. Architecture is the art and science of building. Vitruvius, in the 1st century AD, said that architecture was a building that incorporated utilities, firmitas and venustas, in English terms commodity, firmness and delight. This definition recognizes that architecture embraces functional, technological and aesthetic aspects. Thus a computer architect has to specify the performance requirements of various parts of a computer system, to define the interconnections between them, and to keep it harmoniously balanced. The computer architect's job is more than designing the Instruction Set, as it has been understood for many years. The more an architect is exposed to all aspects of computer design, the more efficient she will be.  The instruction set architecture refers to what the programmer sees as the machine's instruction set. The instruction set is the boundary between the hardware and the software, and most of the decisions concerning the instruction set affect the hardware, and the converse is also true, many hardware decisions may beneficially/adversely affect the instruction set.  The implementation of a machine refers to the logical and physical design techniques used to implement an instance of the architecture. It is possible to have different implementations for some architecture; in the same way there are different possibilities to build a house using the same plans, but other materials and techniques. The implementation has two aspects. i. The organization refers to logical aspects of an implementation. In other words, it refers to the high-level aspects of the design: CPU design, memory system, bus structure(s) etc. ii. The hardware refers to the specifics of an implementation. Detailed logic design and packaging are included here. Qualitative Aspects of Design The table below presents some of the functional requirements a computer designer must bear in mind when designing a new system. Functional requirements Required features 19 CU IDOL SELF LEARNING MATERIAL (SLM)

Application area General purpose Balanced performance Scientific Efficient floating point arithmetic Commercial Support for Cobol, data bases and transaction processing Special purpose High performance for specific tasks: DSP, functional programming, etc. Software Compatibility Frozen architecture; programs move easily from Object code one machine to another without any investment. Designer has maximum freedom; substantial High level language effort in software (compilers) is needed Operating system requirements Too low an address space may limitapplications Size of address space Memory management Flat, paged, segmented etc. Page protection v. segment protection. protection Required to interrupt and restart programs. Context switch Hardware support, software support. Interrupts Standards VME, SCSI, IPI etc. Buses IEEE 754, IBM, DEC Floating point UNIX, DOS, Windows NT, OS/2, proprietary Operating system Ethernet, FDDI, etc. Networks The choice will influence theinstruction set. Programming languages Table 1.3: Functional requirements Balancing Software and Hardware This is really a difficult task. You have chosen some functional requirements that must be met, and now have to optimize your design. To discuss about an optimum you have to choose some criteria to quantize the design, such that different versions can be compared. The most common metrics (criteria) are cost and performance although there are places where other requirements are important and must be taken into account: reliability and fault tolerance is of paramount importance in military, transaction processing, medical equipment, nuclear equipment, space and avionics, etc. 20 CU IDOL SELF LEARNING MATERIAL (SLM)

Sometimes certain hardware support is a must, you probably won't try to enter the scientific market without strong floating point hardware; of course the floating point arithmetic can be implemented in software, but you cannot compete with other vendors in this way. Other times it is not clear at all if certain functional requirements must be implemented in hardware (where it is presumed to run very fast), or in software, where the major advantages are easy design and debugging, simple upgradability, and low cost of errors. Design today for the tomorrow's markets because the design of a new system may take from months to years, the architect must be aware of the rapidly improving implementation technologies. Here are some of the major hardware trends.  Integrated circuit technology: Transistor count on a chip increases by about 25% per year, thus doubling every three years. Device speed increases at almost the same pace.  Semiconductor RAM: Density increases by some 60% per year, thus quadrupling every three years; the cycle time has decreased very slow in the last decade, only by 33%.  Disk technology: Density increases by about 25% per year, doubling every three years. The access time has decreased only by one third in ten years. A new design must support, not only the circuits that are available now, at the design time, which will become obsolete eventually, but also the circuits that will be available when the product gets into the market. A new design must support, not only the circuits that are available now, at the design time, which will become obsolete eventually, but also the circuits that will be available when the product gets into the market. The designer must also be aware of the software trends.  The amount of memory an average program requires has grown by a factor of 1.5 to 2 per year. In this rhythm the 32 bit address space of the processors dominating the market today, will soon be exhausted. As a matter of fact, the most recently appeared designs, as DEC's Alpha, have shifted to larger address spaces: the virtual address of the Alpha architecture is 64 bit and various implementations must provide at least 43 bits of address.  Increased dependency on compiler technology: the compiler is now the major interface between the programmer and the machine. While in the pioneering era of computers a compiler had to deal with ill designed instruction sets, now the architectures move toward supporting efficient compiling and ease of writing compilers. 21 CU IDOL SELF LEARNING MATERIAL (SLM)

1.4 COMPUTER ARCHITECTURE Computer architecture is a specification detailing how a set of software and hardware technology standards interact to form a computer system or platform. In short, computer architecture refers to how a computer system is designed and what technologies it is compatible with. As with other contexts and meanings of the word architecture, computer architecture is likened to the art of determining the needs of the user/system/technology, and creating a logical design and standards based on those requirements. A very good example of computer architecture is von Neumann architecture, which is still used by most types of computers today. This was proposed by the mathematician John von Neumann in 1945. It describes the design of an electronic computer with its CPU, which includes the arithmetic logic unit, control unit, registers, memory for data and instructions, an input/output interface and external storage functions. There are three categories of computer architecture.  System Design: This includes all hardware components in the system, including data processors aside from the CPU, such as the graphics processing unit and direct memory access. It also includes memory controllers, data paths and miscellaneous things like multiprocessing and virtualization.  Instruction Set Architecture (ISA): This is the embedded programming language of the central processing unit. It defines the CPU's functions and capabilities based on what programming it can perform or process. This includes the word size, processor register types, memory addressing modes, data formats and the instruction set that programmers use.  Microarchitecture: Otherwise known as computer organization, this type of architecture defines the data paths, data processing and storage elements, as well as how they should be implemented in the ISA. 1.5SUMMARY  A computer is an electronic device, operating under the control of instructions stored in its own memory that can accept data (input), process the data according to specified rules, produce information (output), and store the information for future use.  Computer hardware is the collection of physical elements that constitutes a computer system. Computer hardware refers to the physical parts or components of a computer such as the monitor, mouse, keyboard, computer data storage, hard drive disk (HDD), system unit (graphic cards, sound cards, memory, motherboard and chips), etc. all of which are physical objects that can be touched. 22 CU IDOL SELF LEARNING MATERIAL (SLM)

 Input device is any peripheral (piece of computer hardware equipment to provide data and control signals to an information processing system such as a computer or other information appliance. Input device Translate data from form that humans understand to one that the computer can work with. Most common are keyboard and mouse.  A CPU is brain of a computer. It is responsible for all functions and processes. Regarding computing power, the CPU is the most important element of a computer system.  Random Access Memory (RAM) is a memory scheme within the computer system responsible for storing data on a temporary basis, so that it can be promptly accessed by the processor as and when needed. It is volatile in nature, which means that data will be erased once supply to the storage device is turned off. 1.6 KEYWORDS  Application: Computer software that performs a task or set of tasks, such as word processing or drawing. Applications are also referred to as programs.  ASCII: American Standard Code for Information Interchange, an encoding system for converting keyboard characters and instructions into the binary number code that the computer understands.  Binary Code: The most basic language a computer understands, it is composed of a series of 0s and 1s. The computer interprets the code to form numbers, letters, punctuation marks, and symbols.  Bit: The smallest piece of computer information, either the number 0 or 1. In short they are called binary digits.  CPU: Central Processing Unit. The brain of the computer. 1.7 LEARNING ACTIVITY 1. Conduct a seminar on the topic introduction to computer and CPU. ___________________________________________________________________________ ____________________________________________________________________ 2. Discuss how to organize and design the computer. ___________________________________________________________________________ _____________________________________________________________________ 1.8 UNIT END QUESTIONS A. Descriptive Questions 23 CU IDOL SELF LEARNING MATERIAL (SLM)

Short Questions 24 1. What is computer? 2. What is CPU? 3. List the names of input devices. 4. What is output device? 5. What is RAM and ROM? Long Questions 1. What is computer?List and explain the functionalities of computer? 2. List and explain input and devices? 3. Explain CPU? 4. Differentiate primary memory and secondary memory? 5. Explain computer architecture and design? B. Multiple Choice Questions 1. What is smallest unit of the information? a. A bit b. A byte c. A block d. A nibble 2. Which of the following is an output device? a. Keyboard b. Mouse c. Light pen d. VDU 3. Which of the following is an input device? a. Plotter b. Printer c. VDU d. Mouse 4. Where the central processing unit isislocated? CU IDOL SELF LEARNING MATERIAL (SLM)

a. Hard disk b. System unit c. Memory unit d. Monitor 5. Which of the following is equal to a gigabyte? a. 1024 bytes b. 512 GB c. 1024 megabytes d. 1024 bits Answers 1-a, 2-d, 3-d, 4-b, 5-c. 1.9 REFERENCES References  M, M, Mano. Computer System Architecture, PHI.  J, P, Hayes. Computer Organization and Architecture. Third edition. TMH.  Stallings. Computer Organization and Architecture. Eighth edition. PHI. Textbooks  Douglas, E, Comer. Essentials of Computer Architecture. Pearson Prentice Hall. Pearson Prentice Hall.  Robert, L, Britton. MIPS Assembly Language Programming. Pearson Prentice Hall.  Computer Systems Architecture, By Aaron Yadin,Copyright Year 2016. Website  https://www.techopedia.com  https://www.geeksforgeeks.org  https://www.researchgate.net 25 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT - 2: INTRODUCTION TO COMPUTER ORGANIZATION PART II STRUCTURE 2.0 Learning Objectives 2.1 Introduction 2.2 Stored Program Concept- Von Neumann Architecture 2.3 Summary 2.4Keywords 2.5Learning Activity 2.6 Unit End Questions 2.7 References 2.0 LEARNING OBJECTIVES After studying this unit, you will be able to:  Explainstored program concept- Von Neumann architecture.  Describe the components of the Von Neumann model.  Explain the communication between memory and processing unit. 2.1 INTRODUCTION Computer architecture has undergone incredible changes in the past 20 years, from the number of circuits that can be integrated onto silicon wafers to the degree of sophistication with which different algorithms can be mapped directly to a computer's hardware. One element has remained constant throughout the years, however, and that is the von Neumann concept of computer design. The basic concept behind the von Neumann architecture is the ability to store program instructions in memory along with the data on which those instructions operate. Until von Neumann proposed this possibility, each computing machine was designed and built for a single predetermined purpose. All programming of the machine required the manual rewiring of circuits, a tedious and error-prone process. If mistakes were made, they were difficult to detect and hard to correct. Von Neumann architecture is composed of three distinct components (or sub-systems): a central processing unit (CPU), memory, and input/output (I/O) interfaces. Figure 2.1 represents one of several possible ways of interconnecting these components. 26 CU IDOL SELF LEARNING MATERIAL (SLM)

Figure 2.1:Basic Computer Components 1. The CPU, which can be considered the heart of the computing system, includes three main components: the control unit (CU), one or more arithmetic logic units (ALUs), and various registers. The control unit determines the order in which instructions should be executed and controls the retrieval of the proper operands. It interprets the instructions of the machine. The execution of each instruction is determined by a sequence of control signals produced by the control unit. In other words, the control unit governs the flow of information through the system by issuing control signals to different components. Each operation caused by a control signal is called a micro operation (MO). ALUs perform all mathematical and Boolean operations. The registers are temporary storage locations to quickly store and transfer the data and instructions being used. Because the registers are often on the same chip and directly connected to the CU, the registers have faster access time than memory. Therefore, using registers both as the source of operands and as the destination of results will improve the performance. A CPU that is implemented on a single chip is called a microprocessor. 2. The computer's memory is used to store program instructions and data. Two of the commonly used type of memories are RAM (random-access memory) and ROM (read-only memory). RAM stores the data and general-purpose programs that the machine executes. RAM is temporary; that is, its contents can be changed at any time and it is erased when power to the computer is turned off. ROM is permanent and is used to store the initial boot up instructions of the machine. 3. The I/O interfaces allow the computer's memory to receive information and send data to output devices. Also, they allow the computer to communicate to the user and to secondary storage devices like disk and tape drives. The preceding components are connected to each other through a collection of signal lines known as a bus. As shown in figure 2.1, the main buses carrying information are the control bus, data bus, and address bus. Each bus contains several wires that allow for the parallel transmission of information between various hardware components. The address bus identifies either a memory location or an I/O device. 27 CU IDOL SELF LEARNING MATERIAL (SLM)

The data bus, which is bidirectional, sends data to or from a component. The control bus consists of signals that permit the CPU to communicate with the memory and I/O devices. The execution of a program in a von Neumann machine requires the use of the three main components just described. Usually, a software package, called an operating system, controls how these three components work together. Initially, a program has to be loaded into the memory. Before being loaded, the program is usually stored on a secondary storage device (like a disk). The operating system uses the I/O interfaces to retrieve the program from secondary storage and load it into the memory. Once the program is in memory, the operating system then schedules the CPU to begin executing the program instructions. Each instruction to be executed must first be retrieved from memory. This retrieval is referred to as an instruction fetch. After an instruction is fetched, it is put into a special register in the CPU, called the instruction register (IR). While in the IR, the instruction is decoded to determine what type of operation should be performed. If the instruction requires operands, these are fetched from memory or possibly from other registers and placed into the proper location (certain registers or specially designated storage areas known as buffers). The instruction is then performed, and the results are stored back into memory and/or registers. This process is repeated for each instruction of the program until the program's end is reached. This chapter describes the typical implementation techniques used in von Neumann machines. The main components of a von Neumann machine are explained in the following sections. To make the function of the components in the von Neumann architecture and their interactions clear, the design of a simple microcomputer is discussed in the next section. In later sections, various design techniques for each component are explained in detail. Elements of a datapath, as well as the hardwired and microprogramming techniques for implementing control functions, are discussed. Next, a hierarchical memory system is presented. The architectures of a memory cell, interleaved memory, an associative memory, and a cache memory are given. Virtual memory is also discussed. Finally, interrupts and exception events are addressed. 2.2 STORED PROGRAM CONCEPT- VON NEUMANN ARCHITECTURE The term Stored Program Control Concept refers to the storage of instructions in computer memory to enable it to perform a variety of tasks in sequence or intermittently. The idea was introduced in the late 1040s by John von Neumann who proposed that a program be electronically stored in the binary-number format in a memory device so that instructions could be modified by the computer as determined by intermediate computational results. 28 CU IDOL SELF LEARNING MATERIAL (SLM)

 ENIAC (Electronic Numerical Integrator and Computer) was the first computing system designed in the early 1940s. It was based on Stored Program Concept in which machine use memory for processing data.  1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atanasoff in 1939?) Hard-wired program -- settings of dials and switches.  1944: Beginnings of EDVAC among other improvements, includes program stored in memory.  1945: John von Neumann wrote a report on the stored program concept, known as the First Draft of a Report on EDVAC The basic structure proposed in the draft became known as the “von Neumann machine” (or model). i. A memory, containing instructions and data. ii. A processing unit, for performing arithmetic and logical operations. iii. A control unit, for interpreting instructions. Figure 2.2: Von Neumann Model Von-Neumann Model Von-Neumann proposed his computer architecture design in 1945 which was later known as Von-Neumann Architecture. It consisted of a Control Unit, Arithmetic, and Logical Memory Unit (ALU), Registers and Inputs/Outputs. Von Neumann architecture is based on the stored-program computer concept, where instruction data and program data are stored in the same memory. This design is still used in most computers produced today. 29 CU IDOL SELF LEARNING MATERIAL (SLM)

 Von Neumann computer systems contain three main building blocks. i. The central processing unit (CPU) ii. Memory iii. Input/output devices (I/O)  These three components are connected together using the system bus.  The most prominent items within the CPU are the registers: they can be manipulated directly by a computer program. Figure 2.3: Relationship between CPU components Components of the Von Neumann Model 1. Memory: Storage of information (data/program) 2. Processing Unit: Computation/Processing of Information. 3. Input: Means of getting information into the computer. Examples: Keyboard, mouse 4. Output: Means of getting information out of the computer. Example: Printer, monitor 5. Control Unit: Makes sure that all the other parts perform their tasks correctly and at correct time. 30 CU IDOL SELF LEARNING MATERIAL (SLM)

Figure 2.4: The von Neumann Machine Communication between Memory and Processing Unit Communication between memory and processing unit consists of two registers.  Memory Address Register (MAR)  Memory Data Register (MDR) To read  The address of the location is put in MAR.  The memory is enabled for a read.  The value is put in MDR by the memory. To write  The address of the location is put in MAR.  The data is put in MDR.  The Write Enable signal is asserted.  The value in MDR is written to the location specified. 31 CU IDOL SELF LEARNING MATERIAL (SLM)

Figure 2.5: Communication between memory and processing unit CPU Data-Path  Hardware units like ALU's, registers, memory, etc., are linked together into a data- path.  The flow of bits around the data-path is controlled by the \"gates\" which allow the bits to flow (on) or not flow (off) through the data-path.  The binary instructions (1 = on; 0 = off) that control the flow are called micro- instructions. Figure 2.6: Simplified data path 32 CU IDOL SELF LEARNING MATERIAL (SLM)

Memory Operations  There are two key operations on memory. i. Fetch (address) returns value without changing the value stored at that address. ii. Store (address, value) writes new value into the cell at the given address.  This type of memory is random-access, meaning that CPU can access any value of the array at any time (vs. sequential access, like on a tape).  Such memories are called RAM (random-access memory).  Some memory is non-volatile, or read-only (ROM or read-only memory). Figure 2.7: Memory operations Understanding the MAR and the MDR  MAR stands for memory address register. i. MAR is connected to the address bus. ii. MAR is \"the only way\" for the CPU to communicate with address bus. iii. Tri-state buffer between MAR and the address bus prevent. MAR from continuously dumping its output to the address bus. iv. MAR can hold either an instruction address or a data address. Understanding the MAR and the MDR  MDR Stands for memory data register. 33 CU IDOL SELF LEARNING MATERIAL (SLM)

1. MDR is connected to the data bus. 2. Data can go in both directions: to and from memory. 3. MDR can load its data from i. The data bus (for reading data). ii. One of the CPU registers (for storing data). a. A 2-1 MUX circuit selects input from one of the two. Figure 2.8:Memory circuitry ALU, the Processing Unit  Processing unit is hardware that implements Arithmetic and Logical Operations.  ALU stands for Arithmetic and Logic Unit, capable of performingADD, SUBTRACT, AND, OR, and NOT.  The size of input quantities of ALU is often referred to as word length of the computer.  Many processors today have word length of 32 and 64 bit.  Processing unit also includes a set of registers for temporary storage of data and memory addressing. Figure 2.9: The ALU ALU and the Word Length  The size of quantities processed by ALU is the word length of the computer.  The word length does not affect what a computer can compute. 34 CU IDOL SELF LEARNING MATERIAL (SLM)

 A computer with a smaller word length can do the same computation as one with a larger word length but it will take more time. For example, to add two 64-bit numbers  Word length = 16 takes 4 adds.  Word length = 32 takes 2 adds.  Word length = 64 takes 1 add. Control Unit  Manages the Processing Unit.  Implemented as FSM.  FSM directs all activity.  Clock-based step-by-step processing, cycle-by-cycle.  FSM is controlled by the i. Clock signal ii. Instruction registers iii. Reset signal Control Unit Control unit includes  Instruction Register (IR)  Instruction Pointier (IP) FSM outputs of the control unit, - - - - ->shown by dash lines, have two purposes. i. Control processing that takes place inside the ALU. ii. Authorize read/write gate control of the CPU data-path. Input/output  I/O controller provides the necessary interface to I/O devices.  Takes care of low-level, device-dependent details.  Provides necessary electrical signal interface. 35 CU IDOL SELF LEARNING MATERIAL (SLM)

Figure 2.10: I/O controller 36 Input/output Ports  Processor and I/O interface points for exchanging data are called I/O ports.  Two ways of mapping I/O ports. 1. Memory-mapped I/O i. I/O ports are mapped to the memory address space. ii. Reading/writing I/O is like reading/writing memory. iii. Can use memory read/write instructions. iv. Motorola 68000 uses memory-mapped I/O. 2. Isolated I/O i. Separate I/O addresses space. ii. Intel 80x86 processors support isolated I/O. iii. Requires special I/O instructions, like IN and OUT on x86. Input/output Address Space  Pentium x86 provides 64 KB of I/O address space.  Can be used for 8-, 16-, and 32-bit I/O ports.  Combination cannot exceed the total I/O address space, can have either i. 64 K 8-bit ports ii. 32 K 16-bit ports iii. 16 K 32-bit ports  A combination of these for a total of 64 KB. CU IDOL SELF LEARNING MATERIAL (SLM)

 I/O instructions do not go through memory segmentation or paging.  I/O address refers to the physical I/O address. Console Input/output in Protected Memory Mode  Using console in Protected Memory Mode: i. Keyboard input ii. Console display output iii. Ascii character encoding Figure 2.11: Von Neumann computer system block diagram Instruction Processing  Central idea of von Neumann model is that both program and data stored in computer memory.  Program is a sequence of instructions.  Instruction is a binary encoding of operations and operands.  For example, an arithmetic expression -a + b * ccould be computed by a program with three machine instructions Neg ax which implies, negate (multiply by -1) Imul bx, cx which implies, multiply and store result in bx Add ax, bx which implies add and store result in ax Where NEG, IMUL, ADD are arithmetic instructions, AX, BX, and CX are operands.  Instructions are most basic units of processing.  Instructions are executed under control of the control unit. Instruction Components  Instruction in memory has two parts: opcode and operands. 37 CU IDOL SELF LEARNING MATERIAL (SLM)

 The opcode identifies the operation that instruction does.  The operands are subjects of the operation, such as data values, registers, or memory addresses.  Due to variety of opcodes and operands, instructions may occupy different sizes of bytes in memory.  Instructions with no operands can have implied operands, those that are not explicitly shown. Figure 2.12: Instruction formats Why Learn Intel x86 ISA?  The x86 Intel CPU family is generally classified as a Von Neumann Architecture Machine.  Most pervasive ISA in the marketplace.  Opcodes have zero or more operands.  Instructions and operands have strong support for data types.  All x86 Assemblers are free, including Microsoft Macro Assembler, MASM.  Full screen 32-bit debuggers WinDbg, OllyDbg, and MS Visual Studio. Design of the x86 CPU Instruction Set  Instruction set architecture (ISA) is an important design issue for CPU designers: caches, pipelining, superscalar implementation can be added to the design later, butit is very difficult to change the CPU instructions once in production and people writing software. LOOP instruction on the x86 CPU sees very little use in modern high- performance programs.  Challenges i. Expandability is a big concern (predicting future needs). ii. Legacy support is almost the opposite of expandability. 38 CU IDOL SELF LEARNING MATERIAL (SLM)

 Each instruction requires some number of transistors on the CPU's silicon die. CPU Instruction Set  A typical Von Neumann architecture encodes CPU instructions as numeric values in memory.  Programming and engineering of the instruction set is a major task in the CPU design.  Each instruction needs a unique numeric opcode. Figure 2.13: Instruction decoder 2.3 SUMMARY  Computer architecture has undergone incredible changes in the past 20 years, from the number of circuits that can be integrated onto silicon wafers to the degree of sophistication with which different algorithms can be mapped directly to a computer's hardware.  The CPU, which can be considered the heart of the computing system, includes three main components: the control unit (CU), one or more arithmetic logic units (ALUs), and various registers.  The computer's memory is used to store program instructions and data. Two of the commonly used types of memories are RAM (random-access memory) and ROM (read-only memory). 39 CU IDOL SELF LEARNING MATERIAL (SLM)

 The I/O interfaces allow the computer's memory to receive information and send data to output devices. Also, they allow the computer to communicate to the user and to secondary storage devices like disk and tape drives.  The term Stored Program Control Concept refers to the storage of instructions in computer memory to enable it to perform a variety of tasks in sequence or intermittently.  The idea was introduced in the late 1040s by John von Neumann who proposed that a program be electronically stored in the binary-number format in a memory device so that instructions could be modified by the computer as determined by intermediate computational results.  ENIAC (Electronic Numerical Integrator and Computer) was the first computing system designed in the early 1940s. It was based on Stored Program Concept in which machine use memory for processing data.  Von-Neumann proposed his computer architecture design in 1945 which was later known as Von-Neumann Architecture. It consisted of a Control Unit, Arithmetic, and Logical Memory Unit (ALU), Registers and Inputs/Outputs. 2.4 KEYWORDS  Stored Program:A program that is stored in the memory of the computer that executes it.  ENIAC: (Electronic Numerical Integrator and Computer) was the first computing system designed in the early 1940s. It was based on Stored Program Concept in which machine use memory for processing data.  MAR: Memory address register - holds the address of the current instruction that is to be fetched from memory, or the address in memory to which data is to be transferred.  MDR:Memory data register holds the contents found at the address held in the MAR, or data which is to be transferred to primary memory.  ALU: An arithmetic logic unit is a digital circuit used to perform arithmetic and logic operations. It represents the fundamental building block of the central processing unit (CPU) of a computer. Modern CPUs contain very powerful and complex ALUs. In addition to ALUs, modern CPUs contain a control unit (CU). 2.5 LEARNING ACTIVITY 1. Conduct a seminar on Von Neumann architecture. ___________________________________________________________________________ _____________________________________________________________________ 40 CU IDOL SELF LEARNING MATERIAL (SLM)

2. Discuss about the components of the Von Neumann model. ___________________________________________________________________________ _____________________________________________________________________ 2.6 UNIT END QUESTIONS A. Descriptive Questions Short Questions 1. What is ENIAC? 2. What is MAR? 3. What is MDR? 4. What is Von-Neumann model? 5. List the components of Von-Neumann model? Long Questions 1. Explain Von-Neumann model. 2. List and explain the components of Von-Neumann model? 3. Explaincommunication between memory and processing unit? 4. Draw and explain the von Neumann machine? 5. Explain MAR and the MDR? B. Multiple Choice Questions 1. Where the decoded instruction does is stored in? a. IR b. PC c. Registers d. MDR 2. Which registers can interact with the secondary storage? a. MAR b. PC c. IR d. R0 3. Which architecture is followed by general purpose microprocessors? 41 CU IDOL SELF LEARNING MATERIAL (SLM)

a. Harvard architecture b. Von Neumann architecture c. None of these d. All of these 4. Which of the two architecture save memory? a. Harvard b. Von Neumann c. Harvard & Von Neumann d. None of these 5. What are components of the Von Neumann Model? a. Memory b. Processing unit c. Input d. All of these Answers 1-a, 2-a, 3-b, 4-b, 5-d. 2.7 REFERENCES References  Bowden, B. V. (1953), Faster Than Thought: A Symposium on Digital Computing Machines, London: Sir Isaac Pitman and Sons Ltd.  Rojas, Raúl&Hashagen, Ulf. (2000), the First Computers: History and Architectures, MIT Press.  Bell, C. Gordon&Newell, Allen. (1971). Computer Structures: Readings and Examples, McGraw-Hill Book Company, New York. Massive. Textbooks  McCartney, Scott. (1999). ENIAC: The Triumphs and Tragedies of the World's First Computer. Walker & Co.  Goldstine, Herman, H. (1972). The Computer from Pascal to von Neumann. Princeton University Press. 42 CU IDOL SELF LEARNING MATERIAL (SLM)

 Shulkin, Joel. (1984). Engines of the Mind: A history of the Computer. New York, London: W. W. Norton & Company. Website  https://www.javatpoint.com  https://www.geeksforgeeks.org  https://www.computerscience.gcse.guru 43 CU IDOL SELF LEARNING MATERIAL (SLM)

UNIT -3:INTRODUCTION TO FLYNN’SCLASSIFICATION STRUCTURE 3.0 Learning Objectives 3.1 Introduction 3.2 Flynn’s Classification 3.3Single Instruction Single Data (SISD) 3.4 Single Instruction Multiple Data (SIMD) 3.5 Multiple Instruction Multiple Data (MIMD) 3.6 Summary 3.7 Keywords 3.8 Learning Activity 3.9 Unit End Questions 3.10 References 3.0 LEARNING OBJECTIVES After studying this unit, you will be able to:  Explain Flynn’s classification.  ExplainSingle Instruction Single Data (SISD).  Explain Single Instruction Multiple Data (SIMD).  Illustrate the concept of Instruction Multiple Data (MIMD). 3.1 INTRODUCTION A classification means to order a number of objects into categories, each having common features, among which certain relationship(s) exist(s). In this regard, a classification scheme for computer architectures aims at categorizing them such that those architectures that have common features fall into one category and such that different categories represent distinct groups of architectures. In addition, a classification scheme for computer architecture should provide a basis for information ordering and a basis for predicting the features of a given architecture. Two broad schemes exist for computer architecture classification. The first is based on external (morphological) features of architectures and the second is based on the 44 CU IDOL SELF LEARNING MATERIAL (SLM)

evolutionary features of architectures. The first scheme emphasizes the finished form of architectures, while the second scheme emphasizes the way an architecture has been derived from its predecessor and suggests speculative views on its successor. Morphological classification provides a basis for predictive power, while evolutionary classification provides a basis for better understanding of architectures. Examining the extent to which a classification scheme is satisfying its stated objective(s) could assess the pros and cons of that scheme. A number of classification schemes have been proposed over the last three decades. These include the Flynn’s classificationthe Kick, the Hwang and Briggs, the Erlangen, the Giloi, the Skillicornand the Bell. A number of these are briefly discussed below. 3.2 FLYNN’S CLASSIFICATION Flynn’s classification scheme is based on identifying two orthogonal streams in a computer. These are the instruction and the data streams. The instruction stream is defined as the sequence of instructions performed by the computer. The data stream is defined as the data traffic exchanged between the memory and the processing unit. According to Flynn’s classification, either of the instruction or data streams can be single or multiple. This leads to four distinct categories of computer architectures.  Single-instruction single-data streams (SISD)  Single-instruction multiple-data streams (SIMD)  Multiple-instruction single-data streams (MISD)  Multiple-instruction multiple-data streams (MIMD) Observations on Flynn’s Classification 1. Flynn’s classification is among the first of its kind to be introduced and as such it must have inspired subsequent classifications. 2. The classification helped in categorizing architectures that were available and those that have been introduced later. For example, the introduction of the SIMD and MIMD machine models in the classification must have inspired architects to introduce these new machine models. 3. The classification stresses the architectural relationship at the memory- processor level. Other architectural levels are totally overlooked. 4. The classification stresses the external (morphological) features of architectures. No information is included on the revolutionary relationship of architectures that belong to the same category. 5. Owing to its pure abstractness, no practically viable machine has exemplified the MISD model introduced by the classification (at least so far). It should, however, be 45 CU IDOL SELF LEARNING MATERIAL (SLM)

noted that some architects have considered pipelined machines (and perhaps systolic- array computers) as examples for MISD. 6. A very important aspect that is lacking in Flynn’s classification is the issue of machine performance. Although the classification gives the impression that machines in the SIMD and the MIMD are superior to their SISD and MISD counterparts, it gives no information on the relative performance of SIMD and MIMD machines. Figure 3.1: Flynn’s classification 46 CU IDOL SELF LEARNING MATERIAL (SLM)

Figure 3.2:The four architecture classes resulting from Flynn’s taxonomy. (a) SISD, (b) SIMD, (c) MISD, (d) MIMD Example Machines and their Flynn’s classification Classification category Example machines SISD IBM 704, VAX 11/780, CRAY-1 SIMD ILLIAC-IV, MPP, CM-2, STARAN MISD See observation 5 on page 238 MIMD Cm*, CRAY XMP, IBM 370/168M 3.3 SINGLE INSTRUCTION SINGLE DATA (SISD) The original Von Neumann Architecture that does not employ any kind of parallelism. The sequential processor takes data from a single address in memory and performs a single instruction on the data. All single processor systems are SISD. 47 CU IDOL SELF LEARNING MATERIAL (SLM)

Figure 3.3: SISD architecture diagram Common Usage  Older computers  Microcontrollers Advantages  Low power requirements as only a single core  Simpler architecture than others therefore cheaper and easier to manufacture Disadvantages  Speed of the system limited due to it being a single core 3.4 SINGLE INSTRUCTION MULTIPLE DATA (SIMD) A single instruction is executed on multiple different data streams. These instructions can be performed sequentially, taking advantage of pipelining, or in parallel using multiple processors. Modern GPUs, containing Vector processors and array processors, are commonly SIMD systems. 48 CU IDOL SELF LEARNING MATERIAL (SLM)

Figure 3.4: SIMD architecture diagram Common Usage  Graphics Processing Units Advantages  Very efficient where you need to perform instruction on large amounts of data. 3.5 MULTIPLE INSTRUCTION MULTIPLE DATA (MIMD) Multiple Instructions, Multiple Data (MIMD) refers to a parallel architecture, which is probably the most basic, but most familiar type of parallel processor. Its key objective is to achieve parallelism. MIMD architecture includes a set of N-individual, tightly-coupled processors. Each processor includes memory that can be common to all processors, and cannot be directly accessed by the other processors. MIMD architecture includes processors that operate independently and asynchronously. Various processors may be carrying out various instructions at any time on various pieces of data. There are two types of MIMD architecture: Shared Memory MIMD architecture and Distributed Memory MIMD architecture. Shared Memory MIMD architecture characteristics are  Creates a group of memory modules and processors. 49 CU IDOL SELF LEARNING MATERIAL (SLM)

 Any processor is able to directly access any memory module by means of an interconnection network.  The group of memory modules outlines a universal address space that is shared between the processors. A key benefit of this architecture type is that it is very easy to program since there exists no explicit communications among processors with communications addressed through the global memory store. Distributed Memory MIMD architecture characteristics are  Clones the memory/processor pairs, known as a processing element (PE), and links them by using an interconnection network.  Each PE can communicate with others by sending messages. By providing every processor its own memory, the distributed memory architecture bypasses the downsides of the shared memory architecture. A processor may only access the memory that is directly connected to it. In case a processor requires data that reside in the remote processor memory, then the processor should send a message to the remote processor, requesting the required data. Access to local memory could happen way quicker as opposed to accessing data on a remote processor. Furthermore, if the physical distance to the remote processor is greater, access to the remote data will take more time. Multiple autonomous processors perform operations on difference pieces of data, either independently or as part of shared memory space. Common Usage  Most modern desktop / laptop / mobile processors are MIMD processors. Advantages  Great for situations where you need to perform a variety of processor and data intensive tasks (such as video editing, game rendering). 50 CU IDOL SELF LEARNING MATERIAL (SLM)


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook