Estructura de Computadores

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

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

Introducción a la arquitectura de computadores

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

El nivel ISA (II)! Conjunto de Instrucciones

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

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

FUNCIONAMIENTO DEL ORDENADOR

Organización del Computador I. Introducción e Historia

ESTRUCTURA BÁSICA DE UN ORDENADOR

1. Introducción a la Arquitectura de Computadoras

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

Arquitectura (Procesador familia 80 x 86 )

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

SISTEMAS OPERATIVOS Arquitectura de computadores

Estructura del Computador

8.4. El software en los μprocesadores

Tema: Microprocesadores

Ejercicios del tema 4. El procesador

Qué es un programa informático?

Computadora y Sistema Operativo

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

Estructura de Computadores Tema 1. Introducción a los computadores

TEMA 1: Concepto de ordenador

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Tema 1: Introducción a los Computadores

Conceptos de Arquitectura de Computadoras Curso 2015

3 - Arquitectura interna de un up

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

Introducción a los Computadores: Estructura del computador

El ordenador. Codificación binaria. Código ASCII

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas

ENIAC, Primer computador electrónico y su panel de conexiones

Organización procesador MIPS

Lic. Saidys Jiménez Quiroz. Área de Tecnología e Informática. Grado 6 - Cescoj

Tema 1: Introducción a Estructura de Computadores. Conceptos básicos y visión histórica

Lenguaje binario. Código ASCII. Medidas de la información

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

1.2.- EL MICROPROCESADOR.

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

INDICE 2. Organización de computadoras 3. El Nivel de Lógica Digital

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

El Diseño de un Lenguaje Máquina

Arquitecturas vectoriales, SIMD y extensiones multimedia

SOPORTE FÍSICO O HARDWARE (I)

Estructura de Computadores

INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors: 8va. Ed., Prentice Hall, 2009

Definición de Memoria

Arquitectura de Computadores II Clase #3

Estructura de un Ordenador

UNIDAD 1. COMPONENTES DEL COMPUTADOR

Análisis general de un Microprocesador

1.1 Introducción y definición de un microcontrolador 1.2 Estructura básica de un microcontrolador 1.3 Características de la Arquitectura

EVOLUCION DE LA COMPUTACION

ELO311 Estructuras de Computadores Digitales Introducción

Ing. Carlos Bacalla

CICLOS DEL PROCESADOR

MINISTERIO DE EDUCACIÓN PÚBLICA IPEC DE SANTA BÁRBARA MANTENIMIENTO DE EQUIPO DE COMPUTACIÓN. Memoria Principal RAM Memoria de acceso aleatorio

Introducción. Universidad Nacional Tecnológica del Cono Sur de Lima JORGE AUGUSTO MARTEL TORRES 1

Instituto Tecnológico de Morelia

(Parte I) Primeras máquinas mecánicas, Primeros ordenadores. Raúl Marín, Universitat per a Majors, UJI, 2013

Ficha de Aprendizaje N 13

Se llama hardware a todos los dispositivos que forman la PC y que se puedan tocar, es decir, es todo el conjunto de accesorios que se le pueden

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

Arquitectura de Computadores

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

EL ORDENADOR A. PERIFÉRICOS. B. UNIDAD CENTRAL. 1. HARDWARE Y SOFTWARE. 2. FUNCIONAMIENTO DE UN SISTEMA INFORMÁTICO 3. CONCEPTO DE SISTEMA INFORMÁTICO

INFORMATICA I EJERCICIOS PROPUESTOS Buscar en el diccionario Qué es INFORMÁTICA?, Qué es

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

Recopilación presentada por 1

CONVERSIONES ENTRE NUMEROS DE BASE DIFERENTE

1. Computadores y programación

Módulo I. Conceptos Introductorios. 1. Concepto de Computadora: Son esencialmente orientadas al Cálculo. Unica operación que realiza es la Suma.

Procesador Concepto Tipos Velocidad de proceso Características funciones aritmético- lógicas y de control

Principios de Computadoras II

UNIVERSIDAD DE GUADALAJARA

Arquitectura de un sistema de cómputo

Organización del Computador I. Introducción

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

UNIVERSIDAD RICARDO PALMA

Sistemas. POSTREQUISITO: CATEGORÍA: Obligatorio SECCION: A HORAS POR SEMANA

