CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#2)

Slides:



Advertisements
Similar presentations
Computing Systems Organization
Advertisements

Processor Data Path and Control Diana Palsetia UPenn
Von Neumann Architectures and the PDP-8
Computer Structure.
Chapter 5 Computing Components. 2 Chapter Goals Read an ad for a computer and understand the jargon List the components and their function in a von Neumann.
Chapter 5 Computing Components.
Chapter 5 Computing Components.
Chapter 5 Computing Components. 5-2 Chapter Goals Read an ad for a computer and understand the jargon List the components and their function in a von.
1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.
Chapter 4 The Von Neumann Model
CPU Review and Programming Models CT101 – Computing Systems.
Processor System Architecture
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Computer Organization and Assembly language
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
CH01: Architecture & Organization 1 Architecture is those attributes visible to the programmer  Instruction set, number of bits used for data representation,
Computer Architecture and Organization
Computer Systems 1 Fundamentals of Computing The CPU & Von Neumann.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Internal hardware and external components of a computer Three-box Model  Processor The brain of the system Executes programs A big finite state machine.
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
Computer Architecture and Organization Introduction.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Chapter 1 Introduction. Objectives To explain the definition of computer architecture To discuss the history of computers To describe the von-neumann.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
General Concepts of Computer Organization Overview of Microcomputer.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer Organization & Assembly Language © by DR. M. Amer.
Computer System Internal components - The processor - Main memory - I / O controllers - Buses External components (peripherals). These include: - keyboard.
Introduction Computer System “An electronic device, operating under the control of instructions stored in its own memory unit, that can accept data (input),
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Computer Architecture 2 nd year (computer and Information Sc.)
Chapter 1 Introduction.  Architecture is those attributes visible to the programmer ◦ Instruction set, number of bits used for data representation, I/O.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Introduction to Computing Systems
CPU Lesson 2.
Computer Organization and Architecture Lecture 1 : Introduction
Systems Architecture Keywords Fetch Execute Cycle
Computing Systems Organization
Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Computer Design & Organization
Microprocessor and Assembly Language
Teaching Computing to GCSE
Number Representations and Basic Processor Architecture
Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.
Microprocessor & Assembly Language
ECEG-3202 Computer Architecture and Organization
Text Book Computer Organization and Architecture: Designing for Performance, 7th Ed., 2006, William Stallings, Prentice-Hall International, Inc.
ECEG-3202 Computer Architecture and Organization
Chapter 5: Computer Systems Organization
Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.
What is Computer Architecture?
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
William Stallings Computer Organization and Architecture 7th Edition
Presentation transcript:

CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#2) By Dr. Syed Noman

Course This course aims to teach the fundamentals of computer organization and architecture through assembly language programming. Topics to be learned: Basic Computer Organization; Assembly Language.

Computer Architecture and Organization Architecture is concerned with attributes visible to the programmer: Instruction set, number of bits used for data representation, I/O mechanisms, addressing techniques. Organization is how features are implemented: Control signals, interfaces, memory technology.

Computer architecture Computer architecture deals with the functional behavior of a computer system as viewed by a programmer (like the size of a data type – 32 bits to an integer). All Intel x86 family share the same basic architecture.

Computer organization Computer organization deals with structural relationships that are not visible to the programmer (like clock frequency or the size of the physical memory). Organization differs between different versions.

The Organization of a Computer Processor: Data path - to do arithmetic and logic: e.g. adders, multipliers, shifters, … . Control - to give directions to the other components: e.g. tells the data path, memory, and IO devices what to do according to the instructions of the program. Memory: Holds data and instructions: e.g. cache, main memory, disk, … . Input: Sends data to the computer: e.g. keyboard, mouse, … . Output: Gets data from the computer: e.g. screen, sound card, printer, … . All computers have had 5 main components: Processor Control Input Memory Datapath Output

The Von Neumann Model The von Neumann model consists of five major components: (1) input unit; (2) output unit; (3) arithmetic logic unit; (4) memory unit; (5) control unit.

The Von Neumann Architecture Named after John von Neumann, Princeton, he designed a computer architecture whereby data and instructions would be retrieved from memory, operated on by an ALU, and moved back to memory (or I/O) This architecture is the basis for most modern computers (only parallel processors and a few other unique architectures use a different model). Hardware consists of 3 units: CPU (control unit, ALU, registers); Memory (stores programs and data); I/O System (including secondary storage). Instructions in memory are executed sequentially unless a program instruction explicitly changes the order.

The von Neumann Model Instruction Cycle This is a general depiction of a von Neumann system: These computers employ a fetch-decode-execute cycle to run programs as follows . . .

