SlideShare a Scribd company logo
Problem Solving Using Computers
Syllabus
TEXTBOOKS
B. W. Kernighan, D. M. Ritchie, The C Programing Language,
2nd
Edition, Prentice Hall of India, 2014.
B. Gottfired, Schaums Outline Series: Programming with C, 4th
Edition, McGraw Hill Publication, 2018.
REFERENCE BOOKS
E. Balagurusamy, Programming in ANSI C, 8th
Edition,
McGraw Hill Publication, 2019.
Y. P. Kanetkar, Let us C, 19th
Edition, BPB Publication, 2022.
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
• Computer is designed to accept data , perform the required
mathematical and logical operations at high speed and output
the result.
Digital computer
• A digital computer is a digital system that performs various
computational tasks and represented by variables with the limited
number of discrete values.
• The discrete values are internally processed with limited number
of discrete states. The decimal digits 0,1,2,…,9 provide 10 discrete
values.
• Where the first electronic digital computers developed in 1940.
From here the term digital computer emerged because of many
restrictions with other discrete values.
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
Functional Units of Computer System
It is divided in two modules in general:
• Hardware: A hardware of the computer system consists of all electronic
components such as electronic circuits, display units, storage media (magnetic
and optical (a class of data storage systems that use light to read or
write data to an underlying optical media-CD, DVD)), electromechanical
devices and communication facilities.
• Software: It consists of the instructions and data that the computer manipulates
to perform various data-processing tasks. Where sequence of instruction is called
a program.
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
Von Neumann Architecture
• Architecture defines how function works.
• How Computer Runs
• Von-Neumann computer architecture design was proposed in 1945. It was later known as
Von-Neumann architecture.
• Historically there have been 2 types of Computers:
1. Fixed Program Computers – Their function is very specific and they couldn’t be
reprogrammed, e.g. Calculators.
2. Stored Program Computers – These can be programmed to carry out many different tasks,
applications are stored on them, hence the name is.
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
Von Neumann architecture… Cont’d
• Modern computers are based on a
stored-program concept introduced
by John Von Neumann.
• In this stored-program concept,
programs and data are stored in a
separate storage unit called
memories and are treated the same.
• This novel idea meant that a
computer built with this architecture
would be much easier to reprogram.
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
Von Neumann architecture is also known as ISA (Instruction set
architecture) computer and is having three basic units: Central
Processing Unit (CPU), Main Memory Unit and Input/Output Unit.
1. Central Processing Unit-
The central processing unit is defined as an electric circuit used for the
executing the instruction of computer program. It has following major
components:
1.Control Unit(CU)
2.Arithmetic and Logic Unit(ALU)
3.variety of Registers
• Control Unit – A control unit (CU) handles all processor control
signals. It directs all input and output flow, fetches code for
instructions, and controls how data moves around the system.
• Arithmetic and Logic Unit (ALU) – The arithmetic logic unit is that
part of the CPU that handles all the calculations the CPU may need,
e.g. Addition, Subtraction, Comparisons. It performs Logical
Operations, Bit Shifting Operations, and Arithmetic operations.
Basic CPU structure, illustrating ALU
Input and Output Unit
• Input: Computer accept coded information through input unit.
The most common device is Keyboard. Whenever key is pressed,
the corresponding letter or digit is automatically translated into
its corresponding binary code and transmitted over a cable to
either memory or the processor.
• Output: The output unit is the counterpart of the input unit. Its
function is to send processed results to the outside world. The
most familiar device is a printer. Some units, such as graphical
displays, provide both an input and output function.
Memory
• The function of the memory unit is to store programs and data. There are two
classes of storage, called as Primary and Secondary.
• Primary storage is a fast memory. The memory contains large number of
semiconductor storage cells, each cell capable of one bit of information. These
cells are rarely used as an individual cell instead are processed in group of
fixed size, called words.
• To provide an easy access of any word in memory, a distinguished address is
associated with each word location. Addresses are numbers that identify
successive locations. The typical word lengths range from 16 to 64 bits.
• Memory in which any location can be accessed in short and fixed amount of
time after specifying address is called Random Access Memory (RAM).
Memory Con’d
• Although primary storage is essentials and expensive. But in
addition to the same cheaper memory is available as a
secondary memory storage, where large amount of data and
many programs may be stored.
• A wide range of secondary storage are available in the form of
magnetic disks, tapes and opticals disks (CD-ROMS).
25
Memory unit
 The computer memory is measured in terms of bits, bytes
