Issuu on Google+

UNIVERSIDAD DE GRANADA

Grado en Ingeniería Informática TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES (PARTE I)

Curso: 2011/2012 Clase: Primero - Grupo: B Aviso legal: los archivos están sujetos a derechos de propiedad intelectual y su titularidad corresponde a los usuarios que los han subido a SWAD. Esto es solo una recopilación de toda la asignatura impartida en la UGR.


TEORĂ?A

Curso: 2011/2012 Clase: Primero - Grupo: B


TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES 1º Grado en Ingeniería Informática PRESENTACIÓN DE LA ASIGNATURA


• Titulación: – Grado en Ingeniería Informática .

• Centro: – E.T.S. de Ingenierías Informática Telecomunicación. Universidad de Granada

y

de

• Departamento: – Arquitectura y Tecnología de Computadores.

• Área de conocimiento: – Arquitectura y Tecnología de Computadores.

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

2


COMPETENCIAS ESPECÍFICAS DE LA AGNATURA

• Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación, y su aplicación para la resolución de problemas propios de la ingeniería. 16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

3


OBJETIVOS (I) • Conocer la organización y componentes de un computador. • Identificar los factores que determinan las prestaciones básicas de un computador. • Comprender la conveniencia de describir un computador en diferentes niveles de abstracción para facilitar su comprensión, su diseño y su utilización. • Conocer las distintas formas básicas de representación de la información en un computador. • Aplicar técnicas básicas de análisis y diseño de sistemas combinacionales y secuenciales a nivel lógico.

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

4


OBJETIVOS (II) • Comprender las diferentes formas de representar el comportamiento de un sistema digital (tablas de verdad, diagramas y tablas de estados, cronogramas, etc.). • Estimar las prestaciones de sistemas combinacionales y secuenciales (retardo de propagación, frecuencia máxima, etc.). • Comprender el funcionamiento de los diferentes bloques combinacionales y secuenciales básicos que forman parte de la mayoría de los sistemas digitales, e identificar claramente la función que realizan. • Conocer la organización de los sistemas diseñados en el nivel de transferencia de registros, comprendiendo la misión del camino de datos y de la unidad de control, y su interacción. • Deducir las operaciones de transferencia entre registros que puedan realizarse en un camino de datos dado.

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

5


PROFESORADO (I) - PRIMERO A: Turno de Mañana - 1º A Grupo Grande: Carlos García Puntonet. Lunes de 11 a 13 horas. Aula 0.2 - 1º A1 Grupo Pequeño 1: Carlos García Puntonet. Martes de 8 a 10 horas. Aula 3.8 - 1º A2 Grupo Pequeño 2: Carlos García Puntonet. Miércoles de 10 a 12 horas. Aula 3.8 - 1º A3 Grupo Pequeño 3: Carlos García Puntonet. Jueves de 12 a 14 horas. Aula 3.8 - PRIMERO B: Turno de Mañana - 1º B Grupo Grande: Eduardo Ros Vidal. Miércoles y Jueves de 10 a 11 horas. Aula 0.3 - 1º B1 Grupo Pequeño 4: Begoña del Pino Prieto. Martes de 10 a 12 horas. Aula 3.8 - 1º B2 Grupo Pequeño 5: Carlos García Puntonet. Miércoles de 12 a 14 horas. Aula 3.8 - 1º B3 Grupo Pequeño 6: Eva Martínez Ortigosa y Manuel Rodríguez Álvarez. Jueves de 8 a 10 horas. Aula 3.8 - PRIMERO C: Turno de Mañana - 1º C Grupo Grande: Eduardo Ros Vidal. Miércoles y Jueves de 12 a 13 horas. Aula 0.4 - 1º C1 Grupo Pequeño 7: Carlos García Puntonet. Martes de 12 a 14 horas. Aula 3.8 - 1º C2 Grupo Pequeño 8: Eduardo Ros Vidal y Eva Martínez Ortigosa. Miércoles de 8 a 10 horas. Aula 3.8 - 1º C3 Grupo Pequeño 9: Carlos García Puntonet y Pedro Martín Smith. Jueves de 10 a 12 horas. Aula 3.8 16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

6


PROFESORADO (II) - PRIMERO D: Turno de Tarde - 1º D Grupo Grande: Pedro Martín Smith. Martes de 17 a 19 horas. Aula 0.2 - 1º D1 Grupo Pequeño 10: Pedro Martín Smith. Martes de 15 a 17 horas. Aula 3.8 - 1º D2 Grupo Pequeño 11: Pedro Martín Smith. Miércoles de 17 a 19 horas. Aula 3.8 - 1º D3 Grupo Pequeño 12: Pedro Martín Smith. Jueves de 19 a 21 horas. Aula 3.8 - PRIMERO E: Turno de Tarde - 1º E Grupo Grande:Manuel Rodríguez Álvarez. Lunes y Martes de 16 a 17 horas. Aula 0.3 - 1º E1 Grupo Pequeño 13: Manuel Rodríguez Álvarez. Martes de 17 a 19 horas. Aula 3.8 - 1º E2 Grupo Pequeño 14: Pedro Martín Smith. Miércoles de 19 a 21 horas. Aula 3.8 - 1º E3 Grupo Pequeño 15: Manuel Rodríguez Álvarez. Jueves de 15 a 17 horas. Aula 3.8

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

7


PROFESORADO (III) •

GARCÍA PUNTONET, CARLOS: – carlos@atc.ugr.es ; 958 24 32 25 ; Despacho nº 2-37 – Tutorías: Lunes, Miércoles y Viernes de 11:00 a 13:00 MARTÍN SMITH, PEDRO JESÚS: – pmartin@atc.ugr.es ; 958 24 05 82 ; Despacho nº 2-39 – Tutorías: Lunes y Viernes de 11:00 a 14:00 MARTÍNEZ ORTIGOSA, EVA: – emartinez@atc.ugr.es ; 958 25 05 89 ; Despacho nº 2-33 – Tutorías: Martes y Jueves de 10:00 a 13:00 PINO PRIETO, MARÍA BEGOÑA: – bpino@atc.ugr.es ; 958 24 05 86 ; Despacho nº 2-03 – Tutorías: Miércoles y Jueves de 10:30 a 13:30 RODRÍGUEZ, ÁLVAREZ, MANUEL: – mrodriguez@atc.ugr.es ; 958 24 05 83 ; Despacho nº 2-38 – Tutorías: Martes y Jueves de 10:00 a 13:00 ROS VIDAL, EDUARDO: – eros@atc.ugr.es ; 958 24 61 28 ; Despacho nº 2-28 – Tutorías: Martes de 11:00 a 14:00, Miércoles y Jueves de 13:00 a 14:30

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

8


METODOLOGÍA DOCENTE (I) • Número de Créditos : 6,00 ECTS • 1. Lección magistral (Grupo Grande)

(Clases

teóricas-expositivas)

– Descripción: Presentación en el aula de los conceptos propios de la materia haciendo uso de metodología expositiva con lecciones magistrales participativas y medios audiovisuales. Evaluación y examen de las capacidades adquiridas. – Propósito: Transmitir los contenidos de la materia motivando al alumnado a la reflexión, facilitándole el descubrimiento de las relaciones entre diversos conceptos y formarle una mentalidad crítica – Contenido en ECTS: 30 horas presenciales (1,2 ECTS)

• 2. Actividades prácticas laboratorio) (Grupo Pequeño)

(Clases

prácticas

de

– Descripción: Actividades a través de las cuales se pretende mostrar al alumnado cómo debe actuar a partir de la aplicación de los conocimientos adquiridos – Propósito: Desarrollo en el alumnado de las habilidades instrumentales de la materia. – Contenido en ECTS: 15 horas presenciales (0,6 ECTS) 16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

9


METODOLOGÍA DOCENTE (II) • 3. Seminarios (Grupo Pequeño) – Descripción: Modalidad organizativa de los procesos de enseñanza y aprendizaje donde tratar en profundidad una temática relacionada con la materia. Incorpora actividades basadas en la indagación, el debate, la reflexión y el intercambio. – Propósito: Desarrollo en el alumnado de las competencias cognitivas y procedimentales de la materia. – Contenido en ECTS: 10 horas presenciales (0,4 ECTS)

• 4. Actividades no presenciales individuales (Estudio y trabajo autónomo) – Descripción: 1) Actividades (guiadas y no guiadas) propuestas por el profesor a través de las cuales y de forma individual se profundiza en aspectos concretos de la materia posibilitando al estudiante avanzar en la adquisición de determinados conocimientos y procedimientos de la materia, 2) Estudio individualizado de los contenidos de la materia 3) Actividades evaluativas (informes, exámenes, …) – Propósito: Favorecer en el estudiante la capacidad para autorregular su aprendizaje, planificándolo, diseñándolo, evaluándolo y adecuándolo a sus especiales condiciones e intereses. – Contenido en ECTS: 45 horas no presenciales (1,8 ECTS) 16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

10


METODOLOGÍA DOCENTE (III) • 5. Actividades no presenciales grupales (Estudio y trabajo en grupo) – Descripción: Actividades (guiadas y no guiadas) propuestas por el profesor a través de las cuales y de forma grupal se profundiza en aspectos concretos de la materia posibilitando a los estudiantes avanzar en la adquisición de determinados conocimientos y procedimientos de la materia. – Propósito: Favorecer en los estudiantes la generación e intercambio de ideas, la identificación y análisis de diferentes puntos de vista sobre una temática, la generalización o transferencia de conocimiento y la valoración crítica del mismo. – Contenido en ECTS: 45 horas no presenciales (1,8 ECTS)

• 6. Tutorías académicas (Grupo Pequeño) – Descripción: manera de organizar los procesos de enseñanza y aprendizaje que se basa en la interacción directa entre el estudiante y el profesor – Propósito: 1) Orientan el trabajo autónomo y grupal del alumnado, 2) profundizar en distintos aspectos de la materia y 3) orientar la formación académica-integral del estudiante – Contenido en ECTS: 5 horas presenciales, grupales e individuales (0,2 ECTS) 16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

11


ÍNDICE DE CONTENIDOS TEMARIO TEÓRICO 0. 1. 2. 3. 4. 5. 6. 7.

Presentación de la asignatura. Introducción. Unidades funcionales de un computador. Representación de la información en los computadores. Introducción a los sistemas digitales. Análisis y diseño de sistemas combinacionales. Análisis y diseño de sistemas secuenciales. Sistemas en el nivel transferencia entre registros.

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

12


ÍNDICE DE CONTENIDOS TEMARIO TEÓRICO 1. Introducción. 1.1. Conceptos básicos. 1.2. Estructura funcional de un computador. 1.3. Niveles conceptuales de descripción de un computador. 1.4. Clasificación de computadores. 1.5. Parámetros que caracterizan las prestaciones de un computador. BIBLIOGRAFÍA: [PRI05]: 1, A1 ; [PRI06]: 1

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

13


ÍNDICE DE CONTENIDOS TEMARIO TEÓRICO 2. Unidades funcionales de un computador 2.1. El procesador. 2.2. La memoria. 2.3. Periféricos de E/S. 2.4. Estructuras básicas de interconexión. BIBLIOGRAFÍA: [PRI05]: 4 , 7 ; [PRI06]: 7 , 10

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

14


ÍNDICE DE CONTENIDOS TEMARIO TEÓRICO 3. Representación de la información en los computadores. 3.1. Representación de textos. 3.2. Representación de sonidos. 3.3. Representación de imágenes. 3.4. Representación de datos numéricos. BIBLIOGRAFÍA: [PRI05]:2 ; [PRI06]: 4 , 9

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

15


ÍNDICE DE CONTENIDOS TEMARIO TEÓRICO 4. Introducción a los sistemas digitales. 4.1. Sistemas analógicos y digitales. 4.2. Diseño y análisis de sistemas digitales.

BIBLIOGRAFÍA: [GAJ97]:3,4; [HAY96]:1; [LLO03]:1,2,3; [MAN05]:2,3; [NEL96]:2,3 ;[ROT04]:2,3,4,5

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

16


ÍNDICE DE CONTENIDOS TEMARIO TEÓRICO 5. Análisis y diseño de sistemas combinacionales. 5.1. Concepto de sistema combinacional. 5.2. Análisis de circuitos combinacionales. 5.3. Diseño de circuitos combinacionales. 5.3. Componentes combinacionales estándar. BIBLIOGRAFÍA: [FLO00]: 4 ; [GAJ97]:5 ; [LLO03]:5,6 ; [MAN05]:4 ; [NEL96]:2,3,4,5 ; [ROT04]:7,8,9

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

17


ÍNDICE DE CONTENIDOS TEMARIO TEÓRICO 6. Análisis y diseño de sistemas secuenciales. 6.1. Concepto de sistema secuencial. 6.2. Elementos básicos de memoria. 6.3. Análisis de un sistema secuencial. 6.4. Diseño de un sistema secuencial. 6.4. Componentes secuenciales estándar. BIBLIOGRAFÍA: [GAJ97]:6,7 ; [HAY96]:6,7 ; [LLO03]:7,8,9 ; [MAN05]:5,6,7 ; [NEL96]:6,7,8,9 ; [ROT04]:11,12,13,14,15,16

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

18


ÍNDICE DE CONTENIDOS TEMARIO TEÓRICO 7. Sistemas en el nivel transferencia entre registros (RTL). 7.1. Introducción y definiciones generales. 7.2. Unidad de procesamiento o camino de datos. 7.3. Unidad de control. 7.4. Introducción a lenguajes de descripción hardware. 7.5. Fases de diseño. BIBLIOGRAFÍA: [DIA09]:1 ; [GAJ97]:8 ; [GRE86] ; [HAY96]:8 ; [LLO03]: 11 ; [MAN05]:8

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

19


ÍNDICE DE CONTENIDOS SEMINARIOS • S1. Herramientas de análisis de la configuración de un computador personal. • S2. Identificación de componentes de un computador personal. Montaje e interconexión. • S3. Introducción al manejo de un simulador lógico. • S4. Introducción al manejo de un entrenador lógico. • S5. Descripción a nivel RT de un sistema digital.

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

20


ÍNDICE DE CONTENIDOS PRÁCTICAS • • • • •

• •

P1. Análisis y diseño de circuitos combinacionales con puertas lógicas. P2. Funcionamiento de codificadores/decodificadores y multiplexores/demultiplexores. P3. Diseño de circuitos aritméticos. Sumadores/Restadores. P4. Diseño de una unidad aritmético-lógica. P5. Comprobar experimentalmente el funcionamiento de los biestables básicos. Análisis y diseño de un sistema secuencial síncrono. P6. Implementación y funcionamiento de registros y contadores. P7. Comprobar el funcionamiento de un camino de datos sencillo.

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

21


TEMPORIZACIÓN SEMINARIOS/PRÁCTICAS

16/02/2012

SEMANA

SEMANA

1

20 - 02 - 2012 a 24 - 02 - 2012

2

27 - 02 - 2012 a 02 - 03 - 2012

3

05 - 03 - 2012 a 09 - 03 - 2012

SEMIINARIO 1

4

12 - 03 - 2012 a 16 - 03 - 2012

SEMIINARIO 2

5

19 - 03 - 2012 a 23 - 03 - 2012

6

26 - 03 - 2012 a 30 - 03 - 2012

SEMIINARIO 3

7

09 - 04 - 2012 a 13 - 04 - 2012

SEMIINARIO 4

8

16 - 04 - 2012 a 20 - 04- 2012

PRÁCTICA 1

9

23 - 04 - 2012 a 27 - 04 - 2012

PRÁCTICA 2

10

30 - 04 - 2012 a 04 - 05 - 2012

11

07 - 05 - 2012 a 11 - 05 – 2012

PRÁCTICA 3

12

14 - 05 - 2012 a 18 - 05 – 2012

PRÁCTICA 4

13

21 - 05 - 2012 a 25 - 05 – 2012

PRÁCTICA 5

14

28 - 05 - 2012 a 01 - 06 – 2012

PRÁCTICA 6

15

04 - 06 - 2012 a 08 - 06 - 2012

PRÁCTICA 7 / SEMINARIO 5

SEMINARIO/PRÁCTICA

(2 HORAS)

(2 HORAS)

(2 HORAS)

(2 HORAS)

(2 HORAS)

(2 HORAS)

(2 HORAS)

(2 HORAS)

(2 HORAS)

(2 HORAS)

(1 HORA) / (1HORA)

DESCRIPCIÓN

S1: Herramientas de análisis de la configuración de un computador personal.

S2: Identificación de componentes de un computador personal. Montaje e interconexión.

S3: Introducción al manejo de un simulador lógico.

S4: Introducción al manejo de un entrenador lógico.

P1: Análisis y diseño de circuitos combinacionales con puertas lógicas.

P2: Funcionamiento de multiplexores/demultiplexores.

codificadores/decodificadores

y

P3: Diseño de circuitos aritméticos. Sumadores/Restadores.

P4: Diseño de una unidad aritmético-lógica.

P5: Comprobar experimentalmente el funcionamiento de los biestables básicos. Análisis y diseño de un sistema secuencial síncrono.

P6: Implementación y funcionamiento de registros y contadores.

P7: Comprobar el funcionamiento de un camino de datos sencillo. S5: Descripción a nivel RT de un sistema digital.

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

22


BIBLIOGRAFÍA Bibliografía relacionada con los contenidos de los temas 1, 2 y 3: [HAM03]

Hamacher, C., Vranesic, S., Zaky, S.. Organización de computadores. McGraw-Hill, 5ª Edición, 2003.

[NOR04]

Norton, P.. Intro to Computers. 6ª Edición, McGraw-Hill, 2004.

[NOR05]

Norton, P.. Computing Fundamentals, 6ª Edición, McGraw-Hill, 2005.

[PRI05]

Prieto, A., Prieto, B.. Conceptos de Informática, Problemas, Serie Schaum, McGraw-Hill, 2005.

[PRI06]

Prieto, A., Lloris, A., Torres, J. C.. Introducción a , 4ª Edición, McGraw-Hill, 2006. Stallings, W.. Computer Organization and Architecture: Designing for Performance, 8ª Edición, Pearson Higher Education, 2010.

[STA10] [TAN00]

16/02/2012

Tanenbaum, A. S.. Organización de computadoras. Un enfoque estructurado. 4ª Edición, Prentice-Hall. 2000.

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

23


BIBLIOGRAF��A (II) Bibliografía relacionada con los contenidos de los temas 4, 5, 6 y 7: [ANG07]

Angulo, J. M., Angulo, I., García-Zubia, I., Sistemas digitales y tecnología de computadores. 2ª Edición, Thomson, 2007.

[DIA09]

Díaz Ruiz, S., Romero Ternero, M. C., Molina Cantero. A. J.. Estructura y Tecnología de Computadores. Teoría y problemas. McGraw-Hill, 2009. (Apuntes de Sergio Díaz Ruiz).

[FLOYD06]

Floyd, T.L.. Fundamentos de Sistemas Digitales, 9ª Edición. Prentice-Hall, Madrid, España, 2006. Capilano Computing Systems Ltd.. Logic Works 5. Addison Wesley. 2004. García, J.. Problemas resueltos de electrónica digital. Thomson, 2004. Lloris, A.; Prieto, A., Parrilla, L.. Sistemas Digitales. McGraw-Hill, 2003. Gajski, D.. Principios de diseño digital. Prentice Hall, 1997. Green, D.. Modern Logic Design. Addison Wesley, 1986. Hayes, J.P.. Introducción al Diseño Lógico Digital. Addison-Wesley Iberoamericana, 1996. Hill, F.J., Peterson, G.R., Teoría de Conmutación y Diseño Lógico, Limusa Noriega, 1990. Mano, M. M., Kime, C. R.. Fundamentos de diseño lógico y de computadores. 3ª edición. Pearson Education, 2005.

[CAP04] [GAR04] [LLOR03] [GAJS97] [GRE86] [HAYE96] [HILL90] [MAN05] [NEL96]

Nelson, V.P., Nagle, H.T., Carroll, B.D.; Irwin, D.. Análisis y Diseño de Circuitos Lógicos Digitales, Prentice-Hall Hispanoamericana, 1996.

[ROT04] [WAK06]

Roth, C. H.. Fundamentos del diseño lógico. 5ª Edición, Thomson, 2004. Wakerly, J.F.. Digital Design: Principles and Practices, 4ª Edición, Prentice-Hall, Upper Saddle River, N.J., U.S.A., 2006.

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

24


HERRAMIENTA DOCENTE • SISTEMA WEB DE APOYO A LA DOCENCIA: SWAD https://swad.ugr.es/

• Entrar a través de la plataforma P.R.A.D.O.

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

25


SISTEMA DE EVALUACIÓN Aspectos a evaluar

Teoría

Prácticas

Técnica de evaluación

Examen teórico/práctico 2,50 puntos (25%) Temas 1, 2 y 3 Examen teórico/práctico 5,00 puntos (50%) Temas 4, 5 ,6 y 7 Memorias de prácticas y resolución de problemas en 1,00 punto (10%) el laboratorio Evaluación de las prácticas

Trabajo autónomo/grupo

Ponderación en la calificación final

Seminarios Trabajo autónomo

1,00 punto (10%) 0,50 puntos (5%)

Total: 10 puntos (100%)

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

26


