Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Documentos relacionados
El nivel ISA (II)! Conjunto de Instrucciones

Arquitectura de Computadores II Clase #3

Repaso concepto de programa

Arquitectura de Computadores II Clase #3

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Arquitectura del MIPS: Introducción

Arquitectura de Computadoras

Arquitectura de Computadores

El repertorio de instrucciones

PROGRAMACIÓN EN ASSEMBLER SIMULADOR MSX88

TEMA VI DISEÑO DEL PROCESADOR

Guía práctica lenguaje ensamblador

Procesadores ISA Macroarquitecura - Interfaces

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017

Modelo de von Neumann

Organización de Computadoras. Clase 7

Arquitectura Interna del 8088

Repaso Registros internos Z80 1/37

Bloques del programa de la asignatura

Arquitectura (Procesador familia 80 x 86 )

El Diseño de un Lenguaje Máquina

Formato. Microcontroladores DURACIÓN. Revisó. Aprobó. Coordinador. r de la Carreraa. Gestión de la Calidad. Maestro. Autorizó PLAN DE ESTUDIO

TEMA 5 JUEGO DE INSTRUCCIONES DE UN COMPUTADOR

Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software

Tema 3 (III) Fundamentos de la programación en ensamblador

Un. VIII. Generación de Código Objeto

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

UNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086

Introducción al simulador

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos

Introducción a la arquitectura de computadores

8.4. El software en los μprocesadores

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Tema 2. Diseño del repertorio de instrucciones

Operaciones lógicas y repetición

Formato de instrucciones

Capítulo 9. Conjuntos de Instrucciones

Contenido. Conjunto de Instrucciones. Formato de la Instrucción. Instrucciones de 1 byte. Formato de la Instrucción 28/09/2011

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

GUIA 24: REPERTORIO DE INSTRUCCIONES

3. Instrucciones: lenguaje de la máquina

TEMA III: OPERACIONES CON LOS DATOS

Organización de Computadoras. Principios de Conjuntos de Intrucciones

Representación de datos y aritmética básica en sistemas digitales

Lenguajes de Interfaz

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

INFORMÁTICA APLICADA UNIDAD DIDÁCTICA 1. Tema 1 Sistemas informáticos

TEMA 2: Organización de computadores

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos

Arquitectura de Computadoras

REPRESENTACION DE LA INFORMACION

Tipo de datos. Montse Bóo Cepeda. Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain.

2. DISEÑO DEL REPERTORIO DE INSTRUCCIONES MÁQUINA

Conceptos de Arquitectura de Computadoras Curso 2015

Departamento de Sistemas e Informática. Digital II - ECA. Representación de datos y aritmética básica en sistemas digitales.

Estructura y Tecnología de Computadores II (Gestión y Sistemas)

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

INSTRUCCIONES. Las instrucciones del microcontrolador Z8 PLUS se pueden clasificar en grupos de acuerdo a su función como:

Departamento Ingeniería en Sistemas de Información

Curso sobre Microcontroladores Familia HC9S08 de Freescale

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL

Estructura de los sistemas de cómputo

Modos de Direccionamiento+ Diseño de ISA. Organización del Computador 1 Verano 2016

Representación de datos y aritmética básica en sistemas digitales

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

Introducción a las Computadoras. Capítulo 3 Buses del Sistema

Computación 1. Representación Interna de Números

Lógica: Algoritmo: Archivo: Base de datos: Bit:

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

Registros de direcciones de 32 bits A0 a A7 (A7 puntero de pila SP)

Instituto Tecnológico de Morelia

Programación de los Microcontroladores 8052/8051 (I)

Elementos constituyentes de la ejecución de un programa

Programación en ensamblador edición 2009

Instituto Tecnológico de Morelia

Laboratorio de Arquitectura de Redes. Operadores y expresiones en lenguaje C

Programación en lenguaje ensamblador. Instrucciones básicas. Formatos. Direccionamientos

Informática Ingeniería en Electrónica y Automática Industrial

PROCESAMIENTO DE LOS DATOS. Procesamiento de datos ascii a binario y de binario a ascii

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Unidad I: Organización del Computador. Ing. Marglorie Colina

Unidad 3. Facultad de Ciencias Departamento de Electrónica

Microprocesadores, Tema 3:

Organización y Arquitectura

TEMA 1: Conceptos generales. 1.- Representa los primeros 16 números decimales (del 0 al 15) usando codificación binaria y hexadecimal.

CICLOS DEL PROCESADOR

Estructura de Computadores

Tema 2 INSTRUCCIONES DE UN COMPUTADOR. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Tema 1. Fundamentos del lenguaje ensamblador

Tema 3: Microprocesador ColdFire MCF5282

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Primer Microprocesador: 4004, Intel, año bits de ancho de palabra de datos Intel 8 bits dir. 64K Z80

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

Transcripción:

Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones

Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina Binario Representado generalmente por código ensamblador

Elementos de una Instrucción Código de Operación (Op code) Referencia al Operando Fuente Referencia al Destino Referencia a la próxima Instrucción

Dónde se encuentran los operandos? Registros de CPU Memoria Registros de un dispositivo de E/S

Estados del ciclo de instrucción

