Sei sulla pagina 1di 12

PC Basics - Articles Index

The purpose of the following articles is to give you a general understanding of how your computer works.

Overview
To understand anything it helps to break it down into it's basic components. Then you need to know how
each component works. Finally you look at how all the components work together to achieve the desired
end product or result.

Motherboard
It is the main circuit board inside the PC case. It holds the microprocessor, memory and other crucial
circuits and components that control the operation of the PC. Every device inside or connected to a PC
finds it's way to this board.

Memory
The mother board takes the input you give it like mouse clicks, and produces output for you like displaying
or printing a file. It can't do this without memory. The PC operating system used by the PC is copied from
storage to memory at power up. The OS copy in memory then runs the PC. Memory is volatile which
means that when your PC is turned off the contents of memory are lost. It is completely blank and must
reloaded each time the PC is powered up.

Storage
Storage is non-volatile which means it retains information even when it is powered off. It stores programs
which run the PC as well as data, which is a digital form of everything you use like documents, music,
pictures, etc.

Input Devices
The keyboard and mouse are the main input devices you use to control your PC.

Output Devices
When you send inputs into the PC, it processes them and produces useful output for you. The primary
output devices are the video display, printer and speakers.

Software
Some people want to use the power of their computer to create works of art, others want to create music,
or play games, surf the web, or play the stock market. Whatever you want to do with your computer,
software is the key to doing it.

What happens when your PC is powered on?


With a simple push of a button, your computer comes to come to life. Here are the steps it goes through
before you can do anything with it.

Hardware

All the elements that go together to make up a PC fall into one of two categories, hardware or software.
This section is about hardware, the stuff upon which software runs.

One of the definitions of 'hardware' according to Webster's dictionary is 'major items of equipment or their
components used for a particular purpose'.

Everything you can see and touch in your PC is hardware. Complete PCs can be purchased for about
$300 today, and the prices keep falling! All the items listed below that make up a PC can be purchased
individually at computer or web supply stores.
This following list represents a basic set of hardware found in most PCs.
For more information on these components just click one.

1. PC Case
2. Motherboard
3. Power Supply
4. Hard Disk Drive (HDD)
5. Floppy Disk Drive (FDD)
6. Compact Disk Drive (CDD)
7. Digital Video Disk drive (DVD)
8. Monitors (CRT and LCD)
9. Keyboard
10. Mouse
11. Audio
12. Cables & Wires

Software
All the elements that go together to make up a PC fall into one of two categories, hardware or software.
This section is about software, the stuff that runs on top of the hardware.

Webster defines software as 'something used or associated with and usually contrasted with hardware as
the entire set of programs, procedures, and related documentation associated with a system and
especially a computer system.'

Nine out of every 10 PCs used in homes worldwide, run some type of Windows operating system.

There are two types software found in every PC:


an Operating System and Application Programs

Operating Systems (OS) provide the basic platform that brings the PC to a point where it can work with
application programs and interface with users.
Think of your car running at idle after you start it. Until the engine and basic systems are up and running
you can't use it to run any applications like going to the store or work or anywhere else!

Operating Systems can be divided into two groups: Windows and non-Windows
I chose this classification because of the wide spread use of Windows operating systems and not on any
particular technical aspects of the many operating systems in use today.

Application Programs are loaded and run on top of the OS. There are application programs to do just
about anything you want. From finding any location in the world via a street address, listening to music,
watching videos or TV to something very simple like a program to help you learn how to type (what I
need). You name it and someone has probably developed an application to do it!
Computer Threats
It is imperative that you keep your PC protected as best you can at all times!

When the Internet first caught on with the general public in the mid 1990s it was a relatively safe place.
Since then some dangerous places have sprung up within it. With worldwide reach and virtual anonymity
it has attracted many destructive, dishonest people. Some of them create viruses, worms, spyware,
adware, keyloggers and the other forms of virulent, invasive code known as malware that cause computer
problems. Some of them use this code and various techniques to secretly steal your identity by gaining
access to your personal information!

Annoying pop-ups, machine slowdowns and PC crashes are often a result of malware. Hackers monitor
Internet traffic and look for unprotected PCs that they can infect.

Even worse if your PC is compromised it can without your knowledge become a slave machine that
further spreads these malware programs to other unprotected PCs!

What can you do? .... A number of things!

1. Never send Personal Information in Emails


2. Install an Antivirus Program
3. Block Spyware and Adware
4. Remove Spyway and Adware
5. Windows users - keep your Critical Updates current
6. Install a Firewall
7. Use a browser other than Internet Explorer
8. Use care when downloading 'free' software