and words.
 A bit is a binary digit either 0 or 1.
 A byte is unit of memory and is defined as sequence of 8 bits.
 The word can be defined as a sequence of 16/32/64 bits or
2/4/8 bytes respectively depending on the machine
architecture
26
Primary storage: RAM & ROM
• RAM stands for Random Access Memory
 Read and write memory
 Information typed by the user are stored in this memory
 Any memory location can be accessed directly without
scanning it sequentially (random access memory)
 During power failure the information stored in it will be
erased  volatile memory
• ROM stands for Read Only Memory
Permanent memory and non - volatile
Contents in locations in ROM can not be changed
Stores mainly stored program and basic input output
system programs
27
Secondary memory
Main memory is volatile and limited
 Hence it is essential for other types of storage
devices where programs and data can be stored
when they are no longer being processed
Installed within the computer at the factory or
added later as needed
28
Secondary memory
Non-volatile memory
Made up of magnetic material
Stores large amount of information for long time
Low speed
Holds programs not currently being executed
29
Cache memory
High speed memory placed between CPU and main
memory
Stores data and instructions currently to be executed
More costlier but less capacity than main memory
Users can not access this memory
Buses – Data is transmitted from one part of a computer to
another, connecting all major internal components to the CPU
and memory.
Types:
• Data Bus: It carries data among the memory
unit, the I/O devices, and the processor.
• Address Bus: It carries the address of data (not
the actual data) between memory and processor.
• Control Bus: It carries control commands from
the CPU (and status signals from other devices) in
order to control and coordinate all the activities
within the computer.
High level Programming Languages
 In computer science, a high-level programming
language is a programming language with strong
abstraction from the details of the computer.
 In contrast to low-level programming languages, it may
use natural language elements, be easier to use, or may
automate (or even hide entirely) significant areas of
computing systems (e.g. memory management), making
the process of developing a program simpler and more
understandable than when using a lower-level language.
 The amount of abstraction defines how "high-level" a
programming language is provided.
Difference between High Level and Low
Level languages
• Both High level language and low level
language are the programming languages’s types.
• The main difference between high level
language and low level language is that
programmers can easily understand or interpret or
compile the high level language in comparison of
machine.
• On the other hand, Machine can easily understand
the low level language in comparison of human
beings. Examples of high level languages are C, C++,
Java, Python, etc.
Difference between High Level and
Low-level language
1. It is programmer friendly language. It is a machine friendly language.
2. High level language is less memory efficient. Low level language is high memory efficient.
3. It is easy to understand. It is tough to understand.
4. Debugging is easy. Debugging is complex comparatively.
5. It is simple to maintain. It is complex to maintain comparatively.
6. It is portable. It is non-portable.
7. It can run on any platform. It is machine-dependent.
8. It needs compiler or interpreter for translation. It needs assembler for translation.
9. It is used widely for programming. It is not commonly used now-a-days in programming.
High Level Language Low-level language
1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx
Compiler
• A Translator (compiler) is a program that reads a program
written in one language, the source language, - and
translate it into an equivalent program in another
language, the target language.
• In computing, a compiler is a computer program that
translates computer code written in one
programming language (the source language) into another
language (the target language).
• The name "compiler" is primarily used for programs that
translate source code from a
high-level programming language to a
low-level programming language (e.g. assembly language
, object code, or machine code) to create an executable
Assembly Language
Assembly Language is a low-level programming language. It helps in understanding the
programming language of machine code.
• Machine code is a series of instructions that provide the
necessary information to a user’s CPU to carry out a
particular task (add, subtract, compare values, etc.).
• In computers, there is an assembler that helps in
converting the assembly code into machine code
executable.
• It establishes with the help of compiling high-level
language source code like C and C++.
• It mainly depends on the system architecture, whether it
is an operating system or computer architecture to add

