ARQUITECTURA DE COMPUTADORES

Slides:



Advertisements
Presentaciones similares
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Advertisements

Organización de Computadoras UNLA
APLICACIONES DE ALGEBRA BOOLEANA
Computación PROGRAMACIÓN.
1 UNIVERSIDAD NACIONAL DE INGENIERIA LOGICA COMBINACIONAL Y SECUENCIAL FACULTAD DE INGENIERIA QUIMICA Y MANUFACTURERA Ing. JORGE COSCO GRIMANEY CONTROLES.
Introducción a la programación
NIVEL DE LENGUAJES ORIENTADOS A PROBLEMAS NIVEL DE LENGUAJE ENSAMBLADOR NIVEL DE MAQUINA DEL SISTEMA OPERATIVO NIVEL DE MICROPROGRAMACIÓN NIVEL DE LÓGICA.
Algebra Booleana y Compuertas Lógicas
Circuitos Combinacionales Comunes
TRADUCTOR DE UN PROGRAMA
Electrónica Digital.
CARRERA PROFESIONAL: Lengua, Traducción e Interpretación Asignatura: MATEMÁTICA Tema: “FUNCIONES LÓGICAS”
EXAMEN CORTO SOBRE FLIP-FLOPS
Demultiplexor y Chip 74LS154
Departamento de Tecnología Curso: 4º E.S.O. I.E.S. Ana Mª Matute
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Análisis de Sistemas Secuenciales
EXAMEN CORTO SOBRE FLIP-FLOPS
Sistemas decimal, binario, octal y hexadecimal
Introducción a la Ingeniería en Sistemas
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
FUNCIONAMIENTO BÁSICO Fuente inicial:. Arquitectura de computadores Los computadores digitales utilizan como modelo para su funcionamiento y organización.
OPERACIÓN DE CIRCUITOS ELECTRONICOS DIGITALES
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Gerard Páez Monzón (sección 02) Ícaro Alzuru C. (sección 01)
Tecnologías de las computadoras
ARQUITECTURA DE COMPUTADORES
Realizado por Carolina Rubio
REPRESENTACIÓN DE LA INFORMACIÓN
Sistemas Informáticos
Algebra Booleana.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 04 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
CLASE 2.
[ Arquitectura de Computadores ] SISTEMAS DIGITALES Präsentat ion Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Clase #7 – Sistemas de Procesamiento de Datos
Universidad Metropolitana Introducción a la Computación
ELECTRÓNICA DIGITAL.
Metodología de la programación
ARQUITECTURA DE COMPUTADORES
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Circuitos Digitales I M.C. Aglay González Pacheco Saldaña
Organización del Computador 1
Prof. Flor Narciso Departamento de Computación
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 05 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
INTRODUCCIÓN El rendimiento, costo de compra y costo de operación forman la base para la toma de decisiones, sobre que PC es mejor que otra y así adquirir.
Rendimiento de la CPU y sus factores
Organización del Computador 1
Germán Landinez Álvaro Del Toro Ronald Gutiérrez.
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
Ing. Tomas Martínez Martínez.
Reglas Básicas del Álgebra de Boole
TEMA: Introducción a la informática.
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
FLIP - FLOP Oscar Ignacio Botero H..
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
Computadora Es una máquina electrónica que recibe y procesa datos para convertirlos en información útil. Una computadora es una colección de circuitos.
CIRCUITOS COMBINACIONALES.
Alumno: Gerardo Mario Valdés Ortega
Curso: Programación I Grado: 4to. Bachillerato Prof. Gerardo Barrientos.
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
Compuertas lógicas INTRODUCCION
Conversiones Sistemas decimal - binario - octal - hexadecimal
Unidad Didáctica Electrónica Digital 4º ESO. Guión electrónica digital Sistemas analógicos y digitales Sistemas de numeración Sistemas binarios Álgebra.
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Clasificación de las Computadoras
Circuitos Combinacionales I
Arquitectura básica de la computadora
AUTOR: PATRICIA DELGADILLO GÓMEZ Febrero 2015 INTRODUCCIÓN AL SOFTWARE DE BASE CENTRO UNIVERSITARIO UAEM ECATEPEC INFORMÁTICA ADMINISTRATIVA UNIDAD DE.
Estructura y funcionamiento de un sistema de cómputo
Organización del Computador 1 Lógica Digital 2 Circuitos y memorias.
Transcripción de la presentación:

ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 09

