SlideShare a Scribd company logo
How Computers Work: The CPU and Memory


Figure 0 shows the parts of a computer:
   •   The Central
       Processing
       Unit:
           o (CPU)
              ,
           o Buses,
           o Ports
              and
              contro
              llers,
           o ROM;
   •   Main
       Memory
       (RAM);
   •   Input
       Devices;
   •   Output
       Devices;
   •   Secondary
       Storage;
           o floppy
              disks,
           o hard
              disk,               Figure 0: Inside The Computer
          o   CD-
              ROM

This part of the reading will examine the CPU, Buses, Controllers, and Main
Memory. Other sections will examine input devices, output devices, and
secondary memory.


The Central Processing Unit (CPU)
The computer does its
                                                      primary work in a part of
                                                      the machine we cannot see,
                                                      a control center that
                                                      converts data input to
                                                      information output. This
                                                      control center, called the
                                                      central processing unit
                                                      (CPU), is a highly complex,
                                                      extensive set of electronic
                                                      circuitry that executes
                                                      stored program instructions.
                                                      All computers, large and
        Figure 1: The Central Processing Unit         small, must have a central
                                                      processing unit. As Figure 1
shows, the central processing unit consists of two parts: The control unit and
the arithmetic/logic unit. Each part has a specific function.


Before we discuss the control unit and the arithmetic/logic unit in detail, we
need to consider data storage and its relationship to the central processing unit.
Computers use two types of storage: Primary storage and secondary storage.
The CPU interacts closely with primary storage, or main memory, referring to
it for both instructions and data. For this reason this part of the reading will
discuss memory in the context of the central processing unit. Technically,
however, memory is not part of the CPU.

Recall that a computer's memory holds data only temporarily, at the time the
computer is executing a program. Secondary storage holds permanent or semi-
permanent data on some external magnetic or optical medium. The diskettes
and CD-ROM disks that you have seen with personal computers are secondary
storage devices, as are hard disks. Since the physical attributes of secondary
storage devices determine the way data is organized on them, we will discuss
secondary storage and data organization together in another part of our on-line
readings.

Now let us consider the components of the central processing unit.

   The Control Unit
The control unit of the CPU contains circuitry that uses electrical signals to direct the
entire computer system to carry out, or execute, stored program instructions. Like an
orchestra leader, the control unit does not execute program instructions; rather, it directs
other parts of the system to do so. The control unit must communicate with both the
arithmetic/logic unit and memory.


    The Arithmetic/Logic Unit
The arithmetic/logic unit (ALU) contains the electronic circuitry that executes all
arithmetic and logical operations.

The arithmetic/logic unit can perform four kinds of arithmetic operations, or
mathematical calculations: addition, subtraction, multiplication, and division. As its name
implies, the arithmetic/logic unit also performs logical operations. A logical operation is
usually a comparison. The unit can compare numbers, letters, or special characters. The
computer can then take action based on the result of the comparison. This is a very
important capability. It is by comparing that a computer is able to tell, for instance,
whether there are unfilled seats on airplanes, whether charge- card customers have
exceeded their credit limits, and whether one candidate for Congress has more votes than
another.

Logical operations can test for three conditions:

   •   Equal-to condition. In a test for this condition, the arithmetic/logic unit compares
       two values to determine if they are equal. For example: If the number of tickets
       sold equals the number of seats in the auditorium, then the concert is declared
       sold out.
   •   Less-than condition. To test for this condition, the computer compares values to
       determine if one is less than another. For example: If the number of speeding
       tickets on a driver's record is less than three, then insurance rates are $425;
       otherwise, the rates are $500.
   •   Greater-than condition. In this type of comparison, the computer determines if
       one value is greater than another. For example: If the hours a person worked this
       week are greater than 40, then multiply every extra hour by 1.5 times the usual
       hourly wage to compute overtime pay.


A computer can simultaneously test for more than one condition. In fact, a logic unit can
usually discern six logical relationships: equal to, less than, greater than, less than or
equal to, greater than or equal to, and not equal.

The symbols that let you define the type of comparison you want the computer to
perform are called relational operators. The most common relational operators are the
equal sign(=), the less-than symbol(<), and the greater-than symbol(>).

   •   Registers: Temporary Storage Areas
       Registers are temporary storage areas for instructions or data. They are not a part
       of memory; rather they are special additional storage locations that offer the
       advantage of speed. Registers work under the direction of the control unit to