FECHAS DE EVALUACIÓN Según consta en la Guía de la Escuela Técnica Superior de Ingenierías Informática y de Telecomunicación (http://etsiit.ugr.es/pages/escuela/guia_escuela) para el curso 2011-2012, las fechas de evaluación de la asignatura Tecnología y Organización de Computadores son: - Convocatoria de Junio de 2012: Viernes, 22 de Junio de 2012 (por la mañana). -

Convocatoria de Septiembre de 2012: Viernes, 14 de Septiembre de 2012 (por la mañana).

16/02/2012

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

27


CAPÍTULO 1 INTRODUCCIÓN

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES 1º Grado en Ingeniería Informática.


Tema 1. Introducción RESUMEN: – En este tema se cubren conceptos básicos para facilitar el resto seguimiento del resto de la asignatura. – Se define la estructura funcional de un computador. – Se indican distintos niveles de abstracción desde los que se puede describir un computador. – Se analizan distintas características que permiten clasificar los computadores en categorías. – Se describen parámetros que caracterizan las prestaciones de un computador. OBJETIVOS: – Conocer la organización básica y componentes de un computador – Identificar los factores que determinan las prestaciona básicas de un computador – Comprender la conveniencia de describir un computador en diferentes niveles de abstracción para facilitar su comprensión, su diseño y su utilización. 16/02/2011

Tecnología y Organización de Computadoras

(*) 2


Tema 1. Introducción CONTENIDOS: 1.1. Conceptos básicos 1.2. Estructura funcional de un computador 1.3. Niveles conceptuales de descripción de un computador 1.4. Clasificación de computadores 1.5. Parámetros que caracterizan las prestaciones de un computador BIBLIOGRAFÍA: [PRI05]: 1 ; [PRI06] : 1

(*) 16/02/2011

Tecnología y Organización de Computadoras

3


Tema 1. Introducción CONTENIDOS: 1.1. Conceptos básicos 1.2. Estructura funcional de un computador 1.3. Niveles conceptuales de descripción de un computador 1.4. Clasificación de computadores 1.5. Parámetros que caracterizan las prestaciones de un computador

(*) 16/02/2011

Tecnología y Organización de Computadoras

4


1.1. Conceptos básicos • Informática

– es el conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de computadoras electrónicas

16/02/2011

Tecnología y Organización de Computadoras

5


1.1. Conceptos básicos • Computador, Computadora u ordenador – es una máquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y proporcionar la información resultante a través de un medio de salida; todo ello sin intervención de un operador humano y bajo el control de un programa de instrucciones previamente almacenado en el propio computador. Entradas

Datos de entrada e instrucciones

16/02/2011

Com putador

Salidas Datos de salida

Tecnología y Organización de Computadoras

6


1.1. Conceptos básicos • Calculadora

– es una máquina capaz de efectuar operaciones aritméticas bajo el control directo del usuario • Datos

– son conjuntos de símbolos utilizados para expresar o representar un valor numérico, un hecho, un objeto o una idea; en la forma adecuada para ser objeto de tratamiento. 16/02/2011

Tecnología y Organización de Computadoras

7


1.1. Conceptos básicos • Codificación

– es una transformación que representa los elementos de un conjunto mediante los de otro, de forma tal que a cada elemento del primer conjunto le corresponda un elemento distinto del segundo.

16/02/2011

Tecnología y Organización de Computadoras

8


1.1. Conceptos básicos • Ejemplo de código (binario):

– Código Morse (1791-1872) A• B  ••• C •• D  •• E• F • • • G  • H • ••• I••

16/02/2011

J• K• L • •• M  N • Ñ   •  O P•• Q •

R • • S ••• T  U • • V • ••  W •  X  ••  Y ••  Z   ••

1•  2 ••    3 •••   4 ••••  5 •••••

6  •••• 7   ••• 8   •• 9  0 

Tecnología y Organización de Computadoras

9


1.1. Conceptos básicos • En el interior de los computadores la información se almacena y se transfiere de un sitio a otro según un código que utiliza sólo dos valores (código binario) representados por 0 y 1. En las E/S se efectúa la transformación M-4432AH

Albacete

0101000111010101 0110000111 101100101 110101010001011 00011111 0110101 011101100001110111 En un lugar de la Mancha,... 0101110111

3456,27 Dm

<[^%/( &)$ ; ,:

16/02/2011

3.327,54

Ciudad Real X = 256,32

 ∝ ψ  ← ⇔ℜ ∃   ‚ Ñ º  + G c  ∈⊕ Tecnología y Organización de Computadoras

10


1.1. Conceptos básicos • UNIDADES DE INFORMACIÓN:

– Bit  • unidad más elemental o capacidad mínima de información. • Es una posición o variable que toma el valor 0 ó 1.

– Byte  • En la actualidad se considera sinónimo de grupo de 8 bits. • (Históricamente: nº de bits necesarios para almacenar un carácter. ) 16/02/2011

Tecnología y Organización de Computadoras

11


1.1. Conceptos básicos •

Ejemplo

G 2 4 SP B

16/02/2011

G24 B

→ → → → →

0100 0011 0011 0010 0100

0111 0010 0100 0000 0010

Tecnología y Organización de Computadoras

12


1.1. Conceptos básicos • MÚLTIPLOS:

– 1 Kilo (K) = 210 = 1024 ≈ 103 – 1 Mega (M) = 210K = 220 = 1.048.576 ≈ 106 – 1 Giga (G) = 210M = 230 = 1.073.741.824 ≈ 109 – 1 Tera (T) = 210G = 240 ≈ 1012 – 1 Peta (P) = 210T = 250 ≈ 1015 – 1 Exa(E) = 210P = 260 ≈ 1018 16/02/2011

Tecnología y Organización de Computadoras

13


1.1. Conceptos básicos. Prefijos binarios – – – – – – • •

kibi- (símbolo Ki), 210 = 1.024 mebi- (símbolo Mi), 220 = 1.048.576 gibi- (símbolo Gi), 230 = 1.073.741.824 tebi- (símbolo Ti), 240 = 1.099.511.627.776 pebi- (símbolo Pi), 250 = 1.125.899.906.842.624 exbi- (símbolo Ei), 260 = 1.152.921.504.606.846.976

Los prefijos SI no se usan para indicar múltiplos binarios. La parte bi del prefijo viene de la palabra binario, por ejemplo, kibibyte significa un kilobinario byte, que son 1.024 bytes

• Ejemplos: kibibit (Kibit o Kib) o kibibyte (KiB), Mibibyte (MiB). http://es.wikipedia.org/wiki/Prefijos_binarios

16/02/2011

Tecnología y Organización de Computadoras

14


1.1. Conceptos básicos. Sistemas analógicos y digitales • Existen dos formas básicas de representar la información: analógica y digital. • Las magnitudes físicas que pueden tomar infinitos valores y varían de forma continua se denominan variables analógicas o continuas. • Señal analógica: señal física que se utiliza para representar una variable analógica. • La mayor parte de las variables físicas de la naturaleza (temperatura, tensión, intensidad luminosa, posición, sonido, etc.) varían continuamente con el tiempo. • Siempre se puede encontrar un valor entre dos valores cualesquiera. • Un sistema analógico es aquel que procesa señales analógicas.

(*) 16/02/2011

Tecnología y Organización de Computadoras

15


1.1. Conceptos básicos. Sistemas analógicos y digitales • Ejemplo: señal de audio que representa la palabra “mano” capturada a través de un micrófono

(*) 16/02/2011

Tecnología y Organización de Computadoras

16


1.1. Conceptos básicos. Sistemas analógicos y digitales • Sistema de audio analógico:

(*) 16/02/2011

Tecnología y Organización de Computadoras

17


1.1. Conceptos básicos. Sistemas analógicos y digitales • Señal digital: señal física que se utiliza para representar una magnitud que toma valores discretos. • Muchas señales físicas que se emplean para transmitir información son de naturaleza analógica (tensión eléctrica). • Sin embargo, las señales analógicas se pueden cuantizar o muestrear o digitalizar, tomando un valor (una muestra) de dicha señal cada cierto tiempo (periodo de muestreo). • Una señal digital puede caracterizarse por varios niveles, n. En este curso nos referiremos al caso particular de señales digitales binarias (n=2). En general, un nivel será 0 ó L y el otro 1 ó H. • Un sistema digital es cualquier dispositivo destinado a generar, transmitir, procesar o almacenar señales digitales.

(*) 16/02/2011

Tecnología y Organización de Computadoras

18


1.1. Conceptos básicos. Sistemas analógicos y digitales

Señal muestreada a Fs= 8 KHz (Ts=0,125 ms) (Tramo comprendido entre 150 y 300)

(*) 16/02/2011

Tecnología y Organización de Computadoras

19


1.1. Conceptos básicos. Sistemas analógicos y digitales

Más muestras

Menos muestras (*)

16/02/2011

Tecnología y Organización de Computadoras

20


1.1. Conceptos básicos. Sistemas analógicos y digitales • Sistema de audio digital:

(*) 16/02/2011

Tecnología y Organización de Computadoras

21


1.1. Conceptos básicos. Sistemas analógicos y digitales Sistemas analógicos: – Más sensibles a ruidos, a cambios en las condiciones (T, V, …) ↓ – Lecturas imprecisas de los valores ↓ – Contiene toda la información ↑ Sistemas digitales binarios: – Resolución dependiente de la frecuencia de muestreo y número de bits por dato – Compromiso velocidad/nº líneas, según transmisión paralelo o serie ↓ – Más fiabilidad y precisión en almacenamiento, procesamiento y transmisión de señales ↑ – Diseño más fácil basado en decisiones lógicas y conmutadores (Sí/No, 1/0, ON/OFF) ↑ – Metodologías de diseño y herramientas CAD altamente desarrolladas y bien conocidas ↑ 16/02/2011

Tecnología y Organización de Computadoras

(*) 22


1.1. Conceptos básicos. Programas e instrucciones • Una instrucción es un conjunto de símbolos que representan una orden de operación o tratamiento para la computadora. Las operaciones suelen realizarse con datos. • Un programa es un conjunto ordenado de instrucciones que se dan a la computadora indicandole las operaciones o tareas que se desea realice.

(*) 16/02/2011

Tecnología y Organización de Computadoras

23


1.1. Conceptos básicos. Programas e instrucciones • Las instrucciones se forman con elementos o símbolos tomados de un determinado repertorio, y se construyen siguiendo unas reglas precisas. • Todo lo relativo a los símbolos y reglas para construir o redactar con ellos un programa se denomina lenguaje de programación.

(*) 16/02/2011

Tecnología y Organización de Computadoras

24


1.1. Conceptos básicos. Tipos de instrucciones (Repaso de Fundamentos del Software)

• Instrucciones de transferencias de datos. – Transferir datos de una unidad a otra. Por ejemplo, de E/S. • Instrucciones de tratamiento. – Instrucciones aritmético-lógicas. • Instrucciones de bifurcación y saltos. – Permiten alterar el orden secuencial de ejecución. – Saltos y llamadas/retornos de subrutinas (procedimientos) • Otras instrucciones. – Detener el funcionamiento de la computadora, a la espera de una acción del operador,... 16/02/2011

Tecnología y Organización de Computadoras

25


1.1. Conceptos básicos. Lenguaje máquina • El lenguaje máquina es el único que entienden los circuitos del computador (CPU). Las instrucciones se forman por bits agrupados en campos:

– Campo de código de operación indica la operación correspondiente a la instrucción. – Campos de dirección especifican los lugares (o posición) dónde se encuentra o donde ubicar los datos con los que se opera. 16/02/2011

Tecnología y Organización de Computadoras

26


1.1. Conceptos básicos. Lenguaje de alto nivel • El lenguaje máquina tiene serios inconvenientes: – depende del modelo de procesador; – el repertorio de instrucciones es muy reducido, conteniendo sólo operaciones muy elementales; – es muy laborioso programar con él por tener que utilizar sólo números; etc. • Para evitar estos problemas: – Se han ideado lenguajes de alto nivel, que no dependen de la computadora, para facilitar la tarea de programación. – Ejemplos: BASIC, FORTRAN, COBOL, Pascal, Logo, C, Ada, Prolog, Lisp, etc. 16/02/2011

Tecnología y Organización de Computadoras

27


Tema 1. Introducción CONTENIDOS: 1.1. Conceptos básicos 1.2. Estructura funcional de un computador 1.3. Niveles conceptuales de descripción de un computador 1.4. Clasificación de computadores 1.5. Parámetros que caracterizan las prestaciones de un computador

(*) 16/02/2011

Tecnología y Organización de Computadoras

28


1.2. Estructura funcional de un computador c

Memoria masiva (MM) d,i Unidades centrales c

d,i

Entrada (E) c

e

e

Memoria principal (M) (datos e instrucciones) i

Unidad de control (CU)

d e

c

Unidad de tratamiento (con ALU)

d

Salida (S) c

Procesador (CPU) e

e

d: datos ; i: instrucciones e: señales de estado c: señales de control 16/02/2011

Tecnología y Organización de Computadoras

(*) 29


1.2. Estructura funcional de un computador • UNIDAD DE ENTRADA (E). • Dispositivo por donde se introducen en la computadora los datos e instrucciones. Transforman las informaciones de entrada en señales binarias de naturaleza eléctrica. Ejemplos: un teclado, un digitalizador, una lectora de tarjetas de crédito, etc..

•UNIDAD DE SALIDA (S). • Dispositivo por donde se obtienen los resultados de los programas ejecutados en la computadora. Transforman las señales eléctricas binarias en caracteres escritos o gráficos visualizados. Ejemplos: un monitor de vídeo, una impresora o un registrador gráfico 16/02/2011

Tecnología y Organización de Computadoras

30


1.2. Estructura funcional de un computador • MEMORIA (M)

– Es la unidad donde se almacenan tanto los datos como las instrucciones. Existen dos tipos básicos de memoria, diferenciados principalmente por su velocidad. – Memoria principal, o central, o interna. – Memoria masiva auxiliar, secundaria externa.

16/02/2011

Tecnología y Organización de Computadoras

o

31


1.2. Estructura funcional de un computador • MEMORIA (M)

– Memoria principal, o central, o interna. • Actúa con gran velocidad  ligada directamente a las unidades más rápidas (UC y ALU). • Para que un programa se ejecute debe estar almacenado (cargado) en la memoria principal. • Son circuitos integrados (IC). • Estructurada en posiciones (palabras de memoria) de un determinado número de bits. • Para leer o escribir una información es necesario dar la dirección de la posición.

16/02/2011

Tecnología y Organización de Computadoras

32


1.2. Estructura funcional de un computador • Se accede (lee o escribe) a las posiciones (palabras) de memoria, por medio de direcciones.

ab75 2356 3725 4832

16/02/2011

Contenido

1

0

ab75

2

1

2356

3

2

3725

3

4832

4

2437

5 . . . 255

4326

5

4326

3456

Dirección

4

2437

Es muy importante distinguir entre contenidos y direcciones

0

2

5

5

Tecnología y Organización de Computadoras

. . 3456

33


Tema 1. Introducción CONTENIDOS: 1.1. Conceptos básicos 1.2. Estructura funcional de un computador 1.3. Niveles conceptuales de descripción de un computador 1.4. Clasificación de computadores 1.5. Parámetros que caracterizan las prestaciones de un computador

(*) 16/02/2011

Tecnología y Organización de Computadoras

34


USUARI OS Y P ROGRAM AS DE AP LI CACI ONES

1.3. Niveles conceptuales

Nivel de máquina simbólica (compiladores, editores, interprete del LC)

Software Nivel de máquina operativa (sistema operativo) Implementación

Abstracción

Arquitectura Nivel de máquina convencional (lenguajes máquina y ensamblador) Nivel Transferencia entre Registros (RTL)

Tecnología

Hardware

Nivel de lógica digital

Nivel de dispositivos y ctos. electrónicos

(*) 16/02/2011

Tecnología y Organización de Computadoras

35


1.3. NIVELES DE COMPLEJIDAD EN LA DESCRIPCIÓN DE UN SISTEMA DIGITAL NIVEL

COMPORTAMIENTO

COMPONENTES ESTRUCTURALES

Nivel de Máquina convencional

Instrucciones máquina

Procesadores, controladores, memorias, ASIC

Nivel de Transferencia entre Registos

Algoritmos Diagramas de flujo Cartas ASM

registros, contadores, memorias, ALUs, MUXs, DEMUXs, etc.

Nivel de Lógica Digital

Ecuaciones booleanas Tablas de estado

Puertas lógicas y biestables

Nivel de dispositivos y Circ. Electrónicos

Ecuaciones diferenciales Diagramas corriente-tensión

N. de Dispositivos: Difusiones N+, P+, etc. N. De Circ.:Transistores, resistencias, condensadores

(*) 16/02/2011

Tecnología y Organización de Computadoras

36


1.3. Niveles conceptuales de descripción de un computador • El soporte físico, o hardware de un computador es la máquina en sí: el conjunto de circuitos electrónicos, cables, armarios, dispositivos electromecánicos, y otros elementos físicos que forman el computador. • El soporte lógico, software o logical de un computador es el conjunto de programas (del sistema operativo, de utilidades, y de los usuarios) ejecutables por el computador.

16/02/2011

Tecnología y Organización de Computadoras

37


USUARI OS Y P ROGRAM AS DE AP LI CACI ONES

1.3. Niveles conceptuales

Nivel de máquina simbólica (compiladores, editores, interprete del LC)

Software Nivel de máquina operativa (sistema operativo) Arquitectura Nivel de máquina convencional (lenguajes máquina y ensamblador)

Tema 7 Temas 4,5,6 Tecnología

16/02/2011

Nivel de Transferencia entre Registros (RTL)

Hardware

Nivel de lógica digital

Nivel de dispositivos y ctos. electrónicos

Tecnología y Organización de Computadoras

38


Tema 1. Introducción CONTENIDOS: 1.1. Conceptos básicos 1.2. Estructura funcional de un computador 1.3. Niveles conceptuales de descripción de un computador 1.4. Clasificación de computadores 1.5. Parámetros que caracterizan las prestaciones de un computador

(*) 16/02/2011

Tecnología y Organización de Computadoras

39


1.4. Clasificación de computadores Paralelismo:  SISD (monoprocesadores)  SIMD (matriciales y vectoriales)  MIMD (multiprocesadores y multicomputadores) Generalidad de uso: • Computadores de uso general • Computadores de uso especifico.  Computadores embebidos 16/02/2011

Potencia:  Supercomputadores  Macroocomputadores (“mainframes”)  Servidores de red  Estaciones de trabajo  Computadores personales (PC)  Computadores móviles

Tecnología y Organización de Computadoras

(*) 40


1.4. Clasificación de computadores • Servidor: computador conectado a una red de transmisión de datos que da servicio compartido a múltiples usuarios. – servidores de aplicaciones: los usuarios a través de una red pueden ejecutar programas, acceder a la información de bases de datos, acceder a correo electrónico, etc. – servidores que preferentemente ofrecen recursos específicos a compartir a través de la red. • servidor de archivos, sistema de almacenamiento dedicado preferentemente a almacenar archivos y donde cualquier usuario de la red puede almacenarlos; • servidor de impresión gestiona una o varias impresoras, • servidor de red, gestiona el tráfico de información en la red; • servidor de base de datos es un computador que procesa la gestión y los accesos a una base de datos; etc.

16/02/2011

Tecnología y Organización de Computadoras

(*) 41


Precio (Euros)

Nº de procesadores

Capacidad de memoria principal

Orden de magnitud de disco

Supercom putador

Más de 5.000.000

1000 a cientos de miles

Decenas de TB

Centenas de TB

Decenas a miles

Cálculo intensivo de tipo científico y técnico

Servidor de gama alta

Más de 500.000

100 a 2000

Centenas de GB

Centenas de TB

Cientos a miles

Acceso a grandes batos de datos desde muchos terminales

Servidor de gama media

10.000 a 500.000

Decenas a cientos

Aplicaciones múltiples en departamentos o empresas de tipo medio a través de red

Servidor básico

Comp. Personal (PC)

Computad ores móviles

16/02/2011

Nº de D / 42Objetivo usuarios fundamental (simultáneos)

10 a 100

Decenas de GB

Varios TB

Menos de 10.000

4a8

Varios GB hasta centenas de GB

Centenas de GB a varios TB

Decenas

Aplicaciones múltiples en departamentos o empresas pequeñas a través de red

500 a 5.000

1 a 8…

Varios GB

Centenas de GB a varios TB

1 (personal)

Aplicaciones múltiples con un sólo usuario

1 (personal)

Asistentes digitales personales (PDA), Móviles, etc. Computadores de bolsillo Comunicadores personales, Calculadoras programables de bolsillo

100

1

Varios MB

No tienen, Flash

Tecnología y Organización de Computadoras

(*)

42


1.4. Clasificación de computadores. Los supercomputadores • Sistemas de gran rapidez: pueden ejecutar miles de millones de FLOPS por segundo (Teraflops). • Varios procesadores o unidades centrales trabajando en paralelo: – multiprocesadores o multicomputadores, con de miles a cientos de miles de procesadores, • Coste de 10 a 500 millones de dólares o más. • Necesarios para aplicaciones de cálculo intensivo o HPC (High Performance Computing) – 1 Gigaflop= 103 Mflops – 1Teraflop = 106 MFlops – 1 Petaflop = 109 Mflops

16/02/2011

Tecnología y Organización de Computadoras

43


Tema 1. Introducción CONTENIDOS: 1.1. Conceptos básicos 1.2. Estructura funcional de un computador 1.3. Niveles conceptuales de descripción de un computador 1.4. Clasificación de computadores 1.5. Parámetros que caracterizan las prestaciones de un computador

(*) 16/02/2011

Tecnología y Organización de Computadoras

44


1.5. Parámetros que caracterizan las prestaciones de un computador • MEDIDAS DE PRESTACIONES: • Capacidad de la memoria – principal (en GB). – masiva (en GB, TB). • Tiempo de acceso – MP – Periféricos • Longitud de palabra: – ALU, – Memoria, – Ancho de buses.

(*) 16/02/2011

Tecnología y Organización de Computadoras

45


1.5. Parámetros que caracterizan las prestaciones de un computador • Ancho de banda, tasa (velocidad) de transferencia: – cantidad de información transferida por segundo entre una unidad y otra. – ”Ancho de banda entre la memoria y el procesador es de 133 MB/s”  en 1 segundo se pueden transferir 133 millones de bytes aprox. entre las unidades citadas. • Velocidad del procesador: – Frecuencia de reloj (MHz o GHz), – MIPS: Millones de instrucciones máquina por segundo Problema: ¿qué instrucciones?

(*) 16/02/2011

Tecnología y Organización de Computadoras

46


1.5. Parámetros que caracterizan las prestaciones de un computador

• La frecuencia de reloj no es una medida objetiva de la potencia, ya que la velocidad en ejecutar un programa depende también de lo que el procesador haga en cada ciclo de reloj.

(*) 16/02/2011

Tecnología y Organización de Computadoras

47


1.5. Parámetros que caracterizan las prestaciones de un computador • Tiempo de ejecución de un programa, TE, es el tiempo que transcurre desde su inicio hasta que finaliza su ejecución:

N I · N CI TE = N I · N C · T = F – NI es el número de instrucciones que se ejecutan en el programa, – NCI al número medio de ciclos de reloj que consume cada instrucción – T periodo de reloj o tiempo de ciclo: T=1/F

(*) 16/02/2011

Tecnología y Organización de Computadoras

48


1.5. Parámetros que caracterizan las prestaciones de un computador • El rendimiento de un computador en la ejecución de un programa es la inversa de su tiempo de ejecución:

1 ηE = TE

• Uno de los objetivos básicos de la A. de C. es reducir el valor de TE, para lo cual se debe aumentar F o disminuir NI y NCI. – El valor de F viene determinado por la velocidad de funcionamiento de los circuitos integrados, y es responsabilidad de la tecnología electrónica; – La disminución de NI y NCI viene determinada por la arquitectura del computador; aunque los tres parámetros están interrelacionados.

16/02/2011

Tecnología y Organización de Computadoras

49


1.5. Parámetros que caracterizan las prestaciones de un computador • De la expresión

N I · N CI TE = N I · N C · T = F se deduce que es erróneo considerar sólo F para comparar la eficiencia de dos procesadores (uno con mayor frecuencia que otro puede ser más lento ejecutando el mismo programa).

• Conjunto de programas de prueba (benchmarks): – MIPS – Mflops (Mega flops, 64 bits) – Medidas relativas a otro computador: SPEC

16/02/2011

Tecnología y Organización de Computadoras

50


1.5. Parámetros que caracterizan las prestaciones de un computador • Conjunto de programas de prueba (benchmarks): – Supercomputadores: Linpack

• http://www.top500.org/lists/linpack.php • Resolución de un sistema lineal de ecuaciones (100, 1000, ETC.)

• Medidas: – MIPS: Millones de Instrucciones por segundo – Mflops (Megaflops): Millones de operaciones de coma flotante por segundo (Sumas o productos de números reales de 64 bits)

• Gigaflops, Teraflots, Exaflops, Petaflops, etc.

– Medidas relativas a otro computador: SPEC 16/02/2011

Tecnología y Organización de Computadoras

(*) 51


1.5. Parámetros que caracterizan las prestaciones de un computador

• Buscar aplicaciones de benchmark… • Lindpack o Linpack • SPEC: programas muy diversos – SPEC2000 (compresión de datos, procesamiento de textos, juego del ajedrez, redes neuronales artificiales) SPEC: Standard Performance Evaluation Corporation (http://www.spec.org/) http://es.wikipedia.org/wiki/SPEC

(*) 16/02/2011

Tecnología y Organización de Computadoras

52


1.5. Par谩metros que caracterizan las prestaciones de un computador. Programas SPEC Programa Referencia del test

Descripci贸n

Lenguaje

Tiempo de Referencia (ms)

Coeficiente

164.gzip

Data compression utility

C

1400

1,16

175.vpr

FPGA circuit placement and routing

C

1400

1,16

176.gcc

C compiler

C

1100

0,538

181.mcf

Minimum cost network flow solver

C

1800

0,909

186.crafty

Chess program

C

1000

0,745

197.parser

Natural language processing

C

1800

1,21

252.eon

Ray tracing

C++

1300

0,578

253.perlbmk

Perl

C

1800

0,843

254.gap

Computational group theory

C

1100

0,565

255.vortex

Object Oriented Database

C

1900

0.620

256.bzip2

compression utility

C

1500

0,116

300.twolf

Place and route simulator

C

3000

0,166

16/02/2011

Tecnolog铆a y Organizaci贸n de Computadoras

53


1.5. Parámetros que caracterizan las prestaciones de un computador. • SPEC: programas muy diversos – Provee una medida adimensional, dada con referencia a un computador: UltraSPARC10, con procesador UltraSPARC-Iii de F=300 MHz – Velocidad SPEC para un programa, i de prueba:

v SPEC ,i

TEi (en computador a caracterizar ) = TEi (en computador de referencia)

– Velocidad SPEC: media geométrica:

vSPEC = n

n

∏v

SPEC ,i

i =1

16/02/2011

Tecnología y Organización de Computadoras

54


FIN

PREGUNTAS?

(*)


CAPÍTULO 2 UNIDADES FUNCIONALES

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES 1º Grado en Ingeniería Informática.


Tema 2. Unidades funcionales de un computador RESUMEN: – En este tema se estudian la organización de un computador en base a sus unidades funcionales. – Se describen conceptos básicos de funcionamiento de los distintos elementos del computador (Procesador, Memoria, Periféricos E/S, buses). – Se estudian distintas estructuras básicas de interconexión de sus componentes. OBJETIVOS: – Conocer la organización y componentes de un computador – Identificar los factores que determinan las prestaciones básicas de un computador

22/02/2011

Tecnología y Organización de Computadoras

2


Tema 2. Unidades funcionales de un computador CONTENIDOS: 2.1. El procesador 2.2. La memoria 2.3. Periféricos E/S 2.4. Estructuras básicas de interconexión

BIBLIOGRAFÍA:

[PRI06]: 7,10,11,12

22/02/2011

Tecnología y Organización de Computadoras

3


Guía de trabajo autónomo • Material: – Transparencias ampliadas – Referencias: – [PRI05] A. Prieto, B. Prieto, Conceptos de Informática, Problemas, Serie Schaum, McGraw-Hill, 2005 – [PRI06] A. Prieto, A.Lloris, J.C.Torres, Introducción a la Informática, 4ª Ed., McGraw-Hill, 2006.

• Formato: – Presentación conceptual breve – Problemas: aplicación práctica y relación conceptos 22/02/2011

Tecnología y Organización de Computadoras

de 4


2. Unidades funcionales de un computador

Entradas (E)

Memoria masiva (MM)

Salidas (S) PerifĂŠricos

Memoria principal (M)

Unidad de tratamiento (ALU)

Unidad de control (CU) Procesador (CPU)

22/02/2011

TecnologĂ­a y OrganizaciĂłn de Computadoras

5


2. Unidades funcionales de un computador • COMPUTADOR – Unidades centrales • Procesador Central o CPU (Central Processing Unit) – Unidad de control (CU) – Unidad aritmético-lógica (ALU) (camino de datos)

• Memoria Central o Principal (M)

– Periféricos • Memoria externa • Dispositivos de Entrada /Salida

• MICROPROCESADOR  CPU contenida en uno o varios circuitos integrados (chips)

22/02/2011

Tecnología y Organización de Computadoras

6


2. Unidades funcionales de un computador c

Memoria masiva (MM) d,i Unidades centrales c

d,i

Entrada (E) c

e

e

Memoria principal (M) (datos e instrucciones) i

d

d

Salida (S)

Unidad de control (CU)

e

c

Unidad de tratamiento (con ALU)

c

Procesador (CPU) e

e

d: datos ; i: instrucciones e: señales de estado c: señales de control 22/02/2011

Tecnología y Organización de Computadoras

(*) 7


Ejemplo de interconexi贸n de las distintas unidades Perif茅ricos

IPv

Unidad de procesamiento (Camino de datos)

Unidad de control

M

Procesador o

OPv

Bus de direcciones Bus de datos Bus de control

22/02/2011

Tecnolog铆a y Organizaci贸n de Computadoras

8


Tema 2. Unidades funcionales de un computador CONTENIDOS: 2.1. El procesador 2.2. La memoria 2.3. Periféricos E/S 2.4. Estructuras básicas de interconexión

22/02/2011

Tecnología y Organización de Computadoras

9


2. Unidades funcionales de un computador • MICROPROCESADOR: – CPU contenida en uno o varios circuitos integrados (chips). – En la actualidad prácticamente todos los procesadores son microprocesadores.

• Microcontroladores • Procesadores de uso embebidos):

específico

(sistemas

– Procesadores digitales de señales (DSP) – Procesadores de red – Procesadores multimedia, etc.

22/02/2011

Tecnología y Organización de Computadoras

10


22/02/2011

Tecnolog铆a y Organizaci贸n de Computadoras

11


Elementos internos de un procesador

Unidad de procesamiento

Unidad de control

rF

o

RT RF

FF

reloj

Z

r1

SP

L贸gica de control

S

r0

ALU C

IR

V PC AR

22/02/2011

DR

Tecnolog铆a y Organizaci贸n de Computadoras

12


2.1 El procesador • UNIDAD DE TRATAMIENTO, UNIDAD DE PROCESAMIENTO, CAMINO DE DATOS, UNIDAD ARITMETICO-LOGICA o ALU (Arithmetic Logic Unit) – Contiene los circuitos electrónicos con los que se hacen las operaciones de tipo aritmético (sumas, restas, etc.) y de tipo lógico (comparar dos números, hacer operaciones del Algebra de Boole binaria, etc.). Dato 1

Señales de control

Dato 2

ALU

Resultado 22/02/2011

Tecnología y Organización de Computadoras

13


2.1 El procesador • UNIDAD DE CONTROL (UC). – Detecta señales de estado (eléctricas) procedentes de las distintas unidades. Capta de la memoria una a una las instrucciones máquina del programa, y genera señales de control dirigidas a todas las unidades, monitorizando las operaciones que implican la ejecución de la instrucción. – La UC contiene un reloj que sincroniza todas las operaciones elementales de la computadora. • El periodo del reloj se denomina tiempo de ciclo, y está comprendido aproximadamente entre decimas de nanosegundos y varios microsegundos. • La frecuencia del reloj (Megahercios, MHz, o Gigahercios, GHz) determina, en parte, la velocidad de funcionamiento del computador

22/02/2011

Tecnología y Organización de Computadoras

14


Ejemplo de interconexi贸n de las distintas unidades Perif茅ricos

IPv

Unidad de procesamiento

Unidad de control

M

Procesador o

OPv

Bus de direcciones Bus de datos Bus de control

22/02/2011

Tecnolog铆a y Organizaci贸n de Computadoras

15


Elementos internos del procesador • Banco de registros de uso general (RF: r0 a rD) – Almacen temporal de datos y/o direcciones • Registro temporal (RT)

Unidad de tratamiento rD

RT

RF

r1 r0

Unidad de control

FF Z S

ALU

C

reloj

IR

Lógica de control

PC

V

AR

DR

 Biestables indicadores o de condición (FF):  C: Acarreo  S: Indicador de signo (si el último resultado de la ALU es negativo: S=1)  Z: Indicador de cero (si el último resultado de la ALU es cero, Z=1)  P: Indicador de paridad (si la paridad del ultimo resultado es par, P=1)  V: Indicador de desbordamiento  El conjunto de estos biestables forma la palabra de estado (o SW, "Status Word").

22/02/2011

Tecnología y Organización de Computadoras

16


Elementos internos del procesador Unidad de tratamiento rD

RT

RF

r1 r0

Unidad de control

FF Z S

ALU

C

reloj

IR

Lógica de control

PC

V

AR

• • • • •

DR

Registro de dirección (AR), donde deberá ubicarse la dirección del dato/instrucción a leer o escribir en memoria (o de un puerto de periférico) Registro de datos (DR), donde se almacenará el dato a escribir en la memoria o la información leída de la memoria (o de un periférico) Lógica de control, circuitos que generan las señales de control (con reloj) Registro de instrucción (IR), memoriza temporalmente la instrucción del programa que la unidad de control está interpretando o ejecutando Contador del programa (PC), registro-contador que contiene en todo momento la dirección de memoria dónde se encuentra la instrucción siguiente a ejecutar.

22/02/2011

Tecnología y Organización de Computadoras

17


Elementos internos de un procesador Unidad de tratamiento

Unidad de control

Perif茅ricos Memoria

rD RT

RF

reloj

F Z

r1 r0

C V

AR

SP

S

ALU

IPv

o

L贸gica de control

M

IR PC

OPv

DR Bus de direcciones Bus de datos Bus de control

(*) 22/02/2011

Tecnolog铆a y Organizaci贸n de Computadoras

18


Temporización de las instrucciones (ciclo máquina) La ejecución de cualquier instrucción se realiza en dos fases: • Fase de captación de instrucción. – Siempre que se inicia una instrucción el procesador capta de la memoria la instrucción siguiente a ejecutar.

• Fase de ejecución – Se realizan las operaciones específicas correspondientes al código de operación (codop) de la instrucción captada, generándose las señales de control oportunas.. La ejecución de una instrucción lleva consigo por lo menos un acceso a memoria (para captar la instrucción), pudiendo efectuar accesos adicionales (captación de operandos, memorización de resultados, etc.)

Captación de instrucción

Ejecución de instrucción

(*) 22/02/2011

Tecnología y Organización de Computadoras

19


Temporización en la ejecución de instrucciones Memoria Unidad de tratamiento

Unidad de control

rD RT

RF

r1 r0

F

ALU

AR 100A

DR A73C

reloj

o

Z

SP

S

A73C

C

IR

V

100B 100B 100A

Lógica de control

......... 100A A73C 100B 7C4D 100C 65AD 100D BC73 100E 1000 100F 3A02 1010 7BC0 ...........

PC

Bus de direcciones Bus de datos Bus de control

22/02/2011

Tecnología y Organización de Computadoras

20


Temporización en la ejecución de instrucciones La ejecución de cualquier instrucción se realiza en dos fases: • Fase de captación de instrucción: Las instrucciones se encuentran en MP, y el PC siempre contiene la dirección de memoria de la siguiente instrucción que se va a ejecutar. Siempre que se inicia una instrucción la CPU capta la instrucción siguiente a ejecutar. AR ← PC DR ← M(AR) IR ← DR PC ← PC + 1 (suponemos que cada instrucción ocupa una sola posición de memoria)

22/02/2011

Tecnología y Organización de Computadoras

21


Temporización en la ejecución de instrucciones • Fase de ejecución: una vez cargada la instrucción en IR se decodifica y ejecuta bajo el control de la UC. Se realizan las operaciones específicas correspondientes al código de operación (codop) de la instrucción captada, generándose las señales de control oportunas. Por ejemplo: captación o búsqueda de operandos en memoria, cálculos en la ALU, almacenamiento de resultados en registros o memoria, etc. La ejecución de una instrucción lleva consigo por lo menos un acceso a memoria (para captar la instrucción), pudiendo efectuar accesos adicionales (captación de operandos, memorización de resultados, etc.)

22/02/2011

Tecnología y Organización de Computadoras

22


Temporización en la ejecución de instrucciones

AR ← PC DR ← M(AR) IR ← DR PC ← PC + 1

Fase de captación

Fase de ejecución

codop 1

codop 2

codop n

(*) 22/02/2011

Tecnología y Organización de Computadoras

23


Temporización en la ejecución de instrucciones • Las operaciones: – carga de un registro: MA, PC o IR MR, – lectura de memoria: RM← M(DM), – incremento del contador de programa: PC PC+1, etc. son las operaciones más elementales que puede hacer el computador, y reciben el nombre de: microoperaciones. Consumen un ciclo de reloj. • Se puede concluir que una instrucción máquina, implica la realización de un conjunto determinado de microoperaciones en un orden preestablecido.

22/02/2011

Tecnología y Organización de Computadoras

24


Temporización en la ejecución de instrucciones Direcciones

Ejemplo: • Computador de palabras de 16 bits. • En M(0039) está la instrucción 0700 (r7←M(rD)) • Suponiendo que rD contiene 54C2 • Microoperaciones necesarias y cambios en PC, IR, AR, DR y r7

22/02/2011

Contenidos

0000

7AC4

0007

65C9

0039

0700

003A

607D

003B

2D07

003C

C000

54C2

D7A2

FFFF

3FC4

rD

54C2

Tecnología y Organización de Computadoras

Instrucciones

Dato

25


Temporización en la ejecución de instrucciones En M(0039) instrucción 0700 (r7←M(rD))

Contenidos de los registros Fase

Direc.

Microoperación

Contenidos

0000

7AC4

0007

65C9

0039

0700

003A

607D

003B

2D07

003C

C000

54C2

D7A2

FFFF

3FC4

rD

54C2

PC Valores iniciales

Instr.

Dato

Captación de instrucción

Ejecución de instrucción

IR

AR

DR

r7

0039

AR  PC

0039

0039

DR  M(AR)

0039

0039

0700

IR  DR

0039

0700

0039

0700

PC  PC+1

003A

0700

0039

0700

AR  rD

003A

0700

54C2

0700

DR  M(AR)

003A

0700

54C2

D7A2

r7  DR

003A

0700

54C2

D7A2

D7A2


Temporización en la ejecución de instrucciones • Situación después de la captación de instrucción Memoria Unidad de tratamiento rD

54C2

RT

RF

r7 r0

Unidad de control

F3F5

ALU

F F Z

reloj

S

IR 0700

C V

AR

DR

o

SP

003A

Lógica de control

......... 000A A73C ……. ……. 0039 0700 003A BC73 ……. ……. 54C2 D7A2 54C3 7BC0 ...........

PC

Bus de direcciones Bus de datos Bus de control 22/02/2011

Tecnología y Organización de Computadoras

27


Temporización en la ejecución de instrucciones • Situación después de la ejecución de instrucción: Memoria Unidad de tratamiento rD

54C2

RT

RF

r7 r0

Unidad de control

F

D7A2

ALU

SP

S

IR 0700

C

DR

o

Z

V AR

reloj

003A

Lógica de control

......... 000A A73C ……. ……. 0039 0700 003A BC73 ……. ……. 54C2 D7A2 54C3 7BC0 ...........

PC

Bus de direcciones Bus de datos Bus de control 22/02/2011

Tecnología y Organización de Computadoras

28


Temporización en la ejecución de instrucciones AR ← PC DR ← M(AR) IR ← DR PC ← PC+1

carga AR ← rD DR ← M(AR) r7 ← DR

22/02/2011

suma

salto

RT ← rD ... r0 ← r7+RT

PC ← rD

Fase de captación de instrucción

rutina SP ← SP-1 AR ← SP DR ← PC M(AR) ← DR PC ← rD

retorno AR ← SP DR ←M(AR) PC ← DR SP ← SP+1

Fase de ejecución de instrucción

Se supone la estructura de bloques anterior en donde son posibles todas las transferencias entre registros y la única conexión con memoria es a través de los buses específicos y sus registros de Tecnología y Organización de Computadoras 29 dirección (AR) y de datos (DR).


Tema 2. Unidades funcionales de un computador CONTENIDOS: 2.1. El procesador 2.2. La memoria 2.3. Periféricos E/S 2.4. Estructuras básicas de interconexión

22/02/2011

Tecnología y Organización de Computadoras

30


2.2. La memoria • MEMORIA (M)

– Es la unidad donde se almacenan tanto los datos como las instrucciones. Existen dos tipos básicos de memoria, diferenciados principalmente por su velocidad. – Memoria principal, o central, o interna. – Memoria masiva auxiliar, secundaria externa.

o

(*) 22/02/2011

Tecnología y Organización de Computadoras

31


2.2. La memoria • MEMORIA (M) – Memoria principal, o central, o interna. • Actúa con gran velocidad  ligada directamente a las unidades más rápidas (UC y ALU). • Para que un programa se ejecute debe estar almacenado (cargado) en la memoria principal. • Son circuitos integrados (IC). • Estructurada en posiciones (palabras de memoria) de un determinado número de bits. • Para leer o escribir una información es necesario dar la dirección de la posición.

22/02/2011

Tecnología y Organización de Computadoras

32


2.2. La memoria • Normalmente hay dos tipos de memoria principal:

– Memoria ROM: sólo lectura y permanente. – Memoria RAM: lectura/escritura, y volátil. Los PCs usan memoria RAM, por eso hace falta “arrancar” cada vez que encendemos el ordenador, es decir cargar en memoria SO y programas que estemos utilizando. ¿Puede usarse la memoria FLASH como memoria RAM?

22/02/2011

Tecnología y Organización de Computadoras

33


Memoria interna • Organización: – Palabras – Direcciones – Longitud de palabra IO/M ’ R/W’ MFC

Bus de entrada de datos (DBI, n bits)

Bus de salida de datos (DBO, n bits)

Dirección

Contenido

0

3745

1

2356

2

3725

3

4832

4

2437

5

4326

. . .

. . .

255

3456

Bus de dirección (AB, m bits)

22/02/2011

Ejemplo: Tenemos un ordenador con 32 bits en el bus de direcciones y 16 bits en el bus de datos. Indicar el Tecnología y Organización de Computadoras tamaño máximo de memoria

(*) 34


Líneas de entrada/salida de memoria • Buses: – Bus de direcciones: m bits  2m direcciones – Bus de datos • Entrada de datos: n bits • Salida de datos: n bits

• Señales de control: – IO/M’  entrada-salida / memoria – R/W’  leer /escribir – MFC (Memory Function Completed)

R/W’ = 0

IO/M’ = 0

IO/M’ = 1

M Procesador

OP  Procesador

22/02/2011 y Organización Procesador  MTecnología Procesador  IP de Computadoras R/W’ =1

35


2.2. Memoria interna: prestaciones • Tiempo de acceso a memoria (ta) o latencia: tiempo que transcurre desde el instante en que se presenta una dirección a la memoria y el instante en el que el dato queda memorizado o está disponible para ser usado. • Ancho de banda (AB): número máximo de bytes que se pueden transmitir por segundo entre la memoria y el procesador. – Este parámetro no sólo depende del tiempo de acceso a memoria, si no también del número de bytes a los que se puede acceder en paralelo y de la capacidad de transferencia del bus de interconexión entre memoria y procesador.

22/02/2011

Tecnología y Organización de Computadoras

36


Jerarquía de Memoria. Caché • Velocidad del procesador  ciclo de reloj del procesador del orden de décimas de ns • Velocidad de la memoria principal  del orden de decenas de nanosegundo (ta del orden 20 veces más lenta que el procesador) • CONSECUENCIA: – El procesador se ve frenado cuando tienen que captar o escribir una palabra de memoria.

• Reducción del problema: memoria caché que es un sistema de almacenamiento de tecnología más rápida, intermedia entre la memoria principal y el procesador.

(*) 22/02/2011

Tecnología y Organización de Computadoras

37


Caché •

Reducción del problema: memoria caché que es un sistema de almacenamiento de tecnología más rápida, intermedia entre la memoria principal y el procesador. – Se suele implementar con circuitos SRAM: – Tecnología una 10 veces más rápida que la usada para la memoria principal (DRAM), Más cara, de mayor consumo de energía eléctrica, y con la que se obtiene una menor miniaturización. La memoria caché es usada por el sistema de memoria para mantener la información más comúnmente usada por el procesador. La memoria caché (y la memoria virtual) se fundamenta en el concepto de localidad de las referencias: – principio denominado de localidad espacial) – principio de localidad temporal

22/02/2011

Procesador Transferencia de palabras

Caché Transferencia de Bloques (línea de caché)

Memoria principal

Tecnología y Organización de Computadoras

(*) 38


• Cuando el procesador requiere una información determinada: – Se recupera no sólo el dato o instrucción requerida sino también los de direcciones próximas a él (consideración espacial). Bloque de datos. – Se almacena temporalmente el bloque de datos recuperado, en un subsistema con tiempo de acceso lo más próximo posible al del procesador (consideración temporal).

22/02/2011

Tecnología y Organización de Computadoras

39


D / 40

• El procesador genera peticiones de acceso a memoria (lectura o escritura) proporcionando direcciones de posiciones de memoria. • El controlador de la caché comprueba si su contenido está o no en la caché; – Si lo está: • Se produce un acierto en la caché y se realiza la lectura o escritura en la caché. – Si no lo está: • Se produce un fallo en la caché, y como consecuencia de ello – Se carga en la caché un bloque de datos (línea de caché, 64 bytes, por ejemplo) que contiene la instrucción o dato solicitado – Se pasa el dato o instrucción solicitado al procesador.

• Una vez que un bloque de datos se lleva a la caché, se deja allí el mayor tiempo posible.


Jerarquía de memoria • Considerando globalmente la forma de almacenamiento de información de un computador, se puede establecer una jerarquía de memoria a considerar bajo cuatro puntos de vista: – a) tamaño o capacidad, s, de almacenamiento suficiente, – b) tiempo de acceso, t, lo menor posible, – c) ancho de banda, b, alto y – d) coste por bit, c, reducido.