More Related Content

PPT
Computer Organization Subject-Basic Functional units of Computers
PPTX
Introduction to Computer, Programming languages , Networks and Internet.pptx
PPTX
Computer Organization and Assembly language.pptx
PPTX
Computer organization unit 2detaila with analysis
PPT
Assembly language programming implemenation
PPTX
Organization of modern digital computers
PPTX
programming for problem solving-1 unit -1 ppt.pptx
PPTX
Computer basics
Computer Organization Subject-Basic Functional units of Computers
Introduction to Computer, Programming languages , Networks and Internet.pptx
Computer Organization and Assembly language.pptx
Computer organization unit 2detaila with analysis
Assembly language programming implemenation
Organization of modern digital computers
programming for problem solving-1 unit -1 ppt.pptx
Computer basics

Similar to 1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx (20)

PPTX
01-PROGRAMMING introA of the class name. Pptx
PPTX
lecture introduction to assembly language .pptx
PPTX
Introductions to Design Logic.pptx IT level
PPTX
1. Introduction to Computer System (1).pptx
PPTX
Programming for Problem Solving
PPTX
Unit I - BDS171L Introduction to Programming using Python (1).pptx
PDF
CPE UNIT I.pdf c Programming for engineers
PDF
[HK Roni] C Programming Lectures
PPTX
introductiontocomputerprogramming.pptx
PPT
Unit 1_Fundamentals of Computing.ppttttt
PPTX
lecture Slides - Week 1.programming fundamentals
DOCX
PPS UNIT 1- R18.docx
PPTX
Introduction to computer system
PDF
3. basic organization of a computer
PPTX
Unit I _COMPUTER ORGANISATON AND ARCHITECTURE_PPT.pptx
PPTX
Unit I _Computer organisation andarchitecture
PPTX
Computer-charecteristics,types of languages,translators
PPTX
Programming Fundamentals and Programming Languages Concepts
PPTX
module1_CA_for use of tribal network .pptx
PDF
C with lab
01-PROGRAMMING introA of the class name. Pptx
lecture introduction to assembly language .pptx
Introductions to Design Logic.pptx IT level
1. Introduction to Computer System (1).pptx
Programming for Problem Solving
Unit I - BDS171L Introduction to Programming using Python (1).pptx
CPE UNIT I.pdf c Programming for engineers
[HK Roni] C Programming Lectures
introductiontocomputerprogramming.pptx
Unit 1_Fundamentals of Computing.ppttttt
lecture Slides - Week 1.programming fundamentals
PPS UNIT 1- R18.docx
Introduction to computer system
3. basic organization of a computer
Unit I _COMPUTER ORGANISATON AND ARCHITECTURE_PPT.pptx
Unit I _Computer organisation andarchitecture
Computer-charecteristics,types of languages,translators
Programming Fundamentals and Programming Languages Concepts
module1_CA_for use of tribal network .pptx
C with lab
Ad

Recently uploaded (20)

