Listen to your teachers when they tell you WHAT to do. But more importantly, think about it later and ask yourself WHY they told you to do it.
--Your friends at LectureNotes

Note for Computer Organisation and Architecture - COA By Amity Kumar

  • Computer Organisation and Architecture - COA
  • Note
  • Amity University - AMITY
  • Electronics and Communication Engineering
  • 6 Topics
  • 217 Offline Downloads
  • Uploaded 2 years ago
0 User(s)
Download PDFOrder Printed Copy

Share it with your friends

Leave your Comments

Text from page-2

Einstein College of Engineering    ISA (Instruction Set Architecture) - as defined above Assembly ISA - a smart assembler may convert an abstract assembly language common to a group of machines into slightly different machine language for different implementations Programmer Visible Macroarchitecture - higher level language tools such as compilers may define a consistent interface or contract to programmers using them, abstracting differences between underlying ISA, UISA, and micro architectures. E.g. the C, C++, or Java standards define different Programmer Visible Macro architecture - although in practice the C micro architecture for a particular computer includes  UISA (Microcode Instruction Set Architecture) - a family of machines with different hardware level micro architectures may share a common microcode architecture, and hence a UISA.  Pin Architecture - the set of functions that a microprocessor is expected to provide, from the point of view of a hardware platform. E.g. the x86 A20M, FERR/IGNNE or FLUSH pins, and the messages that the processor is expected to emit after completing a cache invalidation so that external caches can be invalidated. Pin architecture functions are more flexible than ISA functions - external hardware can adapt to changing encodings, or changing from a pin to a message - but the functions are expected to be provided in successive implementations even if the manner of encoding them changes. Design goals The exact form of a computer system depends on the constraints and goals for which it was optimized. Computer architectures usually trade off standards, cost, memory capacity, latency and throughput. Sometimes other considerations, such as features, size, weight, reliability, expandability and power consumption are factors as well. The most common scheme carefully chooses the bottleneck that most reduces the computer's speed. Ideally, the cost is allocated proportionally to assure that the data rate is nearly the same for all parts of the computer, with the most costly part being the slowest. This is how skillful commercial integrators optimize personal computers. Performance Computer performance is often described in terms of clock speed (usually in MHz or GHz). This refers to the cycles per second of the main clock of the CPU. However, this metric is somewhat misleading, as a machine with a higher clock rate may not necessarily have higher performance. As a result manufacturers have moved away from clock speed as a measure of performance. Computer performance can also be measured with the amount of cache a processor has. If the speed, MHz or GHz, were to be a car then the cache is like the gas tank. No matter how fast the car goes, it will still need to get gas. The higher the speed, and the greater the cache, the faster a processor runs. Modern CPUs can execute multiple instructions per clock cycle, which dramatically speeds up a program. Other factors influence speed, such as the mix of functional units, bus speeds, available memory, and the type and order of instructions in the programs being run. There are two main types of speed, latency and throughput. Latency is the time between the start of a process and its completion. Throughput is the amount of work done per unit time. Interrupt latency is the guaranteed maximum response time of the system to an electronic event (e.g. when the disk drive finishes moving some data). Performance is affected by a very wide range of design choices — for example, pipelining a processor

Text from page-3

Einstein College of Engineering usually makes latency worse (slower) but makes throughput better. Computers that control machinery usually need low interrupt latencies. These computers operate in a real-time environment and fail if an operation is not completed in a specified amount of time. For example, computer-controlled anti-lock brakes must begin braking almost immediately after they have been instructed to brake. The performance of a computer can be measured using other metrics, depending upon its application domain. A system may be CPU bound (as in numerical calculation), I/O bound (as in a webserving application) or memory bound (as in video editing). Power consumption has become important in servers and portable devices like laptops. Benchmarking tries to take all these factors into account by measuring the time a computer takes to run through a series of test programs. Although benchmarking shows strengths, it may not help one to choose a computer. Often the measured machines split on different measures. For example, one system might handle scientific applications quickly, while another might play popular video games more smoothly. Furthermore, designers have been known to add special features to their products, whether in hardware or software, which permit a specific benchmark to execute quickly but which do not offer similar advantages to other, more general tasks.

Text from page-4

