1.0 Introduction to Hardware Computer Architecture

17
Introduction to Hardware Computer Architecture Abd El-Rahman Hosny Mohammed Microsoft Student Partner. 4 th Grade – Faculty of Computers and Information. Computer Science Department. Assiut University. contact: abdelrahmanhosny.com

description

This is a quick overview on the hardware computer architecture. Slides can be used as an introductory session to programming classes or computer architecture courses.

Transcript of 1.0 Introduction to Hardware Computer Architecture

Page 1: 1.0 Introduction to Hardware Computer Architecture

Introduction to Hardware Computer Architecture

Abd El-Rahman Hosny Mohammed

Microsoft Student Partner.4th Grade – Faculty of Computers and Information.

Computer Science Department.Assiut University.

contact: abdelrahmanhosny.com

Page 2: 1.0 Introduction to Hardware Computer Architecture

Agenda

- Life Before the Digital World.- Logical Circuits.- Integrated Circuits (ICs).- Computer Hardware Components.- Instruction Set Architecture level.- Operating System Level.- Higher-Order Language Level.

-2-abdelrahmanhosny.com

Page 3: 1.0 Introduction to Hardware Computer Architecture

Life Before the Digital World - The word “computer” was called to anybody or anything that carry out calculations and computations.- At late 19ths, the a “computer” was familiarized to any machine that carries out calculations.- Mechanical machines were developed to carry out calculations and some fixed functions (not programmable).- Programmability was introduced by the invention of “punched cards”.- Mechanical computers could recognize the punched cards patterns.

-3-abdelrahmanhosny.com

Page 4: 1.0 Introduction to Hardware Computer Architecture

- Punched cards as well as tapes were used to record data.- This improvement was the foundation od modern information processing industry.- Scientific computing needs were met by analog and mechanical computers. But they were inaccurate and not-programmable. - Alan Turing conceptualizes the concept of computing in the “Turing Machine”.

- A device that manipulates symbols on a strip of tape according to a table of rules.

-4-abdelrahmanhosny.com

Page 5: 1.0 Introduction to Hardware Computer Architecture

Turing Test

- It’s the ability of a computer to exhibit intelligent behavior. - If we could make a computer-human conversation that is indistinguishable from a human-human conversation, a machine is said to have passed the test.- Till now, no machine has passed the Turing test !!- Now, the world is moving toward building a smart machine that acts intelligently to human.

-5-abdelrahmanhosny.com

Page 6: 1.0 Introduction to Hardware Computer Architecture

Logical Circuits

- With the invention of capacitors, the world began to become digital.- The first computers were made up of tubes. They were really big in a size of a room !!

-6-abdelrahmanhosny.com

Page 7: 1.0 Introduction to Hardware Computer Architecture

- Discovering semiconductors was a great achievement that kicked-off the computer world to what we can see today.- Capacitors and transistors became very small.

- These components used for storing data as digitalsignals.- Digital signals are binary signals that representa 1 as a high-volt (5 v.) and a 0 as a low-volt (0 v.).- A computer can store any data in the form of a stream of 0s and 1s.- So, binary encoding is used to convert anydecimal number into a binary one.For Example: 75 is represented as 01001011.

-7-abdelrahmanhosny.com

Page 8: 1.0 Introduction to Hardware Computer Architecture

Integrated Circuits

- We collect these small components in small chips which are called Integrated Circuits.- Small-Scale Integration (SSI): up to 100 electronic component per chip.- Medium-Scale Integration (MSI): from 100 to 3,000 electronic component per chip.- Large-Scale Integration (LSI): from 3,000 to 100,000 electronic component per chip.- Ultra Large-Scale Integration (ULSI): more than 1 million electronic component per circuit.

- These integrated circuits (ICs) are the componentsof modern and future computers.

-8-abdelrahmanhosny.com

Page 9: 1.0 Introduction to Hardware Computer Architecture

Computer Hardware

- Computer hardware are the physical parts that constitutes the machine.- Through years, hardware architecture has evolved.- The most common hardware architecture is the Von Neumann model.

- Let’s investigate each part.

-9-abdelrahmanhosny.com

CPUInputOutpu

t

Memory

Page 10: 1.0 Introduction to Hardware Computer Architecture

-10-abdelrahmanhosny.com

CPUInput

Output

Memory

- Keyboard (standard input).- Mouse.- Scanner.- Web Cams.- Touch Screen.- Laser Pen.::And so on.

- Screen (standard output).- Printers.- Speakers.::And so on.

Drivers

These are the hardware interfaces between external devices and the CPU.

Page 11: 1.0 Introduction to Hardware Computer Architecture

-11-abdelrahmanhosny.com

CPUInput

Memory

Output

Memory is the RAM used for program code as well as data.

- Address Bus -- Data Bus -- Control Bus -

Page 12: 1.0 Introduction to Hardware Computer Architecture

-12-abdelrahmanhosny.com

CPUInput

Memory

Output

ALUregistersArithmetic & Logic Unit

- ALU is the heart of the computer. It’s responsible for doing computations (Add, Subtract, Multiply, …etc.).- ALU can do these computations ONLY on the values in the registers. - Registers are much like memory locations (Address-Value pairs), but have less access time.

Page 13: 1.0 Introduction to Hardware Computer Architecture

-13-abdelrahmanhosny.com

Instruction Set Architecture Level

- Companies that manufacture CPUs must accompany it with the instruction set that the ALU can perform.- Instructions are assembly language keywords that perform a specific action. For example, add two numbers.- Let’s see an example:

Page 14: 1.0 Introduction to Hardware Computer Architecture

-14-abdelrahmanhosny.com

Operating System Level

- The operating system is the KING of the computer kingdom.- It’s a software level that manage the different hardware resources using the instructions provided by the manufacturer of every device.- It has too many functionalities, some of them are:

- Usually operating systems are developed using C/C++ and assembly programming languages.

Program Execution IO operations File-System Manipulation. Communications. Error Detection. Security.

Page 15: 1.0 Introduction to Hardware Computer Architecture

-15-abdelrahmanhosny.com

Higher-Order Language Level.

- There are many high-level language that make the programming task easier for developers.- Examples: C++, Java, C#, …etc.

Why there are too many programming languages ?

Why there are new emerging languages ?

But …

Page 16: 1.0 Introduction to Hardware Computer Architecture

-16-abdelrahmanhosny.com

?Time for Questions

Page 17: 1.0 Introduction to Hardware Computer Architecture

-17-abdelrahmanhosny.com

To Be Continued ..

- Introduction to Computer Science.

- Introduction to Computer Programming.

- Programming Languages.