accept, hold, and transfer instructions or data and perform arithmetic or logical
    comparisons at high speed. The control unit uses a data storage register the way a
    store owner uses a cash register-as a temporary, convenient place to store what is
    used in transactions.

    Computers usually assign special roles to certain registers, including these
    registers:
         o An accumulator, which collects the result of computations.
         o An address register, which keeps track of where a given instruction or
            piece of data is stored in memory. Each storage location in memory is
            identified by an address, just as each house on a street has an address.
         o A storage register, which temporarily holds data taken from or about to
            be sent to memory.
         o A general-purpose register, which is used for several functions.
•   Memory and Storage
    Memory is also known as primary storage, primary memory, main storage,
    internal storage, main memory, and RAM (Random Access Memory); all these
    terms are used interchangeably by people in computer circles. Memory is the part
    of the computer that holds data and instructions for processing. Although closely
    associated with the central processing unit, memory is separate from it. Memory
    stores program instructions or data for only as long as the program they pertain to
    is in operation. Keeping these items in memory when the program is not running
    is not feasible for three reasons:
         o Most types of memory only store items while the computer is turned on;
            data is destroyed when the machine is turned off.
         o If more than one program is running at once (often the case on large
            computers and sometimes on small computers), a single program can not
            lay exclusive claim to memory.
         o There may not be room in memory to hold the processed data.



    How do data and instructions get from an input device into memory? The control
    unit sends them. Likewise, when the time is right, the control unit sends these
    items from memory to the arithmetic/logic unit, where an arithmetic operation or
    logical operation is performed. After being processed, the information is sent to
    memory, where it is hold until it is ready to he released to an output unit.

    The chief characteristic of memory is that it allows very fast access to instructions
    and data, no matter where the items are within it. We will discuss the physical
    components of memory-memory chips-later in this chapter.


    To see how registers, memory, and second storage all work together, let us use the
    analogy of making a salad. In our kitchen we have:

       o   a refrigerator where we store our vegetables for the salad;
o   a counter where we place all of our veggies before putting them on the
       cutting board for chopping;
   o   a cutting board on the counter where we chop the vegetables;
   o   a recipe that details what veggies to chop;
   o   the corners of the cutting board are kept free for partially chopped piles of
       veggies that we intend to chop more or to mix with other partially chopped
       veggies.
   o   a bowl on the counter where we mix and store the salad;
   o   space in the refrigerator to put the mixed salad after it is made.

The process of making the salad is then: bring the veggies from the fridge to the
counter top; place some veggies on the chopping board according to the recipe;
chop the veggies, possibly storing some partially chopped veggies temporarily on
the corners of the cutting board; place all the veggies in the bowl to either put
back in the fridge or put directly on the dinner table.

The refrigerator is the equivalent of secondary (disk) storage. It can store high
volumes of veggies for long periods of time. The counter top is the equivalent of
the computer's motherboard - everything is done on the counter (inside the
computer). The cutting board is the ALU - the work gets done there. The recipe is
the control unit - it tells you what to do on the cutting board (ALU). Space on the
counter top is the equivalent of RAM memory - all veggies must be brought from
the fridge and placed on the counter top for fast access. Note that the counter top
(RAM) is faster to access than the fridge (disk), but can not hold as much, and can
not hold it for long periods of time. The corners of the cutting board where we
temporarily store partially chopped veggies are equivalent to the registers. The
corners of the cutting board are very fast to access for chopping, but can not hold
much. The salad bowl is like a temporary register, it is for storing the salad
waiting to take back to the fridge (putting data back on a disk) or for taking to the
dinner table (outputting the data to an output device).


Now for a more technical example. let us look at how a payroll program uses all
three types of storage. Suppose the program calculates the salary of an employee.
The data representing the hours worked and the data for the rate of pay are ready
in their respective registers. Other data related to the salary calculation-overtime
hours, bonuses, deductions, and so forth-is waiting nearby in memory. The data
for other employees is available in secondary storage. As the CPU finishes
calculations about one employee, the data about the next employee is brought
from secondary storage into memory and eventually into the registers.