PDF
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...
PPTX
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
PPTX
Current and future trends in Computer Vision.pptx
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PPTX
"Array and Linked List in Data Structures with Types, Operations, Implementat...
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PPTX
Software Engineering and software moduleing
PPTX
Fundamentals of Mechanical Engineering.pptx
PDF
737-MAX_SRG.pdf student reference guides
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PPT
Total quality management ppt for engineering students
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PDF
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
PPTX
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPTX
CURRICULAM DESIGN engineering FOR CSE 2025.pptx
PDF
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
Current and future trends in Computer Vision.pptx
Exploratory_Data_Analysis_Fundamentals.pdf
"Array and Linked List in Data Structures with Types, Operations, Implementat...
III.4.1.2_The_Space_Environment.p pdffdf
Software Engineering and software moduleing
Fundamentals of Mechanical Engineering.pptx
737-MAX_SRG.pdf student reference guides
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
Total quality management ppt for engineering students
August 2025 - Top 10 Read Articles in Network Security & Its Applications
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
Categorization of Factors Affecting Classification Algorithms Selection
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
CURRICULAM DESIGN engineering FOR CSE 2025.pptx
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
Ad

1-Von Neumann architecture, programs, assembly language, high level programming languages.pptx

  • 3. TEXTBOOKS B. W. Kernighan, D. M. Ritchie, The C Programing Language, 2nd Edition, Prentice Hall of India, 2014. B. Gottfired, Schaums Outline Series: Programming with C, 4th Edition, McGraw Hill Publication, 2018. REFERENCE BOOKS E. Balagurusamy, Programming in ANSI C, 8th Edition, McGraw Hill Publication, 2019. Y. P. Kanetkar, Let us C, 19th Edition, BPB Publication, 2022.
  • 5. • Computer is designed to accept data , perform the required mathematical and logical operations at high speed and output the result.
  • 6. Digital computer • A digital computer is a digital system that performs various computational tasks and represented by variables with the limited number of discrete values. • The discrete values are internally processed with limited number of discrete states. The decimal digits 0,1,2,…,9 provide 10 discrete values. • Where the first electronic digital computers developed in 1940. From here the term digital computer emerged because of many restrictions with other discrete values.
  • 10. Functional Units of Computer System It is divided in two modules in general: • Hardware: A hardware of the computer system consists of all electronic components such as electronic circuits, display units, storage media (magnetic and optical (a class of data storage systems that use light to read or write data to an underlying optical media-CD, DVD)), electromechanical devices and communication facilities. • Software: It consists of the instructions and data that the computer manipulates to perform various data-processing tasks. Where sequence of instruction is called a program.
  • 15. Von Neumann Architecture • Architecture defines how function works. • How Computer Runs • Von-Neumann computer architecture design was proposed in 1945. It was later known as Von-Neumann architecture. • Historically there have been 2 types of Computers: 1. Fixed Program Computers – Their function is very specific and they couldn’t be reprogrammed, e.g. Calculators. 2. Stored Program Computers – These can be programmed to carry out many different tasks, applications are stored on them, hence the name is.
  • 17. Von Neumann architecture… Cont’d • Modern computers are based on a stored-program concept introduced by John Von Neumann. • In this stored-program concept, programs and data are stored in a separate storage unit called memories and are treated the same. • This novel idea meant that a computer built with this architecture would be much easier to reprogram.
  • 20. Von Neumann architecture is also known as ISA (Instruction set architecture) computer and is having three basic units: Central Processing Unit (CPU), Main Memory Unit and Input/Output Unit. 1. Central Processing Unit- The central processing unit is defined as an electric circuit used for the executing the instruction of computer program. It has following major components: 1.Control Unit(CU) 2.Arithmetic and Logic Unit(ALU) 3.variety of Registers • Control Unit – A control unit (CU) handles all processor control signals. It directs all input and output flow, fetches code for instructions, and controls how data moves around the system. • Arithmetic and Logic Unit (ALU) – The arithmetic logic unit is that part of the CPU that handles all the calculations the CPU may need, e.g. Addition, Subtraction, Comparisons. It performs Logical Operations, Bit Shifting Operations, and Arithmetic operations.
  • 21. Basic CPU structure, illustrating ALU
  • 22. Input and Output Unit • Input: Computer accept coded information through input unit. The most common device is Keyboard. Whenever key is pressed, the corresponding letter or digit is automatically translated into its corresponding binary code and transmitted over a cable to either memory or the processor. • Output: The output unit is the counterpart of the input unit. Its function is to send processed results to the outside world. The most familiar device is a printer. Some units, such as graphical displays, provide both an input and output function.
  • 23. Memory • The function of the memory unit is to store programs and data. There are two classes of storage, called as Primary and Secondary. • Primary storage is a fast memory. The memory contains large number of semiconductor storage cells, each cell capable of one bit of information. These cells are rarely used as an individual cell instead are processed in group of fixed size, called words. • To provide an easy access of any word in memory, a distinguished address is associated with each word location. Addresses are numbers that identify successive locations. The typical word lengths range from 16 to 64 bits. • Memory in which any location can be accessed in short and fixed amount of time after specifying address is called Random Access Memory (RAM).
  • 24. Memory Con’d • Although primary storage is essentials and expensive. But in addition to the same cheaper memory is available as a secondary memory storage, where large amount of data and many programs may be stored. • A wide range of secondary storage are available in the form of magnetic disks, tapes and opticals disks (CD-ROMS).
  • 25. 25 Memory unit  The computer memory is measured in terms of bits, bytes and words.  A bit is a binary digit either 0 or 1.  A byte is unit of memory and is defined as sequence of 8 bits.  The word can be defined as a sequence of 16/32/64 bits or 2/4/8 bytes respectively depending on the machine architecture
  • 26. 26 Primary storage: RAM & ROM • RAM stands for Random Access Memory  Read and write memory  Information typed by the user are stored in this memory  Any memory location can be accessed directly without scanning it sequentially (random access memory)  During power failure the information stored in it will be erased  volatile memory • ROM stands for Read Only Memory Permanent memory and non - volatile Contents in locations in ROM can not be changed Stores mainly stored program and basic input output system programs
  • 27. 27 Secondary memory Main memory is volatile and limited  Hence it is essential for other types of storage devices where programs and data can be stored when they are no longer being processed Installed within the computer at the factory or added later as needed
  • 28. 28 Secondary memory Non-volatile memory Made up of magnetic material Stores large amount of information for long time Low speed Holds programs not currently being executed
  • 29. 29 Cache memory High speed memory placed between CPU and main memory Stores data and instructions currently to be executed More costlier but less capacity than main memory Users can not access this memory
  • 30. Buses – Data is transmitted from one part of a computer to another, connecting all major internal components to the CPU and memory. Types: • Data Bus: It carries data among the memory unit, the I/O devices, and the processor. • Address Bus: It carries the address of data (not the actual data) between memory and processor. • Control Bus: It carries control commands from the CPU (and status signals from other devices) in order to control and coordinate all the activities within the computer.
  • 31. High level Programming Languages  In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer.  In contrast to low-level programming languages, it may use natural language elements, be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management), making the process of developing a program simpler and more understandable than when using a lower-level language.  The amount of abstraction defines how "high-level" a programming language is provided.
  • 32. Difference between High Level and Low Level languages • Both High level language and low level language are the programming languages’s types. • The main difference between high level language and low level language is that programmers can easily understand or interpret or compile the high level language in comparison of machine. • On the other hand, Machine can easily understand the low level language in comparison of human beings. Examples of high level languages are C, C++, Java, Python, etc.
  • 33. Difference between High Level and Low-level language 1. It is programmer friendly language. It is a machine friendly language. 2. High level language is less memory efficient. Low level language is high memory efficient. 3. It is easy to understand. It is tough to understand. 4. Debugging is easy. Debugging is complex comparatively. 5. It is simple to maintain. It is complex to maintain comparatively. 6. It is portable. It is non-portable. 7. It can run on any platform. It is machine-dependent. 8. It needs compiler or interpreter for translation. It needs assembler for translation. 9. It is used widely for programming. It is not commonly used now-a-days in programming. High Level Language Low-level language
  • 35. Compiler • A Translator (compiler) is a program that reads a program written in one language, the source language, - and translate it into an equivalent program in another language, the target language. • In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language). • The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a low-level programming language (e.g. assembly language , object code, or machine code) to create an executable
  • 36. Assembly Language Assembly Language is a low-level programming language. It helps in understanding the programming language of machine code. • Machine code is a series of instructions that provide the necessary information to a user’s CPU to carry out a particular task (add, subtract, compare values, etc.). • In computers, there is an assembler that helps in converting the assembly code into machine code executable. • It establishes with the help of compiling high-level language source code like C and C++. • It mainly depends on the system architecture, whether it is an operating system or computer architecture to add

