Algoritmos y Programacion

Slides:



Advertisements
Similar presentations
11-instruction CPU with 2 12 (4096) 16-bit RAM. Illustrates how a general-purpose computer is assembled from gates and registers. The design is simplified.
Advertisements

Instructor: Dr. Lynn Ziegler
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
 Suppose for a moment that you were asked to perform a task and were given the following list of instructions to perform:
IT253: Computer Organization Lecture 6: Assembly Language and MIPS: Programming Tonga Institute of Higher Education.
COE Computer Organization & Assembly Language
PROGRAMMING Introduction To Programming Definition Types Of Programming Languages Programming Language Paradigm Translator
CSCE 121, Sec 200, 507, 508 Fall 2010 Prof. Jennifer L. Welch.
Assembly & Machine Languages
1 Chapter-01 Introduction to Computers and C++ Programming.
The CPU The Central Presentation Unit Main Memory and Addresses Address bus and Address Space Data Bus Control Bus The Instructions set Mnemonics Opcodes.
4-1 Chapter 4 - The Instruction Set Architecture Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring.
Instruction Set Architecture
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
4-1 Chapter 4 - The Instruction Set Architecture Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of.
GCSE Computing#BristolMet Session Objectives#11 MUST identify what program instructions consist of SHOULD describe how instructions are coded as bit patterns.
4-1 Chapter 4 - The Instruction Set Architecture Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
The Central Processing Unit (CPU) and the Machine Cycle.
4-1 Chapter 4 - The Instruction Set Architecture Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Important Concepts  Parts of the CPU  Arithmetic/Logic Unit  Control Unit  Registers  Program Counter  Instruction Register  Fetch/Decode/Execute.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
Instructions. Portability In addition to making hardware backward compatible, we have also made software portable. In describing software, “portable”
September 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 2: Implementation of a Simplified Computer Jeremy R. Johnson Wednesday,
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
1.4 Representation of data in computer systems Instructions.
Sahar Mosleh California State University San MarcosPage 1 Assembly language and Digital Circuit By Sahar Mosleh California State University San Marcos.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Machine Machine language is PL in which program instructions are written in strings of 0s and 1s.The computer circuitry is wired in a manner that it can.
Jeremy R. Johnson William M. Mongan
MIPS assembly. Computer  What’s in a computer?  Processor, memory, I/O devices (keyboard, mouse, LCD, video camera, speaker), disk, CD drive, …
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
First Foray into Programming (the hard way). A reminder from last lesson: A machine code instruction has two parts:  Op-code  Operand An instruction.
Chapter 7: Low-Level Programming Languages Chapter 7 Low-Level Programming Languages Page 66 In order to execute instructions on a CPU, those instructions.
Programming Languages Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
1 What we want: execute High Level Language (HLL) programs What we have: computer hardware (a glorified calculator)
Computer Basics Computer system: hardware + software
Computer Basics.
Software Development Environment
A Level Computing – A2 Component 2 1f, 1g, 1h, 1i, 1j.
Component 1.6.
GCSE COMPUTER SCIENCE Computers 1.5 Assembly Language.
Operating System Interface between a user and the computer hardware
Control Unit Lecture 6.
CSCI-235 Micro-Computer Applications
Computer Architecture and Organization Miles Murdocca and Vincent Heuring Chapter 4 – The Instruction Set Architecture.
Computer Architecture
Data Representation – Instructions
The fetch-execute cycle
Computers: Hardware and Software
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Computer Programming Machine and Assembly.
High Level Programming Languages
CSCE Fall 2013 Prof. Jennifer L. Welch.
CSCE 121: Simple Computer Model Spring 2015
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
PZ01C - Machine architecture
Do it now – PAGE 10 You will find your do it now task in your workbook – look for the start button! Tuesday, 15 January 2019.
MARIE: An Introduction to a Simple Computer
CSCE Fall 2012 Prof. Jennifer L. Welch.
Introduction to Computer Programming
4 – History of Programming Languages
Program Execution.
Chapter 6 Programming the basic computer
Instructions.
1.3.7 High- and low-level languages and their translators
Instruction execution and ALU
Presentation transcript:

Algoritmos y Programacion Computer Languages Machine language A collection of binary instructions understood by a given type of CPU Non-standard; low-level of detail related to the given hardware Very hard to understand by human programmers In order to be executed, any program must have been previously translated into machine language. Assembly language Mirrors closely a given machine language, only more readable by humans: uses mnemonics for instruction codes and names for variables High-level languages Closer to the human way of expression, using higher-level of abstraction concepts from the application area for which it is intended Mostly standardized, thus independent of a given hardware. The downside: computers do not understand high-level languages. Need a compiler to convert programs written in high-level languages into machine language. Algoritmos y Programacion JMHL

Example: Adding two numbers together Suppose the two numbers we want to add are stored in memory locations 137 and 138, and we want to store the result in memory location 139. The following instructions need to be executed by the CPU: Fetch the contents of memory location 137 and store it in a register in the ALU Fetch the contents of memory location 138 and add it to the contents of the register Store the contents of the register in memory location 139 Algoritmos y Programacion JMHL

Example: Adding two numbers together The machine language code to do this is: 00110101 10001001 00000001 10010101 10001010 00000001 01000010 00000001 10001011 opcodes operands Algoritmos y Programacion JMHL

Example: Adding two numbers together The assembly language code to do this is: LOAD $137, R1 ADD $138, R1 STORE R1, $139 With assembly language it is also possible to assign labels to memory locations. If A is a label for location 137, B is a label for location 138, and C is a label for location 139, the assembly language code can be written as LOAD A, R1 ADD B, R1 STORE R1, C Algoritmos y Programacion JMHL

Example: Adding two numbers together High-level languages were developed to simplify programming. To add two numbers in C++, the programmer uses the expression c = a + b; Similar expressions are used in other programming languages FORTRAN C = A + B APL C  A + B COBOL ADD A TO B GIVING C. Algoritmos y Programacion JMHL

Algoritmos y Programacion High-Level Languages Algoritmos y Programacion JMHL