22/02/2011

Tecnología y Organización de Computadoras

41


Jerarquía de memoria

Precio Tiempo de acceso

• Se verifica: si < si+1; ti < ti+1; bi > bi+1; ci > ci+1

Nivel 0

Registros de la CPU

Nivel 1

Caché (SRAM)

Nivel 2

Nivel 3

Nivel 4

Memoria principal (DRAM)

Discos magnéticos

Cintas magnéticas (DAT, etc.) CAPACIDAD

22/02/2011

Tecnología y Organización de Computadoras

42


Jerarquía de memoria • En general – cuando se solicita el contenido de una dirección de memoria en un determinado nivel y se encuentra allí se dice que se ha producido un acierto, – si no es así, se ha producido un fallo.

• Por lo general, se satisface la propiedad de inclusión  la información en un determinado nivel se encuentra replicada en niveles inferiores. • Cuando se produce un fallo en un determinado nivel, se copia el bloque de datos del nivel inmediatamente inferior, dentro del cual se encuentre la información solicitada – Bloque entre memoria principal y caché: línea – Bloque ente disco y memoria principal: página.

22/02/2011

Tecnología y Organización de Computadoras

43


Jerarquía de memoria • Sistemas de escritura inmediata – en las operaciones de escritura se copian los datos en todos los niveles de la jerarquía donde se encuentran.

• Sistemas de postescritura, – inicialmente sólo se modifican los datos en el nivel superior. En este caso, cada bloque mantiene un bit de modificación (bm) que se hace cero en el momento de cargarse el bloque en un nivel, y se hace uno caso de que el procesador escriba en él.

• Cuando un nivel esta lleno, para introducir un nuevo bloque se utiliza un algoritmo de reemplazo que decide el bloque de datos a desalojar – Si el bit de modificación del bloque a desalojar sea cero, puede sobrescribirse sin más, si, por el contrario – Si el bit de modificación es uno, antes de alojar el nuevo bloque hay que actualizar la copia del antiguo existente en el nivel inmediatamente inferior. 22/02/2011

Tecnología y Organización de Computadoras

44


Jerarquía de memoria • Tasa de aciertos, ζaciertos,i ,de un determinado nivel i es el cociente entre el nº de accesos realizados con éxito y el nº total de accesos a ese nivel; • Tasa de fallos, ζfallos,i, de un determinado nivel i es el cociente entre el número de accesos realizados sin éxito y el número total de accesos a ese nivel. Conociendo el tiempo de acceso de cada sistema de memorización en cada nivel, podemos obtener el tiempo medio de acceso a un nivel i con la siguiente expresión:

ta,i = (ζaciertos,i · ti) + (ζfallos,i · ti+1) ti

representa el tiempo de almacenamiento del nivel i.

22/02/2011

acceso

del

sistema

Tecnología y Organización de Computadoras

de

45


Jerarquía de memoria •

Ejemplo – El sistema de memoria de un computador contiene una caché con tiempo de acceso de 4 ns, una memoria principal con tiempo de acceso de 80 ns, y una unidad de disco donde se gestiona la memoria virtual con tiempo de acceso de 12 ms. Después de analizar el comportamiento de la memoria se concluye que los porcentajes de aciertos en la caché es del 80% y en la memoria principal del 99,5 %. Obtener los tiempos medios de acceso efectivo de caché y de memoria principal.

22/02/2011

Tecnología y Organización de Computadoras

46


2.2. La Memoria. Memoria Externa DISPOSITIVOS DE MEMORIA EXTERNA 1 Lectura y grabación magnética 2 Discos magnéticos 3 Cintas magnéticas 4 Discos ópticos 5 Discos magneto-ópticos 6 Memoria flash USB

22/02/2011

Tecnología y Organización de Computadoras

47


2.2. La memoria • Memoria masiva auxiliar, secundaria o externa. – Dispositivos tales como discos y cintas magnéticas y ópticas. – Más capaz que la memoria principal (del orden de 100 a 1.000 veces mayor). – Más lenta que la memoria principal (del orden de 10.000 a 100.000 veces menor). – Es permanente. – La información guardada en un disco o cinta permanece indefinidamente hasta que el usuario expresamente la borre.

(*) 22/02/2011

Tecnología y Organización de Computadoras

48


Memoria externa: Introducción •

Son aquellos periféricos que sirven para almacenamiento y recuperación de la información de forma automática y eficiente. La memoria principal (chips) es muy rápida (tacceso≈20ns), pero es relativamente poco capaz (≈ 4 GBytes), cara (0,12 €/MByte)* y volátil. Los dispositivos de memoria masiva (discos magnéticos, por ejemplo) son más lentos (tacceso≈15ms), pero de mayor capacidad (≈ 1,2 TByte), más barata (0,0004 €/MByte)*, y permanente Cintas magnéticas (1 TB) (0,0000354 €/MB)

* Datos de Enero 2007, Ver: http://www.pc-online.net

22/02/2011

Tecnología y Organización de Computadoras

49


MEMORIA EXTERNA: Clasificación

• Dispositivos magnéticos: – – –

Tambor (dispositivos obsoletos) Disco magnético Cinta magnética

iniciales,

pero

hoy

• Dispositivos ópticos: – –

Disco compacto (CD) Disco digital versátil (DVD)

• Disco magneto-óptico (MO) • Memorias flash USB (*) 22/02/2011

Tecnología y Organización de Computadoras

50


Discos magnéticos • Los discos magnéticos son el principal soporte utilizado como memoria masiva. • Son de acceso directo, y se puede escribir/leer con tiempos de acceso menores que cualquier otro periférico (del orden de 10 a 100 ms). • El substrato de la superficie magnetizable es un plato rígido, usualmente de aluminio o cristal (caso de los discos duros).

22/02/2011

Tecnología y Organización de Computadoras

51


Discos magnéticos • La información se graba en circunferencias concéntricas. Cada una de ellas es una pista. • El disco (y cada pista) se considera dividido en arcos iguales denominados sectores. Los sectores de las pistas más exteriores son de mayor longitud que las interiores.

Sector 7 Pista 0

Sector 1

Pista 8

Sector 2

Sector 4

22/02/2011

Sector 0

Tecnología y Organización de Computadoras

Sector 3

52


Ejemplo de formato de sector Nº Bytes 17

1

2

1

1

2

41

512

20

Nº Nº CRC GAP-2 Campo de datos GAP-3 GAP-1 Byte Nº sincr. pista cabezasector

Campo de identificación de sector

GAP: zona de separación, sin grabar CRC: código detector de errores 22/02/2011

Tecnología y Organización de Computadoras

53


Discos magnéticos • El direccionamiento para leer o grabar un sector del disco se efectúa dando al periférico: nº de unidad, nº de superficie, nº de pista, nº de sector. • El brazo sitúa rápidamente la cápsula encima de la pista correspondiente y espera a que el sector en cuestión se posicione (como consecuencia del giro del plato) bajo la cápsula.

Plato Giro

Brazo con cabeza

movimiento Pistas 22/02/2011

Tecnología y Organización de Computadoras

(*) 54


Tiempo de acceso •

En el acceso (lectura o escritura) de un bloque de información de capacidad C hay que considerar tres operaciones: – Búsqueda de la pista (tiempo de búsqueda, Tb). Depende del tiempo de arranque del motor( T0 ) y tiempo en atravesar las (np )pistas hasta llegar a la pista direccionada.

Tb = T0 + n p ⋅ t p

– Espera al sector o latencia rotacional (tiempo de espera, Te ). Depende de la velocidad de rotación del disco (ω ωr) (revoluciones/segundo) y de la posición del sector al que se accede. Se toma el tiempo que tarda en realizar media rotación.

Te =

1 segundos 2 ⋅ωr

– Tiempo de lectura/escritura de los C bytes. Donde Cp es la capacidad de la pista.

C C Tt = = segundos vt C p ·ω r

22/02/2011

Tecnología y Organización de Computadoras

(*) 55


Discos magnéticos: tiempo de acceso  Tiempo de acceso, Ta : tiempo que tarda la unidad en posicionarse al inicio del sector al que se quiere acceder:

Ta = Tb + Te  Tiempo total de acceso y lectura/escritura:

Tc = Tb + Te + Tt 22/02/2011

Tecnología y Organización de Computadoras

56


Discos magnéticos: tipos • Cilindro: conjunto de pistas de una misma posición radial • La velocidad de lectura/escritura mucho mayor= ns·Tt (ns: nº de superficies grabadas) pistas

Cilindro 3

cabezas

4 platos

peine

movimiento

22/02/2011

Tecnología y Organización de Computadoras

57


Discos magnéticos: Winchester

Platos • Ejemplo:

Peine

– IBM Ultrastar 36ZX • 36 GB, • 10 platos • giro a 10.800 rpm

22/02/2011

Tecnología y Organización de Computadoras

58


Discos ópticos: contenidos Discos ópticos

• •

22/02/2011

Discos compactos Disco digital versátil (DVD)

Tecnología y Organización de Computadoras

59


Discos ópticos • Dispositivos para almacenamiento masivo de información, cuya lectura se efectúa por medios ópticos. Tipos: – CD (“Compact Disk”) Disco Compacto: • CD-ROM (Read-Only, o sólo lectura) • CD-R (grabable) o CD- WORM (“Write Once, Read Many Times”) • CD-RW (regrabable) o CD-WMRA (“Write Many, Read Allways”) – DVD (“Digital Versatil Disk”) Disco Digital Versátil Zona de grabación

12 cm

1

3

22/02/2011

2

4

1. Etiqueta 2. Capa protectora 3. Alumnio brillante (superficie de grabación) 4. Base de policarbonato transparente

Tecnología y Organización de Computadoras

60


Discos ópticos: características •

alta capacidad de almacenamiento, típicamente 650 MB en los CD-ROM y 1 GB en los videodiscos; es decir, en este último caso equivalente a unos 710 disquetes de 1.44 MB;

el precio por bit el más bajo de todos los dispositivos de memoria masiva: del orden de 0,5/650 € por MB;

soportes de grabación (los discos) intercambiables (como los disquetes), y de 5 a 10 veces más lentos que los discos magnéticos;

degradación o pérdida de información prácticamente nula, ya que no se produce desgastes por lectura, y no necesitan altos requisitos en la limpieza de sus superficies externas.

22/02/2011

Tecnología y Organización de Computadoras

61


Discos 贸pticos: fundamentos CD-ROM valle

hoyo

informaci贸n bobina de enfoque

Policarbonato transparente

objetivo

Aluminio colimador . 1 mm haz laser

fotodetector

diodo laser

(a)

22/02/2011

(b)

Tecnolog铆a y Organizaci贸n de Computadoras

62


Formato físico de grabación • • •

En las transiciones de valle-pozo, o de pozo-valle, no se detecta luz reflejada (esto es un “1” lógico) En los valles o en los pozos el haz láser se refleja perpendicularmente, detectándose un pulso de luz (esto es un “0” lógico). Cada 0.3µm de longitud del hoyo o del plano, en la pista, corresponde a un 0. La información se graba en espiral (5.6 Km), y se lee a velocidad linear constante (CLV) ⇒ la densidad de grabación es cte., pero la velocidad de rotación depende de la pista (530 a 200 rpm) Byte

0 0 0 1 0 0 1 0 0 0 0 0 0 01 0 0 0 0 0 0 1 0 0 0 0 0 01 0 0 1 0 0 1 0 0 0

Como la longitud física mínima físicamente para los hoyos y canales es de 0.6µm, 2 "unos" consecutivos deben estar separados al menos por 2 "ceros". La serie máxima es de 11 ceros (33.3µm/0.3µm= 11). Como consecuencia, cada byte (8 bits) es codificado con 14 bits de canal. Parte de la codificación EFM de 8 a 14: 22/02/2011

0000 0000 0000 0001 0000 0010 0000 0011 0000 0100 0000 0101 0000 0110 0000 0111 0000 1000 0000 1001 0000 1011 etc.

Tecnología y Organización de Computadoras

Bits de canal 01 0010 0010 10 0001 0000 10 0100 0010 10 0010 0010 01 0001 0000 00 0001 0001 00 0100 0010 00 1001 0000 01 0010 0100 10 0000 0100 10 0100 0100 etc.

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

63


La información se organiza en bloques (sectores) de 2.352B: • 12 bytes de sincronización: – 1 byte de ceros, 00H – 10 bytes de unos, FFH – 1 byte de ceros, 00H – 4 bytes de identificación (ID): min., según., bloque, modo • 2048 bytes de datos del usuario

00 10 x FF

00

• 288 bytes de detección y corrección de errores: – 4 bytes de detección de errores (EDC) – 8 bytes todo ceros, 00H – 276 bytes de corrección de errores (ECC).

Datos

ECC

12 Bytes

4 Bytes

2048 Bytes

288 Bytes

Sincro

ID

Datos

ECC

1 Sector = 2.352 Bytes

22/02/2011

Tecnología y Organización de Computadoras

64


Discos ópticos: DVD •

Se proyectaron como sustitutos a las cintas de vídeo analógicas (VHS): (Inicialmente DVD= “Digital Video Disk”).

Comparación con tecnología CD: – Pozos más pequeños (0.4 µm en lugar de 0.8 µm) – Espiral más pequeña (0.74 µm en lugar de 1.6 µm) – Longitud de onda del láser menor (0.65 µm en lugar de 0.78 µm) – Se pueden superponer dos capas, la primera de ellas semitransparente. El láser se enfoca a una capa u otra, dependiendo de la capa donde se desea que se refleje (se desee leer) 22/02/2011

Tecnología y Organización de Computadoras

65


Discos ópticos: Fundamento físico DVD Láser S1 Reflector semitransparente substrato de policarbonato S1 (transparente) Superficie 1 (0.6 mm)

Reflector de aluminio

capa semitransparente S1

adhesivo Superficie 2 (0.6 mm)

capa semitransparente S2 substrato de policarbonato S2 (transparente) Reflector semitransparente

Reflector de aluminio

Láser S2 22/02/2011

Tecnología y Organización de Computadoras

66


D / 67

Discos ópticos: Blu-Ray • Blu-Ray es un disco óptico de nueva generación de 12 cm que puede llegar a almacenar hasta 50 GB. • Mejoras respecto a un DVD: – La densidad de grabación es mayor que en un DVD al usar una longitud de onda menor – La capa protectora es más fina y el láser enfoca con más precisión (puntos más pequeños) – Utiliza sistemas de codificación de datos que permiten comprimir más información

• Soporta los formatos de compresión MPEG-2, MPEG-4 y VC-1 (compresión mejor que en DVD). • Soporta varios codecs de compresión de audio de última generación. • Incorpora hasta 5 sistemas anticopia. 22/02/2011

Tecnología y Organización de Computadoras

67


Circuitos integrados como memoria masiva •

