0% found this document useful (0 votes)
31 views

Lecture 1

This document provides an introduction to computer architecture and covers the history of computers from mechanical to modern electronic computers. It discusses the evolution of microprocessors from early 4-bit designs like the 4004 to modern 32-bit processors like the 80386. The key aspects of von Neumann architecture and instruction set design, including RISC and CISC approaches, are summarized. The roles of the control unit, system buses, data bus, and address bus in computer systems are also outlined.

Uploaded by

Ahmed Elshenawy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Lecture 1

This document provides an introduction to computer architecture and covers the history of computers from mechanical to modern electronic computers. It discusses the evolution of microprocessors from early 4-bit designs like the 4004 to modern 32-bit processors like the 80386. The key aspects of von Neumann architecture and instruction set design, including RISC and CISC approaches, are summarized. The roles of the control unit, system buses, data bus, and address bus in computer systems are also outlined.

Uploaded by

Ahmed Elshenawy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

New Mansoura University

Faculty of Computer Science and Engineering

Computer Architecture
Lecture 1 - Introduction

Dr. Mostafa Elgayar


[email protected]
2023
History of Computer
System
Mechanical Age
❑ First practical geared mechanical machines to compute information date to
early 1800s.
❑ Steam-powered mechanical computer.
❖ stored a thousand 20-digit decimal numbers
❑ Variable program could modify function of the machine to perform various
calculating tasks.
❖ input through punched cards, much as computers in the 1950s and 1960s
used punched cards
❖ It is assumed idea of punched cards is from Joseph Jacquard, a Frenchman.
Electrical Age
❑ German inventor Konrad Zuse, invented the first electromechanical computer.
❖ His Z3 calculating computer probably invented for aircraft and missile
design.

❑ Z3 a relay logic machine clocked at 5.33 Hz.

❑ In 1939 constructed first electromechanical computer system, called the Z2.


❖ Zuse today receiving belated honors for pioneering work in the area
of digital electronics
Z3 Computer
Electrical Age
❑ First electronic computer placed in operation to break secret German
military codes
❖ System invented by Alan Turing. It used vacuum tubes.
❑ Although design allowed it to break secret German military codes generated
by the mechanical Enigma machine, it could not solve other problems.
❑ A fixed-program computer system
❖ today often called a special-purpose computer
❑ First general-purpose, programmable electronic computer system developed
1946.
Enigma and Alan Turing
Modern Electronic Computer
❑ December 23, 1947, John Bardeen, William Shockley, and Walter Brattain
develop the transistor at Bell Labs.
❑ Followed by 1958 invention of the integrated circuit (IC) by Jack Kilby of
Texas Instruments.
❑ IC led to development of digital integrated circuits in the 1960s.
RTL, or resistor-to-transistor logic
❖ First microprocessor developed at Intel Corporation in 1971.
❑ Intel engineers Federico Faggin, Ted Hoff, and Stan Mazor developed the
4004 microprocessor.
Modern Computer Arch.
❑ Mathematician John von Neumann first modern person to develop a system
to accept instructions and store them in memory.

❑ Once systems such as UNIVAC became available in early 1950s, assembly


language was used to simplify entering binary code.

❑ Assembler allows programmer to use mnemonic codes…


such as ADD for addition

❑ In 1957 IBM developed FORTRAN (FORmula TRANslator) for its systems.


❖ Allowed programmers to develop programs that used formulas to solve
mathematical problems.
Modern Computer Arch.
❑ First successful, widespread programming language for business
applications was COBOL (COmputer Business Oriented Language).

❑ Another once-popular business language is RPG (Report Program Generator).


❖ allows programming by specifying form of the input, output, and
calculations

❑ Since early days of programming, additional languages have appeared.


❖ Some common modern programming languages are BASIC, C#, C/C++,
Java,…
History of old
Microprocessors
Microprocessor Age - 4004
❑ World’s first microprocessor the Intel 4004

❑ A 4-bit microprocessor-programmable
controller on a chip.

❑ Addressed 4096, 4-bit-wide memory locations.

❑ The 4004-instruction set contained 45


instructions.
Microprocessor Age - 8008
❑ With the microprocessor a commercially viable
product, Intel released 8008 in 1971.
❖ extended 8-bit version of 4004
microprocessor

❑ Addressed expanded memory of 16K bytes.


❖ A byte is generally an 8-bit-wide binary
number and a K is 1024.

❑ Contained additional instructions, 48 total.


Microprocessor Age - 8080
❑ Intel introduced 8080 microprocessor in 1973.
❖ first of the modem 8-bit microprocessors

❑ 8080 addressed four times more memory.


❖ 64K bytes vs l6K bytes for 8008

❑ Executed additional instructions; 10x faster.

❑ TTL (transistor-transistor logic) compatible.

❑ Interfacing made easier and less expensive.


Microprocessor Age - 8085
❑ In 1977 Intel Corporation introduced an
updated version of the 8080—the 8085.
❑ Last 8-bit, general-purpose microprocessor
developed by Intel.
❑ Slightly more advanced than 8080; executed
software at an even higher speed.
❖ 769,230 instructions per second vs 500,000
per second on the 8080).
❑ Main advantages of 8085 were its internal clock
generator and system controller, and higher
clock frequency.
History of modern
Microprocessors
Modern Microprocessor - 8086
❑ In 1978 Intel released the 8086; a year or so
later, it released the 8088. (Use CISC Instruction
Set)
❑ Both devices are 16-bit microprocessors.
❖ executed instructions in as little as 400 ns
(2.5 millions of instructions per second)
❖ major improvement over execution speed of
8085
❑ 8086 & 8088 addressed 1M byte of memory.
❖ 16 times more memory than the 8085
❖ 1M-byte memory contains 1024K byte-sized
memory locations or 1,048,576 bytes
Modern Microprocessor - 80386
❑ Intel’s first practical microprocessor to contain
a 32-bit data bus and 32-bit memory address.

