1 / 34

Computer Organization & Assembly Language

Computer Organization & Assembly Language. Instructor: Nausheen Majeed Email : nausheen.majeed@ciitlahore.edu.pk. Course Objective. To understand organization of a computer system To gain an insight knowledge about the internal architecture and working of microprocessors.

albany
Download Presentation

Computer Organization & Assembly Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Organization & Assembly Language Instructor: NausheenMajeed Email: nausheen.majeed@ciitlahore.edu.pk

  2. Course Objective • To understand organization of a computer system • To gain an insight knowledge about the internal architecture and working of microprocessors. • To understand working of memory devices, interrupt controllers and I/O devices. • To learn Assembly Language

  3. Course Contents • Introduction to Microprocessors • History & Evolution of Intel Microprocessors • Organization of Intel 8086 Processor • Fetch-Execution Cycle • Microprocessor Bus Structure • Internal Memory, External Memory, Input Output Devices • Instruction Representation • Memory Organization & Structure • Memory Addressing • Cache • Interrupts, DMA • Pipelining

  4. Contd.. • Introduction of Assembly Language: • Data Declaration • Loop and Jump • Using Arithmetic and Logical Instructions • Using Shift and rotate instructions • Input / Output and display text • Stack and operations on stack • Subroutine and Procedures • Interfacing with High level languages • Overview of Debugger and practice of writing and debugging programs • Using EMU8086 to write and test assembly language programs • Introduction to Microcontroller Programming

  5. Text Books • Assembly Language programming and Organization of the IBM PC by Ytha Yu and Charles Marut. • Computer Organization and Architecture, William Stallings • Kip Irvine, “Assembly Language for Intel-Based Computers”, Third Edition,, Prentice Hall Incorporated

  6. Outline • Introduction to Computer Organization • An Introduction to Microprocessors • History of Intel 8086 Microprocessors • An Introduction to Assembly Language

  7. Introduction

  8. What is Computer Organization? • Organization is how features are implemented. How does a Computer Work? • For Example: Is there a special hardware multiply unit for multiplication operation or is it done by repeated addition?

  9. Structure & Function • Structure is the way in which components relate to each other • Function is the operation of individual components as part of the structure. • Main functions performed by a computer system are: • Data processing • Data storage • Data movement • Control

  10. Contd.. • When data is received from or delivered by a device that is directly connected to the computer, process is called Input-Output (I/O). • When data are moved over longer distance, to or from a remote device, the process is known as Data Communication.

  11. Structure - Top Level Computer Peripherals Central Processing Unit Main Memory Computer Systems Interconnection Input Output Communication lines

  12. Structure - The CPU CPU Arithmetic and Login Unit Computer Registers I/O System Bus CPU Internal CPU Interconnection Memory Control Unit

  13. Structure - The Control Unit Control Unit CPU Sequencing Logic ALU Control Unit Internal Bus Control Unit Registers and Decoders Registers Control Memory

  14. Microprocessors

  15. Microprocessor • Microprocessor is an electronic circuit that functions as the central processing unit (CPU) of a computer, providing computational control. • Microprocessors are also used in other advanced electronic systems, such as computer printers, automobiles, and jet airliners.

  16. Processor Integration Early computers had many separate chips for the different portions of a computer system Registers ALU Memory Control

  17. Microprocessors Data Bus CPU(ALU +Reg +control) Address Bus Memory I/O Devices Control Bus First microprocessors placed control, registers, arithmetic logic unit in one integrated circuit (one chip).

  18. Modern Processors Modern microprocessors (general purpose Processors) also integrate memory onchip for faster access. External memory and I/O components still required. Memory integrated on the microprocessor is called cache memory. Data Bus CPU Address Bus Registers, ALU,Fetch,Exe Logic,Bus logic,Cache Memory Memory I/O Devices Control Bus

  19. Microcontrollers Microcontrollers integrate all of the components (control, memory, I/O) of a computer system into one integrated circuit. Microcontrollers are intended to be single chip solutions for systems requiring low to moderate processing power. Microcontroller

  20. Microprocessor vs. Microcontroller Microprocessor • CPU is stand-alone, RAM, ROM, I/O, timer are separate • designer can decide on the amount of ROM, RAM and I/O ports. • general-purpose Microcontroller • CPU, RAM, ROM, I/O and timer are all on a single chip • fix amount of on-chip ROM, RAM, I/O ports • single-purpose

  21. History of Intel Microprocessors • 1971 - 4004 • First microprocessor • All CPU components on a single chip • 4 bit • Followed in 1972 by 8008 • 8 bit • Both designed for specific applications • 1974 - 8080 • Intel’s first general purpose microprocessor

  22. Pentium Evolution (1) • 8080 • first general purpose microprocessor • 8 bit data path • Used in first personal computer – Altair • 8086 • much more powerful • 16 bit • instruction cache, prefetch few instructions • 8088 (8 bit external bus) used in first IBM PC • 80286 • 16 Mbyte memory addressable • up from 1Mb • 80386 • 32 bit • Support for multitasking

  23. Pentium Evolution (2) • 80486 • sophisticated powerful cache and instruction pipelining • built in maths co-processor • Pentium • Superscalar • Multiple instructions executed in parallel • Pentium Pro • Increased superscalar organization • Aggressive register renaming • branch prediction • data flow analysis • speculative execution

  24. Pentium Evolution (3) • Pentium II • MMX technology • graphics, video & audio processing • Pentium III • Additional floating point instructions for 3D graphics • Pentium 4 • Note Arabic rather than Roman numerals • Further floating point and multimedia enhancements • Itanium • 64 bit

  25. Assembly Language

  26. Programming Languages • High-Level Languages (HLL) • Assembly Language • Machine Language

  27. High-Level Language • Allow programmers to write programs that look more like natural language. • Examples: C++, Java, C#.NET etc • A program called Compiler is needed to translate a high-level language program into machine code. • Each statement usually translates into multiple machine language instructions.

  28. Machine Language • The "native" language of the computer • Numeric instructions and operands that can be stored in memory and are directly executed by computer system. • Each ML instruction contains an op code (operation code) and zero or more operands. • Examples: Opcode Operand Meaning ------------------------------------------------- 40 increment the AX register 05 0005 add 0005 to AX

  29. Assembly Language • Use instruction mnemonics that have one-to-one correspondence with machine language. • An instruction is a symbolic representation of a single machine instruction • Consists of: • label always optional • mnemonic always required • operand(s) required by some instructions • comment always optional

  30. Sample Program Written in Debug

  31. Figure 1. Machine Language Generation by ASM and HLL programs.

  32. Learn how a processor works Explore the internal representation of data and instructions Allows creation of small and efficient programs Provides a convenient way to directly access the computers hardware Programmers write subroutine also known as Interface Subroutine / device drivers in assembly language and call them from high-level language programs. Why Learn Assembly Language?

  33. Essential Tools • Assembler is a program that converts source-code programs into a machine language (object file). • Linker joins together two or more object files and produces a single executable file. • Debugger loads an executable program, displays the source code, and lets the programmer step through the program one instruction at a time, and display and modify memory. • Emulator allows you to load and run assembly language programs, examine and change contents of registers. Example: EMU8086

  34. References • Chapter 1 & 3, Ytha Yu and Charles Marut, “Assembly Language Programming and Organization of IBM PC”, • Chapter 3, William Stallings, “Computer Organization & Architecture” • Chapter 1,Kip Irvine, “Assembly Language for Intel-Based Computers”, Third Edition,, Prentice Hall Incorporated

More Related