Memorias flash: Los bloques suelen ser de 512 bytes a 56 KB. (En esencia las EEPROM son CI similares a las RAM. La diferencia está en que cada celda (transistor) contiene una capa de material conductor rodeada de material aislante (“puerta flotante”). En ella se pueden inyectar electrones que se quedan atrapados indefinidamente (manteniendo un cero o un uno). Aunque se desconecte la alimentación. Durante la grabación se cargan o descargan de electrones las puertas flotantes de cada celda (dependiendo de la si se escribe un 0 o un 1). Metalización (control) Puerta flotante

Aislante

n+

n+ Substrato (Semiconductor tipo p) Fuente

22/02/2011

Drenador Tecnología y Organización de Computadoras

68


Memoria masiva USB • Contiene varios chips de memoria flash, con un controlador y una interfaz USB. • Emula el comportamiento de un disco magnético: – Los bloques de la memoria se asocian a sectores de disco de 512 bytes, leyéndose y escribiéndose por bloques – El procesador central carga en los puertos del controlador la ubicación del fichero que se desea leer y su tamaño. El controlador se encarga de ir leyendo secuencialmente (por “sectores”) el fichero e ir transfiriendo los datos a la interfaz USB. – En la memoria flash se almacena un archivo que indica el contenido de la memoria en cuanto a directorios (carpetas) y archivos que tiene almacenados, así como la ubicación dentro de la memoria de los distintos archivos.

22/02/2011

Tecnología y Organización de Computadoras

69


Memoria flash USB • La salida de la interfaz USB transmite la información en serie. Dispone de 4 cables, uno de alimentación, otro de tierra (o línea de referencia común), y dos, donde van los datos, en forma balanceada (si se transmite un 1 con 2,5 V, en una línea van +2,5V y en la otra -2,5 V).

Ha sustituido a los disquetes y casi a CDs y DVDs •Volumen muy pequeño, 30 gramos, y, por ejemplo, uno de 4GB, contiene el equivalente a unos 6CDs •Capacidades: 64 GBs y aumentando •Noviembre 2010: 1GB, 6€ •Velocidad de lectura (USB 2.0): 9 MB/s •Velocidad de escritura (USB 2.0): 8 MB/s •Conectar y funcionar (“plug & play”)

22/02/2011

Tecnología y Organización de Computadoras

70


Circuitos integrados como memoria masiva • Esquema simplificado de una memorias flash USB: Alimentación

Conector USB CI de memoria Flash

Controlador

Interfaz

de memoria

USB

Oscilador de cristal Tierra (común)

1. 2. 3. 4. 5. 6. 7. 8.

Conector USB Controlador Conectores de test Chip Flash de 64 MB Oscilador de cristal de 12 GHz LED Microinterruptor (proteccion de datos) Espacio para otro chip de memoria

22/02/2011

Tecnología y Organización de Computadoras

71


Tema 2. Unidades funcionales de un computador CONTENIDOS: 2.1. El procesador 2.2. La memoria 2.3. Periféricos E/S 2.4. Estructuras básicas de interconexión

22/02/2011

Tecnología y Organización de Computadoras

72


Periféricos E/S. Definción Los dispositivos de E/S transforman la información externa en señales eléctricas codificadas permitiendo su transmisión, detección, interpretación, procesamiento y almacenamiento de forma automática. – Los dispositivos de entrada transforman la información externa según un código de E/S (ASCII, p.e.). Así el procesador/memoria reciben dicha información adecuadamente preparada (en binario). – En un dispositivo de salida (impresora, por ejemplo) se efectúa el proceso inverso: la información binaria que llega del procesador se transforma de acuerdo con el código de E/S en caracteres escritos inteligibles por el usuario.

(*) 22/02/2011

Tecnología y Organización de Computadoras

73


Definición, objetivos y tipos de periféricos Cada periférico suele estar formado por dos partes: – Mecánica: elementos electromecánicos (conmutadores, relés, motores, electroimanes, servomecanismos, etc.), controlados por la electrónica. La velocidad de funcionamiento y el tiempo entre averías suelen venir impuestos por la mecánica. – Electrónica o controlador del periférico: • interpreta las órdenes que le llegan de la CPU para la recepción o transmisión de datos, y • genera las señales de control para activar los elementos mecánicos del periférico que producen o captan los datos en el soporte de información correspondiente (pantalla, impresora, disco magnético...). • Suele incluir elementos opto-electrónicos que actúan como detectores o generadores de la información de entrada o salida, respectivamente. 22/02/2011

Tecnología y Organización de Computadoras

74


Definición, objetivos y tipos de periféricos Hay dos niveles en la realización de una Entrada/Salida: • Transferencias elementales de información. Sirven para la recepción o envío de una información individual (byte o palabra). Estas informaciones transmitidas por el sub-bus de datos pueden ser datos propiamente dichos o información de control para el periférico o la CPU. – Las transferencias elementales de información se realizan físicamente a través de registros denominados puertos (de entrada o salida), que se conectan directamente a uno de los buses del computador. Cada puerto tiene asociado una dirección o código (transmitido por el sub-bus de direcciones). El lenguaje máquina (la CPU) "ve" a un periférico como si fuese un puerto o conjunto de puertos (cada puerto es como una posición de la memoria principal).

22/02/2011

Tecnología y Organización de Computadoras

75


Definición, objetivos y tipos de periféricos • Operaciones de entrada/salida. Una operación de E/S consiste en la transferencia de un conjunto de datos (usualmente denominado bloque o registro físico) que constituye una línea del monitor de pantalla, o un cluster de un disco, o un bloque de una cinta magnética, por ejemplo. Las operaciones de E/S se componen, por lo tanto, de transferencias elementales que son monitorizadas por la CPU o por circuitos incluidos en el controlador DMA o el controlador del periférico. El periférico suele contener una memoria intermedia (buffer) para almacenar bloques de información, y así obtener un mayor rendimiento de la CPU.

22/02/2011

Tecnología y Organización de Computadoras

76


Periféricos de entrada • Teclado • Entradas manuales directas – Pantallas y paneles sensibles al tacto – Lápices óptico, electrostático y de presión – Ratones – Palancas para juegos (joystick) • Detectores ópticos – Detectores de marcas – Detectores de códigos de barras. – Digitalizadores – Escáneres de imágenes • Dispositivos de captura directa de datos magnetizados – Detectores de caracteres magnetizables – Lectores de bandas magnéticas

22/02/2011

Tecnología y Organización de Computadoras

77


Periféricos de salida • • • • • •

Visualizadores ("displays") Monitores Impresoras Periféricos multimedia (altavoces, LEDs, etc) Salidas industriales: conversor D/A digital- efector Registrador gráfico ("plotter")

Las medidas de parámetros suele hacerse en unidades anglosajonas: 1 pie = 12” = 30,48 cm; 1” = 2,54 cm

22/02/2011

Tecnología y Organización de Computadoras

78


Entradas/salidas de señales analógicas Interfaces industriales • Con frecuencia los computadores se usan para aplicaciones específicas que requieren utilizar datos de magnitudes físicas adquiridos directamente de un determinado entorno. • Los dispositivos que transforman señales físicas de diversa naturaleza (temperatura, presión, posición, etc.) en señales eléctricas, o viceversa, se denominan genéricamente transductores. Los transductores que generan señales eléctricas son conocidos como sensores o detectores. Los transductores que transforman una señal eléctrica en otra de distinta naturaleza se les denomina efectores o actuadores. Las señales eléctricas involucradas en estos procesos de transformación se denominan señales analógicas.

22/02/2011

Tecnología y Organización de Computadoras

79


Entradas/salidas de señales analógicas La mayor parte de las variables físicas de la naturaleza (temperatura, intensidad luminosa, posición, sonido, etc.) son señales o funciones que varían continuamente con el tiempo. Estas señales, con sensores o detectores, pueden convertirse en señales eléctricas analógicas. Existen sensores específicos para cada tipo de magnitud, así hay detectores de:

• • • • • • •

Temperatura (termistores, etc.) Presión Intensidad de luz (fotodetector, etc.) Humedad Humo Caudal de líquido Sonido (micrófono)

22/02/2011

• Nivel de agua • Posición lineal (potenciómetro lineal) • Posición angular (potenciometro circular) • Sensores de señales fisiológicas (en electroencefalografía, o electrocardiología, p. ej.), etc.

Tecnología y Organización de Computadoras

80


Entradas/salidas de señales analógicas • Una vez convertida la señal original en señal eléctrica es necesario transformarla en datos aptos para ser tratados por la computadora, o en otras palabras, ser transformada en datos numéricos binarios según el código que utilice la computadora. Esto se hace con unos circuitos electrónicos específicos denominados conversores analógico/digital (A/D). • El conversor A/D capta muestras de la señal analógica de entrada y las mide o digitaliza, dando a su salida un conjunto de bits o número binario que representa el valor de la amplitud de la muestra captada.

Sensor

22/02/2011

A

Conversor A/D

Interfaz

Tecnología y Organización de Computadoras

Al ordenador

81


Entradas/salidas de señales analógicas Señal analógica y muestreo: Palabra “mano” t = n · 0.125 µs

Tramo de la señal anterior, comprendido entre n=150 y n=300. Muestreada a Fs= 8KHz 22/02/2011

Tecnología y Organización de Computadoras

82


Entradas/salidas de señales analógicas • Sistema de adquisición de datos analógicos, en este caso de 16 canales de entrada. Después de los sensores se incluyen unos amplificadores o adaptadores (A) para acoplar las señales analógicas a los rangos de amplitud que requiere el multiplexor analógico. Las señales de control pueden generarse por circuitos especializados incluidos en el periférico (en el sistema de adquisición de datos) o en la propia CPU del sistemas, controlandose la generación de las mismas por programa (por software). La conexión con la computadora central se efectúa como un periférico normal.

22/02/2011

Tecnología y Organización de Computadoras

83


Entradas/salidas de señales analógicas • Existen también computadoras, por ejemplo para control industrial o automatismos, cuya salida debe actuar sobre un sistema o dispositivo controlable por una señal eléctrica analógica. Esta señal actúa sobre un transductor-efector generándose así una señal no eléctrica: el cierre de un contacto eléctrico (relé) de gran potencia (para encender unas lámparas o un horno, por ejemplo), o provocar un movimiento determinado excitando un motor (brazo de un robot, o torreta de una máquina herramienta, por ejemplo), abrir una válvula de una conducción de fluido, etc.

22/02/2011

Tecnología y Organización de Computadoras

84


Entradas/salidas de señales analógicas Los dispositivos físicos más utilizados, controlables por señales eléctricas, son: – Contactos electromecánicos o relés. – Motores (de pasos, etc.) – Lámparas – Electroválvulas. Abren o cierran una conducción de fluido. – Servomotores. Provocan el giro de un eje. – Altavoz. Origina la emisión de un sonido. La conversión eléctrica de un dato binario en una señal analógica se efectúa en un circuito denominado conversor digital/analógico (D/A).

22/02/2011

Tecnología y Organización de Computadoras

85


Tema 2. Unidades funcionales de un computador CONTENIDOS: 2.1. El procesador 2.2. La memoria 2.3. Periféricos E/S 2.4. Estructuras básicas de interconexión

22/02/2011

Tecnología y Organización de Computadoras

86


2.4 Estructuras básicas de interconexión • Ejemplo: PC DIVAY INTEL I7-920c: – – – – –

Procesador Intel Core I7-920 Memoria RAM DDR3 SDRAM 6GB Disco Duro 1TB ( 1.000GB ) Unidad Óptica Regrabadora de DVD Gráfica XFX Nvidia GTS250

22/02/2011

Tecnología y Organización de Computadoras

87


2.4 Estructuras básicas de interconexión • Todos estos componentes tienen que “comunicarse” de alguna forma. • Esto se hace mediante una tarjeta con circuitos integrados denominada “placa base” (motherboard) que contiene todas las ranuras para insertar los distintos elementos y las uniones para que se puedan comunicar. • Nuestro PC ejemplo lleva la placa Intel® Desktop Board DX58SO

22/02/2011

Tecnología y Organización de Computadoras

88


2.4 Estructuras básicas de interconexión • Placa base Intel® Desktop Board DX58SO

22/02/2011

Tecnología y Organización de Computadoras

89


• Esquema de la placa base: Interfaz ProcesadorTarjeta gráfica Conexión ProcesadorMemoria RAM Interfaz DMI-E/S

Conexiones PeriféricosChipset E/S

22/02/2011

Tecnología y Organización de Computadoras

90


2.4 Estructuras básicas de interconexión • ¿Cómo se conecta todo? – Los dispositivos trabajan a distintas velocidades – Hay dispositivos muy diferentes (procesador, memoria, periféricos) – Puede haber comunicaciones simultáneas por parte de distintos dispositivos (conflictos) – Mucho trabajo para el procesador

• Hay distintas soluciones (*) 22/02/2011

Tecnología y Organización de Computadoras

91


2.4 Estructuras básicas de interconexión • Soluciones: – – – –

Buses específicos Memorias intermedias (buffer) Controladores de E/S Controlador de Acceso Directo a Memoria (DMA)

(*) 22/02/2011

Tecnología y Organización de Computadoras

92


2.4 Estructuras básicas de interconexión BUSES • Los distintos elementos de un computador se interconectan por medio de buses (conjunto de hilos conductores en paralelo). • Los buses transportan diferentes tipos de señales: • Datos e instrucciones, muchas veces de forma bidireccional. • Direcciones de memoria o de un periférico. • Señales de control y de estado: señales de interrupción, que indican la dirección de la transferencia de datos, que coordinan la temporización de eventos, etc. 22/02/2011

Tecnología y Organización de Computadoras

93


2.4 Estructuras básicas de interconexión • Podríamos conectar todo mediante un solo bus, el bus del sistema: Memoria

Periférico 0

CPU

Periférico 1

Bus del sistema CPU

Memoria

Periférico 0

Periférico 1

Bus del sistema

22/02/2011

Tecnología y Organización de Computadoras

94


2.4 Estructuras básicas de interconexión • Para solucionar los problemas debidos a las diferencias de velocidad de las distintas unidades conectadas a un bus: – Se utilizan distintos tipos de buses, pudiéndose así realizar transmisiones simultáneamente entre distintos elementos a través de buses diferentes. – Se establezca una jerarquía de buses, en función fundamentalmente de la velocidad. – Cuando la velocidad de transferencia a un periférico no es elevada se utilice una conexión serie (transmisión bit a bit) y cuando no sea así se utilice una conexión paralelo (varios hilos conductores que transmiten simultáneamente 8, 16, 32, 64 ó 128 bits). 22/02/2011

Tecnología y Organización de Computadoras

95


2.4 Estructuras básicas de interconexión • Buses de E/S: Per. 00

Per.01 ....

Per.0n

Per. 10

Controlador de E/S CPU

Cache

Per.1n

Controlador de E/S

Canal 0

Memoria Principal

Per.11 ....

Canal 1 Bus de E/S

Adaptador bus

Bus del sistema

(*) 22/02/2011

Tecnología y Organización de Computadoras

96


2.4 Estructuras básicas de interconexión • Jerarquía tradicional de buses en un computador: – Buses internos a los circuitos integrados. – Bus delantero: une el procesador con la memoria y el chipset. – Buses locales para interconexión de elementos de una PCB. – Bus del panel posterior: conexión entre las PCB dentro de un mismo chasis – Buses de expansión, para interconexión de subsistemas – Buses de entrada/salida, para periféricos serie o paralelo.

22/02/2011

Tecnología y Organización de Computadoras

97


2.4 Estructuras básicas de interconexión • Memoria intermedia o buffer: – Almacena la información durante la transferencia. – Por ejemplo, el procesador carga el buffer y pasa a hacer otra cosa, mientras un periférico va cogiendo información de ese buffer a su ritmo.

22/02/2011

Tecnología y Organización de Computadoras

98


2.4 Estructuras básicas de interconexión • Controlador de E/S: – es un procesador con un buffer que está especializado en controlar operaciones de transferencia de datos entre los periféricos conectados a él y el procesador. – El procesador controla al controlador de E/S. – Ejemplo: Bus único con memoria caché y controladores de E/S. Per. 00

CPU Memoria

Cache

Principal

Per.01 ....

Per.0n

Controlador de E/S

Per. 10

Per.11 ....

Controlador de E/S

Canal 0

Canal 1

Bus del sistema

22/02/2011

Per.1n

Tecnología y Organización de Computadoras

(*) 99


2.4 Estructuras básicas de interconexión • Controlador para Acceso Directo a Memoria (DMA): es un procesador que permite transferir datos entre memoria y un periférico mientras el procesador hace otras tareas. Per. 00

Per.01 ....

Per.0n

Per. 10

Controlador de E/S

Per.11 ....

Controlador de E/S

Canal 0

Canal 1

CPU

Cache

Per.1n

Bus de E/S

DMA DMA

Memoria Principal

Bus del sistema

22/02/2011

Tecnología y Organización de Computadoras

(*) 100


2.4 Estructuras básicas de interconexión Memoria RAM

Procesador

Tarjeta gráfica

Bus CPU

Bus gráficos AGP ó PCI

Bus memoria

DMA

Conectores PCI

Bus interno Bus ATA

Bus PCI

Controlador E/S

Bus USB

Bus FIREWIRE

FIREWIRE BIOS

22/02/2011

SATA ó IDE USB

Bus LPC

E/S serie, paralelo

Tecnología y Organización de Computadoras

101


2.4 Estructuras básicas de interconexión • Los computadores actuales llevan en la placa uno o dos chipset. • Un chipset es un conjunto de circuitos integrados con la misma arquitectura del procesador y que sirven de puente entre éste y la memoria y las E/S. • Suele haber dos: – Puente Norte: sirve de enlace entre Procesador y memoria. Controla el acceso entre éste, la memoria y la tarjeta gráfica (AGP ó PCI Express). – Puente Sur: comunica el procesador con el resto de periféricos (IDE, USB, SATA, PCI, LAN, etc.)

22/02/2011

Tecnología y Organización de Computadoras

102


2.4 Estructuras básicas de interconexión UNIDAD

BUS

RANURA

Procesador

Bus procesador

Socket Procesador

Chipset Procesador-Memoria-E/S

Socket DMA

Memoria RAM

Bus de memoria

DIMM

Tarjeta gráfica

Bus para gráficos

AGP ó PCI Express

Chipset E/S

Socket E/S

RAID, Red, Audio, TV…

Bus PCI

Conectores PCI

Discos duros, unidades CD ó DVD

Bus ATA ó IDE

SATA ó IDE

Teclado, ratón, impresora, escáner,…

Bus USB

USB

Dispositivos digitales

Bus IEEE 1394

Firewire

Otros Periféricos (ratón, teclado,…)

Bus LPC

Serie, Paralelo

Memoria ROM (BIOS) 22/02/2011

Tecnología y Organización de Computadoras

103


Bus ProcesadorMemoria Procesador

Tarjeta gráfica PCI Express

Chipset ProcesadorGráficos-E/S

Chipset Controlador E/S USB

Audio

PCI

SATA

Red BIOS y Conexiones Serie-Paralelo

22/02/2011

Tecnología y Organización de Computadoras

104


Red Tarjeta gráfica PCI Express

USB SATA SATA PCI

Chipset ProcesadorGráficos-E/S

Chipset Controlador E/S Procesador

Audio

Memoria RAM

FIREWIRE Conexiones Serie/Paralelo

22/02/2011

Tecnología y Organización de Computadoras

105


FIN PREGUNTAS


CAPÍTULO 3 REPRESENTACIÓN DE LA INFORMACIÓN EN LOS COMPUTADORES TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES 1º Grado en Ingeniería Informática.


Tema 3. Representación de la información en los computadores RESUMEN: – En este tema se analizan los aspectos relacionados con la representación de la información en el interior de los computadores. – Se consideran la representación de textos, de sonidos, de imágenes y de valores numéricos. – Para poder comprender esta representación, es necesario conocer previamente los sistemas de numeración desde el punto de vista de su aplicación en informática. OBJETIVOS: – Conocer las distintas formas básicas de representación de la información en un computador.

23/03/2011

Tecnología y Organización de Computadoras

2


Tema 3. Representación de la información en los computadores. CONTENIDOS: 3.0.Introducción 3.1.Representación 3.2.Representación 3.3.Representación 3.4.Representación 3.5.Representación

de de de de de

textos sonidos imágenes video datos numéricos

BIBLIOGRAFÍA: [PRI05]: Capítulo 2 (excepto Redondeos y algoritmos de compresión) [PRI06]: Capítulo 4 (excepto Redondeos y algoritmos de compresión)

23/03/2011

Tecnología y Organización de Computadoras

3


Introducción • Un computador es una máquina que procesa, memoriza y transmite información. • La información se representa en el interior de la máquina de acuerdo con un código binario. • La información se utiliza principalmente bajo las formas de: – Textos – Sonidos – Imágenes – Valores numéricos 23/03/2011

Tecnología y Organización de Computadoras

4


Introducción • Los sistemas que combinan textos, imágenes, sonidos y vídeo se denominan sistemas multimedia. • En este capítulo vamos a estudiar cómo se representa la información de cada una de estas formas. • Las aplicaciones multimedia se suelen almacenar en ficheros o enviarse por un canal de comunicación (streaming), con lo que – el volumen requerido en disco puede ser muy elevado – el tiempo de transmisión por red excesivo 23/03/2011

Tecnología y Organización de Computadoras

5


Introducción • Solución: compresión de datos – El archivo, antes de ser almacenado o transmitido se comprime mediante un algoritmo de compresión, y – cuando se recupera para procesarlo o visualizarlo se aplica la técnica inversa para descomprimirlo.

• Tipos: – Compresión sin perdidas – Compresión con perdidas (codificación perceptual)

23/03/2011

Tecnología y Organización de Computadoras

6


Introducción ¿Qué quiere decir una compresión de 3:1? (fc:1) Esta expresión indica que la capacidad antes (Ca) es 3 veces la de después de comprimirlo (Cd). factor de compresión  •

fC =

Ca Cd

Otra forma de representar la compresión es mediante el porcentaje de compresión:

 Cd   1  ·100 % = 1 −  ·100 % porcentaje de compresión  pC = 1 − fC   Ca   Sólo para estos dos conceptos, seguir lo indicado en esta transparencia, independientemente de lo indicado en [PRI05] o [PRI06].

NOTA:

23/03/2011

Tecnología y Organización de Computadoras

7


Introducción • Un CODEC (COmprime ó COdifica/DEsComprime ó DECodifica): es software, hardware o mezcla de ambos que codifica en binario las muestras de la señal según el formato del fichero de salida y aplica un algoritmo de compresión (si es el caso), y a la inversa. • Parámetros que caracterizan un CODEC: – Número de canales: una o más señales de audio simultáneamente: "mono" (un canal), "estéreo" (dos canales) o multicanal. – Frecuencia de muestreo – Número de bits por muestra: Determina la precisión con la que se reproduce la señal original y el rango dinámico de la misma. – Algoritmo de compresión (si hay compresión) 23/03/2011

Tecnología y Organización de Computadoras

8


Tema 3. Representación de la información en los computadores

CONTENIDOS: 3.1.Representación 3.2.Representación 3.3.Representación 3.4.Representación 3.5.Representación

23/03/2011

de de de de de

textos sonidos imágenes video datos numéricos

Tecnología y Organización de Computadoras

9


3.1.Representación de textos • La información se suele introducir en el computador utilizando el lenguaje escrito: – Caracteres alfabéticos: letras mayúsculas y minúsculas del abecedario inglés {A, B, C, D, E,..., X ,Y, Z, a, b, c, d,..., x, y, z} – Caracteres numéricos: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} – Caracteres especiales: símbolos no incluidos en los grupos anteriores. Por ejemplo: { ) ( , * / ; : + Ñ ñ = ! ? . " & > # < ] Ç [ SP } 23/03/2011

Tecnología y Organización de Computadoras

10


3.1.Representación de textos – Caracteres geométricos y gráficos: símbolos o módulos con los que se pueden representar figuras (o iconos). Por ejemplo: ♣ ♦ ♥ ♠ α β ⌠  ⌡   ∑ – Caracteres de control: representan órdenes de control, como: • Salto de línea, • sincronización de una transmisión, • pitido en un terminal, etc.

Muchos de los caracteres de control son generados e insertados por el propio ordenador.

23/03/2011

Tecnología y Organización de Computadoras

11


3.1.Representación de textos • En el ordenador toda la información se almacena en forma de 0s y 1s, así que hay que traducir ó codificar ó establecer una correspondencia entre los dos conjuntos: α≡{A,B,C,D,...,Z,a,b,...,z,0,1,2,3,...,9,/,+,(,),...} → ß≡ {O,1}n

de forma tal que a cada elemento de α le corresponda un elemento distinto de ß.

23/03/2011

Tecnología y Organización de Computadoras

12


3.1.Representación de textos • Si tenemos que codificar o traducir un conjunto de m símbolos (α) ¿cuántos bits, n, necesitaremos? • El número mínimo de bits, n, dependerá del número de elementos, m, a codificar. – Con n=2 bits se pueden hacer 22=4 combinaciones  se pueden codificar hasta m=4 símbolos. – Con n=3 bits podemos hacer 23=8 combinaciones  se pueden codificar hasta m=8 símbolos. – Con n bits podemos hacer 2n combinaciones  se pueden codificar hasta m=2n símbolos. • Es decir: m ≤ 2n ó n ≥ log2(m)= 3.32 log(m) 23/03/2011

Tecnología y Organización de Computadoras

13


3.1.Representación de textos • Los códigos que llevan a cabo esta codificación se denominan códigos de E/S o códigos externos o códigos-texto, y pueden definirse de forma arbitraria. • No obstante, existen códigos de E/S normalizados que son utilizados por diferentes constructores de computadores. Por ejemplo: BCD de intercambio normalizado, Fieldata, EBCDIC, ASCII, etc.

23/03/2011

Tecnología y Organización de Computadoras

14


3.1.Representación de textos • Ejemplos de códigos normalizados: – – – –

CÓDIGO SBCD (6 bits  64 caracteres) CÓDIGO EBCDIC (8 bits  256 caracteres) CÓDIGO ASCII UNICODE

23/03/2011

Tecnología y Organización de Computadoras

15


3.1.Representación de textos • Código ASCII (American Information Interchange).

Standard

Code

for

– La mayor parte de las transmisiones de datos entre dispositivos se realizan en esta codificación. – Hay distintas versiones. – La versión ASCII ANSI-X3.4 (1968) utiliza 7 bits y ha sido de los más usuales. – Existen numerosas versiones ampliadas que utilizan 8 bits y respetan los códigos del ASCII básico.

23/03/2011

Tecnología y Organización de Computadoras

16


3.1.Representación de textos • ASCII (Ampliaciones) Denominación Latín-1 Latín-2 Latín-3 Latín-4 Alfabeto latín/cirílico Alfabeto latín/árabe Alfabeto latín/griego Alfabeto latín/hebraico Latín-5 Latín-6 Alfabeto Latín/Thai Latín-7 Latín-8 Latín-9 (alias Latín-0)

23/03/2011

Estándar ISO ISO ISO ISO ISO ISO ISO ISO ISO ISO ISO ISO ISO ISO

8859-1 8859-2 8859-3 8859-4 8859-5 8859-6 8859-7 8859-8 8859-9 8859-10 8859-11 8859-13 8859-14 8859-15

Área geográfica Oeste y Europa del este Europa central y del este Europa sur, maltés y esperanto Europa norte Lenguajes eslavos Lenguajes arábigos Griego moderno Hebreo y Yiddish Turco Nórdico (Sámi, Inuit e islandés) Lenguaje Thai Báltico Rim Céltico Latín 1 con ligeras modificaciones (símbolo €)

Tecnología y Organización de Computadoras

17


3.1.Representaci贸n de textos

ASCII (ISO 8859-1, Lat铆n 1)

G

G = 40 + 7 = 47)16 = 0100 0111)2 23/03/2011

Tecnolog铆a y Organizaci贸n de Computadoras

18


3.1.Representación de textos • Inconvenientes de los códigos anteriores (sobre todo con Internet): – Los símbolos codificados son insuficientes para representar los caracteres especiales que requieren numerosas aplicaciones. – Los símbolos y códigos añadidos en las versiones ampliadas a 8 bits no están normalizados. – Están basados en los caracteres latinos, existiendo otras culturas que utilizan otros símbolos muy distintos. – Los lenguajes escritos de diversas culturas orientales, como la china, japonesa y coreana se basan en la utilización de ideogramas o símbolos que representan palabras, frases o ideas completas, siendo, por tanto, inoperantes los códigos que sólo codifican letras individuales. 23/03/2011

Tecnología y Organización de Computadoras

19


3.1.Representación de textos • Unicode (ISO/IEC 10646) es propuesto por un consorcio de empresas y entidades que trata de hacer posible escribir aplicaciones que sean capaces de procesar texto de muy diversas culturas. Trata de conseguir: – Universalidad, trata de cubrir la mayoría de lenguajes escritos existentes en la actualidad, – Unicidad, a cada carácter se le asigna exactamente un único código y – Uniformidad, ya que todos los símbolos se representan con un número fijo de bits (16).

23/03/2011

Tecnología y Organización de Computadoras

20


3.1.Representación de textos Características: – Cada carácter se codifica con 16 bits⇒ ⇒216=65.356 símbolos – No se codifican los caracteres de control – Incluye caracteres combinados: ñ, ä, ç, etc. – No determina la forma o imagen concreta de cada carácter – Para evitar duplicidades, caracteres parecidos en distintos idiomas tienen igual posición en el código

23/03/2011

Tecnología y Organización de Computadoras

21


3.1.Representación de textos Asignación de códigos UNICODE ZONA

CÓDIGO

SÍMBOLO

Nº CARACT

0000

ASCII Latín-1 Caracteres latinos, griegos, cirílicos, armenios, hebreos, árabes, sirios, etc. Símbolos generales, caracteres fonéticos chinos, japoneses, coreanos

1681

A 3FFF I

4000 9FFF

Ideogramas

24576

O

A000 DFFF

Pendiente de asignación

16384

E000 R FFFF

23/03/2011

Caracteres locales y propios de los usuarios. Compatibilidad con otros códigos

Tecnología y Organización de Computadoras

8192

22


3.1.Representación de textos UNICODE (zona A): Rango Unicode 0000 a 007F 0080 a 00FF 0100 a 017F 0180 a 024F 0250 a 02AF 02BF a 02FF 0300 a 036F 0370 a 03FF 0400 a 04FF 0530 a 058F 0590 a 05FF 0600 a 06FF 0700 a 074F etc.

23/03/2011

Se corresponde con Latín Básico (00 a 7F), definidos en la norma ASCII ANSI-X3.4. Suplemento Latín-1 (ISO 8859-1) Ampliación A de Latín Ampliación B del Latín Ampliación del Alfabeto Fonético Internacional (IPA) Espaciado de letras modificadoras Combinación de marcas diacríticas (tilde, acento grave, etc.) Griego Cirílico Armenio Hebreo Árabe Sirio etc.

Tecnología y Organización de Computadoras

23


3.1.Representación de textos ZONAA: A:Otros LATÍN ZONA alfabetos ZONAR: A:Caracteres Símbolos generales ZONA loo cales 1


3.1.Representación de textos • DETECCIÓN DE ERRORES: – A veces, al codificar, se introducen redundancias (bits extras) de acuerdo con algún algoritmo predeterminado par que los códigos pueden ser verificados automáticamente. – Por ejemplo, en ASCII, se suele incluir un octavo bit de paridad. – Uno de estos algoritmos añade al código inicial de cada carácter un nuevo bit: el bit de paridad. Existen dos criterios para introducir este bit: • Bit de paridad, criterio par: se añade un bit (0 ó 1) de forma tal que el número total de unos de código que resulte sea par. • Bit de paridad, criterio impar: se añade un bit (0 ó 1) de forma tal que el número total de unos del código que resulte sea impar. 23/03/2011

Tecnología y Organización de Computadoras

25


3.1.Representación de textos • Ejemplos: Mensaje inicial 100 101 101 110

Mensaje con bit de paridad (criterio par)

0001 1011 0000 1000

0100 1101 0101 1110

0001 1011 0000 1000

bit de paridad Mensaje inicial 000 100 101 101 110

Mensaje o con bit de paridad (criterio impar)

0000 0001 1011 0000 1000

1000 1100 0101 1101 0110

0000 0001 1011 0000 1000

bit de paridad

23/03/2011

Tecnología y Organización de Computadoras

26


Tema 3. Representación de la información en los computadores.

CONTENIDOS: 3.1.Representación 3.2.Representación 3.3.Representación 3.4.Representación 3.5.Representación

23/03/2011

de de de de de

textos sonidos imágenes video datos numéricos

Tecnología y Organización de Computadoras

27


3.2.Representación de sonidos • ¿Cómo se graba, almacena y reproduce una señal de audio en un computador?

23/03/2011

Tecnología y Organización de Computadoras

28


3.2.Representación de sonidos • Grabación de una señal de audio: 1. Una señal de audio se capta por medio de un micrófono que produce una señal analógica (señal que puede tomar cualquier valor dentro de un determinado intervalo continuo). Palabra “casa” (0,9 segundos)

La señal analógica se amplifica para encajarla dentro de dos valores límites, (Ej. Entre –5V y +5V) 0

23/03/2011

0.09

0,18 0,27 0,36 0,45 0,54

Tecnología y Organización de Computadoras

0,63 0,72 0,81

0,9 s

29


3.2.Representación de sonidos 3. Por medio de un conversor A/D se muestrea y digitaliza – Frecuencia de muestreo: Fs (22,05 KHz); periodo de muestreo: Ts =

1 = 0.045 ms Fs

– En la figura: muestras de la 4050 a la 4100 (0,184 a 0,186 segundos)

23/03/2011

Tecnología y Organización de Computadoras

30


3.2.Representación de sonidos Almacenamiento de la señal de audio: • La señal de sonido queda representada por una serie de valores de 8 bits que corresponden a cada muestra de la señal analógica y que se almacenan en un archivo. • Los valores obtenidos en la conversión (muestras) se almacenan en posiciones consecutivas. • Antes de las muestras se incluye una cabecera, con información sobre el tipo de fichero y sus parámetros.

23/03/2011

Tecnología y Organización de Computadoras

31


3.2.Representación de sonidos • La calidad y capacidad necesaria para almacenar una señal de audio dependen de los siguientes parámetros: – Frecuencia de muestreo (suficiente para no perder la forma de la señal original) – Número de bits por muestra (precisión)

Tasa de datos: T = fs x N x C N: bits o Bytes/muestra, fs: frecuencia de muestreo, c: número de canales Aplicación

Telefonía Radio AM Radio FM CD TDT 23/03/2011

Fs (KHz) 8 11 22,05 44,1 48

N B/muestra 1 1 2 2 2

Nº de canales 1 1 2 2 2

Tb (Kbps) 62,5 Kbps 85,9 Kbps 689,1 Kbps 1,35 Mbps 1,46 Mbps

Tecnología y Organización de Computadoras

Capacidad 1 minuto 468,7 KB 644,5 KB 5,05 MB 10,1 MB 10,99 MB 32


3.2.Representación de sonidos • Proceso de grabación y almacenamiento: CODEC

Conversor A/D (tarjeta de sonido)

0000 0101 1000 1001

1100 0100 0001 0100

0100 1010 1010 0100 0110 0100 0001 1110

Compresor de audio

0010 0100 0100 0001

1010 0001 1001 1110

MP3, GSM, WMA; etc. 23/03/2011

Descompresor de audio

0000 0101 1000 1001

1100 0100 0001 0100

0010 0100 0100 0001

1010 0001 1001 1110

MP3, GSM, WMA; etc.

PCM

0011 0101 0110 0100

0011 0101 0110 0100

0100 1010 1010 0100 0110 0100 0001 1110

Conversor D/A (tarjeta de sonido)

PCM Tecnología y Organización de Computadoras

33


3.2.Representación de sonidos FORMATOS DE AUDIO Con compresión Sin compresión Audio-CD, WAV, AU, AIFF, …

23/03/2011

Sin pérdidas

Con pérdidas

ALAC, DST, FLAC, LA, LPAC, LTAC, MPL, MPEG-4, …

MP1, MP2, MP3, DTS, OGG, WMA, AAC, AC3, ADPCM, …

Tecnología y Organización de Computadoras

34


3.2.Representación de sonidos • Ejemplo: fichero de audio en diversos formatos – Estéreo, Fs = 44100 Hz, 32 bits/muestra

• El formato mp3 es un formato de compresión de audio estándar ISO . – Cada canal se codifica con un nº de bits proporcional a su amplitud – Se consigue hasta un 92% de compresión 23/03/2011

Tecnología y Organización de Computadoras

35


Tema 3. Representación de la información en los computadores.

CONTENIDOS: 3.1.Representación 3.2.Representación 3.3.Representación 3.4.Representación 3.5.Representación

23/03/2011

de de de de de

textos sonidos imágenes video datos numéricos

Tecnología y Organización de Computadoras

36