❑ Through 32-bit buses, 80386 addressed up


to 4G bytes of memory.

❑ 80386SX addressed 16M bytes of memory


through a 16-bit data and 24-bit address bus.

❑ 80386SL/80386SLC addressed 32M bytes


memory via 16-bit data, 25-bit address bus.
Computer Architecture
• A functional description of requirements and design implementation for the
various parts of computer.
• The design of abstraction/implementation layers between Hardware and
software that allow us to execute applications efficiently.
• It deals with functional behavior of computer system.
• It comes before the computer organization while designing a computer.

Did You Know !


❑ Architecture describes what the
computer does
Computer Arch. Vs Organization

Did You Know !


❑ Organization describes how it does.
Von Neuman Arch.
• Also known as the von Neuman model or stored-
program computers
• Computer architecture based on a 1945 description
by the mathematician and physicist John von
Neuman and others
• Describes a design architecture for an
electronic digital computer

Did You Know !


❑ In Von Neuman Model -> Instruction is
fetched and executed in sequential
order
Non Von-Neuman Arch.
• A non von Neuman machine may thus be without the concept of
sequential flow of control and/or without the concept of a
variable.

• Examples of non von Neumann machines are the dataflow


machines and the reduction machines. In both of these cases
there is a high degree of parallelism

Did You Know !


❑ In non Von Neuman Model ->
Instruction is fetched and executed in
data flow order
Computer Types
• Fixed Program Computers
➢ Their function is very specific, and they
couldn’t be programmed
➢ E.g. Calculators.

• Stored Program Computers


➢ These can be programmed to carry out many
different tasks, applications are stored on
them
Instruction Set Design
• Reduced Instruction Set Computers (RISC)
➢ Instruction set as small and simple as possible.

➢ Minimizes amount of circuitry --> faster computers.

➢ Most instructions are completed in one machine cycle.

➢ Pipelining is a crucial technique used to speed up RISC machines.

➢ Ex: Common RISC microprocessors are Alpha, ARM, MIPS and SPARC.
Instruction Set Design – Con.
• Complex Instruction Set Computers (CISC)
➢ More instructions, many very complex.

➢ Each instruction can do more work, but require more circuitry (slower)

➢ Instructions: a load from memory, an arithmetic operation, and a memory


store or are accomplished by multi-step processes or addressing modes in
single instructions.

➢ Ex: Common CISC processors are AMD, and Intel x86 CPUs.
Control Unit Subsystem
• Program is stored in memory
➢ as machine language instructions, in binary

• The task of the control unit is to execute programs by repeatedly:


➢ Fetch from memory the next instruction to be executed.
➢ Decode it, that is, determine what is to be done.
➢ Execute it by issuing the appropriate signals to the ALU, memory, and I/O
subsystems.

• Continues until the HALT instruction


System Buses
• A bus is a set of wires that acts as a shared
data path to connect multiple subsystems
within the system.
• A bus consists of multiple lines allowing
parallel movements of bits.
• The speed of the bus is affected by its length
as well as the number of devices sharing it.

• System bus is a bus that connect major


components (processor, memory, I/O)
Data Bus
➢ Data bus: the lines of a bus that carry data.

➢ It consists of 8, 16,32,….etc. separate lines.

➢ The number of lines referred as width of


data bus.

➢ Each line carries only one bit.

➢ It is a bidirectional bus.
Address Bus
➢ Address bus : collection of wires used to
identify particular location in main memory.

➢ It is used to identify the source or


destination of data.

➢ It is a unidirectional bus.

➢ The bus width determine the maximum


memory capacity of the system.
Control Bus
➢ Control bus: regulates the activity on the
bus.

➢ Indicate which device has permission to use


the bus and for what purpose (reading or
writing from memory or from I/O device.

➢ It carries signals that report the status of


various devices
Control Bus – Con.
➢ Memory read: get the data from address
location to be placed on the data bus

➢ Memory write: data should place on


address location.

➢ I/O read: get the data from Input device to


be placed on the data bus

➢ I/O write: data should place on output


device
Memory Subsystem
• Memory array are built as an array of bit cells
• Each cell stores 1 bit of data
• They are specified by their size (depth *
width) and the number and type of ports
• All memories have one or more ports
• Each port gives read and /or write access to Did You Know !
• Each memory location has unique
one memory address address
• Memory address usually starts at zero
• An address is represented by an
unsigned integer
Memory Subsystem – Con.
• Memory Consists of many cells (storage units) of a fixed size.
• Each cell has two important characteristics:
➢ its address (where it is)
➢ its contents (what’s stored at the given location).
• Memory width (W)
➢ How many bits is each memory cell, typically one byte (=8 bits)
• Address width (N)
➢ How many bits used to represent each address, determines the maximum
memory size = address space
➢ If address width is N-bits, then address space is 2N
Memory Subsystem – Con.
Example
Consider this example a memory space as follows:
What is its memory width?
What is its address width?
What is its address space?
What is the content of memory location address 4D ?

You might also like