Title Text

PRE-PROGRAMMING

Computer architecturE

THE EVOLUTION OF COMPUTERS

Computers are a huge part of our lives.

 

However, there was a time when a machine capable of making calculations was barely a dream.

 

The invention of computers isn't credited to anyone in particular, it was more of an incremental process, with several people contributing to it over the decades.

 

Let's take a look at some of these contributions.

A Little History...

1800's

1900's

1900's

1900's - The relay technology

A relay is basically an electrically operated switch. 

 

When current passed through the coil, a magnetic field was created. 

 

Mark I used roughly 3500 relays to do its job.

Both relays and punched tapes were moving parts, subject to wear and tear, causing computer errors, or bugs. Literally.

1900's

1900's

1947 - The transistor was invented at Bell Labs, which led to the creation of increasingly smaller computers.

 

1957 - IBM came up with the IBM 608, the first fully transistor-powered, commercially available computer.

Soon after, IBM transitioned all its computing products to transistors, bringing computers into offices and, eventually, homes.

Today

Today, computers use transistors that are smaller than 50 nanometers, and capable of switching states millions of times per second.

 

A lot of the transistor development happened in California, in a place we know today as Silicon Valley.

NEXT

But how is the modern computer architectured?

Title Text

VON NEUMANN ARchitecture

John von Neumann was a mathematician, physicist and computer scientist, born in Hungary in the early 1900's.

 

His contributions were immense, and include what we know today as the von Neumann Architecture.

John Von Neumann

John von Neumann's model was based on the idea of every computer device being designed with the same fundamental structure:

The Architecture

  • A processing unit that is responsible for the arithmetic/logical operations, and the execution of program instructions
  • Memory that stores both data and program instructions
  • Input/Output mechanisms
  • All these components are linked to each other via computer buses.

This architectural model is still used today. Every device we own is designed in a similar fashion.

 

But before we take a look at how the computer components work together to execute a program, let's take a quick look at the individual components.

NEXT

Title Text

Computer COMPONENTS

Before we start dissecting the insides of a computer, it is important to define what a computer really is.

 

Simply put, a computer is an electronic device that can be instructed to execute sequences of instructions (programs). These instructions include saving data, retrieving data, arithmetic and logical operations.

What is a computer?

This is a computer.

Any device used to store information for immediate use in a computer.

 

There are mainly two types: volatile and persistent.

 

We can use logic gates to create circuits that can be used to save bits.

MEMORY

MEMORY ORGANIZATION

Random Access Memory

 

Fast, short-term memory.

Used to store the information that the computer will need to access at that moment, including program instructions and data.

 

If the power runs out, the data will be lost.

 

Each memory cell has a fixed size and an address. It takes the same amount of time to access data, independently of its location.

RAM

Read-Only Memory

 

Unlike RAM, this type of memory is persistent.

 

ROM chips are programmed by the manufacturer, generally containing information that is crucial for the computer's boot process.

 

There are several types of ROM: PROM, EPROM, EEPROM.

ROM

Generally much slower that both RAM and ROM.

 

It can be removable, or persistent.

 

Several types, including:

  • Hard Disk Drives
  • CD-ROMs
  • DVD-ROMS
  • Flash Drives
  • SSD
  • Cloud Storage

SEcondary memory

Electro-mechanical data storage device that stores information persistently, using magnetism.

 

The platter is divided into billions of tiny areas, each with the capacity of being independently magnetized/demagnetized to store a 1 or a 0.

 

The mechanical arm moves across the platter to read/write information.

HARD DISK DRIVES

Typically, HDDs are divided into sectors. Each sector has a defined size.

 

HDDs can also be partitioned. A partition represents a logical division of the disk into a smaller part.

 

The Operating System takes advantage of both the hard drive sectors and partitions. But more on that later.

HDD STRUCTURE

SSDs are non-volatile storage that uses flash-based memory.

 

They are faster than traditional HDDs, mostly because there are no moving parts in a SSD.

SOLID STATe DRIVE (SSD)

The brain of every computer, the CPU is responsible for performing all types of data processing operations.

These operations include arithmetics, logic, input/output.

Central processing unit

INPUT/OUTPUT

NEXT

Now that we've taken a look at some of the major computer components, it's time to take another look at the von Neumann architecture, and really understand how all the components connect to each other to execute a program.

Title Text

Program execution

Program Execution

Computer Architecture

By Soraia Veríssimo

Computer Architecture

  • 1,645