AGENDA 1er Examen Parcial: 22/05/2009 Repaso Ejercicios

Arquitectura de Computadores Es la ciencia y el arte de seleccionar e interconectar componentes de hardware para crear computadores que cumplan los objetivos funcionales, de rendimiento y costo. En los últimos 40 años, las distintas generaciones de computadoras han ido cambiando al mundo. Una buena parte de la economía mundial se ve afectada por los avances en este campo. No estamos en un área de pocos cambios. Si la industria del transporte hubiera avanzado al mismo ritmo que la industria computacional, hoy iríamos de Caracas a París en 1 segundo y por menos de 1 Bs.

Computadores y Aplicaciones Servidores Atiende las solicitudes de clientes a través de algún tipo de red (Cliente – Servidor) Desde simples servidores de archivos, Web y de BD a supercomputadores Importante: Tolerancia a fallas y ancho de banda Personales Atiende la demanda de trabajo de una persona o una familia Desde net-laptops a computadores para juegos Importante: Latencia y multimedia Encajados Computador dentro de otro dispositivo, utilizado para ejecutar cierta aplicación o conjunto de programas

Computadores y Aplicaciones Encajados (Continuación) Dentro de un carro, en celulares, videojuegos, dispositivos de redes y telecomunicaciones, etc. La mayoría de usuarios nunca se da cuenta de que está utilizando un computador. Importante: Costo y consumo de energía

Tipos de lenguajes El conjunto de instrucciones binarias que el computador puede entender, conforman el lenguaje de máquina. Los primeros programadores, programaban en lenguaje de máquina. Para facilitar esta labor, se inventaron lenguajes simbólicos (más cercanos al lenguaje humano) donde una instrucción simbólica equivalía a una instrucción de máquina. Estos lenguajes son conocidos como lenguajes ensambladores. Para realizar la traducción de lenguaje ensamblador a lenguaje de máquina, se crearon programas, denominados ensambladores. Siguiendo esta filosofía, se crearon lenguajes que expresaran las operaciones de una forma más humana, estos son conocidos como lenguajes de alto nivel.

Compilación Los programas que traducen de lenguaje de alto nivel a lenguaje ensamblador o lenguaje de máquina, se denominan Compiladores. La productividad actual se debe a estos lenguajes y la idea de crear estos programas: Compiladores Ejemplos de lenguajes de alto nivel son: Java, C++, Visual Basic, Python, etc. Los lenguajes de alto nivel son independientes lenguaje de máquina

Organización de un computador

Rendimiento Calcular el rendimiento de un computador es una tarea complicada Por cierto; ¿Qué significa que la máquina A tiene mejor rendimiento que la máquina B? ¿Qué significa que A es más rápida que B? ¿Qué velocidad o velocidades nos interesan? ¿Es más rápida la computadora que: ejecuta cierta tarea más rapido? (Tiempo de respuesta) ejecuta mayor cantidad de tareas por unidad de tiempo? (Ancho de banda)

Definiciones Tiempo de respuesta (Tiempo de ejecución): Tiempo total requerido para ejecutar una tarea. Incluye los tiempos de disco, memoria, I/O, SO, CPU, etc. (Computadores personales e incrustados) Ancho de banda (productividad): Número de tareas ejecutadas por unidad de tiempo (Servidores) ¿Qué mejoramos si: Reemplazamos en una máquina un procesador por otro que ejecuta las mismas instrucciones en menor tiempo? Aumentamos la cantidad de procesadores del computador?

Fórmula de rendimiento 1 ¿RendimientoA > RendimientoB? ¿A es n veces más rápido que B? RendimientoA = Tiempo de ejecuciónA 1 1 > => teB > teA teA teB RendimientoA teB RendimientoA = n * RendimientoB => = RendimientoB teA