Servicio Nacional de Aprendizaje SENA. Regional Cundinamarca-Soacha. Programa Mantenimiento de Equipos de Cómputo. DOCUMENTO DE APOYO No.

Arquitectura Del Computador Unidad I y II

Asignatura de Organización de Computadoras. Alberto Hernández Cerezo. Cristian Tejedor García. Rodrigo Alonso Iglesias. Universidad de Valladolid

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Términos informáticos usados en

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Memoria Virtual. Memoria Virtual

Diseño Procesador Monociclo

1-Componentes Físicos y Lógicos de un Ordenador.

El ordenador. Llamamos ordenador a una máquina capaz de procesar información, es decir, de recibir datos, almacenarlos, hacer

PROGRAMA ANALÍTICO DE ASIGNATURA

Estructura del Computador

Transcripción:

Estructura de Computadores

Perpectiva Histórica Pasado y Presente Avances Tecnológicos

Primer computador Electrónico University of Pennsylvania ENIAC (Electronic Numerical Integrator and Calculator, 18.000 tubos al vacío).

Ejemplo Tubos Vacío 12AT7 amplificador 9-pin (medium-gain dual triode vacuum tube).

Transistor Tres regiones semiconductoras

Junio 1951, UNIVAC I Primer Computador Comercial en EEUU

En 1952 esta a la venta el primer computador IBM computer (IBM 701), se venden 19 unidades. En 1964 IBM anuncia System/360

Un año después Digital Equipment Corporation (DEC) PDP-8, el primer micro computador comercial. En 1971 Intel entrega el primer microprocesador Intel 4004. CPU de 4bits. Contiene 2.300 transistores.

Intel 4004

1976 Cray-1, el primer supercomputador comercial.

1977 personal computer, Apple IIe (Steve Jobs y Steve Wozniak) inicia un estándar en los computadores personales de bajo costo y alto desempeño.

1981 primer computador portátil de la historia, Osborne-1 Memoria era de 64 Kb. Tenía una pantalla monocromática de 25 x 52 caracteres que medía 5 pulgadas. Contaba con dos unidades de disco de 5.25 pulgadas (los discos podían almacenar hasta 91Kb cada uno). Tenía un puerto serial RS-232. Un puerto para módem y un teclado desprendible. Dimensiones eran: 32.5 x 50 x 36.5 cms. Peso de casi 13 kilogramos.

1981 primer computador portátil de la historia, Osborne-1

The Xerox Alto, inspiración Desktop

Progreso en medio siglo.

En la actualidad Intel (Nehalem)

En la actualidad Intel (Nehalem)

En la actualidad Intel (Nehalem)

En la actualidad AMD

En la actualidad AMD

En la actualidad AMD

En la actualidad UltraSPARC T2 (Niagara 2)

En la actualidad IBM Power 6

Placas Madres

Crecimiento de DRAM(Dynamic Random Access Memory)

Reloj y Consumo.

Crecimiento CPU

Arquitectura de Computadores Coordinar diferentes niveles de abstracción con: Cambios tecnológicos De programación. Aplicaciones. Sistemas Operativos.

Arquitectura de Computadores Aplicaciones Compilador Sistema Operativo Assembler Firmware Repertorio de Instrucciones Memoria Sistema Entrada/Salida Camino de Datos y Control Diseño Digital Diseño Circuitos Lógicos

Arquitectura de Computadores Arquitectura del repertorio de Instrucciones. Organización de Máquina.

Arquitectura Instrucciones del repertorio de Vista que poseen los diseñadores de compiladores y sistemas operativos de un computador. Establece los atributos del sistema computacional vistos por el programador.

La elección de la Arquitectura repertorio se refleja en: La organización del almacenamiento. Tipos de Datos. Estructuras de Datos. Codificación y Representaciones. Repertorio de Instrucciones. Formatos de Instrucciones del

La elección de la Arquitectura repertorio se refleja en: Modos del de direccionamiento y formas de acceder a los datos y a las instrucciones. Tratamiento de Excepciones.

El repertorio de instrucciones establece la interfaz software-hardware. Existen variados tipos de arquitecturas de repertorios, las cuales han ido evolucionando en el tiempo: Digital Alpha. HP PA-RISC. Sun Sparc, UltraSPARC. SGI MIPS. Intel. Etc.

Tipos de Repertorios Se clasifican de acuerdo a cómo se especifican los operandos de entrada y salida. Una instrucción requiere especificar: Donde se encuentran los operandos de entrada. La operación a realizar. Dónde se depositará el resultado, La próxima instrucción a realizar.