3.3.Representación de imágenes • Las imágenes se adquieren por medio de periféricos tales como escáneres, cámaras de video o cámaras fotográficas. • Una imagen se representa por patrones de bits, generados por el periférico correspondiente. • Formas básicas de representación: – Mapa de bits – Mapa de vectores

23/03/2011

Tecnología y Organización de Computadoras

37


3.3.Representación de imágenes MAPAS DE BITS • La imagen se divide en una fina retícula de celdas o elementos de imagen o píxeles. • La resolución es el número de e.i. horizontales x nº e.i. verticales. • A cada elemento de imagen (e.i.) se le asocia un valor, atributo, que se corresponde con su nivel de gris (b/n) o color, medio en la celda. Elemento de imagen (0,0)

640

Elemento de imagen (0,639)

580

Elemento de imagen (579,639) 23/03/2011

Tecnología y Organización de Computadoras

38


3.3.Representación de imágenes • El color en las pantallas se codifica con las intensidades de tres colores básicos: R (rojo), G (verde) y B (azul) (RGB)

23/03/2011

El color en papel se codifica con las intensidades de 4 colores básicos sustractivos: C (Cian), M (Magenta), Y (Amarillo) y K (Negro)

Tecnología y Organización de Computadoras

39


3.3.Representación de imágenes • La imagen se memoriza, almacenando de forma ordenada y sucesiva los atributos de los distintos elementos de imagen, precedidos de una cabecera con información sobre la imagen.

23/03/2011

Tecnología y Organización de Computadoras

40


3.3.Representación de imágenes • La calidad de la imagen depende de – La resolución y – Codificación del atributo (número de bits) • La capacidad depende de esos parámetros: – Por ejemplo, una imagen de 16 niveles de grises (b/n) y con resolución de 640x350: 110 KBytes – Por ejemplo, una imagen con resolución XGA (1024X768) con 256 niveles (32 bits) para cada color básico: 2,25 MBytes (≈20 veces más)

23/03/2011

Tecnología y Organización de Computadoras

41


3.3.Representación de imágenes • Resoluciones usuales para codificar imágenes: Resolución (horizontal x vertical) Convencionales

Fax (A4)

(100,200,400)x(200,300,400) ei/”

Foto (8” x 11”)

128,400,1200 ei/”

Videoconferencia

176 x 144

TV

720 x 480 NTSC 720 x 576 PAL

HDTV (alta definición) 16:9

1920 x 1080 1280 x 720

Televisión

TV: Resolución en ei/imagen

23/03/2011

Tecnología y Organización de Computadoras

42


3.3.Representación de imágenes Formatos de Mapas de bits:

FORMATOS DE IMÁGENES Sin compresión BMP, TIFF

23/03/2011

Con compresión Sin pérdidas

Con pérdidas

GIF, PNG

JPEG

Tecnología y Organización de Computadoras

43


3.3.Representación de imágenes • PRUEBAS DE OCUPACIÓN REALIZADOS CON PHOTOSHOP 7.0 Imagen de 1024 x 768 píxeles – BMP (profundidad de color, 32 bits): 3MB – JPEG (calidad óptima): 523 KB – TIFF: 3MB – GIF (paleta de 256 colores): 550 KB – GIF (paleta de 128 colores): 461 KB – PNG-24: 1,15 MB – PNG-8 (256 colores): 530 KB

23/03/2011

Tecnología y Organización de Computadoras

44


3.3.Representación de imágenes •

Foto de un paisaje (802 X 416 pix): TIFF: 996 KB, BMP: 2.305 KB, PNG: 1.783 KB, GIF: 405 KB, JPG: 293 KB

JPG

23/03/2011

Tecnología y Organización de Computadoras

45


3.3.Representación de imágenes • Foto de un paisaje: – JPG: 12,84 KB (calidad baja)


3.3.Representación de imágenes • Gráficos vectoriales o gráficos orientados a objetos – Se descompone la imagen en una colección de objetos tales como líneas, polígonos y textos con sus respectivos atributos o detalles (grosor, color, etc.) modelables por medio de vectores y ecuaciones matemáticas que determinan tanto su forma como su posición dentro de la imagen. – Se almacena el código del objeto y sus parámetros (no los puntos) – Para visualiza una imagen, un programa evalúa las ecuaciones y escala los vectores generando la imagen concreta a ver. – Ocupa menos que un mapa de bits, y – Es más rápido hacer cambios de escala y representarlos en pantalla (rastrering). – Adecuada para gráficos de tipo geométrico (no imágenes reales): CAD/CAM, esquemas, logotipos, etc. 23/03/2011

Tecnología y Organización de Computadoras

47


3.3.Representación de imágenes • Dibujos hechos con primitivas geométricas (objetos): líneas y polilíneas, Polígonos, Círculos y elipses, Curvas de Bézier, Texto

Estado

23/03/2011

Tecnología y Organización de Computadoras

48


3.3.Representación de imágenes • Ejemplos de imágenes con primitivas geométricas:

23/03/2011

Tecnología y Organización de Computadoras

49


3.3.Representación de imágenes • Ejemplos vectorización:

23/03/2011

Tecnología y Organización de Computadoras

50


3.3.Representación de imágenes Formato IGES (Initial Ghaphics Exchange Specification)

Origen ASME/ANSI

DXF (Document eXchange Format)

Descripción Estándar para intercambio de modelos y datos (usable en AutoCAD, etc.)

CAD

Formato original del AutoCAD

PICT (PICTure)

Apple Comp.

Imágenes vectoriales que pueden incluir objetos que son imágenes en mapa de bits

EPS (Encapsulated Poscript)

Adobe Sys.

Ampliación para imágenes del lenguaje de impresión Poscript, con la que se pueden insertar imágenes en distintos formatos como TIFF, WMF, PICT o EPSI

TrueType

Apple comp..

Alternativa de Apple y Microsoft para el EPS

23/03/2011

Tecnología y Organización de Computadoras

51


Tema 3. Representación de la información en los computadores.

CONTENIDOS: 3.1.Representación 3.2.Representación 3.3.Representación 3.4.Representación 3.4.Representación

23/03/2011

de de de de de

textos sonidos imágenes video datos numéricos

Tecnología y Organización de Computadoras

52


3.4 Representación de vídeo • Vídeo: sucesión de imágenes a una determinada frecuencia (fotogramas por segundo, fps), con sonido. fps Imagen en movimiento

15

Cine

24

TV

25 (PAL) 30 (NTFS)

HDTV

60

• Todos los formatos de vídeo llevan compresión.

23/03/2011

Tecnología y Organización de Computadoras

53


3.4 Representación de vídeo • Formatos de vídeo: DV (Digital Video)

Estándar internacional 1996

MPEG (Motion JPEG)

estándar de codificación de audio y vídeo normalizado

MPEG-1, MPEG-2, MPEG-4

estándares ISO evolucionados del MPEG

WMV (Windows media video)

CODEC de Microsoft

DivX

Compresión de audio MP3, codifica y comprime de forma que ocupa un DVD de 80 min.

XviD

CODEC libre basado en MPEG-4

SWF (ShockWaveFlash)

Formato completo para multimedia muy extendido en la web desarrollado por Adobe.

23/03/2011

Tecnología y Organización de Computadoras

54


3.4 Representación de vídeo • Los vídeos no sólo contienen imágenes en movimiento sino audio, subtítulos, etc. • Metafichero: un fichero compuesto por varios ficheros de distintos tipos (audio, vídeo, subtítulos, etiquetas, etc.) así como metadatos con información. • Contenedor: contiene la descripción de un metafichero. Contenedores de vídeo MP4

Contenedor del formato MPEG-4

3GP

Adaptación de MP4 para servicios multimedia UMTS

AVI

Contenedor de Microsoft (1992)

ASF

Microsoft. Diseñado para streaming

FLV

Contenedor de Adobe Flash

Matroska

Estándar de código abierto

Ogg

Contendor libre de Xiph.org

QuickTime

Desarrollado por Apple

23/03/2011

Tecnología y Organización de Computadoras

55


Tema 3. Representación de la información en los computadores.

CONTENIDOS: 3.1.Representación 3.2.Representación 3.3.Representación 3.4.Representación 3.5.Representación

23/03/2011

de de de de de

textos sonidos imágenes video datos numéricos

Tecnología y Organización de Computadoras

56


3.5 Representación de datos numéricos • Los datos se introducen en el ordenador en lenguaje escrito y por tanto se codifican como cualquier texto según el código de E/S. Es decir, los números son tratados y codificados como caracteres de texto. • Esta codificación es inapropiada para operar, ya que no se basa en un sistema de numeración matemático. • Si un número se va a utilizar en un programa como un dato numérico, el ordenador efectúa una transformación entre códigos binarios, obteniéndose una representación en el sistema de numeración en base 2, y, por tanto, apta para realizar operaciones aritméticas.

23/03/2011

Tecnología y Organización de Computadoras

57


3.5 Representación de datos numéricos • Ejemplo: 255 + 42 = 297 • Notación en ASCII: 255 = (0011 0010 0011 0101 0010 0101)ASCII 42 = (0011 0100 0011 0010)ASCII +

0011 0010 0011 0101 0010 0101 0011 0100 0011 0010 0011 0010 0110 1001 0101 0111

• Notación aritmética (binario natural):

• Las cantidades ocupan menos! • Algoritmos muy eficientes aritméticas! 23/03/2011

para

 2iW)ASCII +

 MAL!

255 42

= =

1111 1111 0010 1010

297

=

1 0010 1001

hacer

operaciones

Tecnología y Organización de Computadoras

58


3.5 Representación de datos numéricos • Al introducir un número en el ordenador se codifica y almacena como un texto cualquiera. • Cuando un programa va a utilizar un dato, según las operaciones que se vayan a realizar con él, el programador le asocia un tipo u otro. • Los lenguajes de programación contienen reglas para poder determinar si un dato concreto se va a utilizar como texto, como número, como número real, etc. • Cuando se traduce el programa a lenguaje máquina o cuando se ejecuta, los datos se transforman al tipo especificado por el programador de forma que se realicen las operaciones con ellos de forma adecuada.

23/03/2011

Tecnología y Organización de Computadoras

59


3.5 Representación de datos numéricos 3.5.1. Datos de tipo entero representados en binario – Enteros sin signo: valor absoluto – Enteros con signo • • • •

Signo y magnitud Complemento a uno Complemento a dos Sesgada

3.5.2. Datos de tipo entero representados en BCD 3.5.3. Datos de tipo real

23/03/2011

Tecnología y Organización de Computadoras

60


3.5.1 Datos de tipo entero representados en binario • Enteros sin signo: – Los n bits representan el valor absoluto del número. – Por ejemplo, si n=8:

Nº decimal 24

23/03/2011

Enteros sin signo Valor absoluto

00011000

Tecnología y Organización de Computadoras

61


3.5.1 Datos de tipo entero representados en binario â&#x20AC;˘ Enteros con signo: (1 bit) 0/1

Signo y magnitud:

(n-1 bits) Valor absoluto de N

Complemento a 1: N > 0 N<0

0 1

Valor absoluto de N Complemento a 1 de N

Complemento a 2: N > 0 N<0

0 1

Valor absoluto de N Complemento a 2 de N

Sesgado:

23/03/2011

S=2n-1

N+S

TecnologĂ­a y OrganizaciĂłn de Computadoras

62


3.5.1 Datos de tipo entero representados en binario • Ejemplo: obtener la representación en las cuatro formas vistas del número entero N= 87 con n =8 bits. 87 16 87)10 = 57)16 = 01010111)2 07

5

– Signo y magnitud: como N>0  S=0 N= 01010111 – Complemento a 1: como N>0, N=|N| N = 01010111 – Complemento a 2: como N>0, N=|N| N = 01010111 – Sesgada: N + S donde S = 2n-1 = 27 = 10000000 N=01010111 + 1000000 = 11010111 23/03/2011

Tecnología y Organización de Computadoras

63


3.5.1 Datos de tipo entero representados en binario • Ejemplo: obtener la representación en las cuatro formas vistas del número entero N= -87 con n =8 bits. 87 16 87)10 = 57)16 = 01010111)2 07

5

– Signo y magnitud: como N<0  S=1 N= 11010111 – Complemento a 1: como N<0, C1(|N|) N = 10101000 – Complemento a 2: como N<0, C2(|N|) N = 10101001 – Sesgada: N + S donde S = 2n-1 = 27 = 10000000 N=- 01010111 + 1000000 = 00101001 23/03/2011

Tecnología y Organización de Computadoras

64


3.5.1 Datos de tipo entero representados en binario • Representaciones de datos de n=4 bits de tipo entero: Nº Decimal

Sin signo

Signo y magnitud

Complemento a 1

Complemento a 2

Sesgada

(8-15) +7 +6 +5 +4 +3 +2 +1 +0

… 0111 0110 0101 0100 0011 0010 0001 0000

no 0111 0110 0101 0100 0011 0010 0001 0000

no 0111 0110 0101 0100 0011 0010 0001 0000

no 0111 0110 0101 0100 0011 0010 0001 0000

no 1111 1110 1101 1100 1011 1010 1001 1000

1000 1001 1010 1011 1100 1101 1110 1111

1111 1110 1101 1100 1011 1010 1001 1000

-1111 1110 1101 1100 1011 1010 1001 1000

-0111 0110 0101 0100 0011 0010 0001 0000

-0 -1 -2 -3 -4 -5 -6 -7 -8

23/03/2011

Tecnología y Organización de Computadoras

Sesgo=8

65


3.5.1 Datos de tipo entero representados en binario • Si como resultado de una operación se obtiene un número fuera de los límites máximo y mínimo se dice que se ha producido un desbordamiento. • Por ejemplo: si n=32 bits, en complemento a 2: N(máximo) = 231-1 = 2.147.483.647 N(mínimo) = -(231) = - 2.147.483.648 desbordamiento

desbordamiento

-∞

+∞ ∞ - 231

23/03/2011

0

231-1

Tecnología y Organización de Computadoras

66


3.5.2 Datos de tipo entero representados en BCD Representación de dígitos decimales codificados en binario (BCD): • Se codifica aisladamente cada dígito decimal con cuatro dígitos binarios. • Por ejemplo: 0111 0010 1001)BCD=729)10 3795)10= 0011 0111 1001 0101)BCD

Valor decimal

Valor BCD

0 1 2 3 4 5 6 7 8 9

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

El EBCD incluye 8 bits, para los números se añade 1111 antes del valor en binario que se quiere representar, para rellenar los 8 bits. 23/03/2011

Tecnología y Organización de Computadoras

67


3.5.3 Datos de tipo real • Un número real se puede representar de distintas formas, por ejemplo: N = 3257,3285= 3257,3285·100 = 3,2573285·103 = =32573285·10-4 = 3257328900·10-6 = ... Se dice que el numero está normalizado cuando la cifra mas significativa esta en la posición de las unidades: N = 3,2573285·103

23/03/2011

Tecnología y Organización de Computadoras

68


3.5.3 Datos de tipo real • Es decir, podemos transformar la representación de un número real, N, conservando su valor, cambiando el exponente, E, y reajustando adecuadamente la mantisa, M.

Mantisa

Exponente

N = - 1,0728937 x 10 -15

• Denominación: – notación exponencial, Signo del nº – notación científica – notación en punto o coma flotante. N = ± M · BE

Base del exponente

±: signo del número, M: mantisa, B: base, E: exponente 23/03/2011

Tecnología y Organización de Computadoras

69


3.5.3 Datos de tipo real • Vamos a ver la Normalización IEEE 754, que tiene una aceptación prácticamente universal. • Se transforma N a binario natural, con base del exponente B=2: N = ± M · 2E • Por ejemplo: Mantisa: M

Exponente: E

N = - 1,0100111 x 2 -15 Signo

23/03/2011

Base del exponente: 2

Tecnología y Organización de Computadoras

70


3.5.3 Datos de tipo real • Campo del signo, s (1 bit): El bit de signo es cero para los números positivos y uno para los números negativos. • Campo del exponente, e (ne bits): El exponente se almacena en forma de “entero sesgado”: e = S + E = 2 ne-1 – 1 + E • Campo de la mantisa, n (nm bits): parte fraccionaria de la mantisa (M) normalizada.

23/03/2011

(1 bit) signo

(ne bits) exponente

(nm bits) mantisa

s

e

m

0/1

Exponente sesgado

Parte fraccionaria de la mantisa normalizada

Tecnología y Organización de Computadoras

71


3.5.3 Datos de tipo real • El estándar IEEE 754 considera cuatro tamaños o precisiones posibles de datos: simple precisión (n=32), simple ampliada, doble (n=64), y doble ampliada; aunque sólo especifica completamente las precisiones sencilla y doble. .

.

Tipos de precisión contemplados en el estándar IEEE 754 Precisión Simple Simple ampliada Doble nm + 1 24 32 53 Exponente máximo 127 ≥1023 1023 Exponente mínimo -126 ≤-1022 -1022 S (sesgo del exponente) 127 (n.e.) 1 023 (n.e.: no especificado por el estándar)

Doble ampliada 64 ≥16383 -16 382 (n.e.)

• Simple precisión: n=32, ne=8 y nm=23, sesgo: S = 27-1 = 127. 23/03/2011

Tecnología y Organización de Computadoras

72


3.5.3 Datos de tipo real Ejemplo: Obtener la representación interna del número decimal – 632·10-16 según la norma IEEE 754 simple precisión (n=32, ne=8 y nm=23). • Normalización del número: N = – 632·10-16 = – 6,32·10-14 • Pasar a la forma: N = ± M · 2E

10-14 = 2 x → x = −14

log(10) = −46,5069933284 log(2)

el exponente tiene que ser entero: N = –6,32·2-46,506993 = -6,32·2-0,506993 ·2-46 =-4,4473046·2-46 El número a almacenar es: N = -4,4473046·2-46 23/03/2011

Tecnología y Organización de Computadoras

73


3.5.3 Datos de tipo real • •

Signo: negativo  S=1 Mantisa: hay que obtener 23 bits de mantisa; paso la mantisa a binario. N=- 4,4473046 ·2-46)10 HEX BIN 4 = 4  4  0100 0,4473046 x 16 = 7,1568736  7  0111 0,1568736 x 16 = 2,5099776  2  0010 0,5099776 x 16 = 8,1596416  8  1000 0,1596416 x 16 = 2,5542656  2  0010 0,5542656 x 16 = 8,8682496  8  1000 0,8682496 x 16 = 13,8919936  D  1101 N = -0100,0111 0010 1000 0010 1000 1101·2-46 = = - 1,00 0111 0010 1000 0010 1000 1101·2-44 por tanto: m = 00011100101000001010001 (sin redondeo) Exponente: e = S + E = 127 – 44 = 83)10 = 01010011)2

1 23/03/2011

01010011

00011100101000001010001

Tecnología y Organización de Computadoras

74


3.5.3 Datos de tipo real • Ejemplo: Obtener el valor decimal del nº cuya representación interna es: 1 0011 1110 0011 110, suponiendo n=16 y ne = 8 n = 1 + ne + nm  16 = 1 + 8 + nm  nm = 7 s ne=8 nm=7 Signo: s = 1  N es negativo 1 00111110 0011110 Exponente: e = 00111110)2 = 62)10 Como e=E+S y S=27-1 = 127  E=e-S = 62 – 127 = - 65 Mantisa: La mantisa está normalizada: M = 1,0011110)2 = 20 + 2-3 + 2-4 + 2-5 + 2-6 = 1,234375)10 N = -1,234375·2-65 2-65 = 10x  -65 log2=x log10  x = - 19,5669 N =-1,234375·2-65=-1,234375·10-19,5669= -1,234375·10-19·100,5669=-0,3345780·10-19=-3,345780142·10-20 N = - 3,345780142·10-20 23/03/2011

Tecnología y Organización de Computadoras

75


3.5.3 Datos de tipo real • Patrones asociados a situaciones especiales: Signo

Exponente

Mantisa

0/1

0000 0000

m≠0

0

0000 0000

000 0000 0000 0000 0000 0000

+∞

0

1111 1111

000 0000 0000 0000 0000 0000

-∞

1

1111 1111

000 0000 0000 0000 0000 0000

0

1111 1111

m≠0

Nº denormalizado Cero

Indeterminado (NaN)

Número denormalizado: tiene la parte entera igual a 0 M = [0,m], con M<1 23/03/2011

Tecnología y Organización de Computadoras

76


3.5.3 Datos de tipo real • IEEE 754 simple precisión: Desbordamiento (a -∞)

Agotamiento

Desbordamiento (a ∞)

0 -3,4·1038

-1,2·10-38

1,2·10-38

-1,4·10-45

3,4·1038

1,4·10-45

Números denormalizados 23/03/2011

Tecnología y Organización de Computadoras

77


3.5.3 Datos de tipo real •

Problemas por tener un número (n) limitado de bits: • Precisión limitada • La ALU debe realizar redondeos. • Resultados intermedios, pueden dar lugar a números excesivamente pequeños (que se aproximan a 0). • Resultados numéricos excesivamente altos, es decir por desbordamiento. • Comparación de dos números muy próximos, o iguales.

23/03/2011

Tecnología y Organización de Computadoras

78


TOC B TOC C

FIN

PREGUNTAS?

(*)


CAPÍTULO 4 INTRODUCCIÓN A LOS SISTEMAS DIGITALES TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES 1º Grado en Ingeniería Informática.


TEMA 4. INTRODUCCIÓN A LOS SISTEMAS DIGITALES. RESUMEN: – En este tema se tratarán aspectos relacionados con los fundamentos matemáticos aplicados al proceso de análisis y diseño de sistemas digitales. OBJETIVOS (expresados como resultados de aprendizaje): – Conocer las diferentes formas de representar el comportamiento de un sistema digital. OTROS OBJETIVOS: – Conocer la diferencia entre un sistema analógico y un sistema digital. – Conocer los fundamentos matemáticos para el análisis y diseño de un sistema digital. – Diferenciar los procesos de análisis y de diseño de un sistema digital. – Conocer la existencia de herramientas de ayuda como instrumento que facilita y posibilita el diseño y verificación de sistemas digitales. 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

2


TEMA 4. INTRODUCCIÓN A LOS SISTEMAS DIGITALES. CONTENIDOS: 4.1 Sistemas analógicos y digitales. 4.2 Diseño y análisis de sistemas digitales. 4.3 Algebra de conmutación y puertas lógicas. 4.4 Minimización de funciones de conmutación. BIBLIOGRAFÍA: [LLOR03]: Capítulos 1 (1.1-1.8) ; 2 (2.1, 2.2, 2.5, 2.6) ; 3 [MAN03]: Capítulo 2 ; 3 [ROT04]: Capítulo 2; 3; 4; 5

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

3


TEMA 4. INTRODUCCIÓN A LOS SISTEMAS DIGITALES. CONTENIDOS: 4.1 Sistemas analógicos y digitales. 4.2 Diseño y análisis de sistemas digitales. 4.3 Algebra de conmutación y puertas lógicas. 4.4 Minimización de funciones de conmutación.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

4


4.1. Sistemas analógicos y digitales. 4.1.1. DEFINICIÓN DE SISTEMA. 4.1.2. SISTEMAS ANALÓGICOS Y SISTEMAS DIGITALES. 4.1.3. SISTEMAS DIGITALES BINARIOS. 4.1.4. NIVELES DE COMPLEJIDAD EN LA DESCRIPCIÓN DE UN SISTEMA DIGITAL.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

5


4.1.1. Definición de sistema. SISTEMA = (ESTRUCTURA, COMPORTAMIENTO) Conjunto de partes interconectadas o interrelacionadas formando un todo unificado, que presenta un comportamiento bien definido.

ESTRUCTURA, E(C,L)

Componentes (C) Enlaces (L)

SISTEMA COMPORTAMIENTO

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

6


4.1.1. Definición de sistema.

•Estructura del sistema: Componentes + Interconexiones. Se suele representar mediante un diagrama de bloques.

•Comportamiento del sistema: Función que realiza (dependencia de las salidas con las entradas).

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

7


4.1.1. Definición de sistema. EJEMPLO DE SISTEMA

Lo

Amplificador

Sintonizador

L1

Altavoz Izquierdo

Altavoz derecho

Sistema de audio 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

8


4.1. Sistemas analógicos y digitales. 4.1.1. DEFINICIÓN DE SISTEMA. 4.1.2. SISTEMAS ANALÓGICOS Y SISTEMAS DIGITALES. 4.1.3. SISTEMAS DIGITALES BINARIOS. 4.1.4. NIVELES DE COMPLEJIDAD EN LA DESCRIPCIÓN DE UN SISTEMA DIGITAL.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

9


4.1.2. Sistemas analógicos y digitales. • Variable o función continua: Es aquella variable o función que puede tomar infinitos valores entre dos valores cualesquiera. • Variable o función discreta: Es aquella variable o función que sólo puede tomar un conjunto limitado de valores entre dos valores cualesquiera. • Magnitud o Señal analógica: señal física que se utiliza para representar una variable o función analógica. • Magnitud o Señal digital: señal física que se utiliza para representar una variable o función discreta.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

10


4.1.2. Sistemas analógicos y digitales. • Sistema analógico: sistema en el cual TODAS sus variables y funciones son de tipo analógico. • Sistema digital: sistema en el cual TODAS sus variables y funciones son de tipo digital. • Sistema mixto o híbrido: sistema en el cual algunas de sus variables y funciones son de tipo analógico y otras de tipo digital.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

11


4.1.2. Sistemas analógicos y digitales. Sistemas analógicos. • Sistema analógico: sistema en el cual TODAS sus variables y funciones son de tipo analógico. • La forma natural de la información es continua: una voz, una imagen, una señal. • Un sistema analógico trata con señales análogas a las del mundo real (las variables pueden tomar cualquier valor en un intervalo determinado).

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

12


4.1.2. Sistemas analógicos y digitales. Sistemas analógicos. Ejemplo de sistema analógico: grabación de señales acústicas. • Al hablar, las cuerdas vocales vibran de una determinada manera, lo que origina que las moléculas del aire también lo hagan, chocando unas con otras y propagando esta vibración mediante una onda de presión (señal acústica). • Señal acústica sobre micrófono: – Aparece una señal eléctrica que tiene una forma análoga a la de la señal acústica. – Las vibraciones de moléculas provocan unas variaciones del voltaje – Se dispone de una señal analógica.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

13


4.1.2. Sistemas analógicos y digitales. Sistemas analógicos. Ejemplo de sistema analógico: grabación de señales acústicas. • Ejemplo: señal de audio que representa la palabra “mano” capturada a través de un micrófono

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

14


4.1.2. Sistemas analógicos y digitales. Sistemas analógicos. Ejemplo de sistema analógico: grabación y reproducción de señales acústicas.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

15


4.1.2. Sistemas analógicos y digitales. Sistemas digitales. • Señal digital: señal física que se utiliza para representar una magnitud que toma valores discretos. • Muchas de las señales físicas que se emplean para transmitir información son de naturaleza analógica o continua. • Sin embargo, las señales analógicas se pueden cuantizar, muestrear o digitalizar, tomando un valor (una muestra) de dicha señal cada cierto tiempo (periodo de muestreo). • Una señal digital puede caracterizarse por tomar uno de entre n diferentes valores. En este se habla de una señal n-valuada. • Las señales digitales binarias son un caso particular en el que n=2. En general, estos dos valores se representan uno por 0 ó L y el otro 1 ó H. • Un sistema digital es cualquier dispositivo destinado a generar, transmitir, procesar o almacenar señales digitales. • Un sistema digital binario es cualquier dispositivo destinado a generar, transmitir, procesar o almacenar señales digitales binarias. 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

16


4.1.2. Sistemas analógicos y digitales. Sistemas digitales.

Señal muestreada a Fs= 8 KHz (Ts=0,125 ms) (Tramo comprendido entre 150 y 300)

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

17


4.1.2. Sistemas analógicos y digitales. Sistemas digitales. Ejemplo de sistema digital: grabación y reproducción de señales acústicas.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

18


4.1.2. Sistemas analógicos y digitales. Comparación. Sistemas analógicos: – Más sensibles a ruidos, a cambios en las condiciones (T, V, …) ↓ – Lecturas imprecisas de los valores ↓ – Contiene toda la información ↑ Sistemas digitales binarios: – Menor resolución (depende de Fs) ↓ – Compromiso velocidad/nº líneas, según transmisión paralelo o serie ↓ – Más fiabilidad y precisión en almacenamiento, procesamiento y transmisión de señales ↑ – Diseño más fácil basado en decisiones lógicas y conmutadores (Sí/No, 1/0, ON/OFF) ↑ – Metodologías de diseño y herramientas de ayuda al diseño altamente desarrolladas y bien conocidas ↑ 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

19


4.1. Sistemas analógicos y digitales. 4.1.1. DEFINICIÓN DE SISTEMA. 4.1.2. SISTEMAS ANALÓGICOS Y SISTEMAS DIGITALES. 4.1.3. SISTEMAS DIGITALES BINARIOS. 4.1.4. NIVELES DE COMPLEJIDAD EN LA DESCRIPCIÓN DE UN SISTEMA DIGITAL.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

20


4.1.3. Sistemas digitales binarios. • Un sistema es un ente que interactúa con su entorno por medio de unas entradas y salidas. El entorno actúa sobre el sistema por medio de las entradas. El sistema reacciona a ellas generando unas salidas. x1

z1 Sistema

xn

zn

• Un sistema está formado por una serie de objetos (componentes e interconexiones) para formar un todo. • Un sistema digital es un sistema que procesa la información de forma discreta (digital). • Un sistema digital binario es un sistema que procesa la información de forma discreta (digital), utilizando para representar dicha información sólo dos valores. 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

21


4.1.3. Sistemas digitales binarios. • Un sistema digital binario combinacional es un sistema digital binario en el cual las salidas de dicho sistema, en un instante dado son funciones de las entradas de dicho sistema en el mismo instante de tiempo.

zi (t) = zi (x n-1 (t), x n-2 (t), … , x 0 (t)) ; ∀ i = 0, 1, 2, … , m-1 • Un sistema digital binario secuencial es un sistema digital binario en el cual las salidas de dicho sistema, en un instante dado son funciones de las entradas de dicho sistema en el mismo instante de tiempo y de entadas en instantes de tiempo anteriores.