Ciclos de reloj Casi todas las computadoras son construidas usando un reloj (Oscilador de cristal), que es utilizado para sincronizar los eventos u operaciones: determinando cuándo ocurren (el paso) en el hardware. Estos intervalos de tiempo, se denominan ciclos de reloj Los ciclos de reloj (Ej: 400 picosegundos (ps)) se suelen transformar o usar como frecuencia de reloj (2.5 gigahertz (GHz)) Para un programa dado: Tiempo de ejecución de CPU = Ciclos de reloj x Tiempo del ciclo de reloj Tiempo de ejecución de CPU = Ciclos de reloj / Frecuencia de reloj

Instrucciones Ciclos de reloj Por Instrucción (CPI): Número promedio de ciclos de reloj por instrucción, para un programa dado. Es un promedio para todas las instrucciones ejecutadas en el programa. Ciclos de reloj de CPU = # Instrucciones x CPI

Ecuación clásica de rendimiento Tiempo por ciclo de reloj Tiempo de CPU = Conteo de Instrucciones x CPI x Conteo de Instrucciones x CPI Tiempo de CPU = Frecuencia de reloj Estas fórmulas resultan útiles porque separan los tres factores que afectan el rendimiento

La pared de la disipación de potencia La frecuencia de reloj y el consumo de energía ha aumentado por décadas, pero se detuvo hace unos años.

SPEC CPU benchmark SPEC: System Performance Evaluation Cooperative Carga de trabajo: Conjunto de programas ejecutados en un computador (Pueden ser provistos por un usuario o artificiales) El último es el SPEC CPU2006 SPECratio: Es un tiempo de referencia que provee SPEC Existen SPEC para distintos mercados de computadores y para Potencia.

MIPS Otra alternativa al tiempo para intentar estimar el rendimiento son los MIPS: Millones de Instrucciones por Segundo. Es fácil de entender y es inversa al tiempo de ejecución Tiene problemas: No permite comparar computadores con diferentes juegos de instrucciones MIPS varía entre programas del mismo computador Cantidad de instrucciones Frecuencia de reloj MIPS = = Tiempo de ejecución x 106 CPI x 106

Ley de Amdahl El aumento posible del rendimiento por una mejora, está limitado a la magnitud de la parte mejorada. Tiempo de ejecución afectado por la mejora Tiempo de ejecución no afectado Tiempo de ejecución después de la mejora = + Magnitud de la mejora

Sistema numérico binario En el sistema numérico binario, los coeficientes tienen dos valores posibles: 0 y 1. 11010.112 = 1x2100 + 1x211 + 0x210 + 1x21 + 0x20 + 1x2-1 + 1x2-10 Para convertir de binario a decimal: 11010.112 = 1x24 + 1x23 + 0x22 + 1x21 + 0x20 + 1x2-1 + 1x2-2 11010.112 = 16 + 8 + 0 + 2 + 0 + 0.5 + 0.25 11010.112 = 26.75 d b 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111

Otros sistemas numéricos Octal: Coeficientes: 0,1,2,3,4,5,6,7 5468 = 5x82 + 4x81 + 6x80 = 358 Hexadecimal Coeficientes: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F DA8716 = 13x163 + 10x162 + 8x161 + 7x160 DA8716 = 55943

Conversiones entre números de base diferente De decimal a cualquier base: Se separa el número en parte entera y parte fraccionaria Para la parte entera: Se realizan divisiones sucesivas entre la base. Los residuos van determinando la parte entera convertida, pero en orden inverso. Para la parte fraccionaria: Se realizan multiplicaciones sucesivas por la base, los coeficientes enteros que surgen van formando la nueva parte decimal. Esto se repite hasta que dé cero, o hasta que se desee. De cualquier base a decimal: (c3c2c1c0.c-1c-2)b= c3xb3 + c2xb2 + c1xb1 + c0xb0 + c-1xb-1 + c-2xb-2

Conversiones hexadecimal y octal De binario a octal (Dividiendo en grupos de 3 dígitos): 10110001101011.1111000001102 = 26153,74068 De binario a hexadecimal (Dividiendo en grupos de 4 dígitos): 10110001101011.111100102 = 2C6B,F216 De la misma forma se puede realizar, pero en sentido inverso.

