0% found this document useful (0 votes)
13 views

CSC 3O1 CLASS NOTE

The document outlines the objectives of a computer architecture course, aiming to familiarize students with key concepts, performance impacts, and CPU design. It also discusses the historical development of computers, notable pioneers, and the classification of computers by generations, highlighting advancements from vacuum tubes to artificial intelligence. Additionally, it explains the structure and function of computer architecture, including the roles of instruction set architecture, microarchitecture, and system design.

Uploaded by

Gerald Egwudo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
13 views

CSC 3O1 CLASS NOTE

The document outlines the objectives of a computer architecture course, aiming to familiarize students with key concepts, performance impacts, and CPU design. It also discusses the historical development of computers, notable pioneers, and the classification of computers by generations, highlighting advancements from vacuum tubes to artificial intelligence. Additionally, it explains the structure and function of computer architecture, including the roles of instruction set architecture, microarchitecture, and system design.

Uploaded by

Gerald Egwudo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 32
Course Objectives What you can expect to get out of this class: to become conversant with computer architecture terms and concepts. to understand fundamental concepts in computer architecture and how they impact computer and application performance. to be able to read and evaluate architectural descriptions of even today’s most complex processors. iv, to gain experience designing a working CPU completely from scratch. to learn experimental techniques used to evaluate advanced architectural ideas. tanonors PLEASE, LET US DISCUSS THIS PROFESSION OF OUR STUDY IN THE IT WORLD WW What is Computer Architecture? .cting and interconnecting hardware ure is the science and art of seles al, performance and cost goals.” “Computer Architect te computers that meet function: ‘components to creat Examples: Y the instruction set ¥ the number of bits used to represent various data types ¥ /O mechanisms ¥ memory addressing techniques CLASS DISCUSSION FOR 3 MINUTES. AND I WILL POINT AT ANY OF YOU TO LET US KNOW WHAT THEY HAVE DISCUSSED. ranngr202s 3 > 3 (5,009, a Historical Development of Computers. Computer pioneers were the earliest people whose ideas, contributions, and inventions helped in the development of the computer system. These great people include Charles Babbage, Herman Hollerith, Lady Ada Lovelace, John Von Neumann, Blaise Pascal. Blaise Pascal, born in 1623, a French scientist and philosopher, invented the first adding machine (calculating machine) in 1642. At nineteen, his motivation was to do something that could help his father’s business (management of tax and public funds) which involved a lot of calculation. The machine was a small box with eight dials, which is connected to a drum that displayed the digits in a register window, Charles Babbage, born in 1791, an English mathematician conceived the idea of making a machine for astronomical calculations. He developed the Difference Engine in 1822. He abandoned the project and developed another machine called Analytical Engine in 1833. For this, he was referred to as the father of modern day computer. He could not complete the project because of funding. ‘Ada Lovelace was a friend to Babbage and wrote a program for the Analytical Engine of Babbage. Asa result, this mathematician was known as the first lady programmer. A programming language called ADA a standard language for most US Government Agencies was named after her. santor024 5 Hermann Hollerith, born in the year 1860, designed a system of recording data as holes on punch cards. It became one of the basic input mechanisms for digital computers. The card was called Hollerith card and was used by the US census bureau to quicken work on census data, Howard Aiken of Harvard University, in the 1930s, started work on electro-mechanical machine called Mark |. Eckert and Mauchlys of Moore School of Electrical Engineering of the University of Pennsylvania, developed the first electronic computer called Electrical Numerical Integrator and Calculator (ENIAC) in 1946. tanton024 : John Von Newman, a mathematician at the Institute of Advanced Studies, Princeton, brought the idea of storing both instructions and data in the computer's primary memory (Stored Program Concept). His idea gave birth to Electronic Discrete Variable Automatic Computer (EDVAC), which was the first program computer in the US, in 1945. Many computing devices were manufactured, taking this lead. Classification of Computers by Generations: 1°" Generation computers manufactured in the middle 1940s and early 1950s. They were huge computers that has the size of a football ficld. They were made of vacuum tubes as the basic building blocks for the logic parts (to serve as ON/OFF switches, where the "ON” imply binary value ’1’ and the "OFF” binary value ‘0"). They used magnetic drum as their primary storage device. They were programmed in machine language (binary codes). Examples of these are EDVAC, LEO, ENIAC, UNIVAC 1, and MARK 1. The challenges of the computer scientists were how to solve the problems of overheating, large size, slow speeds, tasking maintenance and inadequate main and secondary storage. The search for solutions led to the invention of second generation computers. Lanon024 7 “money 2"4 Generation Computers These were the computers manufactured in the late 1950s a transistors. Computers of this period were more powerful than the first generation computer and were programmed in assembly language. Computer here used magnetic core storage as main and magnetic tape as secondary storage. Examples are ATLAS, MARK II, IBM, and the IBM 7000 series. nd early 1960s. They were made of Nb: William Shockley in 1947, at BELL laboratory developed the first transistor. This aided the production of smaller systems called minicomputers. tanonons 3 Generation Computers Manufactured in the late 1960s and early 1970s. They were made of integrated circuits (IC). Integrated circuitry means that many transistors were put together on a very some piece of silicon called chip. ‘They supported interacting online processing and have capability to perform many jobs simultaneously. They were more powerful and reliable than 1* and 2" generation computers. As a result, there were cheaper, smaller and faster systems. Examples include ICL 1900 series, IBM series, and Honeywell 6000. Note:-In second generation, designers used to go through the tedious process of making complex and unreliable circuits consisting of transistors, diodes and capacitors joined together with wires. Jack kilby and Robert Noyce developed the Integrated Circuits (IC) where the components and connections were edged directly onto the semi- conductor material. In 1968, Noyce and Gorden Moore co-founded “intel” ranonn0r4 4" Generation Computers These are the computers in use today; they were manufactured in the late 1970s and early 1980s. They were made of complex integrated circuits which are known as “Large Scale Integration” (LSI). With the LSI, the price of computers came down. They have greater number of microscopic circuits on chips. Examples of these are microcomputers which are the largest and most inexpensive computer systems. This era brought us into development and use of software programs like graphics packages, database systems, word processors and so on. We had more memory capacity as well. Note: Background of fourth generation-One major challenge was that IC chips had to be hard- wired for specific jobs. Ted Hoff took us to very large integrated circuits which gave rise to the design of the first microprocessor (intel 4004) that could run conventional computer programs with multitasking capability( handling many tasks). Microprocessors brought about our desktop computers. santos 10 5* Generation Computers Since the urge now is to endow computers with the ability to take decisions in various circumstances, it is expected that this will now be the area of interest. These are the computers that will use artificial intelligence (Al), have the ability to perform actions that are characteristic of human intelligence, such as reasoning, mimicking and learning. The Abstract Level of Modern Computing Systems In programming, we divide a problem into modules and then design each module separately. Each module perform a specific task and modules need only to know how to interface with other modules to make use of them. Computer system organization can be approached in a similar manner. Through the principle of abstraction. With each level of abstraction having a specific function and exists as a distinct hypothetical machines - “Virtual Machines” Lanton0n4 n Table 1: The Abstract Level of Modern Computing Systems Level’é = Level |[EXecutable program 3 Level 5 High level Language Level C++, Java, FORTRAN ete Level 4 ‘Assembly Language Level Assembly Code Level 3 System Software Level OS, Library Code Level 2 Machine Level Instruction Set Architecture Level 1 Control Level Microcode or Hardwired Level 0 Digital Logie Level Circuits, Gates, ete vantonozs 2 Function of the levels Level 6: The user level is composed of applications and is the level with which everyone is familiar with. At this level, we run programs such as word processors, graphic packages and games. The lower levels are nearly invisible from the user level. Level S: At this level, the HLL are translated to a language the machine/lower levels can understand Level 4: Encompasses some assembly language, compiled HLL are translated into assembly language which is then translated to actual machine language(which consist of Os and 1s) Level 3: The System Software Level, deals with operating system instructions. This level is responsible for multiprogramming, protecting memory, synchronizing processes and other important functions. aanaz024 B Level 2: The Instruction Set Architecture(ISA), or Machine Level, consist of machine language recognized by the particular architecture of the computer system. (More on ISA latter) Level 1: The Control Level, is where a control unit makes sure that instructions are decoded and executed properly and data is moved where and when it should be. Level 0: The Digital Logic Level, is where we find the physical components of the computer system: the gates and wires- fundamental building blocks , implementation of mathematical logic common to all computer systems. lanonons “ CSC303: COMPUTER ORGANIZATION AND ARCHITECTURE & ORGANISATIO) What is computer architecture? It can be defined asa set of rules and methods that describe the functionality, management and implementation of computers. To be precise, it is nothing but tules by which a system performs and operates. It can also be defined as those attributes of a system visible to a programmer or those attributes that have a direct impact on the logical execution of a program. Architectural attributes include the instruction set, the number of bits used to represent various data types (e-g., numbers, characters), 1/O mechanisms, and techniques for addressing memory. lanior024 Sub-divisions: Computer Architecture can be divided into mainly three categories, which are as follows — Instruction set Architecture or ISA - Whenever an instruction is given to processor, its role is to read and act accordingly. It allocates memory to instructions and also acts upon memory address mode (Direct Addressing made or Indirect Addressing mode). Micro Architecture - It describes how a particular processor will handle and implement instructions from ISA. System design - It includes the other entire hardware component within the system such as virtualization, multiprocessing. tanone24 16 NOUN Of Money Role of computer Architecture: The main role of Computer Architecture is to balance the performance, efficiency, cost and reliability of a computer system. For Example - Instruction set architecture (ISA) acts as a bridge between computer's software and hardware. It works as a programmer's view of a machine. Computers can only understand binary language (j-e., 0, 1) and users understand high level language (ice, if else, while, conditions, etc). So to communicate between user and computer, Instruction set Architecture plays a major role here, translating high level language to binary language. santarso2s ” Structure: Generally, computer architecture consists of the following - i, Processor Memory iii, Peripherals All the above parts are connected with the help of system bus, which consists of address bus, data bus and control bus. The diagram given below depicts the computer architecture — 1ainor20ns ry [aw Hasna since ciemory,aray peripheral toate csf cs saaress |_| address instruction decoder decoder address bus Interface [control bus OMA FOLE-AEDR'| _contotier ae tenons LA Computer organization refers tothe operational units and their interconnections that realize the architectural specifications. Omanirational attributes inchude those hardware details transparent ro the programmer, such as control signals; interfaces benween the computer and peripherals, and the memory technology used. is also an, For example, its an architectural design issue whether a computer will have a multiply instruction And it rwanizational issue whether that instruction will be implemented by a special mltiphy unit or by 2 mechanism that makes repeated use ofthe add unit ofthe system. The organizational decision may be based on the anticipated frequency of use of the multiply instruction, the relative speed of the two approaches, the cost and the physical size of a special multiply unit. Historically, and till the moment of this lecture, the distinetion between architecture and organization has been an important one. Many computer manufacturers offer a family of computer models, all with the same architecture Put ) aanonaee » vith differences in organization. (Examples: Class Discussion A Consequently, the different models in the family have different price and performance characteristics. Furthermore, a panicular architecture may span many years and encompass a number of different computer models the changing in its organization in compliance to change intechnology. A prominent example of both phenomena is the [BM Systenv370 architecture, This architecture was first introduced in 1970 and included a number of models. The customer with modest requirements could buy a cheaper, slower model and, if demand increased, later upgrade to a more expensive, faster model without having ta abandon software that had already been developed. Therefore computer can be defined as a hierarchical complex system with millions of elementary electronic components. A hierarchical system is a set of interrelated top-dowi subsystems with some lowest level of elementary subsystem, The designer needs only to focus on a particular level of the system ata time. At each level, the system consists of a set of components and their interrclationships. The behavior at cach level depends only on a simplified, abstracted characterization of the system at the next lower level. At cach leyg}, the designer is concerned with structure and function. A A a STRUCTURE AND FUNCTION. Acomputer is a complex syste + 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 systems, including the computer. ‘Ahierarchical system is a set of interrelated subsystems, each of the latter, 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 behavior at cach 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: i. Structure: The way in which the components are interrelated ii, Function ‘The operation of each individual component as part of the structure. wannaore 2 Function. In terms of description, we have two choices: starting at the bottom and building up (9 & complete description, of bepinning, witha top view and decomposing the system into its subparts, Evidence from a number of fields suygests that the top-down approach is the elearest and most effective. The approach taken in this lecture thesefore, follows this viewpoint, We begin with the major components of a computer, describing their structure and function, and proceed to successively lower layers of the farchy. In this lecture, we hereby provides a very brief overview of this plan as shown in § ¢ Fig 1 (Class Discussion). Both the structure and functioning of a computer are, in essence, simple. The figure above shows the four basic functions that a computer can perform as follows: ¥ Data processing facility v a storage fn y YD: movement apparatus ¥ Control mechanism The computer, of course, must be able to process data. The data may take a wide variety of forms, and the range of processing requirements is broad. It is also essential that a computer store data. Even if the computer is processing data on the fly (i.e., data come in and get processed, and the results go out immediately), the computer must temporarily store at least those pieces of data that are being worked on at any given moment. Thus, there is at least a short-term data storage function. wpier02e Equally important, the computer performs a long-term data storage function for files of data stored on the computer for subsequent retrieval and update. And also the computer must be able to move data between itself and the outside world. “Therefore, the computer's operating environment consists of devices wat serve as cither sources or destinations of data, When data are received from or delivered to a device that is directly connected to the computer, the process is known as input-output (VO), and the device is referred to a peripheral, When data are moved over longer distances, to or from a remote device, the process is known as data communications. Finally, there must be control of these three funetions. Ultimately, « s control is exercised by the individual(s) who prot es the computer with instructions. Within the computer, a control unit manages the computer's resources and coordinates the performance of its functional parts in response to those instrueti ns. Therefore, the numbers of possible operations that can be performed are shown in Figurel.2a; 1.2b; 1.2c and 12d, (CLASS DISCUSSION) Fig1.2a shows how a computer can function as a data movement device by simply transferring data from one peripheral or communications line to another. Fig1.2b also shows how computer can store data on the storage device with data transferred from the external environment to computer storage (read) and vice versa (write). Figl.2c shows operations involving data processing on data either in storage and lastly Fig1.2d shows data between storage and the external environment. at Z Structure: The structure is the simplest possible description of a computer with peripherals and communication lines as shown on figurel.3 or 1.4, However, the computer interacts with its exter ral environment with four main internal structural components as follows: Y Central processing unit (CPU): Controls the operation of the computer and performs its data processing functions; often simply referred to as processor. ¥ Main memory: Stores data. ¥ V/O: Moves data between the computer and its external environment. ¥ System interconnectio : Some mechanism that provides for communication among CPU, main memory, and I/O. A common example of system interconnection is by means of a system bus, consisting of a number of conducting wires to which all the other components attach. Figure 1.3 and 1.4 (Class Discussion) enone ‘There may be one of more of each of the aforementioned components, Each ‘of these components will be discuss later in our subsequence lectures, however we will start with the most complex one, the CPU. ‘The major structural components of the CPU are as follows: i. Control unit: Controls the operation of the CPU and hence the computer ii, Arithmetic and logie unit (ALU): Performs the computer's data processing functions iii, Registers: Provides storage internal to the CPU and v. CPU interconnection: Some mechanism that provides for communication among the control unit, ALU and registers. temaoee i Each of the techniques and microprograming, ictions that define the functionality of ‘ol memory/buffer unit as represented in ed with the use of parallel, pipelined organizational se components will be examini ed control unit operates by In essence, a microprogramm the control unit which includes the nicroinstrus executing sequencing logic, registers & decoders and a contr Figurel 4 for better understanding and interpretation. However there are two major components of the entire system: Y an instruction interpreter and ¥ amodule of general-purpose arithmetic & logic functio “These two constitute the CPU. Several other components are needed to yield a functioning computer Data and instructions most be put into the system. For this we need some sort of input module. This module contains basic ructions in some form and converting them into an internal form of signals components for accepting, data and inst ded, and this is in the form ofan output module. Taken usable by the system, A means of reporting results is nee: rced to as 1/0 components. together, these are rel ya One more component js needed. An input device will bring, instructions and data sequentially. But a program is not invariably executed sequentially; it may jump around like a jump instruction. Similarly, operations on data may require access to more than just one element at a time in a predetermined sequence. ‘Thus, there must be a place fo store temporarily both instructions and data. That module is called memory, or main memory to distinguish it from external storage oF peripheral devices. Von Neumann (detailed given below) pointed out that the same memory could be used to store both instructions and data. Figure2.1 below illustrates these toy p-level components and suggests the interactions among them. The CPU exchanges data with memory. For this purpose, it typically makes use of two internal (fo the CPU) registers: a memory address register (MAR), which specifies the address in memory for the next read or write, and a memory buffer register (MIR), which contains the data to be written into memory or receives the data read from memory. Similarly, an I/O address register (UOAR) specifies a particular 1/0 device. An I/O buffer (OBR) register is used for the exchange of data between an 1/0 module and the cru. A memory module consists of a set of locations, defined by sequentially numbered addresses. Each location contains a binary number that can be interpreted as cither an instruction or data. An J/O module transfers data from external devices to CPU and memory, and vice versa. It contains internal buffers for temporarily holding these data until they can be sent on. sapejsa0e » Next lecture is on “Non-Von Neumann Architectures”, why? Thank you

You might also like