Modelo de von Neumann

Documentos relacionados
ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

El procesador. Diseño del control

Arquitectura del MIPS: Introducción

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

Organización de Computadoras. Principios de Conjuntos de Intrucciones

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

El nivel ISA (II)! Conjunto de Instrucciones

Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS

Clasificación de las Arquitecturas

El repertorio de instrucciones

FUNCIONAMIENTO DEL ORDENADOR

Introducción a la arquitectura de computadores

Organización y Arquitectura

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

Arquitectura del CPU. Organización del Computador 1 Verano 2016

MIPS. Universidad de Sonora 2

Estructura de Computadores I

INTRUCCIONES: LENGUAJE MAQUINA

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S.

3. Instrucciones: lenguaje de la máquina

Plataformas de soporte computacional: arquitecturas avanzadas,

Organización del Computador. Máquina de von Neumann Jerarquía de Niveles

El uso de microcontroladores en el ambiente industrial es muy usual, especialmente en el

ARQUITECTURA DE VON NEUMANN Y HARVARD

Unidad 3. Facultad de Ciencias Departamento de Electrónica

El procesador. Datapath y control

Estructura de Computadores

Unidad 5 Unidad central de proceso

Arquitectura de Computadores Certamen I

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

Introducción a la arquitectura PIC

Arquitectura de Computadores II Clase #1

Organización de computadoras. Clase 2. Universidad Nacional de Quilmes. Lic. Martínez Federico

Tema 1: Introducción a los sistemas procesadores. Sistemas Electrónicos para el Procesamiento de Señal

Arquitectura de Computadores II Clase #3

Repaso concepto de programa

Arquitectura de Computadoras

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL

UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA. Ingeniería en Electrónica EL MICROCONTROLADOR PIC16F84 PRESENTA: M. C. Felipe Santiago Espinosa

Arquitectura de Computadores

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

Exploiting... Stack Based Buffer Overflow

Procesadores. Dr. Andrés David García García Departamento de Mecatrónica Campus Estado de México

Organización del Computador I Verano. MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy

Arquitectura de Computadoras

Tema 2. Diseño del repertorio de instrucciones

1.2.-Analisis de los componentes

Sistemas con Microprocesadores I

Sistemas de Computadoras

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

Contenidos del Curso. Arquitectura de Computadores. Organización de un Sistema computacional

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

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

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

Bloques del programa de la asignatura

Capitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES

UNIVERSIDAD TECNICA DE AMBATO NOVENO SEMESTRE INGENIERIA ROBOTICA MICROCONTROLADORES Y SU APLICACION EN ROBOTICA PROFESOR: UTA 2009 ING. G.

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

MIPS: Modelo de programación. (I Parte)

COMPUTADORA. Introducción Las computadoras se usan en diversas aplicaciones

Arquitectura de Computadores

El Diseño de un Lenguaje Máquina

Arquitectura de Computadores II

Arquitecturas CISC y RISC

Tema 1: Introducción a los Sistemas Empotrados

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

Microcontroladores. Unidad 1

Unidad 1. Facultad de Ciencias Departamento de Electrónica. Arquitectura de Computadoras Primavera Bajo tu Programa.

Capítulo 3. Microcontroladores 3.1 Definiciones

Estructura de Computadores Estructura y Tecnología de Computadores Curso

5 Lenguaje de Máquina

Informática I. Código Semestre Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza

Arquitectura de Computadores II Clase #5

Arquitecturas de Computadoras II. Febrero 2013

Procesadores ISA Macroarquitecura - Interfaces

Organización Básica de un Computador y Lenguaje de Máquina

Instituto Tecnológico de Morelia

ARQUITECTURA DE COMPUTADORAS

Primer Semestre Laboratorio de Electrónica Universidad de San Carlos de Guatemala. Electrónica 5. Aux. Marie Chantelle Cruz.

Sección de procesamiento: El camino de datos

TEMA 2: Organización de computadores

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

Ejercicios del tema 4. El procesador

Superescalares. Scheduling estático

Práctica 3: Programación en ASM Orga 1

El Conjunto de Instrucciones de la Arquitectura Lagarto I

MICROPROCESADOR. Ing. Raúl Rojas Reátegui

Ing. Carlos Bacalla

Microcontroladores. Sistemas embebidos para tiempo real

Microprocesadores, Tema 3:

Microcontroladores ( C)

GUIA 24: REPERTORIO DE INSTRUCCIONES

TEMA VI DISEÑO DEL PROCESADOR

Unidad Didáctica 3: Microcontroladores & Interrupciones. Sistemas embebidos para tiempo real

Microcontroladores. Sistemas embebidos para tiempo real

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

Sistemas embebidos basados en FPGAs para instrumentación

Organización procesador MIPS

Transcripción:

Conceptos básicos

Modelo de von Neumann También conocida como arquitectura de Princeton. Propuesta por John von Neumann en 1945. Partes de una computadora digital: Unidad de procesamiento (CPU unidad central de procesamiento). Memoria. Almacenamiento externo. Mecanismos de entrada y salida (I/O). Universidad de Sonora 2

Modelo de von Neumann Fuente: https://en.wikipedia.org/wiki/von_neumann_architecture#/media/file:von_neumann_ Architecture.svg (CC BY-SA 3.0) Universidad de Sonora 3

Modelo de von Neumann Ciclo de instrucción: Fuente: http://faculty.cooper.edu/smyth/cs225/images/von_neumann_highlevel.png Universidad de Sonora 4