Circuitos combinacionales Los circuitos lógicos se pueden dividir en dos tipos: Combinacionales: La salida depende sólo de los valores de entrada. Funcionan sin la presencia de una memoria. Secuenciales: La salida depende de los valores de entrada y de los valores almacenados en memoria. El bloque de construcción fundamental de todos los circuitos lógicos digitales es la compuerta. Una compuerta es un circuito electrónico que implementa una operación lógica sencilla: AND, OR, NOT, NOR, NAND

El interruptor como herramienta La salida tendrá voltaje “alto”, sólo cuando ambas entradas tienen también voltaje “alto” Esta estructura es conocida como compuerta lógica AND Entrada 1 Salida Tabla de verdad Entrada 2 x y x.y 1 Símbolo

Compuerta OR Tabla de verdad La salida tendrá voltaje “alto”, cuando al menos una de las entradas tenga también voltaje “alto” x y x+y 1 Entrada1 Salida Símbolo Entrada2

Compuerta NOT Tabla de verdad Entrada Salida x 1 Voltaje “Alto” La salida tendrá voltaje “alto”, cuando la entrada tenga voltaje “bajo” Símbolo

Otras compuertas NAND NOR XOR Tabla de verdad Tabla de verdad y x.y 1 x y 1 x y x+y 1 Símbolo Símbolo Símbolo

Álgebra de Boole Postulados básicos del álgebra de Boole: Leyes de identidad: A+0 = A y A.1 = A Leyes del 0 y del 1: A+1 = 1 y A.0 = 0 Leyes del inverso: A+A=1 y A.A=0 Leyes conmutativas: A+B=B+A y A.B=B.A Leyes asociativas: A+(B+C) = (A+B)+C y A.(B.C) = (A.B).C Leyes distributivas: A.(B+C) = (A.B)+(A.C) y A+(B.C) = (A+B).(A+C) Leyes de DeMorgan: A.B = A+B y A+B = A.B

Tabla de verdad Herramienta que nos permite representar las posible combinaciones de valores de un circuito lógico Muestra el valor lógica de la salida de un circuito lógico de acuerdo a los posibles valores de las entradas Hagamos la tabla de verdad de: F = A.B.C + A.B.C + A.B.C Tabla de verdad x y x.y 1

Multiplexores Conecta varias entradas a una sola salida Sólo una de las entradas es pasada a la salida Son utilizados en circuitos digitales para el control y enrutamiento de señales S2 S1 F D0 1 D1 D2 D3

Decodificadores Circuito combinacional con cierto número de salidas, donde sólo una de ellas es activada Suelen tener n entradas y 2n salidas Se suele utilizar para direccionar espacios de memoria A1 A0 D3 D2 D1 D0 1

Flip-Flop RS Set (Grabar) – Reset (Borrar) R S Q = ? 1 Asíncrono CLK R = ? 1 Asíncrono CLK R S Q X = 1 ? Síncrono

Flip-Flop D Impide las entradas S=1 y R=1 del Flip-Flop S-R, permitiendo una sola entrada Es conocido como Flip-flop de Datos o Flip-flop de retardo (Los datos que se introducen son presentados en la salida 1 clock después) D Q Qsiguiente X 1

Flip-Flop J-K J = Set y K = Reset A diferencia del Flip-flop RS, cuando se activan ambas entradas a la vez, la salida adquirirá el estado contrario al que tenía. Qsiguiente = JQ+KQ J K Q Qsiguiente 1 X

Ejercicios Convertir: 87610 a binario, octal y hexadecimal 1101011101012 a decimal, octal y hexadecimal Realizar el circuito combinacional para F = A.B.C + A.C +A.B.C ¿Qué opciones de reducción se tienen? Realizar la tabla de la verdad para la función anterior

Ejercicios Considere dos implementaciones distintas del mismo conjunto de instrucciones. Hay 4 tipos de instrucciones. Frecuencia Reloj CPI Clase A CPI Clase B CPI Clase C CPI Clase D P1 1.5 GHz 2 1 3 P2 2 GHz 4 Dado un programa con 106 instrucciones, dividida en clases como: 10% Clase A, 20% Clase B, 50% Clase C y 20% Clase D, ¿Cuál implementación es más rápida?

Ejercicio Implementar a través de Flip-Flops J-K un circuito secuencial para el control de la máquina de estados siguiente: 01 1 1 00 10 1