Never send Personal Information in an Email


A big scam today is sending you an email that claims it is from your bank, credit card company or other
business that handles online money transactions. When you get an email from a company stating that
they need to have you provide sensitive personal information, immediately use caution!

When this type of scam first started you would be asked to provide sensitive personal information in the
email itself. Legitimate institutions sent emails to their customers stating that they NEVER ask for
sensitive personal information in an email. So the scammers changed their game. They now include a link
in their email that is supposed to connect you to a secure page of the institution they claim to represent.

Click the link and see what happens. Often a page appears that looks like the real web page of the
company. At this point take a good look at the web address of the page which always appears on the
address line of your browser. If the page address begins with anything but 'https' it is not a secure site. It
is bogus page! Legitimate companies always provide links that take you to a secure site to enter sensitive
personal information!

The identity thieves never give up. Sometimes they insert an address bar at the top of the page they
display which contains an address beginning with https. Don't be fooled by this. Check your browser's
address bar and you will see that the page address actually begins with http! Any information you provide
on the http page will be taken and misused!
If you are in doubt about whether a request is legitimate, copy the address of the page you've been asked
to send your information to and paste it into an email. Send the email to a contact at the company
mentioned in the email and ask if they have requested information from you. Legitimate companies you
do business with will always provide you a link to their secure 'https' site when requesting information
from you!
Install and maintain an Antivirus Program
If you run a Windows operating system it is necessary for you to install an antivirus program and keep the
virus definitions for it updated!

Even people running a MAC OS should install and maintain an antivirus program. If a MAC machine
receives an infected email it may not directly affect the MAC. However, if the email is sent to an
unprotected PC running Windows it will infect that machine.

When a virus tries to enter your PC, often through an infected e-mail, the antivirus program checks it
against the list of all known viruses. If your virus definitions are up to date, the antivirus program identifies
the virus and quickly deletes or quarantines it.

If your virus definition list is out of date, the antivirus program may know about the newest viruses and if
one of them tries to enter your PC the antivirus program lets it pass into your PC!

If you do not have an antivirus program, install one now. Run a virus scan that will identify and rid your PC
of any viruses, worms, and Trojan Horses! If you put it off, it is just a matter of time before one of these
nasty programs gets into your PC and causes havoc!

There are free antivirus programs available on the internet. In general, I stick with the paid antivirus
programs due to the effort required to do the research and development required to stay ahead of all the
new viruses, worms, Trojan horses.

I have used both Symantec's Norton Antivirus and McAfee's VirusScan programs and they both work
well.

Symantec has been in business since 1982 and their Norton Antivirus program is very popular and
powerful. When it is first installed it scans your entire PC and eliminates all the malware it finds. After this
the Liveupdate feature automatically keeps your PC protected against the latest threats!

Important: Norton Antivirus 2006 has been designed for Windows 2000 and XP only. If you are running
98 or ME you should install Norton Antivirus 2005.Both are available at the link below:

After McAfee's VirusScan is installed it checks and deletes all known viruses, worms, spyware and Trojan
Horses from your PC. After that it's Silent Updating feature downloads virus definition updates to your PC
on a continuing basis to insure that your PC is always protected from the growing list of known threats.

Check out McAfee's VirusScan

Block Spyware and Adware before they get on your PC


This class of malware bombards your PC with popups and unwanted ads. The more sever forms of it can
locate and send your personal data to a remote website where it can be used without your knowledge!

Keeping spyware, adware, browser hijackers and programs out of your PC in the first place is your best
defense. There is an excellent free program available for personal and educational use that will do just
that.
Detect and Remove Spyware
If spyware is already on your PC you need to identify it and eliminate it immediately! There are many
programs that you can install that claim to eliminate spyware from your PC. Many of them just add more.

Fortunately, there some out there that really work. Spybot Search and Destroy is one of them and it is
free. It was started by an individual and continues to be maintained by a small group of dedicated people.
Although it is free they do take small donations. It is worth whatever you might wish to give them for the
great product that helps all of us protect our PCs.

Download Spybot

Using another program called Ad-Aware by Lavasoft in conjunction with Spybot gives any Malware on
your PC a one-two punch and knocks it out! Both programs are excellent, but since the Malware writers
never let up, it is best to have two programs each in their own way scouring your machine.

Download Ad-Aware
Windows users - keep your Critical Updates current
The Windows operating systems are big targets for people who develop malware. Windows has a weak
defense against attacks. This combination makes it a prime target for malware.

If you run Windows, you need to frequently check and download the latest Microsoft recommended
updates for your PC.

To view and install these critical updates