Modelo de von Neumann Fuente: https://samitboony.files.wordpress.com/2013/11/fetch-execute-cycle.png Universidad de Sonora 5

Cuello de botella de von Neumann Solo hay un bus entre la CPU y la memoria. En un ciclo dado solo se puede transferir una instrucción o un dato. Limita la velocidad (rendimiento). Solución: usar dos memorias, una de datos y otra de instrucciones (arquitectura de Harvard). Las CPUs modernas usan una arquitectura modificada de Harvard. Universidad de Sonora 6

Cuello de botella de von Neumann Los datos e instrucciones están en la misma memoria principal (arquitectura von Neumann o Princeton). Los datos e instrucciones están separados en el caché (arquitectura Harvard). Universidad de Sonora 7

Conjunto de instrucciones También conocido como ISA (instruction set architecture). Conjunto de instrucciones que ofrece una familia de procesadores (lenguaje ensamblador). Familias: x86 Intel. ARM ARM Holdings. MIPS Imagination Technologies Group. Motorola 68000 Motorola. DEC Alpha Digital Equipment Corporation. Universidad de Sonora 8

Conjunto de instrucciones Cada instrucción es directamente ejecutada por el hardware. Se representa con un formato binario. El hardware solo entiende bits. Los objetos físicos son bits, bytes, palabras (words). Tamaño típico de palabra: 4 u 8 bytes (32 o 64 bits). Universidad de Sonora 9

Conjunto de instrucciones Dos opciones de tamaño de las instrucciones: Fijo. Cada instrucción ocupa el mismo número de bytes. Variable. Cada instrucción ocupa distintos números de bytes. Universidad de Sonora 10

Abstracción High-level language program (in C) swap(int v[], int k) {int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } C compiler Bajando el nivel de abstracción revela otras información Assembly language program (for MIPS) swap: muli $2, $5,4 add $2, $4,$2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Assembler Binary machine 00000000101000010000000000011000 language 00000000100011100001100000100001 program 10001100011000100000000000000000 (for MIPS) 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 Universidad de Sonora 00000011111000000000000000001000 11

Ejemplo ampliado Universidad de Sonora 12

Instrucciones Por lo general son operaciones simples que pueden ser ejecutadas directamente por el hardware. Se identifican por un opcode (código de operación). Ejemplo de MIPS: add $s0, $s1, $s2 El opcode es add (suma) Tienen operandos: 0, 1, 2 o 3. La instrucción de arriba tiene 3 operandos. Significa s0 = s1 + s2 Universidad de Sonora 13

Instrucciones Dos opciones de indicar operandos: Implícito. El opcode implica la dirección de los operandos. Ejemplo en MIPS: syscall La instrucción hace una llamada al sistema. El número de servicio debe estar en el registro v0. Universidad de Sonora 14

Instrucciones Explícito. Las direcciones vienen en los operandos. Ejemplo de MIPS: add $s0, $s1, $s2 Dos operandos fuentes: s1 y s2 Un operando destino: s0 s0 = s1 + s2 Universidad de Sonora 15

Organización de la memoria Se puede ver como un vector (arreglo de una dimensión) de un byte. Una dirección de memoria es un índice del vector. 0 1 2 3 4 5... Byte Byte Byte Byte Byte Byte Con n bits se pueden direccionar 2 n bytes. Rango de direcciones: 0 2 n - 1 Universidad de Sonora 16

Organización de la memoria Alineación. La dirección de una palabra en memoria comienza en un múltiplo del número de bytes que ocupa una palabra. Ejemplo de memoria con palabras alineadas de 4 bytes. Universidad de Sonora 17

Byte-addressing La memoria es un arreglo de bytes. Las direcciones de memoria hacen referencia a un byte. La dirección de una palabra (conjunto de bytes) es la dirección de su primer byte. La mayoría de las CPUs modernas utilizan byteaddressing. Universidad de Sonora 18

Big-endian/Little-endian Hay dos formas de guardar una palabra multi-byte en memoria: Big-endian. El byte más alto (más significativo) se guarda en la dirección mas baja. Little-endian. El byte más bajo (menos significativo) se guarda en la dirección mas baja. Universidad de Sonora 19

Big-endian/Little-endian Ejemplo: guardar la palabra de 4 bytes 12345678 16 en la dirección 1000. Universidad de Sonora 20

Big-endian Universidad de Sonora 21

Little-endian Universidad de Sonora 22

Big-endian/Little-endian Intel x86 es little-endian. Sun SPARC es big-endian. Universidad de Sonora 23

RISC/CISC RISC (Reduced Instruction Set Architecture) es una estrategia de diseño de CPUs donde cada instrucción tiene una sola función y se ejecuta de manera rápida. Es lo contrario de CISC (Complex Instruction Set Architecture), donde cada instrucción hace muchas funciones. Universidad de Sonora 24

RISC/CISC Ejemplos de RISC incluyen Alpha, ARC, ARM, AVR, MIPS, PA-RISC, PIC, PowerPC, SuperH, and SPARC. Ejemplos de CISC incluyen las familias Motorola 68000 e Intel 80x86. Universidad de Sonora 25

Instrucciones típicas Aritméticas: suma (add), resta (sub), multiplicación (mul), división (div). Lógicas: and, or, xor, not. Movimiento de datos: copia (copy), carga (load), guarda (store), mueve (move). Control: brinca (jump), brinca condicional (jump if), llama subrutina (call), regresa de subrutina (ret). Sistema: llamadas a funciones del sistema operativo. Universidad de Sonora 26