z i (t) = z i (x n-1 (t), x n-2 (t), … , x 0 (t), x n-1 (t-1), x n-2 (t-1), … , x 0 (t-1), x n-1 (t-2), x n-2 (t-2), … , x 0 (t-2),    , x n-1 (0), x n-2 (0), … , x 0 (0)) ; ∀ i = 0, 1, 2, … , m -1 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

22


4.1. Sistemas analógicos y digitales. 4.1.1. DEFINICIÓN DE SISTEMA. 4.1.2. SISTEMAS ANALÓGICOS Y SISTEMAS DIGITALES. 4.1.3. SISTEMAS DIGITALES BINARIOS. 4.1.4. NIVELES DE COMPLEJIDAD EN LA DESCRIPCIÓN DE UN SISTEMA DIGITAL.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

23


4.1.4. Niveles de complejidad en la descripción de un sistema digital. • El análisis o diseño de un sistema digital se realiza en varios pasos de distinta complejidad o niveles de abstracción. – Nivel de sistema: identifica los grandes componentes estructurales del sistema digital. – Nivel de procesador: identifica los componentes de mayor nivel, su comportamiento y sus interconexiones. (CPU, memoria, periféricos). – Nivel de registro: estudia el comportamiento de las unidades funcionales que constituyen el sistema. – Nivel lógico: relaciona los detalles del sistema desde un punto de vista técnico (Diseño lógico  puertas lógicas). – Nivel electrónico: se construyen circuitos electrónicos que constituyen los bloques diseñados en el nivel lógico. – Nivel físico: detalles a nivel físico microscópico para implementar o fabricar el sistema. 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

24


4.1.4. Niveles de complejidad en la descripción de un sistema digital. NIVEL

COMPORTAMIENTO

COMPONENTES ESTRUCTURALES

Sistema

Algoritmos

Lenguaje máquina y ensamblador

Procesador

Instrucciones máquina

Procesadores, controladores, memorias, ASIC

Registro

Algoritmos Diagramas de flujo Cartas ASM

ALUs, MUXs, DEMUXs, registros, contadores, memorias

Puertas lógicas

Ecuaciones booleanas Tablas de estado

Puertas lógicas y biestables

Electrónico

Ecuaciones diferenciales Diagramas corriente-tensión

Transistores, resistencias, condensadores

Físico

Layout y modelos

Difusiones P,N, pistas de metal, polisilicio

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

25


TEMA 4. INTRODUCCIÓN A LOS SISTEMAS DIGITALES. CONTENIDOS: 4.1 Sistemas analógicos y digitales. 4.2 Diseño y análisis de sistemas digitales. 4.3 Algebra de conmutación y puertas lógicas. 4.4 Minimización de funciones de conmutación.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

26


4.2. Sistemas digitales binarios. Análisis y diseño. • En un sistema se puede describir: – su comportamiento que especifica qué hace el sistema, su funcionamiento. Se describe especificando las salidas que se producen ante los estímulos de entrada. – su estructura que viene definida por sus componentes e interconexiones entre ellos. – sus componentes físicos: dimensiones y situación de cada componente y sus conexiones. • Cuando se diseña un sistema digital se tienen como objetivos: – Representar el comportamiento para definir el funcionamiento. – Realizar una representación estructural formada por componentes. – Hacer una representación física para fabricar el sistema.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

27


4.2. Sistemas digitales binarios. Análisis y diseño. • Análisis: determinar el comportamiento de un sistema a partir de su estructura y del comportamiento de sus componentes. • Diseño o Síntesis: determinar la estructura de un sistema a partir de su comportamiento. ANÁLISIS

ESTRUCTURA

COMPORTAMIENTO Circuito combinacional que calcula la suma aritmética de dos bits, y genera una salida de acarreo

DISEÑO O SÍNTESIS 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

28


TEMA 4. INTRODUCCIÓN A LOS SISTEMAS DIGITALES. CONTENIDOS: 4.1 Sistemas analógicos y digitales. 4.2 Diseño y análisis de sistemas digitales. 4.3 Algebra de conmutación y puertas lógicas. 4.4 Minimización de funciones de conmutación.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

29


4.3. Álgebra de conmutación y puertas lógicas. 4.3.1. Álgebra de Boole: postulados y teoremas. 4.3.2. Funciones de conmutación. 4.3.2.1. Definición. 4.3.2.2. Funciones de Conmutación de 1 y 2 variables. Propiedades. Funciones lógicas más comunes. Funciones de conmutación de más de 2 variables. 4.3.2.3. Funciones incompletamente especificadas. 4.3.2.4. Representación de funciones de conmutación 4.3.2.4.1. Tablas de Verdad. 4.3.2.4.2 Expresiones Algebraicas. Definiciones. Teoremas de Shannon. 4.3.2.4.3. Mapas de Karnaugh. 4.3.2.5. Implementación física de funciones de conmutación. 4.3.2.5.1. Puertas Lógicas. 4.3.2.5.2. Implementación con dos niveles de puertas lógicas.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

30


4.3. Álgebra de conmutación y puertas lógicas. 4.3.1. Álgebra de Boole: postulados y teoremas. 4.3.2. Funciones de conmutación. 4.3.2.1. Definición. 4.3.2.2. Funciones de Conmutación de 1 y 2 variables. Propiedades. Funciones lógicas más comunes. Funciones de conmutación de más de 2 variables. 4.3.2.3. Funciones incompletamente especificadas. 4.3.2.4. Representación de funciones de conmutación 4.3.2.4.1. Tablas de Verdad. 4.3.2.4.2 Expresiones Algebraicas. Definiciones. Teoremas de Shannon. 4.3.2.4.3. Mapas de Karnaugh. 4.3.2.5. Implementación física de funciones de conmutación. 4.3.2.5.1. Puertas Lógicas. 4.3.2.5.2. Implementación con dos niveles de puertas lógicas.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

31


4.3.1. Álgebra de Boole. Postulados. 1.

Conjunto de elementos:

2.

Leyes de composición interna:

3.

Elementos neutros únicos:

4.

Conmutativa:

5.

Distributiva:

6.

Asociativa

7.

Elemento opuesto único (Complemento)

28/03/2011

∃ B /x , y ∈ B , ∀ x, y ∈ B;

∀ x, y, z ∈ B ⇒ ∀ x, y, z ∈ B ⇒

x i y ∈ B,

x+ y∈ B

∃0∈ B / ∀ x ∈ B ⇒ x+ 0 = x ∃1∈B / ∀ x∈B ⇒ x i1= x 0 ≠1

a) b) c)

∀ x, y ∈ B ⇒

x≠y

x + y = y+ x

x i y = yix

x + (y i z ) = (x + y)i(x + z ) x i(y + z ) = (x i y) + (x i z ) x + (y + z ) = (x + y) + z = x + y + z x • (y • z ) = (x • y) • z = x • y • z

∀ x ∈ B,

∃ x ∈ B / x + x = 1, x i x = 0

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

32


4.3.1. Álgebra de Boole. Postulados. • Los postulados del Álgebra de Boole tienen dos enunciados paralelos, de manera que se cumple el principio de dualidad: Si en una expresión que es cierta se sustituyen 0 por 1, o + por ·, y viceversa, en todos los lugares en que aparezca, se obtiene otra expresión, llamada dual, que también es cierta. • Cada teorema que se puede demostrar mediante álgebra de Boole, tiene un dual que también es verdad.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

33


4.3.1. Álgebra de Boole. Teoremas. TEOREMAS FUNDAMENTALES DEL ALGEBRA DE BOOLE L1. L2 L3 L4

a) a) a) a)

A+A = A A+1=1 1=0 A+(AiB)=A

b) b) b) b)

L5

A=A

T1

a) A+(AiB)=A+B

b)

T2

LEYES DE DE MORGAN A+B+.....+Z = AiBi .... Z

28/03/2011

AiA = A Ai0=0 0=1 Ai(A+B)=A

Ai(A+B)=AiB

AiBi..... Z = A+ B+.... Z

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

34


4.3. Álgebra de conmutación y puertas lógicas. 4.3.1. Álgebra de Boole: postulados y teoremas. 4.3.2. Funciones de conmutación. 4.3.2.1. Definición. 4.3.2.2. Funciones de Conmutación de 1 y 2 variables. Propiedades. Funciones lógicas más comunes. Funciones de conmutación de más de 2 variables. 4.3.2.3. Funciones incompletamente especificadas. 4.3.2.4. Representación de funciones de conmutación 4.3.2.4.1. Tablas de Verdad. 4.3.2.4.2 Expresiones Algebraicas. Definiciones. Teoremas de Shannon. 4.3.2.4.3. Mapas de Karnaugh. 4.3.2.5. Implementación física de funciones de conmutación. 4.3.2.5.1. Puertas Lógicas. 4.3.2.5.2. Implementación con dos niveles de puertas lógicas.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

35


4.3.1. Funciones de conmutación. Definición. VARIABLE DE CONMUTACIÓN: Variable que en un determinado instante puede tomar el valor lógico 0 ó 1. LITERAL: Es una variable o su complemento. FUNCIÓN DE COMMUTACIÓN: Es una aplicación del producto cartesiano f : Bn B (xn-1 , xn-2 , .... , x0)  f (xn-1 , xn-2 , .... , x0)  B siendo B = {0 , 1}.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

36


4.3.2. Funciones de conmutación de una variable. •

Función de conmutación de 1 variable: (n=1): {0,1}  {0,1} Asignación de valores Variable

x

f0(x)

f1(x)

f2(x)

f3(x)

Combinaciones

0 1

0 0

0 1

1 0

1 1

Combinaciones posibles de dos valores

Funciones constantes:

f0 = 0 ; f3 = 1

Funciones de una variable:

f1 = x ; f2 = x

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

37


4.3.2. Funciones de conmutación de dos variables. • Función de conmutación de 2 variables combinaciones): {00, 01, 10, 11}  {0,1} x1

22=4

z = fi(x1, x0); i=0,…,15

fi

x0

(n=2,

Entradas

Funciones posibles

x1

x0

f0

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

f11

f12

f13

f14

f15

0

0

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

0

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

1

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

38


4.3.2. Funciones de conmutación de dos variables. Funciones constantes:

f0 = 0 ; f15 = 1

Funciones de una variable: f5 = x0 ; f10 = x0 ; f3 = x1 ; f12 = x1 Funciones de dos variables (OR):

f7 = x1 + x0 ; f11 = x1 + x0 f13 = x1 + x0 ; f14 = x1 + x0 = x1 ⋅ x0 Funciones de dos variables (AND):

f1 = x1 · x0 ; f2 = x1 ⋅ x0 f4 = x1 ⋅ x0 ; f8 = x1 ⋅ x0 = x1 + x0 Funciones XOR y XNOR:

28/03/2011

f6 = ( x1 ⋅ x0 ) + ( x1 ⋅ x0 ) = x1 ⊕ x0 f9 = ( x1 ⋅ x0 ) + ( x1 ⋅ x0 ) = x1 ⊕ x0

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

39


4.3.2. Funciones de conmutación de más de dos variables. • El conjunto de las funciones de conmutación se puede considerar como caso particular del álgebra de Boole en la que se pueden definir las funciones suma lógica (OR), el producto lógico (AND), y la negación o complemento (NOT). Esta estructura, recibe el nombre de Algebra de Conmutación de las Funciones de n-variables. • Para implementar funciones de número de variables superior a dos, se pueden utilizar funciones de dos variables y las propiedades del Álgebra de Boole sobre el conjunto de funciones de dos variables.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

40


4.3.3. Funciones de conmutación incompletamente especificadas. • Una función de conmutación de n-variables se dice que es o que está incompletamente especificada cuando sobre ella concurren alguna de estas circunstancias: – Existen algunos valores de sus variables para los cuales se desconoce el valor que tome la función en esas condiciones – Existen algunos valores de sus variables que no se pueden presentar. Por tanto, se desconoce el valor que tomaría la función de conmutación si se presentaran esos valores de entrada. – Que aún existiendo todos los valores posibles de sus entradas, sea irrelevante o que no importe el valor que pueda tomar la función para dicho

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

41


4.3.3. Funciones de conmutación incompletamente especificadas. • Ejemplo: Detector de números primos en BCD.

NO B C D

B C D

BCD

28/03/2011

0 1 2 3 4 5 6 7 8 9

x3 x2 x1 x0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 10 1 1 1 1

F 1 1 1 1 0 1 0 1 0 0 -

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

42


4.3.2.4. Representación de funciones de conmutación. Tablas de Verdad. •

Tablas de Verdad: – Para una función de conmutación de n-variables, una Tabla de Verdad es una tabla con 2n filas (una por cada una de las combinaciones de entradas) en la que se representan TODOS los valores de la función, para todos y cada uno de sus valores de entradas.

Ejemplo: Tabla verdad

28/03/2011

x

y

z

f(x,y,z)

0 0 0 0

0 0 1 1

0 1 0 1

1 1 0 1

1 1 1 1

0 0 1 1

0 1 0 1

0 0 0 0

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

43


4.3.2.4. Representación de funciones de conmutación. Expresiones Algebraicas. •

Expresiones Algebraicas: – Para una función de conmutación de n-variables, una expresión algebraica es una expresión matemática utilizando variables (o sus complementos) y las funciones básicas del Álgebra de Boole (AND , OR, NAND, NOR, XOR y XNOR). – Una misma función puede expresarse mediante diferentes expresiones algebraicas equivalentes.

Ejemplo: f(x, y, z) = x · (y + z) = x · y + x · z

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

44


4.3.2.4. Representación de funciones de conmutación. Expresiones Algebraicas. • Variable de Conmutación: Variable que en un determinado instante puede tomar el valor lógico 0 ó 1. • Literal: una variable de conmutación o su complemento. • Término producto: literales conectados por el operador AND. • Término suma: literales conectados por el operador OR. • Término producto normal: Es un término producto el que no aparece repetido ningún literal. • Término suma normal: Es un término suma en el que no aparece repetido ningún literal. • Minterm (término producto canónico): Para un conjunto de n variables es un término producto normal en el que aparecen todos los n literales sin estar repetidos, una y sólo una vez. • Maxterm (término suma canónico): Para un conjunto de n variables es un término suma normal en el que aparecen todos los n literales sin estar repetidos, una y sólo una vez. 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

45


4.3.2.4. Representación de funciones de conmutación. Expresiones Algebraicas. Concepto de MINTERM.

Ejemplo de un Minterm:

28/03/2011

 xyz   0 0 1 ⇒ m 1=001 = x ⋅ y ⋅ z   TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

46


4.3.2.4. Representación de funciones de conmutación. Expresiones Algebraicas. Concepto de MAXTERM.

Ejemplo de un Maxterm:

 xyz  001 ⇒ M1=001 =(x+y+z)  

Obsérvese además que: M j = m j

m1 = x ⋅ y ⋅ z = x + y + z = M1 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

47


4.3.2.4. Representación de funciones de conmutación. Expresiones Algebraicas. Teorema de Shannon. • Teorema de Shannon: – Toda función conmutación se puede expresar como una suma única de minterms. Esta forma se denomina “forma canónica” de la función expresada como suma de minterms. – Toda función conmutación se puede expresar como un producto único de maxterms. Esta forma se denomina “forma canónica” de la función expresada como producto de maxterms.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

48


4.3.2.4. Representación de funciones de conmutación. Expresiones Algebraicas. Teorema de Shannon. X,Y,Z

F(X,Y,Z)

000 001 010 011 100 101 110 111

d0 d1 d2 d3 d4 d5 d6 d7

F ( x, y , z ) = d 0m0 + d1m1 + d 2m2 + d 3m3 + d 4m4 + d 5m5 + d 6m6 + d 7m7 F ( x, y , z ) = ∑ d i ⋅ mi

Ejemplo

28/03/2011

Cualquier función de conmutación F de n variables puede expresarse como una suma única de minterms.

(0) (1) (2) (3) (4) (5) (6) (7)

X,Y,Z

g(X,Y,Z)

000 001 010 011 100 101 110 111

1 = do 0 = d1 0 = d2 1 = d3 1 = d4 0 = d5 0 = d6 0 = d7

g ( x , y , z ) = m 0 + m3 + m 4 = = x ⋅ y ⋅z + x ⋅ y⋅z + x⋅ y ⋅z = = ∑ mi (0, 3, 4)

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

49


4.3.2.4. Representación de funciones de conmutación. Expresiones Algebraicas. Teorema de Shannon. X,Y,Z

F(X,Y,Z)

000 001 010 011 100 101 110 111

d0 d1 d2 d3 d4 d5 d6 d7

Ejemplo

28/03/2011

(0) (1) (2) (3) (4) (5) (6) (7)

Cualquier función de conmutación F de n variables puede expresarse como una producto único de maxterms.

F(x, y, z) = (d0 + M0)⋅ (d1 + M1)⋅ (d2 + M2)⋅ (d3 + M3)⋅ (d4 + M4)⋅ (d5 + M5)⋅ (d6 + M6)⋅ (d7 + M7) F(x, y, z) =ΠMi (di + Mi )

X,Y,Z

g(X,Y,Z)

000 001 010 011 100 101 110 111

1 = do 0 = d1 0 = d2 1 = d3 1 = d4 0 = d5 0 = d6 0 = d7

g ( x, y , z ) = M 1 ⋅ M 2 ⋅ M 5 ⋅ M 6 ⋅ M 7 = ( x + y + z ) ⋅ ( x + y + z) ⋅ ( x + y + z ) ⋅ ( x + y + z) ⋅ ( x + y + z )

= Π M i (1, 2,5, 6, 7)

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

50


4.3.2.4. Representación de funciones de conmutación. Expresiones Algebraicas. • Los minterms de una función determinada son los correspondientes a las entradas para las que la función es 1. Los minterms realizan los “unos” de la función. • Los maxterms de una función determinada son los correspondientes a las entradas para las que la función es 0. Los maxterms realizan los “ceros” de la función.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

51


4.3.2.4. Representación de funciones de conmutación. Mapas de Karnaugh. •

Mapas de Karnaugh:

– Para una función de conmutación de n-variables, un mapa de Karnaugh es una tabla con 2n celdas o casillas, cada una de ellas con la misión de albergar un valor de la función. – Cada celda o casilla está unívocamente identificada por n coordenadas. – Si la función de conmutación tiene un número de variables par (n = 2k) el mapa estará formado por 2k filas y 2k columnas. – Si la función de conmutación tiene un número de variables impar (n = 2k+1) el mapa estará formado por 2int(n/2) filas y 2int(n/2)+1 columnas, o viceversa, siendo int(n/2) la parte entera de n/2.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

52


4.3.2.4. Representación de funciones de conmutación. Mapas de Karnaugh. A 0

B

1 AB

0 1

0

2

1

3

CD 00

2 Variables (AB) 00

01

11

10

11 C

0 1

0

2

6

4

1

3

7

5

B

00

01

11

10

0

4

12

8

1

5

13

9

3

7

15

11

2

6

14

10

01

A

AB C

A

10

D

B

4 variables (ABCD)

3 Variables (ABC) 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

53


4.3.2.4. Representación de funciones de conmutación. Mapas de Karnaugh. Mapa de Karnaugh de 5 variables B

BC DE 00

00

01 0

11 4

12

10

DE

10

00

01

11

00

8

16

20

10

28

24

29

25

01 1

D

B

BC

01 11

(ABCDE)

3 2

5

13

7

15

6

14 C

9 11 10

17

E 11 D 10

21

19

23

31

27

18

22

30

26

E

C A=1

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

54


4.3.2.4. Representación de funciones de conmutación. Mapas de Karnaugh. Mapa K de 6 variables (ABCDEF)

B=1

CD 00 EF 00 01 11 10 00 A=1 01 11 10 EF

28/03/2011

CD00

01 0

11 4

12

10 8

00

01

16

1

5

13

9

17

3

7

15

11

19

2

6

14

10

32

36

44

40

33 35 34

37

20 21

28

24 25

23

31

27

18

22

30

26

48

52

60

56

41

49

47

43

51

46 42 38 01 11 10

50 00

53 55

00 01

29

45

39

11

CD 10 EF

61

57

63

59

11 10 00 01 11

10 62 58 54 01 11 10 CD EF

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

55


4.3.2.4. Representación de funciones de conmutación. Mapas de Karnaugh. • Otra forma de representar mapas de Karnaugh.

2 variables 1 x y 0

x

3 variables

yz

00

01

10

0

0

1

0

0

1

3

2

1

2

3

1

4

5

7

6

4 variables xy zk 00

11

01

11

10

5 variables

zuv 000 xy

001

011

010

110

111

101

100

00

0

1

3

2

6

7

5

4

01

8

9

11

10

14

15

13

12

00

0

1

3

2

01

4

5

7

6

11

12

13

15

14

11

24

25

27

26

30

31

29

28

10

8

9

11

10

10

16

17

19

18

22

23

21

20

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

56


4.3.2.4. Representación de funciones de conmutación. Mapas de Karnaugh. Los términos producto pueden identificarse en el mapa de Karnaugh como las regiones intersección que definen los literales que forman el término producto.

T p = A⋅ C A

AB CD 00 01 11 C 10

00

01

10 11 13 12

14 15 17 16

11

10

12

8

13

9

CD 00

00

01

11

15

11

14

10

D 11 C 10

A

AB 10

0

4

12

8

1

5

13

9

CD 00

01

B

28/03/2011

A

AB

00

01

11

10

0

4

12

8

1

5

13

9

15

11

14

10

01

1 3 1 7 115 1 11 1 2 1 6 114 1 10 B

D 11 C 10

1 3 17 1 2 16

D

B

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

57


4.3.2.4. Representación de funciones de conmutación. Mapas de Karnaugh. Un término suma puede obtenerse como el dual del correspondiente término producto, sustituyendo los literales por sus complementados y el producto por la suma.

Ts = ( A + C ) A

AB CD 00 01 11 C 10

00

01

00 01 03 02

04 05 07 06 B

28/03/2011

A

AB

11

10

112 113 115 1 14

18 19 1 11 110

CD 00 01 D 11 C 10

A

AB 00

10 11 03 02

01

11

10

14 15 07 06

1 12 1 13 0 15 0 14

18 19 0 11 0 10

CD 00 01 D 11 C 10

00

01

11

1 0 1 4 112 1 1 1 5 1 13 0 3 0 7 115 0 2 0 6 114

B

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

10

18 19 1 11 1 10

D

B

58


4.3.2.4. Representación de funciones de conmutación. Mapas de Karnaugh. AB CD 00 00 01 11 C 10

10 11 13 12

A 01

11

14 15 17 16

AB CD 00

10

12

8

13

9

15

11

14

10

00 01 D 11 C 10

A 01

10 11 13 12

11

4

12

5

13

7

15

6

14

B

10

18 19 111 110

00 01 D 11 C 10

B

00

T = A⋅ B ⋅ C

01 11 C 10

01

11

10

0

4

12

8

1

5

13

9

7

15

11

6

14

10

13 12

01

11

10

0

4

12

8

1

5

13

9

1 3 17 115 111 1 2 1 6 114 110

D

B

A

AB CD 00

A

AB CD 00

D

Las casillas sombreadas indican valor “1” y el resto valor “0”

B

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

59


4.3.2.5. Implementación física de funciones de conmutación. • La implementación del circuito lógico, a partir de una expresión booleana, dependerá de las puertas lógicas disponibles: – Con cualquier tipo de puerta lógica – A partir de una expresión de suma de productos:

• puertas AND/OR • NAND/NAND – A partir de una expresión de producto de sumas:

• Puertas OR/AND • NOR/NOR

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

60


4.3.2.5.1. Implementación de funciones: puertas lógicas. Símbolo IEEE

AND

x y

x y

28/03/2011

&

x·y

NAND

&

(x·y)’

x

y

x·y

0 0 1 1

0 1 0 1

0 0 0 1

x

y

(x · y)’

0 0 1 1

0 1 0 1

1 1 1 0

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

61


4.3.2.5.1. Implementación de funciones: puertas lógicas. Símbolo IEEE

OR

x y

≥1

x+y

28/03/2011

y

x+y

0 0 1 1

0 1 0 1

0 1 1 1

x y

NOR

x y

x

≥1

(x+y)’

0 0 1 1

0 1 0 1

(x + y)’ 1 0 0 0

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

62


4.3.2.5.1. Implementación de funciones: puertas lógicas. Símbolos IEEE

Inversor

x’

x Buffer

x

28/03/2011

x

x

x’

0 1

1 0

x

x

0 1

0 1

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

63


4.3.2.5.1. Implementación de funciones: puertas lógicas. Símbolos IEEE

XOR

x y

x⊕y

=1

XNOR

x y

28/03/2011

(x ⊕ y)’

=1

x

y

X⊕y

0 0 1 1

0 1 0 1

0 1 1 0

x

y

(x ⊕ y)’

0 0 1 1

0 1 0 1

1 0 0 1

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

64


4.3.2.5.1. Implementación de funciones: puertas lógicas. • Leyes de De Morgan: (x · y)’ = x’ + y’

x y

x’

y’

(x·y)’

x’+y’

0 0 1 1

1 1 0 0

1 0 1 0

1 1 1 0

1 1 1 0

0 1 0 1

• Equivalencia de símbolos de puerta NAND

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

65


4.3.2.5.1. Implementación de funciones: puertas lógicas. • Leyes de De Morgan: (x + y)’ = x’ · y’

x y

x’

y’

(x+y)’

x’·y’

0 0 1 1

1 1 0 0

1 0 1 0

1 0 0 0

1 0 0 0

0 1 0 1

• Equivalencia de símbolos de puerta NOR

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

66


4.3.2.5.1. Implementación de funciones: puertas lógicas. Símbolos equivalentes: • La equivalencia de símbolos puede se útil para la transformación de circuitos equivalentes (Bubble-to-bubble) • Y facilitar la deducción y/o interpretación de un circuito

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

67


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. • La implementación del circuito lógico, a partir de una expresión booleana, dependerá de las puertas lógicas disponibles: – Con cualquier tipo de puerta lógica – A partir de una expresión de suma de productos:

• puertas AND/OR • NAND/NAND – A partir de una expresión de producto de sumas:

• Puertas OR/AND • NOR/NOR

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

68


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. • Realización del circuito: y = a·b + c’ – AND/OR/INVERSORES

a y

b c

– NAND Aplicando la ley de De Morgan [(x+y)’=(x’·y’)] y = a·b + c’ = ((a·b)’·c)’

a b

y

c 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

69


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. – OR/AND/INVERSORES: y = (a+c’) · (b+c’) a y

c b

– NOR/NOR: aplicando la ley de De Morgan [(x·y)’=x’+y’] y = (a+c’) · (b+c’) = [(a+c’)’ + (b+c’)’]’ a c

y

b 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

70


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. • Conjuntos completos de puertas: – {AND, OR, NOT}: según el teorema de Shannon, cualquier función se puede implementar sólo con puertas AND, OR e inversores. – {NAND}: Aplicando las leyes de DeMorgan, los operadores AND, OR y NOT se pueden implementar sólo con el operador NAND. Por tanto, cualquier función se puede realizar empleando únicamente puertas NAND – {NOR}: Aplicando las leyes de DeMorgan, los operadores AND, OR y NOT se pueden implementar sólo con el operador NOR. Por tanto, cualquier función se puede realizar empleando únicamente puertas NOR

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

71


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. SÍNTESIS NAND: 1. Teorema: dado un circuito de dos niveles AND-OR en el que todas las entradas externas actúan sobre las puertas AND, si cada puerta del circuito se sustituye por una puerta NAND del mismo número de entradas, la función que realiza el circuito no cambia. En caso de haber entradas directas al nivel OR de salida, éstas se han de complementar. Ejemplo: f = (a·b)+c a b

a b

f c

28/03/2011

f

c

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

72


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. 2. Aplicar la ley de De Morgan: (x’+y’)=(x·y)’ Ejemplo: f = (a·b)+(b·c) = ((a·b)’·(b·c)’)’

a b c

28/03/2011

f

a b

f

c

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

73


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. 3. Equivalencia de funciones: sustituir cada puerta por su construcción con puertas NAND NOT

a X

X’

y = a’

1

a

(a·1)’

(a·a)’

0 1

1 0

1 0

AND X ((X·Y)’)’= X·Y

Y

OR X ((X·Y)’ ·(X·Y)’)’ = X+Y Y

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

74


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. Ejemplo:

a

f = (a·b)+(b·c)

b

f

AND/OR

c

Sólo NAND

a

AND

b c

28/03/2011

f AND

OR

a b

f

c

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

75


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. 4. Equivalencia de símbolos (leyes de DeMorgan):

Símbolos NAND

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

76


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. Ejemplo: f = (a·b)+(b·c) Implementación AND/OR a b

f

c Equivalencia de símbolos: a b

c

28/03/2011

a f

b

f

c

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

77


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. SÍNTESIS NOR: 1. Teorema: dado un circuito de dos niveles OR-AND en el que todas las entradas externas actúan sobre las puertas OR, si cada puerta del circuito se sustituye por una puerta NOR del mismo número de entradas, la función que realiza el circuito no cambia. En caso de haber entradas directas al nivel AND de salida, éstas se han de complementar. Ejemplo: f = (a+b) · c a b

f c

28/03/2011

a b

f

c

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

78


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. 2. Aplicar la ley de De Morgan: x·y= (x’+y’)’ Ejemplo: f = (a+b)·(b+c) = ((a+b)’+(b+c)’)’

a b c

28/03/2011

f

a b

f

c

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

79


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. 3. Equivalencia de funciones: sustituir cada puerta por su equivalente con puertas NOR NOT con NOR

OR con NOR

a

y = a’ a

0

y = a’

a

(a+0)’

(a+a)’

0 1

1 0

1 0

(a+b)’

a

y =(a + b)’’ = a + b

b

a

a’

AND con NOR

y = (a’+b’)’ = a · b b

28/03/2011

b’ TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

80


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. Ejemplo: f = (a+b)·(b+c) a b

f

c

a b c

28/03/2011

f

a b

f

c

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

81


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. 4. Equivalencia de símbolos (leyes de DeMorgan):

Símbolos NOR

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

82


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. Ejemplo:

a b

f

c

a b

c

28/03/2011

f

a b

f

c

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

83


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. • Ejemplo: Implementar la función f=A·B + C’+ D·E sólo con puertas NAND A

B C

f

D E –

Leyes de DeMorgan: f=A·B+C’+D·E = (A·B)’·(C’)’·(D·E)’)’