Visit the Microsoft Update website
and have Microsoft scan your PC for latest critical updates required for your operating system.

Download and install all recommended critical updates. The updates help make your operating system
itself more resistant to being compromised by hackers.

Install a Firewall
The name 'firewall' comes from a wall used in early automobiles that kept engine fires from reaching the
passenger compartment.

A firewall on your PC does the same thing, except instead of keeping fire out, it keeps hackers out. It also
lets you know if a hacker is testing the ports (doors) on your PC to see if he can gain easy entry. If any
are unprotected he is in, just like that!

Firewalls also let you know about unauthorized outbound messages from your PC. If spyware has been
placed on your PC without your knowledge it can send information found on your PC to a remote web site
in an e-mail.

DON'T let hackers get in through open ports on your PC. An open port is just like an unlocked door in
your house. Anyone can come in, friend or foe! Unprotected ports make every file, account number,
password stored on your PC accessible to the hackers!

Zone Labs makes a product called ZoneAlarm. There are free and purchase versions. The free version
gives you a firewall. The other enhanced options.

Check out ZoneAlarm


Use a browser other than Internet Explorer
Internet Explorer is the most widely used browser on the planet. It is not as secure as it could be and is
often used as an entry point to gain access to your PC.

There are other browsers available that are not big targets for malware. Firefox from Mozilla and Opera
are two free browsers you can use as browers instead of, or along with Internet Explorer.

You can have more than one browser on your PC. You can have only one browser active at a time while
the others sit on the Taskbar along with any other minimized programs you have. Remember that a
browser is just a program that you launch when you need it!

Checkout Firefox

Checkout Opera
Use care when downloading 'free' software
Many times when downloading software, other programs that you are unaware of come with it. Malware
writers often use the download as a way to transfer their malware into your PC.

The point here is to use caution whenever you are surfing around and visiting new websites. The Internet
is like a city. Some places are safe and others are not. Unsafe places in a city have telltale indicators that
you can see, but websites don't and therefore you need to treat unknown sites as if they are dangerous!

So in conclusion - an ounce of prevention is worth a pound of cure. The small amount of time and in some
cases cost of installing and updating these programs is 'Nothing' compared to the time and effort it takes
to restore a compromised PC or to recover your identity after it's been stolen!

Without fail - keep your antivirus and antimalware software constantly updated and active!

Von-Neumann Architecture
The von Neumann architecture is a design model for a stored-program digital computer that uses
a central processing unit (CPU) and a single separate storage structure ("memory") to hold both
instructions and data. It is named after the mathematician and early computer scientist John von
Neumann. Such computers implement a universal Turing machine and have a sequential
architecture.

A stored-program digital computer is one that keeps its programmed instructions, as well as its
data, in read-write, random-access memory (RAM). Stored-program computers were an
advancement over the program-controlled computers of the 1940s, such as the Colossus and the
ENIAC, which were programmed by setting switches and inserting patch leads to route data and
to control signals between various functional units. In the vast majority of modern computers, the
same memory is used for both data and program instructions. The mechanisms for transferring
the data and instructions between the CPU and memory are, however, considerably more
complex than the original von Neumann architecture.

The terms "von Neumann architecture" and "stored-program computer" are generally used
interchangeably

Description
The earliest computing machines had fixed programs. Some very simple computers still use this
design, either for simplicity or training purposes. For example, a desk calculator (in principle) is
a fixed program computer. It can do basic mathematics, but it cannot be used as a word processor
or a gaming console. Changing the program of a fixed-program machine requires re-wiring, re-
structuring, or re-designing the machine. The earliest computers were not so much
"programmed" as they were "designed". "Reprogramming", when it was possible at all, was a
laborious process, starting with flowcharts and paper notes, followed by detailed engineering
designs, and then the often-arduous process of physically re-wiring and re-building the machine.
It could take three weeks to set up a program on ENIAC and get it working.[1]

The idea of the stored-program computer changed all that: a computer that by design includes an
instruction set and can store in memory a set of instructions (a program) that details the
computation.
A stored-program design also lets programs modify themselves while running. One early
motivation for such a facility was the need for a program to increment or otherwise modify the
address portion of instructions, which had to be done manually in early designs. This became
less important when index registers and indirect addressing became usual features of machine
architecture. Self-modifying code has largely fallen out of favor, since it is usually hard to
understand and debug, as well as being inefficient under modern processor pipelining and
caching schemes.

