1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Chapt.2 Machine Architecture Impact of languages –Support – faster, more secure Primitive Operations –e.g. nested subroutine calls »Subroutines implemented.
1-1 Chapter 1—The General Purpose Machine Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
Chapter 8: Central Processing Unit
Week 3. Assembly Language Programming  Difficult when starting assembly programming  Have to work at low level  Use processor instructions >Requires.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Fall 2001CS 4471 CS 447: Fall 2001 Chapter 1: Computer Abstraction and Technology (Introduction to the course)
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
1-1 Chapter 1—The General Purpose Machine Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
COE Computer Organization & Assembly Language Introduction HLL vs. Assembly Programming Languages.
CSCE 121, Sec 200, 507, 508 Fall 2010 Prof. Jennifer L. Welch.
Introduction to Microprocessors Number Systems and Conversions No /6/00 Chapter 1: Introduction to 68HC11 The 68HC11 Microcontroller.
Computer System Overview
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Table 1. Software Hierarchy Levels.. Essential Tools An assembler is a program that converts source-code programs into a machine language (object file).
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
CMP 131 Introduction to Computer Programming Violetta Cavalli-Sforza Week 1, Lab.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and copy this slide show for your personal use, or for.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Summer 2014 Chapter 1: Basic Concepts. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, Chapter Overview Welcome to Assembly Language.
Assembly Language for x86 Processors 7th Edition
Computer Architecture Lecture Notes Spring 2005 Dr. Michael P. Frank Competency Area 1: Computer System Components.
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
Instruction Set Architecture
Machine Instruction Characteristics
Computer Architecture
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
CISC105 General Computer Science Class 1 – 6/5/2006.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Assembly Language for x86 Processors 7 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and copy this.
What have mr aldred’s dirty clothes got to do with the cpu
1-1 Chapter 1—The General Purpose Machine Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
1-1 Chapter 1—The General Purpose Machine Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
Computer organization Practical 1. Administrative Issues The course requirements are: –To be nice and open minded –To pass the exam (there is a boolean.
Computer Architecture 2 nd year (computer and Information Sc.)
Chapter 1 : Overview of Computer and Programming By Suraya Alias
Lecture 1: Review of Computer Organization
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Basic Concepts Computer Organization & Assembly Language Programming Instructor: Maram Alsahafi [Some of the contents Adapted from slides Dr Adnan Gutub,
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Computer Organization and Architecture Lecture 1 : Introduction
CSC235 Computer Organization & Assembly Language
PROGRAMMABLE LOGIC CONTROLLERS SINGLE CHIP COMPUTER
Microprocessor and Microcontroller Fundamentals
Assembly Language for x86 Processors 6th Edition
Operating System Interface between a user and the computer hardware
Control Unit Lecture 6.
Overview of Computers and Programming Chapter 1
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
CSCI/CMPE 3334 Systems Programming
Computers: Hardware and Software
Control Unit Introduction Types Comparison Control Memory
CMP 131 Introduction to Computer Programming
Overview of Computer Architecture and Organization
Introduction to Microprocessor Programming
Computer Systems An Introducton.
Presentation transcript:

1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing programs in higher level languages  The internal structure of the computer is totally hidden from the user  Important characteristics for the user are execution speed storage capacity peripheral device functionality

2 Assembly Language  Assembly language commands are a symbolic representation of machine language commands using “English like” keywords called “mnemonics”  Using assembly language commands its much easier to program as compared to machine language in the form of long strings of 1s and 0s  Commands in assembly language have a one-to-one correspondence with machine language commands

3 Example  Some assembly language instructions of the x86 family of computers and their equivalent machine language instructions

4 Useful tools for Assembly Language Programmers The assembler The linker The debugger or monitor The development system

5 The Assembler  Assembler is a program written for converting the assembly language program into its equivalent machine language program, and the process of conversion is called the assembly process  The assembly process can also be done without using a computer, but it is very tedious and error-prone  An “assembler” that runs on one processor and translates an assembly language program into the machine language of another processor is called a “cross assembler”

6 The Linker When developing large programs, separate modules can be developed and assembled by different persons working at the same time The linker links those different modules together to form a single module for loading and execution. It also resolves cross references and determines the starting point for execution of the program

7 The Debugger Working in assembly language is tedious and error-prone “Run-time” errors often crash the system instead of smoothly returning the user to the operating system A “debugger”, also called a “monitor”, is a computer program used to help in finding the logical errors in the program

8 The Debugger (continued…) Useful functions which are available with most of the debuggers include: Display and alter the contents of memory, CPU registers and flags Disassembly of machine code Single-stepping and breakpoints

9 Differences between HLLs and Assembly Language In general, there is a “many- to-many” mapping between HLL and equivalent assembly language constructs

10 Differences between HLLs and Assembly Language (continued…) In HLLs type checking is provided  Verifies proper use of variables at compile time  Allows compiler to determine memory requirements  Helps detect bad programming practices

11 Difference between HLLs and Assembly Language (continued…) Most machines have no type checking  The machine sees only strings of bits  Instructions interpret the strings as a type: usually limited to signed or unsigned integers and FP numbers  A given 32-bit word might be an instruction, an integer, a FP number, or 4 ASCII characters

12 General operation of a stored program computer (continued) In case of branch instructions, the contents of the PC are replaced by the address of the next instruction contained in the present branch instruction, and the current status of the processor is stored in a register called the Processor Status Word (PSW)

13 General operation of a stored program computer (continued) This entire process of reading memory, incrementing the PC, and decoding the instruction is known as the Fetch And Execute principle of the stored program computer.

14 Concept of the ISA ISA stands for Instruction Set Architecture and it could be viewed as a model for the computer It includes the instruction set, memory space and all the programmer-accessible registers It serves as the interface between the program and the functional units of the computer

15 The computer architect’s view concerned with design & performance of the entire system designs the ISA for optimum programming and optimum performance of implementation designs the hardware for best implementation of the instructions

16 The computer architect’s view (continued…) uses performance measurement tools, such as benchmark programs, to see that goals are met or not balances performance of building blocks such as CPU, memory, I/O devices, and interconnections meets performance goals at lowest cost

17 Useful tools for the computer architect Software models, simulators and emulators Performance benchmark programs Specialized measurement programs Data flow and bottleneck analysis Subsystem balance analysis Parts, manufacturing, and testing cost analysis

18 The logic designer’s view Designs the machine at the logic gate level Determines whether the architect meets cost and performance goals A single person or a single team may be performing the job of a computer architect and a logic designer

19 Useful tools for the logic designer CAD tools  Logic design and simulation packages  Printed circuit layout tools  IC (integrated circuit) design and layout tools Logic analyzers and oscilloscopes Hardware development systems

20 Concept of the Implementation Domain The implementation domain is the collection of hardware devices with which the logic designer works

21 Concept of the Implementation Domain (continued…) Examples of the implementation domain  TTL or ECL chips  Gallium arsenide chips  PLAs or sea-of-gates arrays  VLSI on silicon

22 A 2-1 multiplexer in different implementation domains 1. Generic logic gates (abstract domain) (a) Abstract view of Boolean logic O I0 S I1

23 A 2-1 multiplexer in different implementation domains (continued…) 2. National Semiconductor FAST Advanced Schottky TTL (VLSI on Silicon)

24 A 2-1 multiplexer in different implementation domains (continued…) 3. Fiber optic directional coupler switch (optical signals in LiNbO3) S (c) Optical switch implementation O I1 I0

25 Classical Logic Design vs. Computer Logic Design The classical logic design usually deals with the state diagram. It implements sequential logic considering machine as a finite state machine. However, the traditional techniques used in logic design cannot be efficiently used in the design of computers.