Representación de la Instrucción En código máquina cada instrucción tiene su patrón de bits que le es único Los programadores usan una representación simbólica ADD, SUB, LOAD Los operandos pueden representarse así: ADD A,B

Formato simple de instrucción

Tipos de Instrucciones Procesamiento Transferencia Almacenamiento Control

Cantidad de Referencias (a) 3 direcciones Operando 1, Operando 2, Resultado a = b + c; No muy usado Muy larga

Cantidad de Referencias (b) 2 direcciones Una de ellas funciona como operando y resultado a = a + b Mas corta Requiere trabajo extra Almacenamiento temporal

Cantidad de Referencias (c) 1 dirección Segunda dirección es implícita Se utiliza un registro (acumulador) Muy usado en máquinas simples

Cantidad de Referencias (d) 0 direcciones Todas las direcciones están implícitas Se usa la Pila push a push b add pop c c = a + b

Cuantas Direcciones Muchas Instrucciones mas complejas (mas potentes?) Mas registros Las operaciones entre registros son mas rápidas Pocas instrucciones por programa Pocas Instrucciones mas sencillas (menos potentes?) Mas instrucciones por programa Mas rápida búsqueda y ejecución de las instrucciones

Cuestiones de diseño (1) Cantidad de operaciones Cuantas? Que harán? Cuan complejas serán? Tipos de Datos Formato Longitud del OPCOD Cantidad de Referencias

Cuestiones de diseño (2) Registros Cantidad de registros disponibles Que Operaciones estarán relacionadas con cada registro? Modos de Direccionamiento (cantidad de direcciones) RISC vs. CISC

Tipos de Operandos Direcciones Números (Enteros, Flotante) Caracteres (ASCII etc.) Lógicos (Bits o flags) Por otro lado, hay diferencias entre números y caracteres?

Tipos de datos Pentium 8 bit Byte 16 bit palabra 32 bit palabra doble 64 bit palabra cuádruple Direccionamiento en unidades de 8 bit Un palabra doble de 32 bit es accedida en direcciones divisibles por 4

Tipos específicos de datos General Contenido binario arbitrario Entero Valor binario simple Ordinal Entero sin signo BCD Un dígito por byte BCD empaquetado - 2 dígitos BCD por byte Puntero Near Desplazamiento de 32 bit offset dentro del segmento Campo bit Cadena de bytes Punto flotante

Formatos de datos numéricos en Pentium

Tipos de datos PowerPC Longitudes de datos de 8 (byte), 16 (media palabra), 32 (palabra) and 64 (doble palabra) Algunas instrucciones necesitan los operandos alineados dentro de la palabra Es flexible y puede usar big- o little-endian El procesador de punto flotante reconoce: Byte sin signo, media palabra sin signo y con signo, palabra sin signo y con signo, doble palabra sin signo, cadena de bytes (<128 bytes) Punto flotante Cumple con IEEE 754 Precisión simple o doble

Tipos de Operaciones Transferencia de Datos Aritméticas Lógicas Conversión E/S Control del Sistema Control de Flujo

Transferencia de datos Especifica Fuente (origen) Destino Cantidad de datos Puede haber diferentes instrucciones para distintos movimientos Ej. IBM S/390 O una instrucción y diferentes direcciones Ej. VAX

Aritmética Suma, Resta, Multiplicación, División Enteros con signo Punto flotante? Puede incluir Incremento (a++) Decremento (a--) Negación (-a)

Operaciones de rotación y desplazamiento

Lógicas Operaciones con Bits AND, OR, NOT

Conversión Ej. Binario a Decimal

Entrada/salida Pueden ser realizadas por instrucciones específicas O utilizar las de trasferencia (E/S mapeada en memoria) Puede ser realizada por un controlador separado (DMA)

Control del sistema Instrucciones privilegiadas La CPU necesita estar en un estado específico Anillo 0 o 80386+ Modo Kernel Para uso del Sistema Operativo exclusivamente

Control de flujo Bifurcación Ej. Ir a x si el resultado es cero Salto Ej. incrementar y saltar si cero ISZ Registro1 Branch xxxx ADD A Llamada a subrutina Interrupciones por software

Instrucción de Bifurcación

Subrutinas anidadas

Uso de la Pila

Ordenamiento de Bytes En que orden se leen números que ocupan mas de 1 byte 12345678 se almacena en 4 celdas de 8bit

Ejemplo del ordenamiento de Bytes Direcc. Valor (1) Valor(2) 184 12 78 185 34 56 186 56 34 186 78 12 Como se lee de arriba abajo o de abajo hacia arriba?

Nombres del ordenamiento de Bytes Problema llamado Endian El sistema que tiene el byte menos significativo en la dirección mas alta se denomina big-endian El sistema que tiene el byte menos significativo en la dirección mas baja se denomina little-endian

Ejemplo de estructuras de datos en C

Vista alternativa del mapa de memoria

Que es estándar? Pentium (80x86), VAX son little-endian IBM 370, Motorola 680x0 (Mac), casi todos los RISC son big-endian Internet es big-endian Hace que escribir programas en una PC para Internet sea mas complicado WinSock provee funciones de conversión htoi y itoh (Host to Internet & Internet to Host)