The following table summarizes the characteristics of the various kinds of data
storage in the storage hierarchy.

 Storage        Speed        Capacity       Relative Cost ($) Permanent?
Registers       Fastest       Lowest            Highest              No
       RAM          Very Fast Low/Moderate             High               No
    Floppy Disk Very Slow           Low                Low                Yes
    Hard Disk       Moderate     Very High          Very Low              Yes

     Modern computers are designed with this hierarchy due to the characteristics
     listed in the table. It has been the cheapest way to get the functionality. However,
     as RAM becomes cheaper, faster, and even permanent, we may see disks
     disappear as an internal storage device. Removable disks, like Zip disks or CDs
     (we describe these in detail in the online reading on storage devices) will probably
     remain in use longer as a means to physically transfer large volumes of data into
     the computer. However, even this use of disks will probably be supplanted by the
     Internet as the major (and eventually only) way of transferring data. Floppy disks
     drives are already disappearing: the new IMac Macintosh from Apple does not
     come with one. Within the next five years most new computer designs will only
     include floppy drives as an extra for people with old floppy disks that they must
     use.

     For more detail on the computer's memory hierarchy, see the How Stuff Works
     pages on computer memory.. This is optional reading.

•    How the CPU Executes Program Instructions
     Let us examine the way the central processing unit, in association with memory,
     executes a computer program. We will be looking at how just one instruction in
     the program is executed. In fact, most computers today can execute only one
     instruction at a time, though they execute it very quickly. Many personal
     computers can execute instructions in less than one-millionth of a second,
     whereas those speed demons known as supercomputers can execute instructions
     in less than one-billionth of a second.

                                                               •   Before an instruction
                                                                   can be executed,
                                                                   program instructions
                                                                   and data must be
                                                                   placed into memory
                                                                   from an input device
                                                                   or a secondary
                                                                   storage device (the
                                                                   process is further
                                                                   complicated by the
                                                                   fact that, as we noted
                                                                   earlier, the data will
                                                                   probably make a
                 Figure 2: The Machine Cycle
temporary stop in a register). As Figure 2 shows, once the necessary data and
instruction are in memory, the central processing unit performs the following four
steps for each instruction:

   1.The control unit fetches (gets) the instruction from memory.
   2.The control unit decodes the instruction (decides what it means) and directs
   that the necessary data be moved from memory to the arithmetic/logic unit.
   These first two steps together are called instruction time, or I-time.
   3.The arithmetic/logic unit executes the arithmetic or logical instruction. That
   is, the ALU is given control and performs the actual operation on the data.
   4.Thc arithmetic/logic unit stores the result of this operation in memory or in
   a register. Steps 3 and 4 together are called execution time, or E-time.


The control unit eventually directs memory to release the result to an output
device or a secondary storage device. The combination of I-time and E-time is
called the machine cycle. Figure 3 shows an instruction going through the
machine cycle.

Each central processing unit has an internal clock that produces pulses at a fixed
rate to synchronize all computer operations. A single machine-cycle instruction
may be made up of a substantial number of sub-instructions, each of which must
take at least one clock cycle. Each type of central processing unit is designed to
understand a specific group of instructions called the instruction set. Just as there
are many different languages that people understand, so each different type of
CPU has an instruction set it understands. Therefore, one CPU-such as the one for
a Compaq personal computer-cannot understand the instruction set from another
CPU-say, for a Macintosh.

                                                                    It is one thing to
                                                                    have
                                                                    instructions and
                                                                    data somewhere
                                                                    in memory and
                                                                    quite another for
                                                                    the control unit
                                                                    to be able to
                                                                    find them. How
                                                                    does it do this?




       Figure 3: The Machine Cycle in Action
The location in
                                                                memory for each
                                                                instruction and
                                                                each piece of data
                                                                is identified by an
                                                                address. That is,
                                                                each location has
                                                                an address number,
                                                                like the mailboxes
                                                                in front of an
                                                                apartment house.
                                                                And, like the
   Figure 4: Memory Addresses Like Mailboxes                    mailboxes, the
                                                                address numbers of
the locations remain the same, but the contents (instructions and data) of the
locations may change. That is, new instructions or new data may be placed in the
locations when the old contents no longer need to be stored in memory. Unlike a
mailbox, however, a memory location can hold only a fixed amount of data; an
address can hold only a fixed number of bytes - often two bytes in a modern
computer.

Figure 4 shows how a program manipulates data in memory. A payroll program,
for example, may give instructions to put the rate of pay in location 3 and the
number of hours worked in location 6. To compute the employee's salary, then,
instructions tell the computer to multiply the data in location 3 by the data in
location 6 and move the result to location 8. The choice of locations is arbitrary -
any locations that are not already spoken for can be used. Programmers using
programming languages, however, do not have to worry about the actual address
numbers, because each data address is referred to by a name. The name is called a
symbolic address. In this example, the symbolic address names are Rate, Hours,
and Salary.

More Related Content

DOC
De vorba-cu-valeriu-popa-autor-ovidiu-harbada(1)
DOCX
Transilvanian sunrise radu cinamar
PPTX
Santa Claus village
PPTX
Fa-ti viata exact cum vrei
PPTX
Traumatismele toracice si abdominale...
PPT
Ecg normal generala sm i
PDF
Manuscris valeriu-popa-2
PDF
Rugaciunea Lui Iisus
De vorba-cu-valeriu-popa-autor-ovidiu-harbada(1)
Transilvanian sunrise radu cinamar
Santa Claus village
Fa-ti viata exact cum vrei
Traumatismele toracice si abdominale...
Ecg normal generala sm i
Manuscris valeriu-popa-2
Rugaciunea Lui Iisus

Viewers also liked (15)

PPT
Iniesta
PPTX
Pp facebuy
PPT
Alg Info Eng 2008 Rj 180408
ODP
Embedded controls
PPTX
Recent news
PDF
DLP-системы
PPS
Um amor louco
PPT
Fast Forward
DOC
Ireland. by ferdinand
PPTX
King tut
PDF
SMM-2013. Кто выживет после конца света?
PDF
SoLoMo: Как превратить «местечковые» кампании в интегрированные.
DOCX
PDF
Praesentation Asetronics AG
Iniesta
Pp facebuy
Alg Info Eng 2008 Rj 180408
Embedded controls
Recent news
DLP-системы
Um amor louco
Fast Forward
Ireland. by ferdinand
King tut
SMM-2013. Кто выживет после конца света?
SoLoMo: Как превратить «местечковые» кампании в интегрированные.
Praesentation Asetronics AG
Ad

Similar to How computers work (20)

PPTX
chapter2.pptxttttttttttttttttttttttttttt
PPT
Components of a digital computer.ppt
PDF
Components of a computer
PDF
11th-CS system overview ppt chapter-01.pdf
PDF
ICT - Lecture Notes 3.pdf
PPTX
20200909-XI-CSC-Computer chapter-1-1 of 6-Ppt.pptx
PDF
computer devices and memory unit 2 notes.pdf
PDF
fundamentals of digital communication unit 2 notes.pdf
PDF
In the heart of computers
PPTX
Computer system and organization types of memory
PPTX
COMPUTER ORGANIZATION for beginner and a
PPTX
Unit 1-PROBLEM SOLVING AND PYTHON PROGRAMMING R2021.pptx
PPTX
Functional Units of Digital System & Their Interconnection.pptx
PDF
1.basics of information technology
PDF
Computer organization and architecture|KTU
PDF
Computer organization and architecture|KTU
PPTX
Computer Architecture
PPTX
What's Inside
PDF
Data processing
chapter2.pptxttttttttttttttttttttttttttt
Components of a digital computer.ppt
Components of a computer
11th-CS system overview ppt chapter-01.pdf
ICT - Lecture Notes 3.pdf
20200909-XI-CSC-Computer chapter-1-1 of 6-Ppt.pptx
computer devices and memory unit 2 notes.pdf
fundamentals of digital communication unit 2 notes.pdf
In the heart of computers
Computer system and organization types of memory
COMPUTER ORGANIZATION for beginner and a
Unit 1-PROBLEM SOLVING AND PYTHON PROGRAMMING R2021.pptx
Functional Units of Digital System & Their Interconnection.pptx
1.basics of information technology
Computer organization and architecture|KTU
Computer organization and architecture|KTU
Computer Architecture
What's Inside
Data processing
Ad

Recently uploaded (20)

PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Cell Structure & Organelles in detailed.
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Cell Types and Its function , kingdom of life
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Sports Quiz easy sports quiz sports quiz
PDF
Pre independence Education in Inndia.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Computing-Curriculum for Schools in Ghana
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
GDM (1) (1).pptx small presentation for students
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Cell Structure & Organelles in detailed.
Module 4: Burden of Disease Tutorial Slides S2 2025
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Final Presentation General Medicine 03-08-2024.pptx
Cell Types and Its function , kingdom of life
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Sports Quiz easy sports quiz sports quiz
Pre independence Education in Inndia.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
VCE English Exam - Section C Student Revision Booklet
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Computing-Curriculum for Schools in Ghana
TR - Agricultural Crops Production NC III.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
Basic Mud Logging Guide for educational purpose
Anesthesia in Laparoscopic Surgery in India
GDM (1) (1).pptx small presentation for students

How computers work

  • 1. How Computers Work: The CPU and Memory Figure 0 shows the parts of a computer: • The Central Processing Unit: o (CPU) , o Buses, o Ports and contro llers, o ROM; • Main Memory (RAM); • Input Devices; • Output Devices; • Secondary Storage; o floppy disks, o hard disk, Figure 0: Inside The Computer o CD- ROM This part of the reading will examine the CPU, Buses, Controllers, and Main Memory. Other sections will examine input devices, output devices, and secondary memory. The Central Processing Unit (CPU)
  • 2. The computer does its primary work in a part of the machine we cannot see, a control center that converts data input to information output. This control center, called the central processing unit (CPU), is a highly complex, extensive set of electronic circuitry that executes stored program instructions. All computers, large and Figure 1: The Central Processing Unit small, must have a central processing unit. As Figure 1 shows, the central processing unit consists of two parts: The control unit and the arithmetic/logic unit. Each part has a specific function. Before we discuss the control unit and the arithmetic/logic unit in detail, we need to consider data storage and its relationship to the central processing unit. Computers use two types of storage: Primary storage and secondary storage. The CPU interacts closely with primary storage, or main memory, referring to it for both instructions and data. For this reason this part of the reading will discuss memory in the context of the central processing unit. Technically, however, memory is not part of the CPU. Recall that a computer's memory holds data only temporarily, at the time the computer is executing a program. Secondary storage holds permanent or semi- permanent data on some external magnetic or optical medium. The diskettes and CD-ROM disks that you have seen with personal computers are secondary storage devices, as are hard disks. Since the physical attributes of secondary storage devices determine the way data is organized on them, we will discuss secondary storage and data organization together in another part of our on-line readings. Now let us consider the components of the central processing unit. The Control Unit The control unit of the CPU contains circuitry that uses electrical signals to direct the entire computer system to carry out, or execute, stored program instructions. Like an orchestra leader, the control unit does not execute program instructions; rather, it directs
  • 3. other parts of the system to do so. The control unit must communicate with both the arithmetic/logic unit and memory. The Arithmetic/Logic Unit The arithmetic/logic unit (ALU) contains the electronic circuitry that executes all arithmetic and logical operations. The arithmetic/logic unit can perform four kinds of arithmetic operations, or mathematical calculations: addition, subtraction, multiplication, and division. As its name implies, the arithmetic/logic unit also performs logical operations. A logical operation is usually a comparison. The unit can compare numbers, letters, or special characters. The computer can then take action based on the result of the comparison. This is a very important capability. It is by comparing that a computer is able to tell, for instance, whether there are unfilled seats on airplanes, whether charge- card customers have exceeded their credit limits, and whether one candidate for Congress has more votes than another. Logical operations can test for three conditions: • Equal-to condition. In a test for this condition, the arithmetic/logic unit compares two values to determine if they are equal. For example: If the number of tickets sold equals the number of seats in the auditorium, then the concert is declared sold out. • Less-than condition. To test for this condition, the computer compares values to determine if one is less than another. For example: If the number of speeding tickets on a driver's record is less than three, then insurance rates are $425; otherwise, the rates are $500. • Greater-than condition. In this type of comparison, the computer determines if one value is greater than another. For example: If the hours a person worked this week are greater than 40, then multiply every extra hour by 1.5 times the usual hourly wage to compute overtime pay. A computer can simultaneously test for more than one condition. In fact, a logic unit can usually discern six logical relationships: equal to, less than, greater than, less than or equal to, greater than or equal to, and not equal. The symbols that let you define the type of comparison you want the computer to perform are called relational operators. The most common relational operators are the equal sign(=), the less-than symbol(<), and the greater-than symbol(>). • Registers: Temporary Storage Areas Registers are temporary storage areas for instructions or data. They are not a part of memory; rather they are special additional storage locations that offer the advantage of speed. Registers work under the direction of the control unit to
  • 4. accept, hold, and transfer instructions or data and perform arithmetic or logical comparisons at high speed. The control unit uses a data storage register the way a store owner uses a cash register-as a temporary, convenient place to store what is used in transactions. Computers usually assign special roles to certain registers, including these registers: o An accumulator, which collects the result of computations. o An address register, which keeps track of where a given instruction or piece of data is stored in memory. Each storage location in memory is identified by an address, just as each house on a street has an address. o A storage register, which temporarily holds data taken from or about to be sent to memory. o A general-purpose register, which is used for several functions. • Memory and Storage Memory is also known as primary storage, primary memory, main storage, internal storage, main memory, and RAM (Random Access Memory); all these terms are used interchangeably by people in computer circles. Memory is the part of the computer that holds data and instructions for processing. Although closely associated with the central processing unit, memory is separate from it. Memory stores program instructions or data for only as long as the program they pertain to is in operation. Keeping these items in memory when the program is not running is not feasible for three reasons: o Most types of memory only store items while the computer is turned on; data is destroyed when the machine is turned off. o If more than one program is running at once (often the case on large computers and sometimes on small computers), a single program can not lay exclusive claim to memory. o There may not be room in memory to hold the processed data. How do data and instructions get from an input device into memory? The control unit sends them. Likewise, when the time is right, the control unit sends these items from memory to the arithmetic/logic unit, where an arithmetic operation or logical operation is performed. After being processed, the information is sent to memory, where it is hold until it is ready to he released to an output unit. The chief characteristic of memory is that it allows very fast access to instructions and data, no matter where the items are within it. We will discuss the physical components of memory-memory chips-later in this chapter. To see how registers, memory, and second storage all work together, let us use the analogy of making a salad. In our kitchen we have: o a refrigerator where we store our vegetables for the salad;
  • 5. o a counter where we place all of our veggies before putting them on the cutting board for chopping; o a cutting board on the counter where we chop the vegetables; o a recipe that details what veggies to chop; o the corners of the cutting board are kept free for partially chopped piles of veggies that we intend to chop more or to mix with other partially chopped veggies. o a bowl on the counter where we mix and store the salad; o space in the refrigerator to put the mixed salad after it is made. The process of making the salad is then: bring the veggies from the fridge to the counter top; place some veggies on the chopping board according to the recipe; chop the veggies, possibly storing some partially chopped veggies temporarily on the corners of the cutting board; place all the veggies in the bowl to either put back in the fridge or put directly on the dinner table. The refrigerator is the equivalent of secondary (disk) storage. It can store high volumes of veggies for long periods of time. The counter top is the equivalent of the computer's motherboard - everything is done on the counter (inside the computer). The cutting board is the ALU - the work gets done there. The recipe is the control unit - it tells you what to do on the cutting board (ALU). Space on the counter top is the equivalent of RAM memory - all veggies must be brought from the fridge and placed on the counter top for fast access. Note that the counter top (RAM) is faster to access than the fridge (disk), but can not hold as much, and can not hold it for long periods of time. The corners of the cutting board where we temporarily store partially chopped veggies are equivalent to the registers. The corners of the cutting board are very fast to access for chopping, but can not hold much. The salad bowl is like a temporary register, it is for storing the salad waiting to take back to the fridge (putting data back on a disk) or for taking to the dinner table (outputting the data to an output device). Now for a more technical example. let us look at how a payroll program uses all three types of storage. Suppose the program calculates the salary of an employee. The data representing the hours worked and the data for the rate of pay are ready in their respective registers. Other data related to the salary calculation-overtime hours, bonuses, deductions, and so forth-is waiting nearby in memory. The data for other employees is available in secondary storage. As the CPU finishes calculations about one employee, the data about the next employee is brought from secondary storage into memory and eventually into the registers. The following table summarizes the characteristics of the various kinds of data storage in the storage hierarchy. Storage Speed Capacity Relative Cost ($) Permanent?
  • 6. Registers Fastest Lowest Highest No RAM Very Fast Low/Moderate High No Floppy Disk Very Slow Low Low Yes Hard Disk Moderate Very High Very Low Yes Modern computers are designed with this hierarchy due to the characteristics listed in the table. It has been the cheapest way to get the functionality. However, as RAM becomes cheaper, faster, and even permanent, we may see disks disappear as an internal storage device. Removable disks, like Zip disks or CDs (we describe these in detail in the online reading on storage devices) will probably remain in use longer as a means to physically transfer large volumes of data into the computer. However, even this use of disks will probably be supplanted by the Internet as the major (and eventually only) way of transferring data. Floppy disks drives are already disappearing: the new IMac Macintosh from Apple does not come with one. Within the next five years most new computer designs will only include floppy drives as an extra for people with old floppy disks that they must use. For more detail on the computer's memory hierarchy, see the How Stuff Works pages on computer memory.. This is optional reading. • How the CPU Executes Program Instructions Let us examine the way the central processing unit, in association with memory, executes a computer program. We will be looking at how just one instruction in the program is executed. In fact, most computers today can execute only one instruction at a time, though they execute it very quickly. Many personal computers can execute instructions in less than one-millionth of a second, whereas those speed demons known as supercomputers can execute instructions in less than one-billionth of a second. • Before an instruction can be executed, program instructions and data must be placed into memory from an input device or a secondary storage device (the process is further complicated by the fact that, as we noted earlier, the data will probably make a Figure 2: The Machine Cycle
  • 7. temporary stop in a register). As Figure 2 shows, once the necessary data and instruction are in memory, the central processing unit performs the following four steps for each instruction: 1.The control unit fetches (gets) the instruction from memory. 2.The control unit decodes the instruction (decides what it means) and directs that the necessary data be moved from memory to the arithmetic/logic unit. These first two steps together are called instruction time, or I-time. 3.The arithmetic/logic unit executes the arithmetic or logical instruction. That is, the ALU is given control and performs the actual operation on the data. 4.Thc arithmetic/logic unit stores the result of this operation in memory or in a register. Steps 3 and 4 together are called execution time, or E-time. The control unit eventually directs memory to release the result to an output device or a secondary storage device. The combination of I-time and E-time is called the machine cycle. Figure 3 shows an instruction going through the machine cycle. Each central processing unit has an internal clock that produces pulses at a fixed rate to synchronize all computer operations. A single machine-cycle instruction may be made up of a substantial number of sub-instructions, each of which must take at least one clock cycle. Each type of central processing unit is designed to understand a specific group of instructions called the instruction set. Just as there are many different languages that people understand, so each different type of CPU has an instruction set it understands. Therefore, one CPU-such as the one for a Compaq personal computer-cannot understand the instruction set from another CPU-say, for a Macintosh. It is one thing to have instructions and data somewhere in memory and quite another for the control unit to be able to find them. How does it do this? Figure 3: The Machine Cycle in Action
  • 8. The location in memory for each instruction and each piece of data is identified by an address. That is, each location has an address number, like the mailboxes in front of an apartment house. And, like the Figure 4: Memory Addresses Like Mailboxes mailboxes, the address numbers of the locations remain the same, but the contents (instructions and data) of the locations may change. That is, new instructions or new data may be placed in the locations when the old contents no longer need to be stored in memory. Unlike a mailbox, however, a memory location can hold only a fixed amount of data; an address can hold only a fixed number of bytes - often two bytes in a modern computer. Figure 4 shows how a program manipulates data in memory. A payroll program, for example, may give instructions to put the rate of pay in location 3 and the number of hours worked in location 6. To compute the employee's salary, then, instructions tell the computer to multiply the data in location 3 by the data in location 6 and move the result to location 8. The choice of locations is arbitrary - any locations that are not already spoken for can be used. Programmers using programming languages, however, do not have to worry about the actual address numbers, because each data address is referred to by a name. The name is called a symbolic address. In this example, the symbolic address names are Rate, Hours, and Salary.