Tipos de Repertorios Una instrucción es una secuencia de unos y ceros Si el número de bits necesarios es menor o igual a de una palabra de memoria, puede ensamblarse los distintos campos en una celda de memoria. Si el número de bits es mayor, puede emplearse dos o más palabras para especificar una instrucción (tendrá que accesarse en más de una oportunidad a la memoria para procesar la instrucción).

Tipos de Repertorios Suele emplearse una notación simbólica para describir los campos de la instrucción. Se describe cada instrucción en una línea con los campos separados por espacios y pueden incluirse comentarios (lenguaje simbólico de máquina o assembler) Operación op1, op1 ;comentario

Tipos de Repertorios. Ejemplos: Máquinas de Stack add M[tope-1] M[tope-1] + M[tope] ; tope--; Suele solo especificar la operación, se asume que los operandos están en posiciones fijas de memoria. Tope pila Memoria Operando 1 Operando 2

Tipos de Repertorios Ejemplos Máquinas add A add x(a) con acumulador acc acc + M[A] acc acc + M[A + x] Registro especial acumulador denominado

Tipos de Repertorios Ejemplos Máquinas de Registro-Memoria add opa, opb add opa, opb, opc opa opa + opb opa opb + opc Los operandos pueden ser direcciones de memoria o registros internos.

Tipos de Repertorios Ejemplos Máquinas de Carga-Almacenamiento add Ra, Rb, Rc load Ra, Rb store Ra, Rb Ra Rb + Rc Ra M[Rb] M[Rb] Ra Las operaciones de solamente entre registros. efectúas

Tipos de Repertorios Las diferentes arquitecturas de repertorios suelen compararse, observando: El número de bytes por instrucción. El número de instrucciones que se requieren para efectuar una acción determinada. El número de ciclos de reloj por instrucción

Tipos de Repertorios Ejemplo, para realizar C = A + B Siendo A, B, C variables en memoria se requieren las siguientes secuencias de instrucciones dependiendo del tipo de repertorio: Máquina Stack: Push A Push B Add Pop C ; tope++,m[tope] = M[A] ; tope++, M[tope] = M[B] ; M[tope-1] += M[tope], tope-; M[C] = M[tope], tope

Tipos de Repertorios Ejemplo, para realizar C = A + B Máquina con acumulador LoadA ; acc = M[A] Add B ; acc = acc + M[B] Store C ; M[C] = acc

Tipos de Repertorios Ejemplo, para realizar C = A + B Máquina con operandos registro-memoria Load R1, A ; R1 = M[A] Add R1, B ; R1 = R1 + M[B] Store R1, C ; M[C] = R1

Tipos de Repertorios Ejemplo, para realizar C = A + B Máquina con almacenamiento Load R1, A Load R2, B Add R3, R1, R2 Store R3, C registros ; R1 = M[A] ; R2 = M[B] ; R3 = R1 + R2 ; M[C] = R3 carga-

Instrucciones típicas de un repertorio Son las operaciones que se encuentran en casi todos los repertorios de instrucciones. No todas están presentes en un repertorio determinado. Si no están pueden implementarse con las primitivas existentes.

Instrucciones típicas de un repertorio Movimientos de Datos: Cargar registro desde la memoria. Almacenar registro en la memoria. Movimiento entre celdas de memoria. Movimiento entre registros. Desde registro hacia dispositivo de salida (output). Desde dispositivo de entrada hacia registro (input). Push, pop. Operaciones en stack (pila).

Instrucciones típicas de un repertorio Aritméticas: Suma, resta, multiplicación, división. En binario, con y sin signo. Suma, resta, multiplicación, división. En BCD, con y sin signo. Suma, resta, multiplicación, división. En punto flotante (reales binarios), con y sin signo. Suma, resta, multiplicación, división de precisión extendida. En binario, con y sin signo.

Instrucciones típicas de un repertorio Corrimientos: Aritméticos hacia la izquierda y derecha. Lógicos hacia la izquierda y derecha. Rotaciones hacia la izquierda y derecha.

Instrucciones típicas de un repertorio Control de Secuencia de ejecución: Comparaciones. Saltos condicionales e incondicionales. Bifurcaciones condicionales.

