Why to use the assembly and why we need this course at all?

Slides:



Advertisements
Similar presentations
Instructor: Tor Aamodt
Advertisements

Fall 2001CS 4471 CS 447: Fall 2001 Chapter 1: Computer Abstraction and Technology (Introduction to the course)
Computer Organization Boolean Logic and the CPU i206 Fall 2010 John Chuang Some slides adapted from Marti Hearst, Brian Hayes, or Glenn Brookshear.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Data Structure and Algorithm 1 Yingcai Xiao. You Me The Course (
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#1) By Dr. Syed Noman.
CSE378 Gen. Intro1 Machine Organization and Assembly Language Programming Machine Organization –Hardware-centric view (in this class) –Not at the transistor.
Physics 413 Chapter 1 Computer Architecture What is a Digital Computer ? A computer is essentially a fast electronic calculating machine. What is a program.
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
Instruction Set Architecture
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
Comp Sci 251 Intro 1 Computer organization and assembly language Wing Huen.
Computer system overview1 The Effects of Computers Pervasive in all professions How have computers affected my life? How have computers affected my life?
Software Overview. Why review software? Software is the set of instructions that tells hardware what to do The reason for hardware is to execute a program.
Computer Architecture And Organization UNIT-II Multilevel View Point Of A Machine.
Computer Systems Organization CS 1428 Foundations of Computer Science.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Intermediate 2 Computing Unit 2 - Software Development Topic 2 - Software Development Languages and Environments.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
1.4 Representation of data in computer systems Instructions.
August 27 Books? ? Accounts?. What does a computer look like? Tape drives? Big box with lots of lights? Display with huge letters? Little box with.
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
Chapter 1 Introduction. Components of a Computer CPU (central processing unit) Executing instructions –Carrying out arithmetic and logical operations.
Review of the numeration systems The hardware/software representation of the computer and the coverage of that representation by this course. What is the.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Representation of Data - Instructions Start of the lesson: Open this PowerPoint from the A451 page – Representation of Data/ Instructions How confident.
Operating Systems A Biswas, Dept. of Information Technology.
Programming Languages
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.
The purpose of a CPU is to process data Custom written software is created for a user to meet exact purpose Off the shelf software is developed by a software.
Assembly Language Basic job of a CPU: execute lots of instructions. Instructions are the primitive operations that the CPU may execute. Different CPUs.
A LECTURE NOTE. Introduction to Programming languages.
Computer Applications in Business
CSC235 Computer Organization & Assembly Language
Why don’t programmers have to program in machine code?
Component 1.6.
Assembler, Compiler, MIPS simulator
Assembly Language for x86 Processors 6th Edition
Interpreted languages Jakub Yaghob
Computer Architecture & Operations I
Assembly Language (CSW 353)
Introduction to programming
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Lecture 1: Introduction to JAVA
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Microprocessor and Assembly Language
CS101 Introduction to Computing Lecture 19 Programming Languages
A451 Theory – 7 Programming 7A, B - Algorithms.
CDA 3100 Summer 2011.
Unit# 8: Introduction to Computer Programming
Computer Science I CSC 135.
EEL 4713/EEL 5764 Computer Architecture
Lecture 4: MIPS Instruction Set
CDA 3100 Spring 2009.
Programming Languages
Lesson Objectives Aims Key Words Compiler, interpreter, assembler
CDA 3100 Spring 2010.
Programming Languages
Introduction to Microprocessor Programming
Introduction to Virtual Machines
Introduction to Virtual Machines
January 16 The books are here. Assignment 1 now due Thursday 18 Jan.
CS334: MIPS language _Mars simulator Lab 2_1
Lecture 4: Instruction Set Design/Pipelining
Programming language translators
Presentation transcript:

Why to use the assembly and why we need this course at all? How tens of programs work on one or couple of processors of your PC? It’s organized by the Operating System. Operating systems behavior cannot be understood without knowledge of computer structure and the assembly language. PCB, context switch, threads, stack, heap, dynamic linking Assembly language advantages versus High level languages The primary reason to program in assembly language is that the speed or size of a program is critically important. A hybrid approach, in which most of a program is written in a high-level language and time-critical sections are written in assembly language, builds on the strengths of both languages Cases when no high-level language or compiler is available on a particular computer Ability to exploit specialized instructions, for example, string copy or pattern-matching instructions.

Human writes the code During the course we have to go through all the levels learn each of them separately learn the translation from one to another Finally we’ll put together the learned material and get the final picture of computer organization. The abstraction of the different parts of computer hardware / software allows us to create different Levels of Representation / Interpretation. This makes easier to understand each part separately and get the whole picture putting together all components.

Instruction Set Architecture • Basic job of a CPU: execute lots of instructions. • Instructions are the primitive operations that the CPU may execute. • Different CPUs implement different sets of instructions. The set of instructions a particular CPU implements defines the Instruction Set Architecture (ISA). • Examples: Intel x86 (Pentium 4), Apple/IBM/Motorola PowerPC, MIPS, Sun Sparc, ...

Computer architecture

High and Low level languages C Program Java Program C#, .net Program C++ Program Assembly Program Assembly Program Assembly Program Sun Sparc MIPS Intel x86

Numeration systems Review Doing binary correct operations in the computer we are sure that the translated result to decimal also is correct.

Numeration systems

Numeration systems

Numeration systems

Binary system in computers

Bit patterns

Bit grouping

Conversion Example From Decimal to Binary Convert the decimal 54.4062510 to binary: