Computer organization – Computer organization is a study of a Computer Architecture. E.g. Memory, Registers, RAM, ROM, CPU, ALU, 16 bit/ 32 bit/ 64 bit architecture, what different parts makes a computer, etc. * Computer organization refers to how operational attributes are linked togather to realised the architecture specifications.What is the principle of Equivalence of Hardware and Software * Anything that can be done with hardware can also be done with software and anything done with software can also be done with hardware.
* “Any task done by software can also be done using hardware, and any operation performed directly by hardware can be done using software”.What are the three basic components of every computerhard drive- disk drive that reads data stored on hard disks. Also called hard disk drive. mother board- The main board of a computer, usually containing the circuitry for the central processing unit, keyboard, and monitor and often having slots for accepting additional circuitry.ram sticks- Ram which stands for random access memory.
It basically helps operate programs and operating systems. You might see on the programs specifications “Requires 3 GB ram or less”. Which means if you only have 1 GB of ram then the program will Lag or not run at allBy the way, one stick of ram has its own amount of storage on it.
You can by 1 stick which is equal to 2 GBs or just 1 GB.You can even get ram sticks which is 4GBs but they tend to be the pricey ones.The historical development of computer (Generations of computer) Actually speaking electronic data processing does not go back more than just half a century i.e. they are in existence merely from early 1940??™s.
In early days when our ancestor used to reside in cave the counting was a problem. Still it is stated becoming difficult.When they started using stone to count their animals or the possession they never knew that this day will lead to a computer of today. People today started following a set of procedure to perform calculation with these stones, which later led to creation of a digital counting device, which was the Predecessor the first calculating device invented, was known as ABACUS.THE ABACUS Abacus is known to be the first mechanical calculating device.
Which was used to be performed addition and subtraction easily and speedily This device was a first develop Ed by the Egyptians in the 10th centaury B.C, but it was given it final shape in the 12th centaury A.D. by the Chinese educationists. Abacus is made up of wooden frame in which rod where fitted across with rounds beads sliding on the rod. It id dividing into two parts called ???Heaven??™ and ???Earth??™.
Heaven was the upper part and Earth was the lower one. Thus any no. can be represented by placing the beads at proper place. NAPIER??™S BONES As the necessity demanded, scientist started inventing better calculating device. In thus process John Napier??™s of Scotland invented a calculating device, in the year 1617 called the Napier Bones. In the device, Napier??™s used the bone rods of the counting purpose where some no. is printed on these rods.
These rods that one can do addition, subtraction, multiplication and division easily. PASCAL??™S CALCULATOR In the year 1642, Blaise Pascal a French scientist invented an adding machine called Pascal??™s calculator, which represents the position of digit with the help of gears in it. LEIBNZ CALCULATOR In the year 1671, a German mathematics, Gottfried Leibniz modified the Pascal calculator and he developed a machine which could perform various calculation based on multiplication and division as well. ANALYTICAL ENGINE In the year 1833, a scientist form England knows to be Charles Babbage invented such a machine. Which could keep our data safely This device was called Analytical engine and it deemed the first mechanical computer. It included such feature which is used in today??™s computer language. For this great invention of the computer, Sir Charles Babbage is also known as the father of the computer. GENERATION OF COMPUTER As the time passed, the device of more suitable and reliable machine was need which could perform our work more quickly.
During this time, in the year 1946, the first successful electronic computer called ENIAC was developed and it was the starting point of the current generation of computer FIRST GENRATION ENIAC was the world first successful electronic computer which was develops by the two scientists namely J. P. Eckert and J. W. Mauchy. It was the beginning of first generation computer. The full form of ENIAC is ???Electronic Numeric Integrated And Calculator??? ENIAC was a very huge and big computer and its weight was 30 tones.
It could store only limited or small amount of information. Initially in the first generation computer the concept of vacuum tubes was used. A vacuum tube was such an electronic component which had very less work efficiency and so it could not work properly and it required a large cooling system. SECOND GENERATION As the development moved further, the second generation computers knocked the door. In this generation, transistors were used as the electronic component instead of vaccum tubes .A transistors is much smaller in the size than that of a vacuum tube. As the size of electrons components decreased from vaccum tube of transistor, the size of computer also decreased and it became much smaller than that of earlier computer.
THIRD GENERATION:- The third generation computers were invented in the year 1964. In this generation of computer, IC (Integrated circuits) was used as the electronic component for computers. The development of IC gave birth to a new field of microelectronics. The main advantage of IC is not only its small size but its superior performance and reliability than the previous circuits. It was first developed by T.S Kilby.
This generation of computer has huge storage capacity and higher calculating speed. FOURTH GENERATION this is the generation where we are working today. The computers which we see around us belong to the fourth generation computers. ???Micro processor??™ is the main concept behind this generation of computer. A microprocessor is a single chip (L.S.I circuit), which is used in a computer for any arithmetical or logical functions to be performed in any program. The honaur of developing microprocessor goes to Ted Hoff of U.
S.A. He developed first micro-processor, the Intel 4004, as he was working for Intel Corporation, U.S.
A with the use of microprocessor in the fourth generation computers, the size of computer become very fast and efficient. It is evident that the next generation of computer i.e. fifth generation will be developed soon.
In that generation, computer will possess artificial intelligence and it would be able to take self decisions like a human being. Definition of Moores LawAn observation made by Intel co-founder Gordon Moore in 1965. He noticed that the number of transistors per square inch on integrated circuits had doubled every year since their invention.? Moore??™s law predicts that this trend will continue? into the foreseeable future.Although the pace has slowed, the number of transistors per square inch has since doubled approximately every 18 months. This is used as the current definition of Moores law. * It depends on what you interpret to be Moores Law.
The traditional statement that the number of transistors in in a microprocessor wills double every two years cannot hold indefinitely. The problem is that transistors cannot be made infinitely small, and computer chips cannot be made infinitely large and still accommodate high clock rates. The reason is that the processor speed is limited by the longest distance a signal must travel during one clock cycle in the chip, since the signals may not travel faster than light. That is why clock rates havent increased that much since Pentium 4, and the alternate trend is toward parallel processing with multiple chips.Now, if Moores Law is to be more loosely interpreted as saying that the growth of technology is exponential, I see no reason why this would not hold for the foreseeable future. Of course, if the growth of technology keeps on its present course, the future is anything but foreseeable. * Moores Law is not a law of physics, but is a mere trend.
In 1965, Gordon Moore, Co-founderRocks law or Moores second law, named for Arthur Rock, says that the cost of a semiconductor chip fabrication plant doubles every four years. As of 2003, the price had already reached about 3 billion US dollars.Rocks law can be seen as the economic flipside to Moores law; the latter is a direct consequence of the ongoing growth of the capital-intensive semiconductor industry??”innovative and popular products mean more profits, meaning more capital available to invest in ever higher levels of large-scale integration, which in turn leads to creation of even more innovative products.
The semiconductor industry has always been extremely capital-intensive, with very low unit manufacturing costs. Thus, the ultimate limits to growth of the industry will constrain the maximum amount of capital that can be invested in new products; at some point, Rocks Law will collide with Moores Law. It has been suggested that fabrication plant costs have not increased as quickly as predicted by Rocks law ??“ indeed plateauing in the late 1990s ??“ and also that the fabrication plant cost per transistor (which has shown a pronounced downward trend may be more relevant as a constraint on Moores Law.What are the layers of computer level hierarchy -If a machine is to be capable of solving a wide range of problems, it must be able to execute programs written in different languages, from FORTRAN and C to Lisp and Prolog.
As we shall see in Chapter 3, the only physical components we have to work with are wires and gates. A formidable open space??”a semantic gap??”exists between these physical components and a high-level language such as C++. For a system to be practical, the semantic gap must be invisible to most of the users of the system.Programming experience teaches us that when a problem is large, we should break it down and use a “divide and conquer” approach. In programming, we divide a problem into modules and then design each module separately.
Each module performs a specific task and modules need only 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, we can imagine the machine to be built from a hierarchy of levels, in which each level has a specific function and exists as a distinct hypothetical machine. We call the hypothetical computer at each level a virtual machine.
Each levels virtual machine executes its own particular set of instructions, calling upon machines at lower levels to carry out the tasks when necessary. By studying computer organization, you will see the rationale behind the hierarchys partitioning, as well as how these layers are implemented and interface with each other. Figure 1.3 shows the commonly accepted layers representing the abstract virtual machines.Level 6, the User Level, is composed of applications and is the level with which everyone is most familiar. At this level, we run programs such as word processors, graphics packages, or games.
The lower levels are nearly invisible from the User Level.Level 5, the High-Level Language Level, consists of languages such as C, C++, FORTRAN, Lisp, Pascal, and Prolog. These languages must be translated (using either a compiler or an interpreter) to a language the machine can understand. Compiled languages are translated into assembly language and then assembled into machine code. (They are translated to the next lower level.) The user at this level sees very little of the lower levels. Even though a programmer must know about data types and the instructions available for those types, she need not know about how those types are actually implemented.
Level 4, the Assembly Language Level, encompasses some type of assembly language. As previously mentioned, compiled higher-level languages are first translated to assembly, which is then directly translated to machine language. This is a one-to-one translation, meaning that one assembly language instruction is translated to exactly one machine language instruction. By having separate levels, we reduce the semantic gap between a high-level language, such as C++, and the actual machine language (which consists of 0s and 1s). Level 3, the System Software Level, deals with operating system instructions. This level is responsible for multiprogramming, protecting memory, synchronizing processes, and various other important functions.
Often, instructions translated from assembly language to machine language are passed through this level unmodified.Level 2, the Instruction Set Architecture (ISA), or Machine Level, consists of the machine language recognized by the particular architecture of the computer system. Programs written in a computers true machine language on a hardwired computer (see below) can be executed directly by the electronic circuits without any interpreters, translators, or compilers.
We will study instruction set architectures in depth in Chapters 4 and 5.Level 1, the Control Level, is where a control unit makes sure that instructions are decoded and executed properly and that data is moved where and when it should be. The control unit interprets the machine instructions passed to it, one at a time, from the level above, causing the required actions to take place.
Control units can be designed in one of two ways: They can be hardwired or they can be microprogrammed. In hardwired control units, control signals emanate from blocks of digital logic components. These signals direct all of the data and instruction traffic to appropriate parts of the system. Hardwired control units are typically very fast because they are actually physical components. However, once implemented, they are very difficult to modify for the same reason.The other option for control is to implement instructions using a microprogram.
A microprogram is a program written in a low-level language that is implemented directly by the hardware. Machine instructions produced in Level 2 are fed into this microprogram, which then interprets the instructions by activating hardware suited to execute the original instruction. One machine-level instruction is often translated into several microcode instructions. This is not the one-to-one correlation that exists between assembly language and machine language. Microprograms are popular because they can be modified relatively easily.
The disadvantage of microprogramming is, of course, that the additional layer of translation typically results in slower instruction execution.Level 0, the Digital Logic Level, is where we find the physical components of the computer system: the gates and wires. These are the fundamental building blocks, the implementations of the mathematical logic, that are common to all computer systems. Chapter 3 presents the Digital Logic Level in detail.The Von Neumann architectureCSE101 fall 2010 This is a summary of the core attributes of the Von Neumann computer architecture, which is illustrated in figure 1. In modern computers, the control unit and ALU are part of the CPU. Figure 1.
The Von Neumann architecture model. The Von Neumann architecture is a design model for a stored-program digital computer. Its main characteristic is a single separate storage structure (the memory) that holds both program and data. Some important features of the Von Neumann architecture are: * both instructions (code) and data (variables and input/output) are stored in memory; * memory is an collection of binary digits (bits) that have been organized into bytes, words, and regions with addresses; * the code instructions and all data have memory addresses; * to execute each instruction, it has to be moved to registers; * only the registers have the ???smarts??? to do anything with the instructions; memory locations have no ???smarts???; * to save a result computed in the registers, it has to be moved back to memory; * the granularity of instructions at the machine or assembler level is much smaller than the granularity at the MATLAB programming language level; that is, each MATLAB instruction corresponds to many machine instructions; * operating systems and compilers keep the instructions and data in memory organized so it doesnt get mixed up together; * if a program execution goes past its legal last instruction (for example) it can overwrite other instructions/data in memory and cause strange things to happen; * one of the advantages of modern operating systems and compilers is the concept of relocatable code ??” that is, code that can be loaded and run from any location in memory.