Einstein College of Engineering A Functional Unit is defined as a collection of computer systems and network infrastructure components which, when abstracted, can be more easily and obviously linked to the goals and objectives of the enterprise, ultimately supporting the success of the enterprise‘s mission. From a technological perspective, a Functional Unit is an entity that consists of computer systems and network infrastructure components that deliver critical information assets,1 through network-based services, to constituencies that are authenticated to that Functional Unit. Central processing unit (CPU) — The part of the computer that executes program instructions is known as the processor or central processing unit (CPU). In a microcomputer, the CPU is on a single electronic component, the microprocessor chip, within the system unit or system cabinet. The system unit also includes circuit boards, memory chips, ports and other components. A microcomputer system cabinet will also house disk drives, hard disks, etc., but these are considered separate from the CPU. This is principal part of any digital computer system, generally composed of control unit, and arithmetic-logic unit the ‗heart‖ of the computer. It constitutes the physical heart of the entire computer system; to it is linked various peripheral equipment, including input/output devices and auxiliary storage units o Control Unit is the part of a CPU or other device that directs its operation. The control unit tells the rest of the computer system how to carry out a program‘s instructions. It directs the movement of electronic signals between memory—which temporarily holds data, instructions and processed information—and the ALU. It also directs these control signals between the CPU and input/output devices. The control unit is the circuitry that controls the flow of information through the processor, and coordinates the activities of the other units within it. In a way, it is the "brain", as it controls what happens inside the processor, which in turn controls the rest of the PC. o Arithmetic-Logic Unit usually called the ALU is a digital circuit that performs two types of operations— arithmetic and logical. Arithmetic operations are the fundamental mathematical operations consisting of addition, subtraction, multiplication and division. Logical operations consist of comparisons. That is, two pieces of data are compared to see whether one is equal to, less than, or greater than the other. The ALU is a fundamental building block of the central processing unit of a computer. Memory — Memory enables a computer to store, at least temporarily, data and programs. Memory—also known as the primary storage or main memory—is a part of the microcomputer that holds data for processing, instructions for processing the data (the program) and information (processed data). Part of the contents of the memory is held only temporarily, that is, it is stored only as long as the microcomputer is turned on. When you turn the machine off, the contents are lost. The capacity of the memory to hold data and program instructions varies in different computers. The original IBM PC could hold approximately 6,40,000 characters of data or instructions only. But modern microcomputers can hold millions, even billions of characters in their memory. Input device : An input device is usually a keyboard or mouse, the input device is the conduit through which data and instructions enter a computer. A personal computer would be useless if you could not interact with it because the machine could not receive instructions or deliver the results of its work. Input devices accept data and instructions from the user or from another computer system (such as a computer on the Internet). Output devices return processed data to the user or to another computer system.

Text from page-5

Einstein College of Engineering The most common input device is the keyboard, which accepts letters, numbers, and commands from the user. Another important type of input device is the mouse, which lets you select options from on-screen menus. You use a mouse by moving it across a flat surface and pressing its buttons. A variety of other input devices work with personal computers, too: The trackball and touchpad are variations of the mouse and enable you to draw or point on the screen. The joystick is a swiveling lever mounted on a stationary base that is well suited for playing video games. Basic Operational Concepts of a Computer • • Most computer operations are executed in the ALU (arithmetic and logic unit) of a processor. Example: to add two numbers that are both located in memory. – Each number is brought into the processor, and the actual addition is carried out by the ALU. – The sum then may be stored in memory or retained in the processor for immediate use. Registers • When operands are brought into the processor, they are stored in high-speed storage elements (registers). • A register can store one piece of data (8-bit registers, 16-bit registers, 32-bit registers, 64-bit registers, etc…) • Access times to registers are faster than access times to the fastest cache unit in the memory hierarchy. Instructions • • Instructions for a processor are defined in the ISA (Instruction Set Architecture) – Level 2 Typical instructions include: – Mov BX, LocA • Fetch the instruction • Fetch the contents of memory location LocA • Store the contents in general purpose register BX – Add AX,BX • Fetch the instruction • Add the contents of registers BX and AX • Place the sum in register AX How are instructions sent between memory and the processor • • • • The program counter (PC) or instruction pointer (IP) contains the memory address of the next instruction to be fetched and executed. Send the address of the memory location to be accessed to the memory unit and issue the appropriate control signals (memory read). The instruction register (IR) holds the instruction that is currently being executed. Timing is crucial and is handled by the control unit within the processor.

Lecture Notes