Instrucciones típicas de un repertorio Enlace a Subrutinas: Llamado y retorno de subrutinas. Interrupciones: Seteo del sistema de prioridades, habilitación y deshabilitación de las interrupciones, retorno de interrupciones enmascaradas y no enmascaradas. Sincronización: Test and set. Operación para manejar procesos.

Instrucciones típicas de un repertorio Control del procesador: Halt, manejo de memoria virtual y caché, llamados al sistema, entrada y salida de modo supervisor. String: Traducir, buscar, etc. Gráficas: Operaciones para el manejo gráfico.

Instrucciones típicas de un repertorio Estadística de la frecuencia de uso de instrucciones de un procesador Intel(8086). (Justifica empíricamente los repertorios reducidos de instrucciones (RISC) ). load 22 % bifurcación condicional 20 % compare 16 % store 12 % add 8% and 6% sub 5% movimiento entre registros 4% llamados a subrutinas 1% retornos de subrutinas 1%

Modos de Direccionamiento (no todos están presentes en los diferentes repertorios) Modo Ejemplo Significado Registro Add R4, R3 R4 R4 + R3 Inmediato Add R4, #3 R4 R4 + 3 Desplazamiento Add R4, 100(R1) R4 R4 + M[100 + R1] Registro indirecto Add R4, (R1) R4 R4 + M[R1] Indice / Base Add R3, (R1+R2) R3 R3 + M[R1 + R2] Directo o absoluto Add R1, (1001) R1 R1 + M[1001]

Modos de Direccionamiento (no todos están presentes en los diferentes repertorios) Modo Ejemplo Significado Memoria indirecto Add R1, @(R3) R1 R1+ M[M[R3]] Auto-incremento Add R1, (R2)+ R1 R1 + M[R2]; R2 R2 +d Auto-decremento Add R1, (R2) R2 R2 d; R1 R1+ M[R2] Escalado Add R1, 100(R2)[R3] R1 R1+ M[100+R2+R3*d]

Uso de Registros. Todas las máquinas modernas usan múltiples registros. Los registros son más rápidos que la memoria principal y que la memoria cache. Permiten mantener variables de uso frecuente, rápidamente accesibles reduciendo los accesos a memoria

Uso de Registros. En el lenguaje C existe la posibilidad de indicar al compilador cuales variables deben ser almacenadas en registros ( se agrega la palabra register a variable). Se requiere menos bits para especificar registros de direcciones de memoria. Debido a técnicas de segmentación suelen emplearse repertorios tipo cargaalmacenamiento.

Estadística de uso direccionamiento. de modos A de través de mediciones, en máquinas que tienen todos los modos de direccionamiento, y con diversos programas, se llegó a que: 42% de los modos usados son con offset. 33% inmediatos. 13% son con registro indirecto. 12% de otros modos.

Organización de Máquina Describe la forma en que están organizados: Flujos de datos. La estructura del control. La ejecución de microinstrucciones. Diseño lógico. Implementación física.

Organización de Máquina Desde un punto de vista del diseñador lógico, interesan: Las capacidades y comportamiento característico de las principales unidades funcionales. (Registros, ALU, Shifters, Unidad de control...) Las formas en que esas componentes están interconectadas. Los flujos de información entre las componentes.

Organización de Máquina Desde un punto de vista del diseñador lógico, interesan: Medios lógicos por los cuales se controlan los flujos de datos. Cómo las unidades funcionales (o recursos) realizan el repertorio de instrucciones. Lenguaje de transferencia entre registros.

Organización de Máquina Todos los computadores consisten de 5 partes: Procesador: Camino de datos. Control. Memoria Dispositivo de entrada Dispositivo de salida

Niveles de Representación Lenguaje C Assembler MIPS Lenguaje Máquina

Niveles de Representación Programación Lenguaje C Diseñado considerando que sus elementos pudieran se eficientemente traducidos a assembler. Se verá como se desglosa cada instrucción de C mediante una o varias instrucciones de un determinado assembler.

Niveles de Representación Programación Assembler. Representación simbólica de la codificación binaria de las instrucciones o lenguaje de máquina El procesador decodifica los campos binarios y ejecuta la secuencia de transferencias que realizan las acciones que interpretan la instrucción

Programa de alto nivel (en C) swap (int v[], int k) (int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; ) Programa en assembler (para MIPS) swap: sll $2, $5, 2 add $2, $4,$2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Código Máquina (object code) (para MIPS) 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000