A B C

f

D E 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

84


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. –

Equivalencia de funciones:

A

A

B

B f

C D

f

C D

E

E A B C

f

D E 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

85


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. Equivalencia de símbolos: A

A

B

B C

f

f

C

D

D

E

E A B C

f

D E 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

86


4.3.2.5.2. Implementación de funciones con dos niveles de puertas lógicas. SÍNTESIS NAND 1. Teorema AND/OR 2. Ley DeMorgan: x’+y’=(x·y)’ 3. Equivalencia funcional: X

SÍNTESIS NOR 1. Teorema OR/AND 2. Ley DeMorgan: x·y= (x’+y’)’ 3. Equivalencia funcional: a’

a

X’

a

X

a+b

b

X+Y Y

a

a’

X Y

X·Y

4. Equivalencia símbolos:

28/03/2011

a·b b

b’

4. Equivalencia símbolos:

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

87


TEMA 4. INTRODUCCIÓN A LOS SISTEMAS DIGITALES. CONTENIDOS: 4.1 Sistemas analógicos y digitales. 4.2 Diseño y análisis de sistemas digitales. 4.3 Algebra de conmutación y puertas lógicas. 4.4 Minimización de funciones de conmutación.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

88


4.4. Minimización de funciones de conmutación. Cubos y adyacencias. CUBOS

ADYACENCIA

ORD

DEFINICION

NC0

NC

NCNV

NCV

DEFINICION

NV

0

Cada una de las celdas de un mapa de Karnaugh. El cubo de orden 0 se representa por (n-0) = n coordenadas binarias, las correspondientes a la fila y columna del mapa donde está situado.

20

n

n–0

0

Un Mínterm o un Máxterm. Una adyacencia de orden 0 contiene (n-0) = n literales en su expresión.

n

1

Dos cubos de orden 0 forman un cubo de orden 1 si tienen todas sus coordenadas iguales salvo una, que cambia un 0 por un 1. El cubo de orden 1 resultante se representa por n coordenadas binarias que están formadas por : 1º) Las (n-1) coordenadas binarias que son comunes a los dos cubos de orden 0 en sus mismas posiciones. 2º) Una coordenada llamada vacía, representada por una indiferencia (-), correspondiente a la posición de coordenada no vacía donde difieren los dos cubos de orden 0. Un cubo de orden 1 contiene 21 cubos de orden 0.

21

n

n–1

1

Dos adyacencias de orden 0 (Mínterm ó Máxterm) forman una adyacencia de orden 1 si sus expresiones con literales son iguales salvo una variable, que en un caso está complementada y en el otro no. La expresión con literales de la adyacencia de orden 1 será igual a la de la adyacencia de orden 0 suprimiendo la variable que difiere. Una adyacencia de orden 1 contiene (n-1) literales en su expresión.

n-1

NV = Número de Variables = n. NC0 = Número de Cubos de Orden 0. NC = Número de Coordenadas. NCNV = Número de Coordenadas No Vacías NCV = Número de Coordenadas Vacías. 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

89


4.4. Minimización de funciones de conmutación. Cubos y adyacencias. CUBOS

ADYACENCIA

ORD

DEFINICION

NC0

NC

NCNV

NCV

DEFINICION

NV

2

Dos cubos de orden 1 forman un cubo de orden 2 si tienen : a) La coordenada vacía de ambos en la misma posición. b) Todas sus (n-1) coordenadas no vacías iguales salvo una, que cambia un 0 por un 1. El cubo de orden 2 resultante se representa por n coordenadas binarias que están formadas por : 1º) Las (n-2) coordenadas binarias no vacías que son comunes a los dos cubos de orden 1. 2º) La coordenada vacía común a ambos. 3º) Una nueva coordenada vacía, representada por una indiferencia (-), correspondiente a la posición de coordenada no vacía donde difieren los dos cubos de orden 1. Un cubo de orden 2 contiene 22 cubos de orden 0.

22

n

n–2

2

Dos adyacencias de orden 1 forman una adyacencia de orden 2 si sus expresiones con literales son iguales salvo una variable, que en un caso está complementada y en el otro no. La expresión con literales de la adyacencia de orden 2 será igual a la de la adyacencia de orden 1 suprimiendo la variable que difiere. Una adyacencia de orden 2 contiene (n-2) literales en su expresión.

n-2

.....

.....

.....

......

2k

n

n–k

k

..... k

...............

..............

Dos cubos de orden (k-1) forman un cubo de orden k si tienen : a) Las (k-1) coordenadas vacías de ambos en las misma posiciones. b) Todas sus (n-(k-1)) coordenadas no vacías iguales salvo una, que cambia un 0 por un 1. El cubo de orden k resultante se representa por n coordenadas binarias que están formadas por : 1º) Las (n-(k-1)) coordenadas binarias no vacías que son comunes a los dos cubos de orden (k-1). 2º) Las k coordenadas vacías comunes a ambos. 3º) Una nueva coordenada vacía, representada por una indiferencia (-), correspondiente a la posición de coordenada no vacía donde difieren los dos cubos de orden (k-1). Un cubo de orden k contiene 2k cubos de orden 0.

28/03/2011

...............

..............

Dos adyacencias de orden (k-1) forman una adyacencia de orden k si sus expresiones con literales son iguales salvo una variable, que en un caso está complementada y en el otro no. La expresión con literales de la adyacencia de orden k será igual a la de la adyacencia de orden (k-1) suprimiendo la variable que difiere. Una adyacencia de orden 1 contiene (n-k) literales en su expresión.

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

..... n-k

90


4.4. Minimización de funciones de conmutación. •

ÍNDICE DE UN MÁXTERM: Es el número de variables que toman el valor uno (1) en la expresión en coordenadas binarias del Máxterm. Coincide con el número de variables complementadas que aparecen en la expresión algebraica como término suma del Máxterm.

ÍNDICE DE UN MÍNTERM: Es el número de variables que toman el valor uno (1) en la expresión en coordenadas binarias del mínterm. Coincide con el número de variables sin complementar que aparecen en la expresión algebraica como término producto del mínterm.

IMPLICANTE: Dada una función de conmutación de n variables, se dice que un término producto expresado como una adyacencia de cualquier orden es un implicante de la función si para aquellos valores de las variables en los que el término producto toma el valor 1, la función toma también el valor 1.

IMPLICANTE PRIMO: Se dice que un implicante de una función es un implicante primo si los términos producto que resultan del implicante eliminando una de las variables ya no son implicantes de la función.

IMPLICADO: Dada una función de conmutación de n variables, se dice que un término suma expresado como una adyacencia de cualquier orden es un implicado de la función si para aquellos valores de las variables en los que el término suma toma el valor 0, la función toma también el valor 0.

IMPLICADO PRIMO: Se dice que un implicado de una función es un implicado primo si los términos suma que resultan del implicado eliminando una de las variables ya no son implicados de la función.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

91


4.4. Minimización de funciones de conmutación. •

DEFINICIÓN: Expresión Mínima. –

TEOREMA: Dada una función de conmutación: – –

Una expresión de una función de conmutación en forma suma de productos (AND-OR) se considera una expresión mínima si y sólo sí: • No existe otra expresión equivalente de la función que contenga menos términos producto. • No existe otra expresión equivalente de la función que, conteniendo el mismo número de términos producto, contenga menor número de literales. Una expresión de una función de conmutación en forma producto de sumas (OR-AND) se considera una expresión mínima si y sólo sí: • No existe otra expresión equivalente de la función que contenga menos términos suma. • No existe otra expresión equivalente de la función que, conteniendo el mismo número de términos suma, contenga menor número de literales.

Cualquier realización en forma suma de productos (AND-OR) mínima de la función debe constar de una suma (OR) de términos producto que sean implicantes primos de la función. Cualquier realización en forma producto de sumas (OR-AND) mínima de la función debe constar de un producto (AND) de términos suma que sean implicados primos de la función.

COROLARIO: Dada una función de conmutación: – –

Obteniendo TODOS los implicantes primos de dicha función, es seguro que, de entre ellos, se puede extraer un conjunto mínimo de implicantes primos que permita realizar una implementación mínima en forma suma de productos (AND-OR) de la función. Obteniendo TODOS los implicados primos de dicha función, es seguro que, de entre ellos, se puede extraer un conjunto mínimo de implicados primos que permita realizar una implementación mínima en forma producto de sumas (OR-AND) de la función.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

92


4.4. Minimización de funciones de conmutación. •

Utilizando los postulados y teoremas del Álgebra de Boole (no siempre es inmediato ni eficiente).

Emplear procedimientos sistemáticos de diseño: – Deterministas: (encuentran solución óptima) • Basados en Mapas de Karnaugh. – Heurísticos: buscar la solución de un problema mediante métodos no rigurosos.

La minimización puede ser: 1. Según el número de funciones por minimizar • Monofuncional: Una Función de n variables. • Multifuncional: “m” Funciones de n variables. 2. Según el tipo de función por minimizar: • Funciones completamente especificadas. – Se especifican utilizando únicamente “0” o “1” • Funciones incompletamente especificadas. – Se especifican utilizando: “0” , “1” ó indiferencias ( - )

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

93


4.4. Minimización de funciones de conmutación. 1) Especificación de la función 2) Mapa de Karnaugh de la función. 3) Identificación de TODOS los implicantes/implicados primos. 4) Construir la Tabla de implicantes/implicados primos. 5) Selección de implicantes/implicados primos esenciales. 6) Si es necesario, construir la tabla de implicantes/implicados primos reducida y aplicar la regla de dominancia de filas para obtener los implicantes/implicados primos esenciales secundarios. 7) Obtener un número mínimo de implicantes/implicados primos opcionales para una total cobertura de la función. (Si es necesario, aplicar el método de Petrick). 8) Esquema y realización del circuito.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

94


4.4. Minimización de funciones de conmutación. Ejemplo : Obtener una realización mínima AND/OR de la función :

f(X 3 X 2 X 1X 0 ) = ∑ mi (0,1,2,7,8 ,9,10,12,1 3,14,15) X3

X3 X2 X3 X2 X1 X 0

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

f 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Tabla de Verdad 28/03/2011

1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1

X1 X 0

00

01

11

10

00

10

4

112 18

01

11

5

113 19

11 X1 10

3

12

1 7 115

X0

11

114 110

6 X2

Mapa de Karnaugh TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

95


4.4. Minimización de funciones de conmutación. Identificar TODOS los Implicantes primos: X3

X3 X2 X1 X 0

00

01

11

10

00

10

4

112 18

01

11

5

113 19

11 X1 10

3

12

1 7 115

11

114 110

6 X2

(a) (0,2,8,10) (b) (0,1,8,9) X0

(c) (8,10,12,14) (d) (12,13,14,15) (e) (8,9,12,13) (f) (7,15)

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

96


4.4. Minimización de funciones de conmutación. Implicantes primos esenciales

0

a*

x

b*

x

1

2

7

x*

8

9

x

x*

x

c

10

f*

x

28/03/2011

x

x

x a

x f

15

x

x

x

x

x

x* xa x b

14

x

d x

13

x

x

e

12

x

x

x x a

x b

x a

Tabla de implicantes primos. Selección de implicantes primos esenciales. TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

x f

97


4.4. Minimización de funciones de conmutación. 12

13

C

x

d

x

x

e

x

x

d

d

**

14

x

(d)

x

Tabla Reducida: Aplicar regla de filas dominadas

d

d domina a c y e. Por tanto se eliminan. Después de este paso d se comporta como implicante primo esencial y se denomina

X3

esencial secundario

X3 X2 X1 X 0 00 01 11 10 00 0 4 12 8 01 11 X1

10

28/03/2011

1 1 5 1 13 19 3 17 1 15 11 12 6 114 110

1 11

(f) X2

X0

f =a+b+ f +d = (b)

= X 2 X 0 + X 2 X1 + X 2 X1 X 0 + X 3 X 2

(a)

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

98


4.4. Minimización de funciones de conmutación. RELIZACIÓN DEL CIRCUITO

F = a + b + f + d = X 2 X 0 + X 2 X1 + X 2 X1 X 0 + X 3 X 2 X2 X0

(d)

X3

X3 X2 X1 X 0 00 01 11 10 00 0 4 12 8 01 11 X1

10

1 1 5 1 13 19 3 17 1 15 11 12 6 114 110

1 11

(f) 28/03/2011

a

X2

X2 X1

X0

(b)

b

F

X2 X1

f

X0

(a) X3 X2

d

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

99


4.4. Minimización de funciones de conmutación. Ejercicios: Minimizar utilizando un mapa de Karnaugh las siguientes funciones: a) f(a,b,c,d) = ∑m(0,2,3,4,6,7,8,12,14,15) + d(10,11,13) b) f(a,b,c,d) = ∏M(2,3,4,5,10,11) + d(0,1) c) f(x,y,z,u,v) = ∑m(2,4,5,11,12,16,21,23,26,29,31) + d(9,14,15,19,25) d) f(x,y,z,u) = ∏M(0,1,4,5,6,8,10,13,15) + d(2,7,9)

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

100


4.4. Minimización de funciones de conmutación.Minimización Multifuncional. • Los sistemas digitales no suelen tener una sola salida, sino que generan un conjunto de salidas, que son funciones de conmutación definidas sobre el mismo conjunto de variables de entrada. • Es aconsejable abordar la síntesis de manera global, es decir, realizar una simplificación multifuncional. Pueden compartir términos. • Minimización multifuncional con mapas de Karnaugh: Encontrar todas las adyacencias del mayor orden posible comunes a todas las funciones o a la mayoría de ellas. x1 y1 x2 y2

...

... xn

ym

yi = fi(x1, x2, ..., xn) 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

101


4.4. Minimización de funciones de conmutación.Minimización Multifuncional. •

Las condiciones para que varias funciones de conmutación puedan minimizarse multifuncionalmente y se obtenga una mejora frente a la minimización individual de cada una de ellas son: 1. Las funciones han de ser del mismo número de variables. 2. Las funciones han de estar definidas en el mismo conjunto de variables. 3. Las funciones NO han de ser disjuntas, es decir, han de tener términos comunes.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

102


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. Los circuitos de salida múltiple son circuitos que realizan un conjunto de funciones que dependen del mismo conjunto de variables de entrada. 28/03/2011

Un ejemplo. Realizar un circuito que tiene dos salidas Z2 y Z1, cuyo comportamiento debe ser el indicado por la tabla siguiente. A B C D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

Z2 Z1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0

0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1

A B C D

¿cómo realizar circuito menor coste?

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

el de

Z2 Z1

103


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. Una alternativa para realizar el circuito de salida múltiple es minimizar y realizar cada función de salida por separado. Pero ESTO NO CONDUCE A UN CIRCUITO de MÍNIMO COSTE. A

AB CD

00

00

01 0

01 1 11

Z2

10

2

10

1 4 1 12 1 8 1

A B C D

1

13

9

15

11

1 6 114

10

3

C

11

5 7

D

B

Z1 A

AB CD 00

00

01 0

01 1 11 C 10

11 4

1

12

1

5

13

10

18 9

1 3 1 7 115 111 2

6

14

D

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Z2

Z1

0 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0

0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1

10

B

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

104


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. A

AB CD

00

00

01 0

01 1 11

Z2

10

2

10

1 4 1 12 1 8 1

1

13

9

15

11

1 6 114

10

3

C

11

5 7

D

B

Obtener el coste del circuito según la minimización monofuncional (por separado) de cada salida

Z1 A

AB CD 00

00

01 0

01 1 11 C 10

11 4

1

12

1

5

13

10

18 9

1 3 1 7 115 111 2

6

14

10

D

¿ Es esta solución de coste mínimo? NO ¿Se podría encontrar una solución de menor coste?

B

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

105


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. A

AB CD

00

00

01 0

01 1 11

Z2

10

2

10

1 4 1 12 1 8 1

1

13

9

15

11

1 6 114

10

3

C

11

5 7

D

Z2

B

Z1 A

AB CD 00

00

01 0

01 1

COSTE= 6 AND Y 2 OR

11 C 10

Este coste se puede reducir 28/03/2011

11 4

1

12

1

5

13

10

9

1 3 1 7 115 111 2

6

14

Z1

18 D

10

B

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

106


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. Existe una alternativa MÁS ADECUADA CON UN COSTE DEL CIRCUITO MENOR. MINIMIZACIÓN MULTIFUNCIONAL. A

AB CD

00

00

01 0

01 1 11

Z2

10

2

10

Z2

1 4 1 12 1 8 1

1

13

9

15

11

1 6 114

10

3

C

11

5 7

D

Z2

B

Z1 A

AB CD 00

00

01 0

01 1 11 C 10

11 4

1

12

1

5

13

2

6

14

Z1

18 9

1 3 1 7 115 111 B

28/03/2011

10

D

10

Z1

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

107


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. A

AB CD

00

00

01 0

01 1 11

Z2

10

2

Z2

10

1 4 1 12 1 8 1

1

13

9

15

11

1 6 114

10

3

C

11

5 7

D

Z2

B

Z1 A

AB CD 00

00

01 0

01 1 11 C 10

11 4

1

12

1

5

13

2

6

14

Z1

18 9

1 3 1 7 115 111 B

28/03/2011

10

D

10

Z1

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

108


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. A

AB CD

00

00

01 0

01 1 11

Z2

10

2

10

1 4 1 12 1 8 1

1

13

9

15

11

1 6 114

10

3

C

11

5 7

D

Z2

B

Z1 A

AB CD 00

00

01 0

01 1 11

¡ COSTE= 4 AND Y 2 OR ! Este coste es el mínimo. 28/03/2011

C 10

11 4

1

12

1

5

13

10

9

1 3 1 7 115 111 2

6

14

Z1

18 D

10

B

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

109


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. Puntos a tener en cuenta en la minimización Multifuncional. 1.

En el paso de “IDENTIFICACIÓN DE TODOS LOS IMPLICANTES (IMPLICADOS) PRIMOS” se tomarán también los implicantes (implicados) primos correspondientes a los mapas “producto entre funciones”.

Ejemplo: Si el sistema consta de las funciones Fα , Fβ y Fγ, entonces hay que realizar los mapas “producto” FαFβFγ , FαFβ , FαFγ , FβFγ , además de los mapas Fα , Fβ y Fγ. De todos estos mapas se identifican los implicantes (implicados) primos sin repetirlos, comenzando por los mapas producto de mayor número de funciones. 2.

En la TABLA DE IMPLICANTES (IMPLICADOS) PRIMOS: a)

Junto a cada implicante (implicado), se anota las funciones a las que pertenece. Por ejemplo, si es del mapa producto

F αF β

se anotará αβ.

b)

Se reservan columnas independientes para cada función, especificando en la primera fila los minterminos (maxterminos) a cubrir .

c)

Se marcan los minterminos (maxterminos) de cada implicante (implicado), únicamente en las columnas que correspondan a funciones a las que pertenece dicho implicante (implicado) (según punto (a) ).

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

110


4.4. Minimización de funciones de conmutación. Minimización Multifuncional.

CD

00

01

11

10

00 01

Fα ( A, B, C , D ) = ∑ mi (2,4,10,11,12,13)

11

111

Fβ ( A, B, C , D ) = ∑ mi (4,5,10,11,13)

10

110

j

Fγ ( A, B, C , D ) = ∑ mi (1,2,3,10,11,12)

i

00

01

11

10

01

00

k

14

00

111

11

10

110

10

00 01

01

11

14

112

12

28/03/2011

11

10

00

11

10

01

12

00

c

01

00

112

d

10

113

11 10

g

h

Fα Fβ Fγ

01

11

00

01

00

113

Fα Fβ

b

AB

111

11

111

110

10

110

Fα Fγ 01

00

14

01

15

11

Fβ Fγ 10

00

e

113

f

01

00

11

10

112

01

11

111

11

111

11

13

111

110

10

110

10

12

110

a

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

111


4.4. Minimización de funciones de conmutación. Minimización Multifuncional.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

112


4.4. Minimización de funciones de conmutación. Minimización Multifuncional.

28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

113


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. j

i 00

01

11

AB

10

00

14

00

113 111

11

10

110

10

Fα Fβ

01

01

11

14

112

10

12

Fα 28/03/2011

01

11

10

h

01 111 110

12

11

111

10

110

Fα Fβ Fγ

Fα Fγ

10

00

c

00

00

112

g

113

11

CD

10

01

11

00

11

00

01

00

01

01

00

14

01

15

11

10

00

e

113

f

01

00

11

10

112

01

11

111

11

111

11

13

111

110

10

110

10

12

110

Fβ TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

Fγ 114


4.4. Minimización de funciones de conmutación. Minimización Multifuncional. OBTENCIÓN DE LAS FUNCIONES A PARTIR DEL CONJUNTO DE IMPLICANTES PRIMOS SELECCIONADOS PARA EL SISTEMA.

i CD

01

11

00

14

112

01

10

12

g

00

CD

c

113

11 10

i

AB

AB 00

j

01

00

14

01

15

11

AB

10

e

113

00

CD

f

01

11

00

10

112

01

11

111

11

111

11

13

111

110

10

110

10

12

110

h

h

g

h

Ejercicio : Dibuje el circuito que realiza a las funciones Fα Fβ y Fγ 28/03/2011

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES

115


Tema 5 ANÁLISIS Y DISEÑO DE SISTEMAS COMBINACIONALES

TECNOLOGÍA Y ORGANIZACIÓN DE COMPUTADORES 1º Grado en Ingeniería Informática.


Tema 3. Representación de la información en los computadores RESUMEN: En este tema se va a tratar lo qué es un sistema combinacional y cómo se diseñan y analizan circuitos combinacionales sencillos. También se analizarán algunos bloques combinacionales que realizan funciones más complejas y que no se pueden analizar a nivel de puertas lógicas. OBJETIVOS: Comprender lo qué es un sistema combinacional. Saber diseñar y analizar sistemas combinacionales sencillos. Entender el funcionamientos de los principales componentes combinacionales estándar.

Dept. Arquitectura y Tecnología de Computadores

D/2


Tema 3. Representación de la información en los computadores. CONTENIDOS: 5.1 5.2 5.3 5.4

CONCEPTO DE SISTEMA COMBINACIONAL ANÁLISIS DE CIRCUITOS COMBINACIONALES DISEÑO DE CIRCUITOS COMBINACIONALES COMPONENTES COMBINACIONALES ESTÁNDAR

BIBLIOGRAFÍA: [LLOR,03] Capítulo 4, 5, 6 [GAJS,97] Capítulo 5 [FLOY,00] Capítulo 6, 7

Dept. Arquitectura y Tecnología de Computadores

D/3


5.1 CONCEPTO DE SISTEMA COMBINACIONAL

• Sistema combinacional: sistema en el que las salidas en cualquier instante dependen sólo de los valores de las entradas en ese mismo instante. zi (t ) = f i ( x1 (t ), x2 (t ),..., xn (t ))

• En realidad, el valor de las salidas en un instante dado depende de la combinación de valor de las entradas presente un cierto tiempo antes, que corresponde al retardo de propagación del sistema

Z i (t ) = f i ( x1 (t − t pd ), x2 (t − t pd ),..., xn (t − t pd ))

Dept. Arquitectura y Tecnología de Computadores

D/4


5.2 Análisis de circuitos combinacionales Análisis de sistemas combinacionales: • Funcional: Deducir la función lógica que realiza el circuito. Se representa con tablas de verdad, expresiones booleanas o mapas de Karnaugh. • Temporal: Conocer el retardo de propagación y el valor de cada nodo en respuesta a una secuencia de entradas. El comportamiento dinámico del circuito se representa mediante cronogramas.

Dept. Arquitectura y Tecnología de Computadores

D/5


5.2 Análisis de circuitos combinacionales • Ejemplo:

a b c

Análisis funcional: Tabla verdad a

b

c

y

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 0 0 0 1 1 1 1

a abc

y

abc’

Expresión algebraica: y = a·b·c + a·b·c’ + a

Dept. Arquitectura y Tecnología de Computadores

D/6


5.2 Análisis de circuitos combinacionales • Ejemplo:

a b c

y

Análisis temporal Tabla verdad a

0

0

0

0

1

1

1

1

b

0

0

1

1

0

0

1

1

c

0

1

0

1

0

1

0

1

y

0

0

0

0

1

1

1

1

a

b

c

y

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 0 0 0 1 1 1 1

Dept. Arquitectura y Tecnología de Computadores

D/7


5.3 Diseño de sistemas combinacionales • Síntesis o diseño: diseñar un circuito a partir de la descripción verbal de su comportamiento: 1. 2. 3. 4.

Realización de la tabla verdad Obtención de la expresión analítica (teorema de Shannon) Minimización y expresar la función en términos del tipo de puertas a utilizar en la implementación Implementación del circuito de menor coste hardware y/o menor retardo a partir de la expresión booleana

Dept. Arquitectura y Tecnología de Computadores

D/8


5.3 Diseño de sistemas combinacionales • La implementación del circuito lógico, a partir de una expresión booleana, dependerá de las puertas lógicas disponibles: – Con cualquier tipo de puerta lógica – A partir de una expresión de suma de productos: • puertas AND/OR • NAND/NAND – A partir de una expresión de producto de sumas: • Puertas OR/AND • NOR/NOR

Dept. Arquitectura y Tecnología de Computadores

D/9


5.3 Diseño de sistemas combinacionales Ejemplo: • Descripción: Diseñar un circuito lógico con tres entradas (a, b, c) y una salida (y) de forma que dicha salida es 1 si y sólo si las señales a y b son 1 ó la señal c es 0. • Ejemplo: 2. Expresión analítica (Teorema de Shannon) 1. Tabla verdad y(a,b,c)=∑m(0,2,4,6,7) = a’·b’·c’ + a’·b·c’ + a·b’·c’ + a

b

c

y

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

1 0 1 0 1 0 1 1

a·b·c’ + a·b·c 3. Minimización: y = c’ + a·b

bc a

00

0

1

1

1

01

11

10 1

1

Dept. Arquitectura y Tecnología de Computadores

1 D / 10


5.3 Diseño de sistemas combinacionales 4. Implementación del circuito: y = c’ + a·b – AND/OR/INVERSORES a b

y

c – NAND Aplicando la ley de De Morgan [x’+y’=(x·y)’] y = a·b + c’ = ((a·b)’·c)’ a b

y

c Dept. Arquitectura y Tecnología de Computadores

D / 11


5.3 Diseño de sistemas combinacionales – OR/AND/INVERSORES: y = a·b + c’ = (a+c’) · (b+c’) a y c b – NOR/NOR: aplicando la ley de De Morgan [x·y=(x’+y’)’] y = (a+c’) · (b+c’) = ((a+c’)’ + (b+c’)’)’ a c

y

b Dept. Arquitectura y Tecnología de Computadores

D / 12


5.4 Componentes combinacionales estándar 

Un circuito combinacional en la práctica (ALU, por ejemplo) puede tener miles o millones de términos a describir como suma de productos y tablas verdad inmanejables por lo que trabajar a nivel de puertas lógicas es casi imposible.



Es necesario describir el comportamiento mediante subsistemas, que son funciones más complejas:  Procesamiento de datos  Enrutamiento de datos  Almacenamiento de datos



Los bloques funcionales que realizan estas funciones se consideran componentes propios del nivel de registro.

Dept. Arquitectura y Tecnología de Computadores

D / 13


5.4 Componentes combinacionales estándar

NIVEL

COMPORTAMIENTO

COMPONENTES ESTRUCTURALES

Procesador

Instrucciones máquina

Procesadores, controladores, memorias, ASIC

Registro

Algoritmos Diagramas de flujo Cartas ASM

ALUs, MUXs, DEMUXs, registros, contadores, memorias

Puertas lógicas

Ecuaciones booleanas Diagramas Tablas de estado

Puertas lógicas y biestables

Electrónico

Ecuaciones diferenciales Diagramas corriente-tensión

Transistores, resistencias, condensadores

Físico

Layout y modelos

Difusiones P,N, pistas de metal, polisilicio

Dept. Arquitectura y Tecnología de Computadores

D / 14


5.4 Componentes combinacionales estándar • Por ejemplo: la ALU 74X181 tiene una Tabla de verdad con 16.384 filas y 8 ecuaciones booleanas, algunas dependientes de 14 variables.

Dept. Arquitectura y Tecnología de Computadores

D / 15


5.4 Componentes combinacionales estándar • Existen bloques funcionales que realizan estas tareas y que son componentes propios del nivel de registro: – Componentes combinacionales: Circuitos aritméticos, ALU, Codificadores, Decodificadores, Multiplexores, Demultiplexores, PLDs combinacionales etc. – Componentes secuenciales: registros, contadores, memorias, bancos de registros.

Dept. Arquitectura y Tecnología de Computadores

D / 16


5.4 Componentes combinacionales estándar 5.4 Componentes combinacionales estándar: 5.4.1 5.4.2 5.4.3 5.4.4 5.4.5

Circuitos aritméticos (sumador/restador, comparador) ALU Codificadores/ Decodificadores Multiplexores/ Demultiplexores Dispositivos lógicos programables

Dept. Arquitectura y Tecnología de Computadores

D / 17


5.4.1 Circuitos aritméticos • SEMISUMADOR: Tabla verdad

S 0 = ∑ m(1,2) = A0' ·B0 + A0 ·B0' = A0 ⊕ B0 C1 = ∑ m(3) = A0 ·B0

A0

B0

S0

C1

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

A0 B0

S0

C1

Dept. Arquitectura y Tecnología de Computadores

D / 18


5.4.1 Circuitos aritméticos • SUMADOR COMPLETO DE 1 bit: Datos de entrada

Acarreo de salida

A Cout

B Cin S

Acarreo de entrada

Salida de suma