On a large scale, the ability to treat instructions as data is what makes assemblers, compilers and
other automated programming tools possible. One can "write programs which write programs".[2]
On a smaller scale, I/O-intensive machine instructions such as the BITBLT primitive used to
modify images on a bitmap display, were once thought to be impossible to implement without
custom hardware. It was shown later that these instructions could be implemented efficiently by
"on the fly compilation" ("just-in-time compilation") technology, e.g., code-generating programs
—one form of self-modifying code that has remained popular.

There are drawbacks to the von Neumann design. Aside from the von Neumann bottleneck
described below, program modifications can be quite harmful, either by accident or design. In
some simple stored-program computer designs, a malfunctioning program can damage itself,
other programs, or the operating system, possibly leading to a computer crash. Memory
protection and other forms of access control can usually protect against both accidental and
malicious program modification.

Von Neumann bottleneck


The separation between the CPU and memory leads to the von Neumann bottleneck, the limited
throughput (data transfer rate) between the CPU and memory compared to the amount of
memory. In most modern computers, throughput is much smaller than the rate at which the CPU
can work. This seriously limits the effective processing speed when the CPU is required to
perform minimal processing on large amounts of data. The CPU is continuously forced to wait
for needed data to be transferred to or from memory. Since CPU speed and memory size have
increased much faster than the throughput between them, the bottleneck has become more of a
problem, a problem whose severity increases with every newer generation of CPU.

The term "von Neumann bottleneck" was coined by John Backus in his 1977 ACM Turing
Award lecture. According to Backus:

Surely there must be a less primitive way of making big changes in the store than by pushing
vast numbers of words back and forth through the von Neumann bottleneck. Not only is this tube
a literal bottleneck for the data traffic of a problem, but, more importantly, it is an intellectual
bottleneck that has kept us tied to word-at-a-time thinking instead of encouraging us to think in
terms of the larger conceptual units of the task at hand. Thus programming is basically planning
and detailing the enormous traffic of words through the von Neumann bottleneck, and much of
that traffic concerns not significant data itself, but where to find it.[13]
The performance problem can be alleviated (to some extent) by several mechanisms. Providing a
cache between the CPU and the main memory, providing separate caches with separate access
paths for data and instructions (the so-called Harvard architecture), and using branch predictor
algorithms and logic are three of the ways performance is increased. The problem can also be
sidestepped somewhat by using parallel computing, using for example the NUMA architecture—
this approach is commonly employed by supercomputers. It is less clear whether the intellectual
bottleneck that Backus criticized has changed much since 1977. Backus's proposed solution has
not had a major influence. Modern functional programming and object-oriented programming
are much less geared towards "pushing vast numbers of words back and forth" than earlier
languages like Fortran were, but internally, that is still what computers spend much of their time
doing, even highly parallel supercomputers.

Processor register
In computer architecture, a processor register (or general purpose register) is a small amount
of storage available on the CPU whose contents can be accessed more quickly than storage
available elsewhere. Typically, this specialized storage is not considered part of the normal
memory range for the machine. Most, but not all, modern computers adopt the so-called load-
store architecture. Under this paradigm, data is loaded from some larger memory — be it cache
or RAM — into registers, manipulated or tested in some way (using machine instructions for
arithmetic/logic/comparison) and then stored back into memory, possibly at some different
location. A common property of computer programs is locality of reference: the same values are
often accessed repeatedly; and holding these frequently used values in registers improves
program execution performance.

Processor registers are at the top of the memory hierarchy, and provide the fastest way for a CPU
to access data. The term is often used to refer only to the group of registers that are directly
encoded as part of an instruction, as defined by the instruction set. More properly, these are
called the "architectural registers". For instance, the IA-32 instruction set defines a set of 32-bit
registers, but a CPU that implements the x86 instruction set will often contain many more
registers than just these registers.

Allocating frequently used variables to registers can be critical to a program's performance. This
action (register allocation) is performed by a compiler in the code generation phase.

Categories of registers
Registers are normally measured by the number of bits they can hold, for example, an "8-bit
register" or a "32-bit register". Registers are now usually implemented as a register file, but they
have also been implemented using individual flip-flops, high speed core memory, thin film
memory, and other ways in various machines.