Editor's Notes

  • #2: Imperative programming: It is a software development paradigm where functions are implicitly coded in every required step to solve a problem. In imperative programming, every operation is coded and the code itself specifies how the problem is to be solved.
  • #17: The accumulator is an 8-bit arithmetic/logic unit (ALU) register. This register is used to store 8-bit data as well as arithmetic and logical operations. The accumulator stores the result of an operation
  • #21: The accumulator is an 8-bit arithmetic/logic unit (ALU) register. This register is used to store 8-bit data as well as arithmetic and logical operations. The accumulator stores the result of an operation
  • #25: Additional notes on memory units The computer’s memory stores data, instructions required during the processing of data, and output results. Storage may be required for a limited period of time, instantly, or, for an extended period of time. Different types of memories, each having its own unique features, are available for use in a computer. The cache memory, registers, and RAM are fast memories and store the data and instructions temporarily during the processing of data and instructions. The secondary memories like magnetic disks and optical disks have large storage capacities and store the data and instructions permanently, but are slow memory devices. The memories are organized in the computer in a manner to achieve high levels of performance at the minimum cost.
  • #27: Additional notes on secondary storage devices Secondary memory on a computer is storage for data and programs not in use at the moment. In addition to punched cards and paper tape, early computers also used magnetic tape for secondary storage. Tape is cheap, either on large reels or in small cassettes, but has the disadvantage that it must be read or written sequentially from one end to the other
  • #28: Input, output, and auxiliary/secondary storage devices attached to a computer are called peripherals. E.g. Magnetic tapes, magnetic disks, compact disks etc.
  • #29: Additional notes on cache memory The data and instructions that are required during the processing of data are brought from the secondary storage devices and stored in the RAM. For processing, it is required that the data and instructions are accessed from the RAM and stored in the registers. The time taken to move the data between RAM and CPU registers is large. This affects the speed of processing of computer, and results in decreasing the performance of CPU. Cache memory is a very high speed memory placed in between RAM and CPU. Cache memory increases the speed of processing. Cache memory is a storage buffer that stores the data that is used more often, temporarily, and makes them available to CPU at a fast rate. During processing, CPU first checks cache for the required data. If data is not found in cache, then it looks in the RAM for data. To access the cache memory, CPU does not have to use the motherboard’s system bus for data transfer. (The data transfer speed slows to the motherboard’s capability, when data is passed through system bus. CPU can process data at a much faster rate by avoiding the system bus.) Cache memory is built into the processor, and may also be located next to it on a separate chip between the CPU and RAM. Cache built into the CPU is faster than separate cache, running at the speed of the microprocessor itself. However, separate cache is roughly twice as fast as RAM. The CPU has a built-in Level 1 (L1) cache and Level 2 (L2) cache. In addition to the built-in L1 and L2 cache, some CPUs have a separate cache chip on the motherboard. This cache on the motherboard is called Level 3 (L3) cache. Nowadays, high-end processor comes with built-in L3 cache, like in Intel core i7. The L1, L2 and L3 cache store the most recently run instructions, the next ones and the possible ones, respectively. Typically, CPUs have cache size varying from 256KB (L1), 6 MB (L2), to 12MB (L3) cache.