A B Cin

S

Tabla verdad A

B

Cin

S

Cout

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

S = ∑ m(1,2,4,7) = A'·B'·Cin + A'·B·Cin' + A·B'·Cin' + A·B + Cin = = Cin ·(A ⊕ B )'+Cin ·(A ⊕ B ) = Cin ⊕ A ⊕ B

Cout

Cout = ∑ m(3,5,6,7) = A·B + Cin ·B + Cin · A

Dept. Arquitectura y Tecnología de Computadores

D / 19


5.4.1 Circuitos aritméticos • SUMADOR COMPLETO DE 1 bit a partir de dos semisumadores: S = C in ⊕ A ⊕ B C out = A · B + C in · A '· B + C in · A · B ' = A · B + C in ·( A ⊕ B ) Cin A

Cin

A⊕ B

S

BC

00

01

0

Cin ⋅ ( A ⊕ B )

B

A

Cout

1

11

10

1 1

1

1

A·B Cin A

S

Cout

B Dept. Arquitectura y Tecnología de Computadores

D / 20


5.4.1 Circuitos aritméticos 010 + 0010 1010

• ¿Cómo se suma?

1100 1

0

0

0

1

0

Sumador completo 1 bit

1

Z 0

1

Sumador completo 1 bit

Acarreo A B

0

0

Sumador completo 1 bit

0

Sumador completo 1 bit

0

1

1

0

0

Dept. Arquitectura y Tecnología de Computadores

D / 21


5.4.1 Circuitos aritméticos • Sumador binario de 4 bits con propagación del acarreo en cascada: A3 B3 C4

A Cout

A

S

B C3 A Cin Cout

Cout

B Cin

A2 B2

A1 B1

B C2 A Cout Cin

A0 B0

B C1 A Cin Cout

B C0 Cin

S

S

S

S

S3

S2

S1

S0

A B Cin

S

Cout

t0 t0 t0 t0 t0

+ + + +

 A0, B0 y C0 2 C1,S0 4 C2 6 C3 8 C4

Dept. Arquitectura y Tecnología de Computadores

D / 22


5.4.1 Circuitos aritméticos • Sumador binario de n bits:

Dept. Arquitectura y Tecnología de Computadores

D / 23


5.4.1 Circuitos aritméticos • ¿Qué ocurre si obtenemos un resultado no representable? – Hay que diseñar la lógica de desbordamiento que dependerá del tipo de representación. – Por ejemplo: en complemento a 2 hay desbordamiento si los dos últimos acarreos son distintos. – Ejemplo: si sumáramos dos números de 4 bits representados en C2: X3X2X1X0 + Y3Y2Y1Y0 cn-1 cn-2 (acarreos) 00

01

11

00

11

00

10

X3 Y3

0 0

0 0

0 1

0 1

1 0

1 0

1 1

1 1

Z3

0

1

0

1

0

1

0

1

Desbordamiento

D = X3’·Y3’·Z3 + X3·Y3·Z3’

D

11

X3 Y3 Z3 X3 Y3 Z3

X3

Y3

Z3

D

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 1 0 0 0 0 1 0

Dept. Arquitectura y Tecnología de Computadores

D / 24


5.4.1 Circuitos aritméticos • RESTADOR: Resta binaria: A – B = A + (B’+1) -

1010 0011

A B

1010 + 1100

0111

Z

1 0110

A B’

+ 1 0111

Z

• Restador binario de 4 bits: Z3Z2Z1Z0 = X3X2X1X0 – Y3Y2Y1Y0 = = X3X2X1X0 +(Y3’Y2’Y1’Y0’ + 1)

Dept. Arquitectura y Tecnología de Computadores

D / 25


5.4.1 Circuitos aritméticos • SUMADOR/RESTADOR de 4 bits: – Si S/R = 0, entonces A = X; B = Y; C0 = 0 luego, Z = X + Y  Suma

‒ Si S/R = 1, entonces A = X; B = Y’; C0 = 1 luego, Z = X + Y’ + 1 = X – Y  Resta S/R

Y

B

0 0

0 1

0 1

1 1

0 1

1 0

B = S/R ⊕ Y

Dept. Arquitectura y Tecnología de Computadores

D / 26


5.4.1 Circuitos aritméticos • Sumador binario de 4 bits, 54283:

Dept. Arquitectura y Tecnología de Computadores

D / 27


5.4.1 Circuitos aritméticos • COMPARADORES Un comparador se puede implementar de varias formas: – Comparador con 1 salida – Comparador con 3 salidas – Comparador con salidas codificadas

Dept. Arquitectura y Tecnología de Computadores

D / 28


5.4.1 Circuitos aritméticos • Comparador con 1 salida Ejemplo: comparador binario de números de 2 bits x1

x0

y1

y0

f

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0

x1 x0 y1 y0

f = 1 si x < y f = 0 si x ≥ y

Comparador

f

f = x’1·x’0·y0 + y1·y0·x’0 + x’1·y1 y1y0 x1 x0

00 01

00 01 11 10 0

x1

x0

y1 y0

11 13 12

4

5

11

12

13

10

8

9

1 7 16 15

14

111

10

Dept. Arquitectura y Tecnología de Computadores

f

D / 29


5.4.1 Circuitos aritméticos • Comparador con 3 salidas: Ejemplo: comparador binario de 1 bit G = 1 si x > y E = 1 si x = y x L = 1 si x < y COMPARADOR y

x

y

G

E

L

0 0 1 1

0 1 0 1

0 0 1 0

1 0 0 1

0 1 0 0

G E L

x y

G = x·y’ E = x’·y’ + x·y L = x’·y

G

E

L Dept. Arquitectura y Tecnología de Computadores

D / 30


5.4.1 Circuitos aritméticos • Comparador con salidas codificadas: Ejemplo: comparador de 1 bit cd = 00 si x = y cd = 01 si x < y x cd = 10 si x > y CM-1 y

x 0 0 1 1

y 0 1 0 1

c 0 0 1 0

d 0 1 0 0

c = x·y’ d = x’·y

x y

c d

c

d

Dept. Arquitectura y Tecnología de Computadores

D / 31


5.4.1 Circuitos aritméticos • Para poder comparar números de varios bits podemos construir un comparador modular, a partir varios comparadores de 1 bit modificados adecuadamente. • Ejemplo: comparador modular de n bits.

0 0

cn dn

CM-1

xn-1

yn-1

cn-1 dn-1

c2 d2

CM-1

x1

y1

d1

CM-1

x0

c0 d0

y0

Dept. Arquitectura y Tecnología de Computadores

D / 32


5.4.1 Circuitos aritméticos • Comparador de 8 bits a partir de 2 comparadores modulares de 4 bits 74x85:

Dept. Arquitectura y Tecnología de Computadores

D / 33


5.4.2 ALU • Unidad Aritmético Lógica de 4 bits: 74181

Dept. Arquitectura y Tecnología de Computadores

D / 34


5.4.2 ALU • Diagrama lógico de la ALU-74181

Dept. Arquitectura y Tecnología de Computadores

D / 35


5.4.2 ALU • Unidad Aritmético Lógica de 4 bits: 74181 16 operaciones lógicas y 16 aritméticas

Dept. Arquitectura y Tecnología de Computadores

D / 36


5.4.2 ALU

Símbolo lógico:

Opera con los datos: A3A2A1A0 y B3B2B1B0 El resultado es el dato F3F2F1F0 M = H  operaciones lógicas M = L  operaciones aritméticas Con s3s2s1s0 se seleccionan las 16 operaciones lógicas o aritméticas. Cn  Acarreo de entrada Cn+4  Acarreo de salida A=B  H cuando F’=1 (resta) G’  Acarreo generado P’  Propagación de acarreo

Dept. Arquitectura y Tecnología de Computadores

D / 37


5.4.3 Codificadores/ Decodificadores • Un codificador es un circuito combinacional con n entradas y m salidas de forma que en un instante sólo una de las entradas puede tomar el valor 1, generando a la salida una combinación de m bits que es única para esa entrada. x0 . . . xn-1

z0 . . . zm-1

Dept. Arquitectura y Tecnología de Computadores

D / 38


5.4.3 Codificadores/ Decodificadores • Ejemplo: Codificador decimal-BCD Presenta a la salida el código BCD del valor decimal correspondiente a la entrada activa

0 0 0 0 1 0 0 0 0 0

I9 I8 I7 I6 I5 I4 I3 I2 I1 I0

Entradas

COD. Decimal BCD

Y3=0 Y2=1 Y1=0 Y0=1

I9 0 0 0 0 0 0 0 0 0 1

I8 0 0 0 0 0 0 0 0 1 0

I7 0 0 0 0 0 0 0 1 0 0

I6 0 0 0 0 0 0 1 0 0 0

I5 0 0 0 0 0 1 0 0 0 0

I4 0 0 0 0 1 0 0 0 0 0

I3 0 0 0 1 0 0 0 0 0 0

Salidas I2 0 0 1 0 0 0 0 0 0 0

I1 0 1 0 0 0 0 0 0 0 0

I0 1 0 0 0 0 0 0 0 0 0

Dept. Arquitectura y Tecnología de Computadores

Y3 0 0 0 0 0 0 0 0 1 1

Y2 0 0 0 0 1 1 1 1 0 0

Y1 0 0 1 1 0 0 1 1 0 0

Y0 0 1 0 1 0 1 0 1 0 1

D / 39


5.4.3 Codificadores/ Decodificadores • Un codificador binario proporciona a la salida el valor binario correspondiente a la entrada activa. • Existen 2 tipos fundamentales de codificadores binarios: – Codificadores sin prioridad: solo admiten una entrada activada, codificando en la salida el valor binario de la misma y cero cuando no existe ninguna activa – Codificadores con prioridad: puede haber más de una entrada activada, existiendo prioridad en aquella cuyo valor decimal es más alto.

Dept. Arquitectura y Tecnología de Computadores

D / 40


5.4.3 Codificadores/ Decodificadores â&#x20AC;˘ Ejemplo: Codificador binario 8-a-3 sin prioridad: Entradas I7 0 0 0 0 0 0 0 1

I6 0 0 0 0 0 0 1 0

I5 0 0 0 0 0 1 0 0

I4 0 0 0 0 1 0 0 0

I3 0 0 0 1 0 0 0 0

Salidas I2 0 0 1 0 0 0 0 0

I1 0 1 0 0 0 0 0 0

I0 1 0 0 0 0 0 0 0

Y2 0 0 0 0 1 1 1 1

Y1 0 0 1 1 0 0 1 1

Y0 0 1 0 1 0 1 0 1

0 0 0 0 0 1 0 0

I7 I6 I5 I4 I3 I2 I1 I0

Cod. 8-3

Y2 0 Y1 1 Y0 0

Y2 = I4 + I5 + I6 + I7 Y1= I2 + I3 + I6 + I7 Y0 = I1 + I3 + I5 + I7

Dept. Arquitectura y TecnologĂ­a de Computadores

D / 41


5.4.3 Codificadores/ Decodificadores • Codificador binario 4 a 2 con prioridad (orden de Z0 Z1 prioridad 3-2-1-0): X3

X2

X1

X0

Z1

Z0

0 0 0 0 0 0 0 0

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 0 0 1 1 1 1

0 1 1 0 0 0 0

1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

x1 x0 x3 x2

00

00

01

1

11

1

10

1

01 0

11 1

5

1 12

1

1

Z1 = X2 + X3

6

1 15

1 9

2

7

13

1 8

3

1

1 4

10

14

1 11

10

x1 x0 x3 x2

00

00

01 11

1

10

1

01

11

10 1

1 0

1

3

2

4

5

7

6

1 12

1 13

1 8

1 15

1 9

14

1 11

10

Z0 = X3 + X2’·X1

X0 X1 X2

Z0 Z0

X3

Dept. Arquitectura y Tecnología de Computadores

D / 42


5.4.3 Codificadores/ Decodificadores • Un decodificador es un circuito combinacional con n entradas y m salidas, donde n es el número de bits que se utilicen en el código y m el número de caracteres que se están decodificando. Cada combinación de entradas pone una salida a 1 (o 0) mientras las demás permanecen a 0 (o 1).

x0 . . xn-1

z0 . . . . . . zm-1

• En un decodificador binario, m = 2n, cada combinación de entrada determina la salida cuyo número de orden coincida con el valor binario de las entradas.

Dept. Arquitectura y Tecnología de Computadores

D / 43


5.4.3 Codificadores/ Decodificadores â&#x20AC;˘ Decodificador binario de 3 a 8: X 2X 1X 0

0 1 1

Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0

000

0

0

0

0

0

0

0

E

001

0

0

0

0

0

0

E

0

010

0

0

0

0

0

E

0

0

011

0

0

0

0

E

0

0

0

100

0

0

0

E

0

0

0

0

101

0

0

E

0

0

0

0

0

110

0

E

0

0

0

0

0

0

111

E

0

0

0

0

0

0

0

1

Dept. Arquitectura y TecnologĂ­a de Computadores

0 0 0 1 activada 0 0 0 0

D / 44


5.4.3 Codificadores/ Decodificadores • Aplicaciones de los decodificadores: – Memoria del computador • Seleccionar diferentes bancos x0 de memoria x1 • Seleccionar palabras dentro de x 2 un chip de memoria – Sistema de Entrada/Salida en un computador: seleccionar diferentes dispositivos – Decodificar los códigos de operación que identifican cada instrucción.

0 1 2 3 4 5 6 7 z5 z4 z3 z2 z1 z0

Dept. Arquitectura y Tecnología de Computadores

D / 45


5.4.3 Codificadores/ Decodificadores • Conversores de código: – permiten pasar de un código a otro. – por ejemplo: de Binario natural a 7 segmentos, de Gray a Binario, de Gray a BCD, etc. – Alternativas de implementación: • Simplificación multifuncional • Decodificador + Codificador Conversor de código

Código de entrada

Decod

Cod

Código de salida

Dept. Arquitectura y Tecnología de Computadores

D / 46


5.4.4 Multiplexores/ Demultiplexores • Un multiplexor (MUX) es un bloque combinacional con p entradas de control, 2p entradas de datos y una salida, de forma que conecta una de las entradas con la salida según el valor de las entradas de control. sp…s0 Entradas de datos n = 2p

x0 . . . xn

0 . . . . n

Entradas de control (p)

Z

Salida

• Si las entradas de datos están numeradas, se conecta con la salida aquella cuyo número de orden coincide con el valor en binario de las entradas de control. • El multiplexor también se denomina selector de datos Dept. Arquitectura y Tecnología de Computadores

D / 47


5.4.4 Multiplexores/ Demultiplexores • Multiplexor 4 a 1: Entradas Salida de control y1 0 0 1 1

y0 0 1 0 1

Z x0 x1 x2 x3

z = y1’·y0’·x0 + + y1’·y0·x1 + y1·y0’·x2 + y1·y0·x3

Dept. Arquitectura y Tecnología de Computadores

D / 48


5.4.4 Multiplexores/ Demultiplexores â&#x20AC;˘

Ejemplo: construir un multiplexor 8 a 1 a partir de dos multiplexores de 4 a 2. y2

y1

y0

z

y1

y0

z1

z0

y2

z

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

x0 x1 x2 x3 x4 x5 x6 x7

0 0 1 1

0 1 0 1

x0 x1 x2 x3

x4 x5 x6 x7

0 1

z0 z1

y2 y1 y0 x0 x1 x2 x3 x4 x5 x6 x7

0 1 2 3 4 5 6 7

y1 y0 x0 x1 x2 x3

z

0 1 2 3

z0 y2

y1 y0 x4 x5 x6 x7

0 1 2 3

0 1

z

z1

Dept. Arquitectura y TecnologĂ­a de Computadores

49


5.4.4 Multiplexores/ Demultiplexores • Aplicaciones: – Transmitir información con multiplexores de palabras de n bits. Por ej.: MUX de 4 (palabras de n bits) a 1 (palabra de n bits). y1 y0 n A n B n C n D

1

0

0 1 2 3

n

Z

y1

y0

Z

0

0

A

0

1

B

1

0

C

1

1

D

Por ejemplo: si y1y0 = 10, Z = C siendo Z = Z0 Z1 …Zn-1 y C = C0C1…Cn-1

Dept. Arquitectura y Tecnología de Computadores

D / 50


5.4.4 Multiplexores/ Demultiplexores – Módulos lógicos universales para sintetizar funciones de conmutación: • Las entradas de control son las variables de conmutación a sintetizar y • las variables de entrada son los valores 0 o 1 que la función deba producir. • Con un MUX de n entradas de control se puede implementar cualquier función de conmutación de n variables. a

b

c

f

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

1

f(a,b,c)=∑m(3,4,6,7) a b c 0 0 0 1 1 0 1 1

2 1 0 0 1 2 3 4 5 6 7

0 11

f

0 0 0 1 1 0 1 1

2 1 0 0 1 2 3 4 5 6 7

Dept. Arquitectura y Tecnología de Computadores

f=1

D / 51


D / 52

5.4.4 Multiplexores/ Demultiplexores • Con un multiplexor de n entradas de control se pueden sintetizar funciones de n+1 variables. • Por ejemplo, con un multiplexor de 2 entradas de control se puede sintetizar una función de 3 variables: f(a,b,c)=∑m(3,4,6,7)

a

b

c

f

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

1

a b a

b

f

0

0

0

0

1

c

1

0

c’

1

1

1

0 c c’ 1

1 0 0 1 2 3

f

Dept. Arquitectura y Tecnología de Computadores


5.4.4 Multiplexores/ Demultiplexores – Acceder a un bus para enviar información desde varias fuentes.

yn y0

E1

Dispositivo 1

En

Dispositivo n

n...0

n

n

. . . .

0

m

Bus

m

Dept. Arquitectura y Tecnología de Computadores

D / 53


5.4.4 Multiplexores/ Demultiplexores – Conversión de paralelo a serie de datos:

ENTRADA PARALELO E15 E14

Contador

E1

E0

MUX 16 A 1

Reloj SALIDA SERIE

Dept. Arquitectura y Tecnología de Computadores

D / 54


5.4.4 Multiplexores/ Demultiplexores • Un demultiplexor es un bloque combinacional que con p entradas de control, una entrada de datos y 2p salidas de datos. Conecta la entrada de datos con una de las salidas según el valor de las entradas de control. sp…s0

Entrada de datos

Z

0 . . . n

Entradas de control (p)

x0 . . . xn

2p Salidas

• Si las salidas están numeradas, la entrada se conecta a la salida cuyo número de orden coincide con el valor binario de las entradas de control.

Dept. Arquitectura y Tecnología de Computadores

D / 55


5.4.4 Multiplexores/ Demultiplexores • Ejemplo: demultiplexor 1 a 8 Señales de control

y2

y1

y0

x0

x1

x2

x3

x4

x5

x6

x7

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

Z 0 0 0 0 0 0 0

0 Z 0 0 0 0 0 0

0 0 Z 0 0 0 0 0

0 0 0 Z 0 0 0 0

0 0 0 0 Z 0 0 0

0 0 0 0 0 Z 0 0

0 0 0 0 0 0 Z 0

0 0 0 0 0 0 0 Z

z

1 10

y2 y1 y0 0 1 2 0 1 2 3 4 5 6 7

Salida de datos x0 x1 x2 x3 x4 x5 x6 x7

z

Entrada de datos

Dept. Arquitectura y Tecnología de Computadores

D / 56


5.4.4 Multiplexores/ Demultiplexores • Ampliación del número de líneas de control:

Dept. Arquitectura y Tecnología de Computadores

D / 57


5.4.4 Multiplexores/ Demultiplexores • También hay demultiplexores de palabras de n bits. Los demultiplexores se pueden utilizar para ampliación el número de bits de los datos:

y1 y0

0

1 0 n x

0 1 2 3

n n n n

X A B C D

8

DMUX

1 2 3

8 8 8 8

Z0 Z1 Z2 Z3

y1 y0 X = {x7 , x6 , .. , x0 } Zi = {zi7 , zi6 , .. , zi0 } Dept. Arquitectura y Tecnología de Computadores

D / 58


5.4.4 Multiplexores/ Demultiplexores • Ampliación del número de bits de los datos:

Dept. Arquitectura y Tecnología de Computadores

D / 59


5.4.4 Multiplexores/ Demultiplexores Decodificador/Demultiplexor: • un demultiplexor de “n” a “m” equivale a un decodificador binario de “n” a ”m” con entrada E de habilitación. • Su denominación indica un contexto diferente de utilización: – un demultiplexor es un circuito que permite conectar una fuente de datos de entrada a múltiples destinos en función de unas señales de control. – Un decodificador binario activa la salida cuya número de orden coincide con el valor binario de las entradas.

0 x2 1 x1 0 x0 E

E

Z0 Z1 Z2 E Z3 Z4 Z5 Z6 Z7

0 1 2 3 4 5 6 7

Z0 Z1 Z2 E Z3 Z4 Z5 Z6 Z7

DMUX

X2 X1 X0

0 1

0

Dept. Arquitectura y Tecnología de Computadores

D / 60


5.4.5 Dispositivos lógicos programables • Los dispositivos lógicos programables sustituyen en algunas aplicaciones a los circuitos SSI y MSI ya que ocupan menos, se necesitan menos unidades y su coste es inferior. • Están formados por una matriz de puertas AND y OR que se puede programar.

Dept. Arquitectura y Tecnología de Computadores

D / 61


5.4.5 Dispositivos lógicos programables • Los PLD tienen un estructura regular y se particularizan para realizar una aplicación concreta. • Como salen de fábrica no realizan ninguna función. El diseñador lo programa o configura para que lleve a cabo una tarea determinada. • Los PLD son reconfigurables, es decir, la programación se puede cambiar total o parcialmente y en algunos casos en tiempo real. • Se programan creando o eliminando conexiones entre los distintos dispositivos electrónicos que lo forman. NO PROGRAMADO PROGRAMADO

Dept. Arquitectura y Tecnología de Computadores

D / 62


5.4.5 Dispositivos lógicos programables • Un plano o matriz programable es una red de conductores en filas y columnas con un elemento electrónico en cada intersección. – Una matriz o plano OR está formada por puertas OR conectadas a una matriz programable. – Una matriz o plano AND está formada por puertas AND conectadas a una matriz programable. A A’

B B’

Matriz OR

A A’

B B’

A+B

A· B

A’ + B’

A’ · B’ Matriz AND

Dept. Arquitectura y Tecnología de Computadores

D / 63


5.4.5 Dispositivos lógicos programables • PLA (Programmable Logic Array): Una PLA n×p×m es un circuito combinacional con n entradas, formado por un plano AND programable con p términos producto y un plano OR también programable con m salidas. x1

x2

x3 Plano OR programable

P1 P2 P3 P4 Plano AND programable

z1

Dept. Arquitectura y Tecnología de Computadores

z2 D / 64


5.4.5 Dispositivos lógicos programables • Ejemplo: Implementar con una PLA las siguientes funciones: f1 = x1x2 + x1x3’ + x1’ x2’x3 = P1+P2+P3 f2 = x1’ x2’ x3 + x1x3 = P3 + P4 x1

x2

x3

Plano OR programable P1

• Términos producto de cualquier orden • Se pueden compartir términos producto

P2 P3 P4

Plano AND programable

f1

Dept. Arquitectura y Tecnología de Computadores

f2 D / 65


5.4.5 Dispositivos lógicos programables • PAL (Programmable Array Logic): esta estructura permite implementar cualquier suma de productos. x1

x2

x3

Plano OR fijo P1 P2

f1

P3 P4

f2

Plano AND programable Dept. Arquitectura y Tecnología de Computadores

D / 66


5.4.5 Dispositivos lógicos programables • Ejemplo: implementar con una PAL las siguientes funciones: f1 = P1 + P2 = x1x2 x3’ + x1’ x2’ x1

x2

x3

f2 = P3 + P4 = x1’ x2’ + x1x2x3 • • •

P1 P1

Términos producto de cualquier orden No se pueden compartir términos producto Minimización independiente de las funciones

 Mayor densidad y menor retardo que PLAs

Plano PlanoOR OR fijo fijo PP22

f1f1

PP33 PP44

f2f2

Plano Plano AND AND programable programable

Dept. Arquitectura y Tecnología de Computadores

D / 67


5.4.5 Dispositivos lógicos programables GAL (Generic Array Logic): – Una GAL básica está formada por un plano AND programable y un plano OR fijo. – La matriz programable está formada por CMOS borrables (E2CMOS) en lugar de fusibles (PAL). x1

x’1

x2

x’2

Plano OR fijo P 1

E2CMOS

E2CMOS

E2CMOS

E2CMOS

E2CMOS

E2CMOS

E2CMOS

E2CMOS

P2

E2CMOS

E2CMOS

E2CMOS

E2CMOS

P3

E2CMOS

E2CMOS

E2CMOS

E2CMOS

P4

f1 f2

Plano AND reprogramable Dept. Arquitectura y Tecnología de Computadores

D / 68


5.4.5 Dispositivos lógicos programables • CPLD (Complex Programmable Logic Device): son una evolución de los SPLD. – Suelen estar formados por varios bloques PAL conectados mediante líneas centralizadas programables. – Todavía se siguen utilizando. Por ejemplo, los puertos PCIExpress están controlados mediante un CPLD.

Dept. Arquitectura y Tecnología de Computadores

D / 69


5.4.5 Dispositivos lógicos programables • FPGA (Field Prgrammable Gate Array): son dispositivos lógicos programables de gran versatilidad. ‒ Pueden implementar circuitos combinacionales y secuenciales de gran complejidad. ‒ Los más básicos son homogéneos y los más complejos son heterogéneos. – FPGA-SRAM: volátiles, se puede reprogramar entre 10 y 100 veces, los que más se usan. – FPGA antifusibles: no volátil, muy estables, Se usan en aplicaciones espaciales – FPGA flash: Parecidos a los antifusibles pero con tecnología de transistores.

Dept. Arquitectura y Tecnología de Computadores

D / 70


5.4.5 Dispositivos lógicos programables • Arquitectura de una FPGA

Dept. Arquitectura y Tecnología de Computadores

D / 71


5.4.5 Dispositivos lógicos programables •

• •

Una memoria es una estructura lógica con n entradas de dirección, m salidas de datos y mx2n celdas de memoria. Además, puede tener m entradas de datos y p señales de control Almacena de forma permanente 2n palabras de m bits.

• Si la información se puede cambiar (escribir) la memoria es de lectura y escritura, y tendrá además m entradas de datos. • Si la información no se puede cambiar, es decir, permanente, la memoria es de solo lectura (ROM).

Dept. Arquitectura y Tecnología de Computadores

es

D / 72


5.4.5 Dispositivos lógicos programables Memorias ROM: • n entradas de dirección: xn-1,...,x0 • 2n palabras de m bits: (zm-1,...,z0) = M(xn-1,...,x0) • Formado por: – Decodificador binario de n a 2n – mx2n celdas de memoria En cada celda se almacena 1 bit • En la salida se obtiene la palabra de m bits (zm-1,…,z0) almacenada en la dirección que especifique su entrada de dirección (xn-1,…,x0)

Dept. Arquitectura y Tecnología de Computadores

D / 73


5.4.5 Dispositivos lógicos programables

• Ejemplo: memoria ROM de 8 palabras de 6 bits

0 x0 1 x1 0 x2

DEC

0 1 2 3 4 5 6 7

1

0

0

0

1

1

1

0

1

1

0

1

1

0

1

0

0

0

0

0

1

0

1

0

1

1

0

1

0

1

1

1

0

1

0

1

0

1

0

1

1

0

0

1

1

1

0

0

z5 z4 z3 z2 z1 z0

1

0 1 0 0 0

A la salida se obtiene la palabra almacenada (101000) en la dirección indicada (010). Dept. Arquitectura y Tecnología de Computadores

D / 74


5.4.5 Dispositivos lógicos programables • Las ROM son módulos lógicos universales:

Dept. Arquitectura y Tecnología de Computadores

D / 75


5.4.5 Dispositivos lógicos programables • PROM: vienen con todas las conexiones hechas y la programación consiste en deshacer conexiones. Sólo se pueden programar una vez. X1 X0 (Bits de Dirección) – Ejemplo: PROM 22x2 PROM

• EPROM: ROM borrable, programable y reprogramable con luz ultravioleta. • EEPROM: ROM borrable, programable y reprogramable eléctricamente (por ejemplo: memorias Flash)

Selección de Chip

Cs

Salidas

Dept. Arquitectura y Tecnología de Computadores

D / 76


5.4.5 Dispositivos lógicos programables x1

x2

x3

ROM programable: • Generación de funciones lógicas a partir de expresión canónica • Cada nueva variable duplica el tamaño de la memoria • Ejemplo:

Plano OR programable m0 m1 m2 m3 m4

f1(x1,x2,x3) = Σm(0,1,3,6)

m5

f2(x1,x2,x3) = Σm(1,2,3,5,7)

m6 m7

Plano AND fijo (Decodificador binario)

f1

Dept. Arquitectura y Tecnología de Computadores

f2 D / 77


5.4.5 Dispositivos lógicos programables • ROM 23x2 con entrada de selección: CS = 1: Funcionamiento normal CS = 0: Todas las salidas en alta impedancia

A2 A1

A0

Plano OR programable m0 m1 m2

A2

CS

ROM A1 3 2 ×2 D0 A0 D1

m3 m4 m5 m6 m7

Plano AND fijo Decodificador binario

CS D0 D1

Dept. Arquitectura y Tecnología de Computadores

D / 78


5.4.5 Dispositivos lógicos programables • Implementación de funciones de conmutación con PLA y ROM. Por ejemplo: ROM A B C D Z1(A,B,C,D)=D’B + C’DB + C’D’AB’ Z2(A,B,C,D)=CD + + C’DB + C’D’AB’

A

B

C

D

PLA Plano OR programable

Plano AND programable

z1

A B C D

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 1 2 3 4 5 6 7 DEC 8 9 10 11 12 13 14 15

0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Z2

Z1

0 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0

0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1

z2 Z1

Z2

Dept. Arquitectura y Tecnología de Computadores

D / 79


TOC UGR I