The von Neumann Model: fetch The control unit fetches the next instruction from memory using the program counter to determine where the instruction is located.

The von Neumann Model: Decode The instruction is decoded into a language that the ALU can understand.

The von Neumann Model: Execute Any data operands required to execute the instruction are fetched from memory and placed into registers within the CPU.

The von Neumann Model: Execute The ALU executes the instruction and places results in registers or memory.

Non-Von Neumann Models Conventional stored-program computers have undergone many incremental improvements over the years. These improvements include adding specialized buses, floating-point units, and cache memories, to name only a few. But enormous improvements in computational power require departure from the classic von Neumann architecture. Adding processors is one approach.

Non-von Neumann Models In the late 1960s, high-performance computer systems were equipped with dual processors to increase computational throughput. In the 1970s supercomputer systems were introduced with 32 processors. Supercomputers with 1,000 processors were built in the 1980s. In 1999, IBM announced its Blue Gene system containing over 1 million processors.

Non-von Neumann Models Parallel processing is only one method of providing increased computational power. DNA computers, quantum computers, and dataflow systems. At this point, it is unclear whether any of these systems will provide the basis for the next generation of computers.

Non-von Neumann Models Leonard Adleman is often called the inventor of DNA computers. His article in a 1994 issue of the journal Science outlined how to use DNA to solve a well-known mathematical problem, called the "traveling salesman" problem. The goal of the problem is to find the shortest route between a number of cities, going through each city only once. As you add more cities to the problem, the problem becomes more difficult. Adleman chose to find the shortest route between seven cities. DNA computing is still in its infancy.

Harvard Architecture Data memory is separate from Program memory. Allows data and program information to move separately and so is faster than von Neumann. Harvard architecture uses separate memory for instruction and data.

Von Neumann and Harvard architectures Allows instructions and data to be mixed and stored in the same memory module; More flexible and easier to implement; Suitable for most of the general purpose processors (i.e. Pentium is using an von Neumann architecture for the external memory and is using a Harvard architecture for its internal cache memory (allowing 8KB of cache for data and anther (separate) 8kB of cache for instructions). Harvard: Uses separate memory modules for instructions and for data; It is easier to pipeline; Higher memory throughput; Suitable for DSP (Digital Signal Processors).

The Basic System Components Typical Von Neumann system For example, the 80x86 family uses the Von Neumann architecture) VNA).

The System Bus Model A refinement of the von Neumann model, the system bus model has a CPU (ALU and control), memory, and an input/output unit. Communication among components is handled by a shared pathway called the system bus, which is made up of the data bus, the address bus, and the control bus. There is also a power bus, and some architectures may also have a separate I/O bus.

System buses A bus is a set of wires, that interconnects all the components (subsystems) of a computer. Source component sources out data onto the bus, the destination component inputs data from the bus. A system may have a hierarchy of buses. The I/O controller may use a second bus, often described as I/O bus or local bus to access a variety of attached devices. PCI bus is an example of a very common local bus.

Address bus CPU reads/writes data from the memory by addressing a specific location; outputs the location of the data on the address bus; memory uses the address to access the proper data. Each I/O device (such as monitor, keypad, etc.) has a unique address as well (or a range of addresses); when accessing a I/O device, CPU places its address on the address bus. Each device will detect if it is its own address and act accordingly. Devices always receive data from the CPU; CPU never reads the address bus (it is never addressed).

Max Addressable Memory 80x86 Family Address Bus Sizes In Words Max Addressable Memory Address Bus Size Processor One Megabyte 1,048,576 20 8088 8086 80188 80186 Sixteen Megabytes 16,777,216 24 80286 80386sx Four Gigabytes 4,294,976,296 32 80386dx 80486 80586 / Pentium (Pro)

Data bus When the CPU reads data from memory, it first outputs the address on the address bus, then the memory outputs the data onto the data bus; the CPU reads the data from data bus. When writing data onto the memory, the CPU outputs first the address on the address bus, then outputs the data onto the output bus; memory then reads and stores the data at the proper location. The process to read/write to a I/O device is similar.

80x86 Processor Data Bus Sizes 8088 80188 16 8086 80186 80286 80386sx 32 80386dx 80486 64 80586 class/ Pentium (Pro)

Control bus Address and data buses consist of n lines, which combine to transmit one n bit value; control bus is a collection of individual control signals. These signals indicate whether the data is to be read into or written out the CPU, whether the CPU is accessing memory or an IO device, and whether the I/O device or memory is ready for the data transfer. This bus is mostly a collection of unidirectional signals.