A processor often contains several kinds of registers, that can be classified accordingly to their
content or instructions that operate on them:
• User-accessible Registers - The most common division of user-accessible registers is into
data registers and address registers.
• Data registers are used to hold numeric values such as integer and floating-point values.
In some older and low end CPUs, a special data register, known as the accumulator, is
used implicitly for many operations.
• Address registers hold addresses and are used by instructions that indirectly access
memory.
o Some processors contain registers that may only be used to hold an address or
only to hold numeric values (in some cases used as an index register whose value
is added as an offset from some address); others allow registers to hold either kind
of quantity. A wide variety of possible addressing modes, used to specify the
effective address of an operand, exist.
o A stack pointer, sometimes called a stack register, is the name given to a register
that can be used by some instructions to maintain a stack.
• Conditional registers hold truth values often used to determine whether some instruction
should or should not be executed.
• General purpose registers (GPRs) can store both data and addresses, i.e., they are
combined Data/Address registers.
• Floating point registers (FPRs) store floating point numbers in many architectures.
• Constant registers hold read-only values such as zero, one, or pi.
• Vector registers hold data for vector processing done by SIMD instructions (Single
Instruction, Multiple Data).
• Special purpose registers ( SPR ) hold program state; they usually include the program
counter (aka instruction pointer), stack pointer, and status register (aka processor status
word). In embedded microprocessors, they can also correspond to specialized hardware
elements.
o Instruction registers store the instruction currently being executed.
• In some architectures, model-specific registers (also called machine-specific registers)
store data and settings related to the processor itself. Because their meanings are attached
to the design of a specific processor, they cannot be expected to remain standard between
processor generations.
• Control and status registers - It has three types. Program counter, instruction registers,
Program status word (PSW).
• Registers related to fetching information from RAM, a collection of storage registers
located on separate chips from the CPU (unlike most of the above, these are generally not
architectural registers):
o Memory buffer register
o Memory data register
o Memory address register
o Memory Type Range Registers (MTRR)

Addressing mode
Addressing modes are an aspect of the instruction set architecture in most central processing
unit (CPU) designs. The various addressing modes that are defined in a given instruction set
architecture define how machine language instructions in that architecture identify the operand
(or operands) of each instruction. An addressing mode specifies how to calculate the effective
memory address of an operand by using information held in registers and/or constants contained
within a machine instruction or elsewhere.

In computer programming, addressing modes are primarily of interest to compiler writers and to
those who write code directly in assembly language.

Types of Addressing Modes


Each instruction of a computer specifies an operation on certain data. The are various ways of
specifying address of the data to be operated on. These different ways of specifying data are
called the addressing modes. The most common addressing modes are:

• Immediate addressing mode


• Direct addressing mode
• Indirect addressing mode
• Register addressing mode
• Register indirect addressing mode
• Displacement addressing mode
• Stack addressing mode

To specify the addressing mode of an instruction several methods are used. Most often used are :

a)Different operands will use different addressing modes.


b) One or more bits in the instruction format can be used as mode field. The value of the mode
field determines which addressing mode is to be used.

The effective address will be either main memory address of a register.

Immediate Addressing:

This is the simplest form of addressing. Here, the operand is given in the instruction itself. This
mode is used to define a constant or set initial values of variables. The advantage of this mode is
that no memory reference other than instruction fetch is required to obtain operand. The
disadvantage is that the size of the number is limited to the size of the address field, which most
instruction sets is small compared to word length.

INSTRUCTION

OPERAND

Direct Addressing:

In direct addressing mode, effective address of the operand is given in the address field of the
instruction. It requires one memory reference to read the operand from the given location and
provides only a limited address space. Length of the address field is usually less than the word
length.

Ex : Move P, Ro, Add Q, Ro P and Q are the address of operand.

Indirect Addressing:

Indirect addressing mode, the address field of the instruction refers to the address of a word in
memory, which in turn contains the full length address of the operand. The advantage of this
mode is that for the word length of N, an address space of 2N can be addressed. He disadvantage
is that instruction execution requires two memory reference to fetch the operand Multilevel or
cascaded indirect addressing can also be used.

Register Addressing:

Register addressing mode is similar to direct addressing. The only difference is that the address
field of the instruction refers to a register rather than a memory location 3 or 4 bits are used as
address field to reference 8 to 16 generate purpose registers. The advantages of register
addressing are Small address field is needed in the instruction.

Register Indirect Addressing:

This mode is similar to indirect addressing. The address field of the instruction refers to a
register. The register contains the effective address of the operand. This mode uses one memory
reference to obtain the operand. The address space is limited to the width of the registers
available to store the effective address.

Displacement Addressing:

In displacement addressing mode there are 3 types of addressing mode. They are :

1) Relative addressing
2) Base register addressing
3) Indexing addressing.

This is a combination of direct addressing and register indirect addressing. The value contained
in one address field. A is used directly and the other address refers to a register whose contents
are added to A to produce the effective address.

Stack Addressing:

Stack is a linear array of locations referred to as last-in first out queue. The stack is a reserved
block of location, appended or deleted only at the top of the stack. Stack pointer is a register
which stores the address of top of stack location. This mode of addressing is also known as
implicit addressing.

Potrebbero piacerti anche