Está en la página 1de 143

Medidas de rendimiento

© Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la


Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción,
puesta a disposición del público y en general cualquier otra forma de explotación de toda o parte
de la misma.

La utilización no autorizada de esta obra, así como los perjuicios ocasionados en los derechos de
propiedad intelectual e industrial de la Universidad Europea de Madrid, S.L.U., darán lugar al
ejercicio de las acciones que legalmente le correspondan y, en su caso, a las responsabilidades
que de dicho ejercicio se deriven.
Medidas de rendimiento

Contenido

Presentación ........................................................................................................................ 4

Niveles de descripción ......................................................................................................... 5

Evolución de los computadores .......................................................................................... 7

Medidas de rendimiento versus niveles de descripción ..................................................... 8

Tiempo de ejecución ......................................................................................................... 10

Rendimiento ...................................................................................................................... 11

Ejemplo de cálculo de medidas de rendimiento ............................................................... 15

Tiempo de ejecución, MIPS y CPI ...................................................................................... 17

Ley de Amdahl ................................................................................................................... 18

Mejoras y limitaciones de la ley de Amdahl ...................................................................... 20

Resumen ............................................................................................................................ 21

Referencias bibliográficas .................................................................................................. 22

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Presentación

Un buen ingeniero o arquitecto de computadoras debe conocer las partes básicas de una computadora
digital, así como las distintas arquitecturas avanzadas que normalmente se utilizan para procesamiento
intenso.
Estos conocimientos permiten al ingeniero, desde un punto de vista práctico, conocer a fondo las
características y el funcionamiento del hardware. La capacidad de interpretar la estructura, las
características y las capacidades de una arquitectura, permitirán medir el rendimiento de un sistema y, en
la medida de lo posible, mejorarlo. También es importante saber comparar dos arquitecturas distintas y
así poder escoger el sistema más apropiado para cada ámbito de aplicación.

Objetivos
Los objetivos que se pretenden alcanzar al terminar este recurso son los siguientes:
 Avanzar en los conocimientos sobre los componentes hardware de una computadora y conocer
nuevos conceptos sobre medidas de rendimiento.
 Ser capaz de medir y calcular el rendimiento de los computadores y de componentes específicos.
 Ser capaz de comparar el rendimiento de ordenadores de diferentes familias entre sí.
Igualmente, ser capaz de comparar el rendimiento de distintas configuraciones de un mismo
computador.
 Reconocer la evolución y mejora de los computadores.
 Conocer qué es un benchmark o programas de pruebas, y conocer los estándares actuales y
cómo utilizarlos.

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Niveles de descripción

Un computador por sí mismo es un sistema complejo que engloba varios niveles de estudio a nivel
software y hardware. En la actualidad, la mayoría de los sistemas informáticos implican arquitecturas
complejas de computadores que combinan los componentes básicos definidos en el modelo Von
Neumann.

Un ingeniero informático debe ser capaz de definir, diseñar, desarrollar y mantener sistemas y
arquitecturas informáticas complejas. Para diseñar un sistema informático será necesario, por tanto,
integrar la parte hardware con la parte software, así como establecer los mecanismos más
adecuados de comunicación entre los distintos componentes y sistemas.

En la siguiente tabla se detallan los niveles de abstracción de una computadora.


Niveles de abstracción de una computadora
Los niveles de abstracción definen los distintos niveles de estudio que un ingeniero informático debe
conocer para poder entender el funcionamiento de una computadora en su conjunto. Serían los
siguientes:
Capas Niveles de abstracción Componentes y herramientas
Software de Generadores de programas  Entornos IDE.
aplicación  Lenguajes de programación.
Programas de aplicación  Ofimática (Ms Office (Microsoft,
2016), Open Office (Apache, 2016),
multimedia, diseño, comunicaciones,
etc.
Software de Compiladores e intérpretes.  Compilación, enlazado, ensamblado,
sistema traducción
Sistemas operativos.  Sistemas operativos: UNIX (The Open
Group, 2016), Windows (Microsoft,
2016), OS X (Apple, 2016), software
de gestión de ficheros, memoria,
procesos, etc.
Interfaz Arquitectura del conjunto de  Código máquina, arquitectura RISC y
software/hardware instrucciones CISC.
Hardware Organización de componentes  Estructura básica: modelo Von
hardware. Neumann.

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

 Arquitecturas avanzadas.
Transferencias.
Nivel digital.  Circuitos secuenciales. Circuitos
combinacionales
Nivel físico.  Electrónico: inversor, multivibrador.
 Componentes: transistor, metal,
diodo.

El diseño de arquitecturas avanzadas se centra en estos dos niveles:


Arquitectura del Este nivel define el puente entre el hardware y el software y se centra en el
conjunto de comportamiento de la máquina. Es decir, qué hace la máquina. En este nivel,
instrucciones además, se define cuál será el juego de instrucciones de la máquina a utilizar. Esta
decisión determinará el diseño hardware del computador.
El tamaño de las instrucciones y los datos determinarán el tamaño de los registros
de la máquina, el tamaño de las celdas de almacenamiento de memoria y el
número de hilos de los componentes de interconexión (por ejemplo, el bus de
instrucciones y el bus de datos).
Organización de La arquitectura de computadores determina la organización de los componentes
componentes hardware y debe conocer el funcionamiento interno de cada componente. El
hardware objetivo principal del arquitecto de computadores es construir una máquina lo más
eficiente posible al menor coste posible, teniendo en cuenta el ámbito de
aplicación de la máquina (genérico o específico) y las limitaciones del presupuesto
asignado.

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Evolución de los computadores

En la siguiente gráfica podemos observar cómo ha evolucionado el rendimiento de los computadores en


los últimos años:

Evolución del rendimiento de los computadores. Fuente: Patterson y Heneessy, 2011.

En este gráfico se muestra la evolución del rendimiento de distintos procesadores, en comparación con la
máquina VAX 11/780, que fue utilizada como máquina de referencia por los benchmarks SPEC hasta el
año 2000.
A continuación, se analiza en detalle el gráfico con la evolución del rendimiento de los computadores:
De 1986 a 2003
Entre el año 1986 y el 2003 se produjo la gran explosión de los ordenadores personales:
 La tecnología evolucionó de tal forma que el rendimiento de los ordenadores mejoraba a un
ritmo de 52% cada año.
 El precio de los ordenadores bajó espectacularmente.
 Los ordenadores personales llegaron a los hogares y las ventas de ordenadores se dispararon.
De 2003 a 2011
Sin embargo, en la última década, la evolución ha sido en torno al 22% anual, debido a las limitaciones
de consumo de potencia y a que la introducción de los multiprocesadores no mejora el rendimiento
proporcionalmente al número de procesadores.

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Medidas de rendimiento versus niveles de descripción

Dependiendo del nivel de abstracción o de descripción en el que queramos mejorar la máquina,


deberemos fijarnos en una u otra medida de rendimiento.
A continuación, se muestran algunas medidas de rendimiento, clasificadas según el nivel de abstracción y
la característica que queramos mejorar:

Software de aplicación
Niveles de abstracción Medidas de rendimiento
Generadores de programas.  Número de Instrucciones de alto nivel.
 Complejidad del algoritmo (Ω).
Programas de aplicación  Tiempo de ejecución (Tej).
 Tiempo de respuesta de usuario.
 Tiempo de CPU (TCPU).
 Operaciones por segundo.
 Rendimiento (performance).
 Productividad o throughput.
 Tiempo de respuesta.

Software de sistema
Niveles de abstracción Medidas de rendimiento
Compiladores e intérpretes.  Número de instrucciones máquina por programa (N).
Sistemas operativos  Número de programas en paralelo.

 Número de threads en paralelo.

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Interfaz software (SW)/hardware (HW)


Niveles de abstracción Medidas de rendimiento
Arquitectura del conjunto de  Ciclos por instrucción (CPI).
instrucciones.  Instrucciones por segundo (MIPS).
 Instrucciones de coma flotante por segundo (MFLOPS).
Organización de componentes  Tiempo de acceso a memoria (Tacc, TAM).
hardware  Latencia.
 Ancho de banda (megabytes/segundo).
 Transacciones Por Segundo (TPS).

Hardware
Niveles de abstracción Medidas de rendimiento
Nivel digital.  Frecuencia de reloj (F).
 Periodo o ciclo de reloj (t, T).
 Inferencias lógicas por segundo (KLIPS).
Nivel físico.  Número de transistores por componente.

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Tiempo de ejecución

Durante todo este recurso, hablaremos de muchas medidas de rendimiento como las que enumerábamos
en el apartado anterior.
Estudiaremos algunas de ellas, aprendiendo su definición y memorizando fórmulas para calcularlas. Sin
embargo, cuando llegue la hora de medir el rendimiento global de un computador, la prueba definitiva
sobre si una arquitectura es óptima o si hemos mejorado sus prestaciones lo suficiente, solo nos fijaremos
en una medida: el tiempo de ejecución.

El tiempo de ejecución de programas reales es la única medida de rendimiento fiable.

Tiempo de ejecución
Definimos el tiempo de ejecución como el tiempo de respuesta del sistema desde que se ejecuta un
programa hasta que se obtiene una respuesta.

El tiempo de ejecución es, por tanto, la medida de la verdad. De su resultado dependerá que todos los
recursos utilizados para la compra y construcción de componentes para diseñar la arquitectura, diseñar
algoritmos óptimos o buscar mejoras en las prestaciones, hayan merecido o no la pena.
Hay que distinguir entre el tiempo de ejecución de usuario (Tej), y el tiempo de ejecución del procesador
(TCPU):

Tiempo que el usuario tarda en recibir una respuesta del


sistema desde que ejecuta un programa hasta que recibe el
resultado por la pantalla o por la interfaz de usuario
correspondiente.

Tiempo de ejecución de usuario (Tej)

Tiempo que medimos por software desde que se inicia la


ejecución de un programa hasta que se genera el resultado
buscado como salida.

Tiempo de ejecución de procesador (TCPU)

10

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Rendimiento

Como ya anunciara Einstein en su Teoría de la Relatividad: “dos observadores que se mueven


relativamente uno al lado del otro con distinta velocidad, a menudo obtendrán diferentes medidas del
tiempo”.
Cuando tratamos de evaluar las prestaciones de una arquitectura de computadores ocurre algo similar.
Cuando decimos que el rendimiento de un computador es óptimo, ¿respecto a qué medida? ¿Comparado
con qué?
El rendimiento de un computador es relativo, dependiendo del fin para que sea utilizado y de cómo de
bueno sea comparado con máquinas similares que fueron construidas para el mismo fin o similar.
Para medir el rendimiento de un computador, ya tenemos claro que la única medida fiable es el tiempo de
ejecución, pero no hemos delimitado cuál es el programa que ejecutamos, ni cuál es la medida de tiempo
que se espera. Para demostrar que una computadora es óptima, debemos ejecutar un programa real (o
un programa de prueba de complejidad similar), y comparar los tiempos de ejecución con una
computadora similar. Cuanto menor sea el tiempo de ejecución, mejor es nuestro sistema.

Reducir el tiempo de ejecución, mejora el rendimiento de un sistema.

Para comparar el rendimiento de los computadores, hasta el año 2000, se usaba como medida estándar el
número de veces más rápido que el VAX-11/780. El VAX-11/780 fue la primera máquina de la familia VAX.
Ejecutaba aproximadamente 1 millón de instrucciones por segundo (1 MIPS) con programas reales. El
procedimiento consiste en ejecutar un conjunto de programas de prueba llamados benchmarks que
implementan algoritmos ya definidos, y comparar sus resultados con las tablas de tiempos ya calculadas
para el VAX.
En la actualidad, en el benchmark estándar del mercado SPEC CPU2006, así como en su versión anterior
CPU2000, se usa como máquina de referencia un servidor diseñado en 1997, llamado Sun Ultra Enterprise
2, con un procesador UltraSPARC II a 296 MHz.

11

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Definiciones y fórmulas
En el elemento interactivo siguiente, podrás explorar las definiciones de las medidas de rendimiento más
importantes y las fórmulas asociadas a cada medida, para saber cómo calcularlas.
Al final de este tema debemos ser expertos conocedores de estas medidas y ser capaces de calcularlas.

Tiempo de ejecución
Definición:
 Tiempo que el usuario tarda en recibir una respuesta del sistema desde que ejecuta un
programa, hasta que recibe el resultado por la pantalla o interfaz de usuario (acrónimo: Tej).
 Tiempo que el procesador tarda en ejecutar un programa (acrónimo: TCPU).

* Unidad: segundos
Leyenda:
 N  Recuento de instrucciones=instrucciones/programa.
 T  Período de reloj.
 CPI  Ciclos por instrucción.
 CPIi  Ciclos por instrucción de tipo i.
 Ii  Nº de Instrucciones de tipo i.
 n  Nº de tipos de instrucciones.

12

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Ciclos por instrucción


Definición:
 Número de ciclos de instrucción que transcurren en un segundo (acrónimo: CPI).

* Unidad: ciclos/instrucción
Leyenda:
 C  Número ciclos / programa.
 N  Recuento de instrucciones=instrucciones/ programa.
 Fi  Frecuencia (% 0..1) de aparición de instrucciones de tipo i.
 Fi  Frecuencia de Reloj (Hz).
Instrucciones por segundo
Definición:
 Millones de Instrucciones ejecutadas en un segundo (acrónimo MIPS).

* Unidad: MIPS = 106 instr./seg


Leyenda:
 N  Recuento de instrucciones=instrucciones/ programa
 Tej  Tiempo de ejecución.
 F(MHZ)  Frecuencia de reloj medida en MHz.
 CPI  Ciclos por instrucción.
Performance
Definición:
 Número de veces más rápido que el UltraSPARC II (acrónimo: performance (X) = P(X)).
 X es n veces más rápido que Y (acrónimo: n = performance (X/Y)).

* Unidad: Performance de X. X es P(X) veces más rápido que el UltraSPARC II.

* Unidad: X es n veces más rápido que Y

13

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Leyenda:
 Tej (X)  Tiempo de ejecución X

14

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Ejemplo de cálculo de medidas de rendimiento

Tras ejecutar un programa de prueba en un Intel Pentium (***) (Intel, 2016) de 166 MHz, se obtuvo un
tiempo de ejecución de 6 segundos y la siguiente distribución de cada tipo de instrucciones:
Tipo de instrucción Frecuencia de uso Ciclos de reloj
Operaciones Aritmético-lógicas 43% 1
Carga desde Memoria 21% 2
Almacenamiento en Memoria 12% 2
Instrucciones de salto 24% 2

A continuación, se presenta el cálculo del CPI (Ciclos Por Instrucción), MIPS (del inglés Millions of
Instructions Per Second) y el recuento total de instrucciones:
CPI
Como los datos que nos dan incluyen la distribución de instrucciones (en porcentaje) de cada tipo,
cuántos ciclos dura cada tipo de instrucción, usaremos la fórmula basada en tipos de instrucción:

CPI = 1,57 CPI


MIPS
Para el cálculo de MIPS, usaremos la fórmula basada en la frecuencia del procesador y el CPI que
acabamos de calcular.

MIPS = 105,76
Recuento total de instrucciones
Para calcular el número total de instrucciones, tendremos que basarnos en los datos ya calculados y
aplicar alguna fórmula de las que ya conocemos.
Por ejemplo, podemos usar la fórmula del tiempo de ejecución, que es un dato que sí conocemos (6
segundos):

Despejamos N (recuento de instrucciones):

No sabemos el ciclo de reloj t, pero conocemos la frecuencia de reloj

Por tanto el ciclo de reloj es: .

N= 634,39 M instr.

15

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

¿Tú lo habrías calculado de otra forma?

16

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Tiempo de ejecución, MIPS y CPI

Ya sabemos que el tiempo de ejecución es la única medida fiable, pero hay otras medidas íntimamente
relacionadas como son los MIPS (del inglés Millions of Instructions Per Second) y los PI (Ciclos Por
Instrucción).
¿Podemos fiarnos de los MIPS para comparar el rendimiento de dos sistemas? Aparentemente los MIPS
son una buena medida, pues cuántas más instrucciones ejecutemos, mejor.
Pero fijémonos en una cuestión: puede que, al implementar un mismo algoritmo en dos arquitecturas
distintas, el programa resultante tenga muchas más instrucciones en el lenguaje máquina que usa una
computadora que la otra.
¿Cómo es posible? El número de instrucciones dependerá del juego de instrucciones. Las arquitecturas
RISC (Reduced Instruction Set Computer) tienen un juego reducido de instrucciones mucho más genéricas
que las arquitecturas CISC (Complex Instruction Set Computing). Por tanto, en las arquitecturas RISC
necesitaremos más instrucciones (aunque duran menos tiempo) para llevar a cabo el mismo programa.
Esto implica que aunque ejecutemos muchas más instrucciones por segundo en una arquitectura RISC,
puede que no ejecutemos el programa en menos tiempo. Es decir, dependemos del CPI.
Las instrucciones en las arquitecturas CISC tienen un CPI mucho mayor que las arquitecturas RISC, pues las
instrucciones RISC son mucho más sencillas y genéricas. Ahora bien, para hacer la misma operación, por
ejemplo, multiplicar o calcular la raíz cuadrada, necesitamos varias instrucciones en RISC, y una sola en
CISC.

Como conclusión, encontramos que el rendimiento al comparar dos máquinas, depende de la


frecuencia del procesador (¿cuánto dura un ciclo?), y del número de ciclos ejecutados al finalizar el
programa.

Debemos, por tanto, ejecutar el programa en las dos máquinas y comparar los tiempos de ejecución.

17

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Ley de Amdahl

La Ley de Amdahl permite representar matemáticamente cómo influye una mejora sobre un componente
o varios (que se utilizan durante un porcentaje del tiempo de ejecución) en la mejora global del
rendimiento de una computadora.
Si mejoramos x veces un componente de un computador, el componente será x veces más rápido, es
decir, hará el mismo trabajo en x veces menos de tiempo. Si ese componente se utiliza durante una
fracción de tiempo F del tiempo total de la ejecución, ¿cuál será el tiempo de ejecución del sistema
después de la mejora?

Tiempo de ejecución con mejora = tiempo de ejecución sin mejora * F / x + tiempo de ejecución sin
mejora * (1-F)

Donde (1-F) representa la fracción de tiempo en la cual no hay mejora (en tanto por uno).
Si operamos con la fórmula anterior:
 Tiempo de ejecución con mejora = tiempo de ejecución sin mejora * ( F / x + (1-F) ).
 1 / ( F / x + (1-F) ) = tiempo de ejecución sin mejora / tiempo de ejecución con mejora = speed-up.
 Speed-up = 1 / ( F / x + (1-F) ).

Donde:
 S  Es la aceleración o speed-up del sistema.
 x  Es la mejora parcial aplicada durante una fracción de tiempo F.
 F  Es la fracción de tiempo durante la que se aplica la mejora x.

Ejemplo
Un arquitecto de computadores se plantea aplicar una mejora en las operaciones en coma flotante que
hará que este tipo de instrucciones se realicen en un tiempo de ejecución 10 veces menor.
Se estima que el 40% de las instrucciones operan con números reales.
¿Cuál es el speed-up o aceleración del sistema al aplicar esta mejora?
Solución
Aceleración del sistema al aplicar esta mejora

18

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Mejora x = 10.

Frecuencia de uso F = 0,4

Es decir, las operaciones con números reales mejoran un 1000%, pero el sistema global solo mejora
un 56%.

19

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Mejoras y limitaciones de la ley de Amdahl

La ley de Amdahl también permite calcular el speed-up o aceleración de una computadora, cuando
aplicamos varias mejoras a la vez en distintos componentes.
Imaginemos que aplicamos varias mejoras a la vez: cada uno de los componentes mejorados se utiliza
durante una fracción de tiempo fi, y cada mejora la representaremos por un factor de mejora Ri.
La fórmula de speed-up o mejora global del sistema se calcula como:

Donde:
 Ri: cantidad de mejora de la tarea i.
 fi: fracción de tiempo que se aplica la mejora i.

¡Ojo! Hay que tener en cuenta que una de las mejoras hará referencia a la fracción de tiempo en la
cual no aplicamos ninguna mejora.
Cuando no hay mejora, el factor de mejora considerado será Ri = 1.

Limitación de la ley de Amdahl


La ley de Amdahl nos permite representar cuánto es la mejora global de un sistema al aplicar una mejora
sobre un componente. Pero esta ley tiene una limitación.
El principal inconveniente de la ley de Amdahl aparece cuando introducimos varias mejoras a la vez y
queremos calcular la mejora global del sistema, pues la fórmula presentada solo funciona si las mejoras
aplicadas no se solapan en el tiempo. Es decir, que durante una ejecución, nunca se están aplicando dos o
más mejoras a la vez.
Por ejemplo, si queremos calcular el speed-up de un sistema en el que mejoremos la velocidad del
procesador (se usa el 95% del tiempo), y los accesos a memoria (el 20% de las instrucciones son de acceso
a memoria), resulta que hay momentos en los que se están aplicando ambas mejoras simultáneamente,
por lo que en este caso no podríamos aplicar directamente la Ley de Amdahl.
En este caso, el speed-up final habría que calcularlo en dos pasos. Primero calcularíamos cuánto se reduce
el tiempo de ejecución con la primera mejora y después obtendríamos el speed-up de la segunda mejora.

20

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Resumen

Para poder diseñar una arquitectura óptima que ofrezca el rendimiento esperado para el fin para el que
se construyó, es imprescindible conocer cuáles son las medidas de rendimiento que me permiten medir
las prestaciones globales de un sistema. Igualmente, este conocimiento me permitirá mejorar una
característica concreta o el rendimiento global de una arquitectura ya diseñada o incluso ya fabricada.
La única medida de rendimiento fiable es el tiempo de ejecución. El tiempo de ejecución medirá el
tiempo que tarda en ejecutarse un programa de prueba en dos máquinas distintas. Esta medida nos
permitirá comparar el rendimiento de una máquina respecto a la otra, o de una configuración respecto de
otra dentro de una misma máquina.
Los programas de prueba deben tener una complejidad similar a los programas reales que normalmente
se ejecutarán, para que las medidas sean lo más fiables posibles. Otras medidas importantes son los MIPS,
el CPI, y la frecuencia del procesador.
Una habilidad importante de una arquitectura de computadores es la mejora de un sistema hardware
mediante el avance de algunos componentes. El ingeniero de computadores cuenta con un presupuesto
limitado y no podrá mejorar todos los componentes. Para decidir qué parte mejorar, hay que fijarse en
aquellos componentes o tareas que se utilizan durante más tiempo. El ingeniero debe saber calcular la
mejora global de un sistema cuando se aplica una mejora (o varias) sobre un componente específico.

21

© Universidad Europea de Madrid. Todos los derechos reservados.


Medidas de rendimiento

Referencias bibliográficas

 Apache Software Foundation, The (2016). Apache Open Office. Acceso web: www.openoffice.org
 Apple (2016). OS X. Acceso web: http://www.apple.com/es/osx/
 Intel Corporation (2016). Intel Processor Pentium. Acceso web:
http://www.intel.es/content/www/es/es/processors/pentium/pentium-processor.html
 Marcellus D., H. (1984). Systems programming for Computers. Prentice Hall.
 Microsoft (2016). Acceso web: www.microsoft.com, https://products.office.com/es-es/home
 Newell, A. y Simon, H. (1976). Computer science as empirical inquiry: symbols and search.
Communications of the ACM. pp. 113-126.
 Patterson D., y Hennessy, J. (2011). Estructura y Diseño de Computadores: Interfaz
Hardware/Software. Editorial Reverté. Cuarta Edición. Traducido y adaptado de: Patterson &
Hennessy, Computer Organization and Design: Hardware/Software Interface. Forth Edition. 2009.
Ed. Elsevier.
 Tanembaum, A., S. (1999). Structured Computer Organization (4th. ed.). Englewood Cliffs N.J.
Prentice-Hall.
 The Open Group (2016). UNIX. Acceso web:
http://www.opengroup.org/subjectareas/platform/unix

22

© Universidad Europea de Madrid. Todos los derechos reservados.


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Medición del Rendimiento de Computadores

Motivación:

 ¿Qué medidas de tiempo se utilizan para evaluar el rendimiento?


 ¿Cómo definimos el tiempo de cpu y el rendimiento del procesador?
 ¿Qué parámetros condicionan el tiempo de cpu?
 ¿Qué medidas de productividad se utilizan para evaluar el rendimiento?
 ¿Qué ventajas e inconvenientes presentan dichas medidas?
 ¿Qué tipos de programas se utilizan para evaluar el rendimiento?

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Medición del Rendimiento de Computadores

• Introducción
• Tiempo de ejecución. Rendimiento del Procesador
• Medidas de Productividad
 MIPS
 MFLOPS
• Programas de evaluación (Benchmarks)

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Medición del Rendimiento

• ¿Por qué se necesita medir el rendimiento?


 comparación del hardware de las máquinas
 comparación del software de las máquinas (compiladores)

• Propósito final:
 tomar decisiones de compra
 desarrollar nuevas arquitecturas

• ¿Basta con una sola medida?


 ¿es más rápida una máquina de 2 GHz que otra de 1,5 GHz?

• Medidas utilizadas:


3

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Tiempo de Ejecución

• Tiempo de Respuesta (transcurrido, de reloj, elapsed time)


 incluye todo (procesador, accesos a memoria, E/S, S.O., multiprogramación)
 en un sistema descargado da idea del rendimiento del computador o de sistema
 útil, pero no muy adecuado para efectuar comparaciones

• Tiempo de CPU
 no incluye E/S ni tiempo ejecutando otros programas (multiprogramación)
 Tcpu = Tcpu (usuario) + Tcpu (sistema)
 Tcpu (sistema) = tiempo ejecutando código del S.O.

• Tcpu (usuario)
 tiempo dedicado a la ejecución de código de “nuestro” programa
 da idea del Rendimiento del Procesador o Rendimiento de CPU
 esta influido por
4

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Comando “time” de Unix


• Resume los tiempos consumidos en la ejecución de un programa
- Formato:
$time programa
- Ejemplo de salida:
90.7u 12.9s 2:39 65% (shell csh)
real 2m 39s (shell bash)
user 1m 30.7s
sys 0m 12.9s

Tcpu(usuario) = 90,7 s. Tcpu(sistema) = 12,9 s. Ttranscurrido = 159 s.

65% = % del Tcpu sobre el Ttranscurrido =

100%-65% = 35% = % de tiempo esperando por E/S o ejecutando otros programas

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Ciclo de Reloj

• El rendimiento se calcula en función del ciclo de reloj


segundos ciclos segundos
--------------- = ------------- x ---------------
programa programa ciclo

• El tiempo se puede medir en ciclos de reloj


T
t

 Tiempo de ciclo (T) = tiempo entre dos eventos de reloj (período de reloj)
 Frecuencia de reloj (f) = ciclos / segundo


6

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

• ¿Son iguales
Ciclosel número
por de instrucciones y e
Instrucción
el número de ciclos depende de la organización hardware
el número cambia para cada procesador

• ¿Consumen todas las instrucciones igual n


las multiplicaciones/divisiones consumen mas que las suma
las instrucciones flotantes consumen mas que las enteras
las que acceden a memoria consumen mas que las que acc

• Ciclos por Instrucción (CPI)


número de ciclos promedio consumido por las instrucciones
permite comparar organizaciones alternativas que soportan
7

Si NI = nº de instrucciones del programa 


Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores
Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Rendimiento del Procesador

NI = nº de instrucciones del programa


CPI = ciclos por Instrucción
T = tiempo de ciclo
nº total de ciclos = NI x CPI
TCPU (usuario) = nº total de ciclos x tiempo de ciclo = (NI x CPI ) x T

TCPU = T x ∑ NIi x CPIi (i = tipo de instrucción)


CPI = ∑ CPIi X Fi (Fi = frecuencia de aparición de instrucciones i)

NI = función(Compilador, Lenguaje máquina)


CPI = función(Lenguaje máquina, Organización)
T= función(Organización, Tecnología)

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Rendimiento del Procesador

TCPU = NI x CPI x T

• La mejora de uno de los parámetros puede empeorar los otros,


de forma que no disminuya el tiempo de ejecución

• Ejemplo: Mejora en el juego de instrucciones  NI

Si NI y T=cte.  puede ocurrir que CPI (inst. + complejas)


Tcpu ~ NI x CPI 

Si NI y CPI=cte.  puede ocurrir que T (inst. + complejas)


Tcpu ~ NI x T 
9

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Medidas de Productividad

10

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

MIPS (nativos)

• Millones de Instrucciones Por Segundo

NI NI 1 f
MIPS = ------------------------ = ---------------- = ------------------ = ------------
Tejecucion x 106 TCPU x 106 CPI x T x 106 CPI x 106

• Mayor velocidad implica mayor valor de MIPS (a priori)

NI
Tejecucion = ---------------
MIPS x 106

11

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

MIPS (nativos)

• Inconvenientes:
 MIPS depende del juego de instrucciones
 difícil comparar máquinas con JI diferentes

 MIPS depende del programa (de su mezcla de instrucciones)

 MIPS puede llegar a variar inversamente al rendimiento


 medida no consistente (Ejemplo: incorporación de FPU  NI ≠ cte)
solución:

12

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

MIPS relativos

• Se elige una máquina de referencia a la que se le da el valor de


referencia MIPS=1

Treferencia MIPS relativos


----------------- = ------------------------
Tejecucion MIPS referencia

- Modelo VAX 11/780 (1978)  MIPS referencia = 1 (~ 10E6 Inst./seg.)


- Treferencia (VAX 11/780) / Tejecucion = G = MIPS relativos

Ventajas:
 resuelve el problema de la inconsistencia de los MIPS nativos

Inconveniente:


13

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

MFLOPS (nativos)

• Millions of FLoating Point Operations Per Second

Nº Operaciones Flotantes
MFLOPS = -------------------------------------
Tejecucion x 106

• Aplicable a programas con Operaciones Flotantes:


 sumas, restas, multiplicaciones, divisiones

• Simple precisión o Doble precisión

14

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

MFLOPS (nativos)

• Inconvenientes:
 MFLOPS dependen de si se dispone o no de FPU (Floating Point Unit)
 MFLOPS dependen de si están o no soportadas funciones complejas
(multiplicación, división, raíz cuadrada, seno, coseno, etc.)

 MFLOPS dependen de la mezcla de I. enteras y flotantes del programa


 MFLOPS dependen de la mezcla de operaciones flotantes
(operaciones mas complejas tienen un mayor tiempo de ejecución)
solución:

15

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

MFLOPS normalizados
• Se da un peso a cada tipo de operación flotante proporcional
a su complejidad
• Se utilizan tablas de conversión de MFLOPS nativos a
normalizados
Ejemplo:
Tipo de operación (i) Nº Op.norm.
+, -, *, COMP 1
/, SQRT 4
EXP, SIN, COS 8

Nº total de Op. normalizadas = Σi (NºOp.)i x (NºOp.norm.)i


MFLOPS normalizados =

16

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Medición del Rendimiento

• La única medida objetiva es el Tiempo de Ejecución

• Cualquier otra medida ofrece una visión parcial


 nº de instrucciones por programa
 nº de ciclos por programa
 nº de ciclos por instrucción
 nº de segundos por ciclo
 nº de ciclos por segundo
 nº de instrucciones por segundo

17

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Resumen de Vocabulario

NI número de instrucciones (máquina)


CPI (ciclos por instrucción)
Tejecucion tiempo de ejecución (segundos por programa)
T tiempo de ciclo (segundos por ciclo)
f frecuencia de reloj (ciclos por segundo)
MIPS (millones de instrucciones por segundo)
MFLOPS (millones de operaciones flotantes por segundo)

18

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Programas de Evaluación (Benchmarks)

• Carga ideal para la evaluación:


 Programas Usuario + Comandos S.O. ( Carga Trabajo, Workload )

• Problema:
 No disponibilidad de los computadores para correr la Carga de Trabajo

• Alternativa:
 Cargas neutrales ejecutadas por los fabricantes u organismos evaluadores

• Tipos de programas de evaluación (benchmarks):






19

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Benchmarks sintéticos

• Simulan la frecuencia de instrucciones y operandos de un abanico de


programas reales (código artificial)

• Ejemplos:
 Dhrystone (código entero)
 Whetstone (código flotante)

• Inconvenientes:
 optimizaciones del fabricante solo para la mejora de ese tipo de programas
 compiladores detectores de benchmarks

 su pequeño tamaño da lugar a un rendimiento óptimo del sistema de memoria


20

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Programas de tamaño reducido

• Pequeños programas de entre 10 y 100 líneas con resultado conocido


• Incluyen normalmente bucles, repitiéndose mucho algunas instrucciones
• Fáciles de simular durante el diseño de la máquina (compilador no disponible)
• Fáciles de estandarizar

• Ejemplos:
 programas de ordenación
 multiplicación de matrices, etc.
 Flops: resolución de integrales
 Linpack: resolución de sistemas de ecuaciones lineales

• Inconvenientes:
 optimizaciones del fabricante solo para la mejora de ese tipo de programas
 rendimiento óptimo del sistema de memoria ⇒

21

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Optimizaciones específicas para Benchmarks

22

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Aplicaciones reales

• Programas de uso común que forman parte de las cargas de trabajo


 Compiladores y Editores de texto
 Bases de datos y Hojas de cálculo
 Programas científicos

• Ejemplos: Conjunto de programas SPEC y benchmark SYSmark (PCs)


 SPEC =
 Programas consensuados por el conjunto de fabricantes
 Los mas utilizados para medir rendimiento y eficiencia del compilador
 Actualizaciones continuas: SPEC 92, SPEC 95, SPEC 2000, SPEC 2006
 SYSmark:


23

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


Universidad Area de Arquitectura
de Arquitectura y Tecnología de Computadores 09/10 y Tecnología
Oviedo de Computadores

Problema 2.2
1) MIPS con copro = fCPU / (CPI con copro x 10E6) =
MIPS sin copro = fCPU / (CPI sin copro x 10E6) =

2) NI con copro = MIPS con copro x 10E6 x Tej con copro =


NI sin copro = MIPS sin copro x 10E6 x Tej sin copro =

3) NI con copro = = N Iter x (NI enteras básicas + NI flotantes)


 NI enteras básicas =
NI sin copro = = N Iter x (NI enteras básicas + NI enteras emulación)
 NI enteras emulación =
NI medio enteras / flotante = NI enteras emulación / NI flotantes =

4) MFLOPS nativos = Nº Operaciones flotantes x NIter / (Tej con copro x 10E6) =


Nº Op. Normalizadas = (nº sum + nº res + nº mul + nº conv + nº comp) x 1 + nº div x 4 =
MFLOPS normalizados = Nº Op. Normalizadas x NIter / (Tej con copro x 10E6) =

5) Nº Op. en funciones = Nº total de Op. flotantes - Nº basico de Op. flotantes =


Nº invocaciones función = nº atan + nº sin + nº cos + nº sqrt + nº exp + nº log =
Nº medio Op. / función = Nº Op. en funciones / Nº invocaciones función =

24

Arquitecturas Paralelas, Lección 2 - Medición del rendimiento de computadores


TEMA 1
INTRODUCCIÓN A LAS REDES DE COMPUTADORES

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 1


Contenido del Tema 1

1. Conceptos básicos de transmisión de datos.


2. Técnicas de transmisión de datos
3. Introducción a las arquitecturas de comunicaciones
4. Generalidades de protocolos y servicios
5. Introducción a las redes de computadores
6. Las redes según su cobertura
7. Las redes según su modo de transferencia
8. Redes de Conmutación de Paquetes (RCP)

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 2


1. Conceptos básicos de transmisión de datos
Definición de Telemática
Modelo de Sistema de Comunicaciones
Tipos de datos
Perturbaciones en la transmisión
Capacidad de un canal

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 3


Definición de teleinformática/telemática

Tele-
comunicaciones

Teleinformática/
Telemática

Informática

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 4


Modelo simple de un sistema de comunicaciones

Sistema de comunicaciones

Transmisor

Receptor
Destino de
Fuente de Sist.Transmisión
la
información (Canal)
información

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 5


Tipo de dato fuente vs. tipo de transmisión

Teléfono

Codec
Fuente de Sist. Transmisión Fuente de Sist. Transmisión
información (Canal) información (Canal)

Transceptor
Modem

Fuente de Sist. Transmisión Fuente de Sist. Transmisión


información (Canal) información (Canal)

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 6


Modelo físico de comunicación de datos

Funciones a realizar: interfaz, sincronización,


formato de los mensajes, detección/corrección de
errores, control de flujo, etc.

Sist.Transmisión
ETD/DTE ETCD/DCE
(Canal)
ETCD/DCE ETD/DTE

Circuito de datos

Modelo OSI (de ISO) Modelo EIA


ETD: Equipo Terminal de Datos. Fuente o destino de los datos. DTE: Data terminal equipment.
ETCD: Equipo Terminal del Circuito de Datos (adapta la señal al medio). DCE: Data communications equipment

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 7


Perturbaciones en la transmisión
La atenuación y la distorsión

La atenuación es la pérdida de energía de la señal con la distancia


Se expresa en decibelios por unidad de longitud
La atenuación es mayor con la frecuencia

Señal de Señal de
entrada salida atenuada

La distorsión se debe a que la velocidad de propagación de las


componentes de frecuencia de la señal es diferente
Limita la velocidad de transmisión
Si la señal es digital aumenta la tasa de bits erróneos

Señal de entrada Señal de


sin distorsión salida distorsionada

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 8


Perturbaciones en la transmisión
El ruido

El ruido es cualquier señal no deseada que se inserta en algún


punto entre el emisor y el receptor
El ruido es el factor de mayor importancia en un sistema de comunicación
Por ello el factor de calidad de una señal se mide mediante la relación
señal/ruido (SNR o S/N) que se define como la proporción existente entre la
potencia de la señal que se transmite y la potencia del ruido que la corrompe
(se mide en decibelios)

𝐏𝐏𝐍𝐍
Señal de 𝐏𝐏𝐒𝐒 Señal de
Entrada sin ruido
Salida con ruido

𝐏𝐏𝐒𝐒
𝐒𝐒𝐒𝐒𝐒𝐒(𝐝𝐝𝐝𝐝) = 𝟏𝟏𝟏𝟏 × 𝐋𝐋𝐋𝐋𝐋𝐋 𝟏𝟏𝟏𝟏
𝐏𝐏𝐍𝐍

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 9


Concepto de ancho de banda

El ancho de banda de una señal es el rango de frecuencias


contenido en ella
El ancho de banda de un canal es el rango de frecuencias permitido
por dicho canal de comunicación sin pérdida significativa de energía
(atenuación)

La señal de voz en el dominio del tiempo La señal de voz en el dominio de la frecuencia


Amplitud de una
sinusoide de
Amplitud Amplitud frecuencia f

Tiempo 0,3kh 3,7kh Frecuencia


f
z z

Ancho de banda =
3,7khz-0,3khz =
3,4khz

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 10


Capacidad de un canal de transmisión

Se llama capacidad de canal a la velocidad de


transmisión máxima (bps) a la que se pueden transmitir
los datos
Existen dos aproximaciones para calcular la capacidad de
un canal:
El teorema de Nyquist

El teorema de Shannon

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 11


Capacidad de un canal sin ruido
Teorema de Nyquist

El teorema de Nyquist establece que la velocidad


máxima de transmisión C (en bps) para un canal (sin
ruido) con ancho de banda B (en Hz) es:

C= Velocidad en bps; B=ancho de banda en Hz; M= niveles de la señal

Consecuencias:
La limitación en la velocidad de los datos está impuesta por el
ancho de banda del canal
Para M=2 (señales binarias) en un canal con un ancho de banda B,
la mayor velocidad de transmisión que se puede conseguir es 2B

Si M=2 entonces log2 (2)=1, por lo tanto: C=2B


© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 12
Capacidad de un canal con ruido
Teorema de Shannon

El teorema de Shannon establece que la velocidad máxima


de transmisión (en bps) para un canal con ruido (N) es:

S= Potencia de la señal (mW, W); B=ancho de banda en Hz; N= Potencia del ruido (mW, W)

Consecuencias:
A mayor ancho de banda mayor velocidad de transmisión
La capacidad del canal aumenta con la potencia de la señal y
disminuye con el ruido

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 13


2. Técnicas de transmisión de datos
Transmisión serie y paralelo
Sincronismo
Topología
Velocidades y tiempos de transmisión y propagación

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 14


Técnicas de transmisión de datos

Técnicas
de
transmisión

Modo Serie Paralelo

Sincronismo Asíncrono Síncrono Síncrono

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 15


Transmisión serie y paralelo

111001011100011100
Emisor Receptor

enviados
a la vez
8 bits
1
0
1
1
Emisor 0 Receptor
1
1
0

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 16


Transmisión asíncrona
En una transmisión asíncrona los datos se transmiten de forma intermitente
carácter a carácter
El principio de cada carácter se indica mediante un bit de comienzo que corresponde al
valor binario 0. A continuación se transmite el carácter que tendrá entre cinco y ocho bits.
Cuando no se transmite ningún carácter, la línea entre el emisor y el receptor estará en
estado de reposo (“1”)

Línea en
reposo
START

Bits de

(5 a 8)
STOP
Bit de

datos
Bit de

“1”
1 11001101 0 1 11001000 0 1 00001101 0
Emisor Receptor

Reloj Carácter Reloj

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 17


Transmisión síncrona
Una transmisión síncrona (con reloj) permite la sincronización de los relojes del
emisor y receptor mediante la adición de información de sincronismo entre los
datos
En la transmisión síncrona existe además un nivel de sincronización adicional para que el
receptor pueda determinar dónde está el comienzo y el final de cada bloque de datos.
Para ello, cada bloque comienza con un patrón de bits denominado PREÁMBULO y termina
con un patrón de bits denominado FINAL

PREÁMBULO
Delimitador
Delimitador

DATOS
FINAL
Sincronismo
de bit

1 Byte Flag (8b) 1 Byte 1 Byte 1 Byte Flag (8b)


Emisor Receptor
Trama

Sincronismo
Reloj de bloque Reloj

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 18


Topologías básicas de línea
La topología es la disposición física de las estaciones en el medio de
transmisión
Punto a punto: Circuito directo y exclusivo entre cada par de puntos. Toda la capacidad
del canal está reservada para la transmisión entre los dos equipos
En una configuración multipunto, el mismo canal es compartido por más de dos
dispositivos
Punto a punto Multipunto

Hub
Bus
Estrella Estrella

Anillo

Servidor

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 19


Simplex, Dúplex y Semiduplex

Transmisión Simplex:
El canal de Unidireccional

comunicaciones es de un A B

solo sentido.
Transmisión Semiduplex:
Bidireccional no simultanea
Canal bidireccional, pero
A B
en el que no puede
transmitirse en ambos
sentidos a la vez.
Transmisión Dúplex: Bidireccional simultanea

Canal bidireccional en el A B
que puede transmitirse en
ambos sentidos a la vez.

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 20


Velocidades y tiempos de transmisión y
propagación

D (metros)
Mensaje a L(bits)
transmitir Mensaje
t=0 A B
Comienzo de la transmisión

Tiempo de trasmisión
t=Tt Mensaje
Tiempo de transmisión A B 𝑇𝑇𝑡𝑡 =
𝐿𝐿(𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏)
𝑉𝑉𝑡𝑡

Llegada del
Tiempo de propagación
último bit Mensaje
t=Tt+Tp 𝐷𝐷(𝑚𝑚𝑚𝑚𝑚𝑚)
Fin de la recepción A B 𝑇𝑇𝑝𝑝 =
𝑉𝑉𝑝𝑝

𝑇𝑇𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 = 𝑇𝑇𝑇𝑇 + 𝑇𝑇𝑝𝑝

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 21


3. Introducción a las arquitecturas de
comunicaciones
Nociones
El modelo de capas
La arquitectura OSI
La arquitectura TCP/IP

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 22


Noción de arquitectura de las comunicaciones
La arquitectura de
comunicaciones es el conjunto
estructurado de protocolos que
implementa el intercambio de
información entre ordenadores.
En esencia, la arquitectura de
comunicaciones, es la
especificación funcional del sistema
y sus componentes. Esta
especificación no define cómo hay
que implementar la arquitectura,
sino que solamente describe los
elementos de la misma y su
disposición.
La arquitectura de comunicaciones
constituye, por tanto, el marco de
trabajo para el proceso de
normalización.

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 23


Modelo de capas de arquitectura de comunicaciones [1]

Actualmente todas las


arquitecturas de red se
describen utilizando un
modelo de capas.
El modelo de capas es solo una
manera de dividir el problema de
la comunicación en partes mas
sencillas llamadas capas.
El primer modelo de protocolo en
capas para comunicaciones se
creó a principios de la década de
los setenta y se conoce con el
nombre de modelo de Internet o
modelo DoD (*) y fue
implementado en ARPANET.

(*) Vinton Cerf y Robert E. Kahn DoD: United States Department of Defense

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 24


Modelo de capas de arquitectura de comunicaciones [2]

El modelo de capas es una


solución de referencia para la
arquitectura de comunicaciones
que se basa en los siguientes Capa N+1
Protocolo N+1
Capa N+1
principios:
La capa N ofrece sus servicios a la capa

Pila de protocolos
Interfaz
N+1
La capa N+1 solo usa los servicios de la
capa N
La capa N solo habla con la capa N de
Protocolo N
Capa N Capa N
otro sistema siguiendo el protocolo de la
capa N
La comunicación entre dos capas
adyacentes (encima y debajo) se
realiza a través de la interfaz (normas
de intercomunicación entre capas) Sistema A Sistema B
El conjunto de protocolos que
interoperan en todos los niveles de
una arquitectura dada se conoce como
pila de protocolos.

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 25


Arquitectura de comunicaciones simple
Modelo de tres capas

Aplicaciones Protocolo de aplicación Aplicaciones


Soporte para la comunicación entre Soporte para la comunicación entre
aplicaciones situadas en distintos aplicaciones situadas en distintos
sistemas sistemas

Transporte Transporte
Comunicación confiable entre Protocolo de transporte Comunicación confiable entre
procesos extremo-a-extremo procesos extremo-a-extremo
(independiente de la red y la (independiente de la red y la
aplicación) aplicación)

Acceso a la red RED Acceso a la red


Comunicación confiable entre Comunicación confiable entre
equipo y red: direccionamiento, equipo y red: direccionamiento,
enrutamiento, errores, QoS enrutamiento, errores, QoS

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 26


Arquitectura de comunicaciones simple
Encapsulación

ApX ApY
Datos Datos

SAP SAP

TPDU TPDU

Transporte DSAP Datos DSAP Datos Transporte

NPDU NPDU

Acceso a la red DHost DSAP Datos DHost DSAP Datos Acceso a la red

Sistema X Sistema Y

SAP: Service Access point; PDU: Protocol data unit; TPDU: PDU de transporte; NPDU: PDU de red
© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 27
La arquitectura TCP/IP
El modelo de 3 capas vs TCP/IP

Aplicación
Aplicación (HTTP, SMTP, SSL ,etc.)
Soporte para la comunicación
Acceso a los servicios Internet de las
entre aplicaciones situadas en
aplicaciones
distintos sistemas

Transporte Transporte (TCP/UDP)


Comunicación confiable entre procesos Transferencia fiable. Segmentación. Control
extremo-a-extremo del flujo y errores. Identificación por puertos

Internet (IPv4/v6)
Trans. Paquetes entre sistemas finales.
Direccionamiento IP. Enrutamiento

Acceso a la red
Comunicación confiable entre
equipo y red: direccionamiento,
Interfaz de red
enrutamiento, errores, QoS (o capa de acceso a la red)
DRIVER (Enlace) + NIC (Físico)
(Ethernet, FDDI, X.25, FR, ATM, etc.)

ARPANET 1972
NIC: Network Interface Card
© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 28
La arquitectura TCP/IP
La capa Interfaz de red

La capa de interfaz de red es


responsable de enviar y recibir
señales de comunicaciones
entre dos hosts que se
comunican a través de sus
interfaces de red. Host
Esta capa incluye el controlador
de dispositivo (driver) y la tarjeta
de interfaz de red (NIC)

Pila TCP/IP
NIC
correspondiente. Conmutador

Dirver
El controlador de dispositivo
(driver), también llamado la
interfaz de red , es un
componente de software que se
comunica con el software TCP/IP
La tarjeta de interfaz de red
implementa el nivel de enlace y el
nivel físico

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 29


La arquitectura OSI
El modelo de 3 capas vs TCP/IP vs OSI

Aplicación
Acceso a los servicios OSI de las aplicaciones
Aplicación
Aplicación (HTTP, SMTP, SSL ,etc.)
Soporte para la comunicación Presentación
Acceso a los servicios Internet de las Se ocupa de las conversiones que puedan ser
entre aplicaciones situadas en
aplicaciones necesarias para los datos.
distintos sistemas
Sesión
Gestión de la comunicación entre
aplicaciones: establece y cierra conexiones

Transporte Transporte (TCP/UDP) Transporte


Comunicación confiable entre procesos Transferencia fiable. Segmentación. Control Transferencia fiable. Segmentación. Control
extremo-a-extremo del flujo y errores. Identificación por puertos del flujo y errores.

Internet (IPv4/v6) Red


Trans. Paquetes entre sistemas finales. Trans. Paquetes entre sistemas finales.
Direccionamiento IP. Enrutamiento Direcc. Prioridad. Enrutamiento. Conexiones

Acceso a la red Enlace


Comunicación confiable entre
equipo y red: direccionamiento,
Interfaz de red Trans. De datos (tramas) fiable, control de
errores y flujo. Sincronización
enrutamiento, errores, QoS (o capa de acceso a la red)
DRIVER (Enlace) + NIC (Físico)
Física
(Ethernet, FDDI, X.25, FR, ATM, etc.) Trans. de bits, características funcionales,
mecánicas y eléctricas

ARPANET 1972 ISO 1984

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 30


La arquitectura de comunicaciones OSI

Aplicación
Acceso a los servicios OSI de las aplicaciones

Presentación
Se ocupa de las conversiones que puedan ser necesarias
para que los datos sean interpretados correctamente. Solo en los Host
Sesión (nodos finales)
Gestión de la comunicación entre aplicaciones: establece y
cierra conexiones (sesiones)

Transporte
Transferencia fiable. Segmentación. Control del flujo y
errores.

Red
Trans. paquetes entre sistemas finales. Direccionamiento.
Prioridad. Enrutamiento. Conexiones

Enlace En todos los nodos de la


Trans. de datos (tramas) fiable, control de errores y flujo.
Sincronización red
Física
Trans. de bits, características funcionales, mecánicas y
eléctricas

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 31


La arquitectura de comunicaciones OSI
Encapsulación

Ap Ap
Datos
X Y

Protocolo de aplicación
Aplicación AH Datos Aplicación

Protocolo de presentación
Presentación PH AH Datos Presentación

Protocolo de sesión
Sesión SH PH AH Datos Sesión

Protocolo de transporte
Transporte TH SH PH AH Datos Transporte

Protocolo red
Red RH TH SH PH AH Datos Red

Protocolo
Enlace Enlace EH RH TH SH PH AH Datos ET Enlace

Bits
Físico EH RH TH SH PH AH Datos ET Físico

Red

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 32


La arquitectura de comunicaciones OSI
Comunicación entre sistemas finales

Ap Ap
X Y

Protocolo de aplicación
Aplicación Aplicación

Protocolo de presentación
Presentación Presentación

Protocolo de sesión
Sesión Sesión

Protocolo de transporte
Transporte Transporte
Nodo de red
Protocolo red
Red Red Red

Protocolo
Enlace Enlace Enlace Enlace Enlace

Bits
Físico Físico Físico Físico

Medio físico Medio físico

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 33


4. Generalidades de protocolos y servicios
Protocolos OSI
Jerarquía
Encapsulación
Control de flujo
Control de errores
Servicios
Calidad de servicio

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 34


Protocolo de comunicación

Las funciones básicas de los


Un protocolo de protocolos son:
comunicación está • El encapsulamiento
formado por un conjunto • El control de flujo
de reglas y formatos de • El control de errores
mensajes establecidos a • La fragmentación y el re-
priori para que la ensamblado
comunicación entre un • El direccionamiento
emisor y un receptor • La multiplexación
sea posible • La entrega ordenada

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 35


Los protocolos del modelo OSI
Jerarquía

En OSI los protocolos se implementan en niveles (capas)


separados:
El protocolo de capa-n es un conjunto de reglas, procedimientos y
formatos que gobiernan las comunicaciones entre entidades (procesos)
de capas iguales
El protocolo de capa-n permite el intercambio, entre dichos procesos,
de n_PDUs mediante una conexión n-1

N_PDU

Capa n Protocolo n (P2P) Capa n

N-1_SAP N-1_SAP

Capa n-1 Conexión n-1

Sistema X Sistema Y

PDU: Protocol data unit; SAP: Service Access point


© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 36
Los protocolos del modelo OSI
Servicios

En el modelo OSI, cada


capa provee servicios a Capa n+1
la capa que está encima
La capa n+1 invoca los
n+1_PDU

servicios que provee la Service

capa n Request

Los servicios invocados N_SAP

están disponibles en los


Capa n

SAP (Service access n_PCI

point)
La relación de las capas
n_PCI n_SDU

n+1 y n, es de n_PDU

cliente/servidor

Protocol control information (PCI) o cabecera


Protocol data units (PDUs) – Paquetes intercambiados entre entidades pares (del mismo nivel).
Service data units (SDUs). Carga útil (payload)
© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 37
Los protocolos del modelo OSI
Función de encapsulación

Los datos son


transferidos en bloques,
llamados unidades de Capa n+1
datos del protocolo (PDU,
Protocol Data Unit).
DATOS

Cada PDU contiene:


Los datos
Información de control
(PCI) Capa n
n_PCI

La adición de información n_PCI DATOS


de control a los datos es lo
que se conoce como n_PDU

encapsulamiento

Protocol control information (PCI)


© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 38
Los protocolos del modelo OSI
Funciones de control de flujo [1]

Problema:
Cuando el emisor es mas rápido que el receptor (porque éste es mas
lento o por el rebose de los buffers, etc.) se produce un desbordamiento.
Solución:
Incorporar un control de flujo que permita al receptor regular el flujo de
datos para no sobrecargarle con una cantidad excesiva de datos.

3 2 1
Emisor Receptor

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 39


Los protocolos en el modelo OSI
Funciones de control de flujo [2]

Control de
flujo

Técnicas
Ventana Parada y X-ON/X-
deslizante espera OFF

Fija Variable

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 40


Los protocolos en el modelo OSI
Funciones de control de flujo [3]

El control de flujo permite al receptor regular el flujo de


los datos enviados por el emisor, de manera que no se
sature su capacidad. Las técnicas mas comunes son:
X-ON/X-OFF: Se aplica en conexiones asíncronas. El receptor
manda un carácter (X-OFF) para detener temporalmente el
envío cuando detecta sobrecarga
Parada y espera (stop&wait): El receptor indica su
disponibilidad para recibir datos mediante el envío de un
asentimiento o confirmación(ACK)
Mecanismos de ventana: El receptor indica al emisor su
disponibilidad, regulando el número de tramas pendientes de
confirmación
Tamaño fijo ( X-25)
Tamaño variable (TCP/IP)

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 41


Control de flujo mediante parada y espera
Canal sin errores

El transmisor Emisor Receptor

envía una trama Datos_1

o paquete y ACK

espera hasta que Datos_2

recibe la ACK

confirmación por Datos_3

parte del receptor


ACK

de que llegó
Datos_4

ACK

correctamente
(Stop and wait
protocol).

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 42


Control de flujo mediante ventana
Canal sin errores

Emisor (A) Receptor (B)

W=3 F1
W=2 F2
W=1 F3
W=0
Tiempo de ACK4 indica que la
espera de la siguiente trama esperada
confirmación de
ACK4 es F4 y confirma las
alguna trama
anteriores
W=3

W=3 F4
W=2 F5
W=1
ACK6

W=3
Control del
Control del secuenciamiento y de la
secuenciamiento y confirmación
de la ventana de
emisión

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 43


Control de flujo mediante ventana
Transmisión continua

Hablamos de Emisor (A) Receptor (B)

transmisión Ventana antes

continua cuando del envío

el tamaño de las
ventanas está W=3 F1

ajustado
W=2 F2
W=1 F3 ACK1
Cuando W=0 se

suficientemente
W=0 F4 ACK2
recibe ACK1 y la
ventana se W=1 F5 ACK3

bien para que en


restaura ACK4
ACK5

ningún momento
se pare la Control del
transmisión secuenciamiento

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 44


Funciones de control de errores
El control de errores de un protocolo hace
referencia a los mecanismos necesarios para la
detección y la corrección de errores que aparecen
en el envío de PDUs
Los principales mecanismos de control de errores
son:
Descarte (en Frame Relay y ATM): la estrategia de descarte
consiste en renunciar a la corrección mediante la eliminación de la
PDU errónea
Solicitud de repetición automática (ARQ, Automatic Repeat
Request): Los errores, una vez detectados, se recuperan con
retransmisiones. El objetivo de este esquema es convertir una
conexión no fiable en fiable.
Corrección de errores hacia delante (FEC, Forward Error
Correction): En ocasiones no es posible disponer de
retransmisiones. En este caso se recurre, para corregir errores,
exclusivamente a los bits redundantes recibidos en la transmisión.

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 45


Solicitud de repetición automática (ARQ)
ARQ con parada y espera

Emisor Receptor

Datos_1
Tiempo de
espera de la ACK
confirmación

Datos_2

Datos
perdidos
Tiempo de
espera de la
confirmación

Timeout
Datos corruptos
Datos_2
Rechazo de la
NAK
trama. Su recepción
por el emisor
Datos_2 provoca la
retransmisión
ACK

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 46


Solicitud de repetición automática (ARQ)
ARQ con vuelta atrás (Go back n)

Emisor (A) Receptor (B)

F1
F2
F3

ACK4

F4
Datos
F5
perdidos

Se vuelve a
transmitir todo Indicación de que
ACK4
desde la trama F4 no se ha recibido
en adelante la trama F4
F4
F5
F6

ACK7

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 47


Tipos de servicio de los protocolos

Servicio orientado a conexión Servicio no orientado a Servicio no orientado a


Los usuarios del servicio (entidades n+1) conexión sin confirmación conexión con confirmación
solicitan al proveedor (entidades n), una Los usuarios del servicio no tienen que solicitar
conexión. Los usuarios utilizan la conexión Es una mezcla de los dos anteriores
al proveedor el establecimiento de una
para la transferencia de información, y después conexión cuando se tiene información para
la liberan transmitir, sencillamente la envía.
.,
• Se establece una conexión • No es necesaria la conexión • No hay conexión
• Se numeran y controlan las • Se envían las PDUs sin • Cada PDU es confirmada
PDUs acuse de recibo por el destino
• El mismo camino para todas • No se intenta reenviar las • Se reenvían las PDUs
las PDUs PDUs perdidas o erróneas erróneas

RTB
ATM IP
TCP Ethernet
HTTP UDP Token ring

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 48


5. Introducción a las redes de computadores
Noción de red de computadores
La capa de red vs. la capa de transporte
Clasificación de las redes

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 49


Noción de red
Definición de red de computadores:
Es un conjunto de computadores (y otros equipos)
conectados entre sí mediante dispositivos de
comunicaciones y medios de transmisión

Red
Medio de
comunicaciones
NODO

Sistema final Sistema final Formas de


Host NODO Host llamar a los
ETD ETD nodos
DTE DTE extremos

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 50


Elementos de una red
Sistema final o host o ETD o DTE:
Equipo origen o destino de los datos. Es donde residen las aplicaciones de los
usuarios.
Nodo:
Equipo utilizado para la conmutación de los datos . Hace labores de
encaminamiento de la información. Sólo tiene los tres primeros niveles de OSI1

Red de comunicaciones
Capas Capas
superiores superiores

Red Red Red Red

Enlace Enlace Enlace Enlace Enlace Enlace

Físico Físico Físico Físico Físico Físico

Sistema final NODO NODO Sistema final


Host Host
ETD Medio de ETD
DTE comunicaciones DTE

1. Para algunos autores el host también es un “nodo”


© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 51
La capa de red vs. la capa de transporte

El código de la capa de transporte se ejecuta enteramente en las máquinas de


los usuarios y sirve para la comunicación lógica entre procesos
Puede mejorar la QoS de la red
Sus primitivas son independientes de la red subyacente
La capa de red permite la comunicación lógica P2P y MP entre host

Ap X Ap Y

Protocolo de transporte Comunicación


Transporte Transporte
entre procesos
NSAP NSAP

Servicios de red: Comunicación


Control de la Conexión, el Encaminamiento, la Congestión y el Direccionamiento
entre host

Sistema X Sistema Y
NSAP: Network Service Access Point
P2P: Punto a punto
MP: Multipunto (Multicast)

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 52


Clasificación de las redes
Taxonomía Aspecto Aplicación Tecnología

Públicas
Empresarial
Privadas

Area local (LAN)

Redes Cobertura Area metropolitana (MAN)

De área extensa (WAN)


Controlada
Difusión (broadcast)
Contienda
Modo de
transferencia
De circuitos

Conmutación De mensajes

De paquetes

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 53


6. Las redes según su cobertura
Redes LAN
Redes MAN
Redes WAN

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 54


Redes LAN
Red de área local (Local area network)

Una LAN es una red de


comunicación que
proporciona interconexión
entre varios dispositivos de
comunicación de datos en un
área pequeña.
Características: Origen Destino
Tecnología broadcast, medio
compartido
Cableado específico
Velocidad típica de 1 a 100
Mbps
Extensión máxima típica 3km
Ejemplos:
Ethernet (IEEE 802.3): 1, 10,
100 Mbps (Fast Ethernet)
Token Ring (IEEE 802.5): 1, 4,
16 Mbps
GigaE: 1 y 10 Gbps

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 55


Redes MAN
Red de área metropolitana (Metropolitan area network)

Una MAN es una red de alta


velocidad que da cobertura en
un área que abarca una
ciudad facilitando integración Sede
central A
Sede
central B
de múltiples servicios
mediante la transmisión de
datos, voz y vídeo
10Gb
Características:
Geográficamente abarca una
ciudad
Alta velocidad
Medios de troncales
transmisión: fibra óptica
Múltiples servicios de
transmisión de datos, voz y
vídeo (multimedia)
10 Mbit/s ó 20 Mbit/s, sobre
cobre y 100 Mbit/s, 1 Gbit/s y
10 Gbit/s mediante FO Oficina1 Oficina2
Habitualmente interconecta
LANs

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 56


Redes WAN
Red de área extensa (Wide area network)

Una WAN es una red que cubre


una extensa área geográfica que
requiere atravesar rutas de
acceso público y utiliza, al menos
parcialmente, circuitos
proporcionados por una entidad
proveedora de servicios de
telecomunicación
Características:
Una WAN abarca un país, un
continente, incluso el mundo
(como Internet)
Alta velocidad
Medios de transmisión diversos
(sobre todo satelitales)
Soporta múltiples servicios de
transmisión de datos, voz y vídeo
(multimedia)
Tiene una tasa de errores
superior a las LAN
Aunque puede ser privada, la
mayoría se contratan a las
compañías telefónicas

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 57


7. Redes según el modo de transferencia de
la información
Redes de difusión
Redes de conmutación
Red de conmutación de circuitos
Redes de conmutación de mensajes
Redes de conmutación de paquetes

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 58


Redes de difusión
Red cableada en anillo

Características: Red cableada en bus

No existen nodos
intermedios
El medio físico es
compartido
mediante
Técnicas de
Acceso al Medio
Tiene problemas
de seguridad
La ubicación del
destinatario es
desconocida
Red satelital Red inalámbrica

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 59


Redes de difusión
Técnicas de acceso al medio

Técnicas de control
de acceso al medio

Dependencia del tiempo Repartición Compartición

MDF MDT Controlada Aleatoria

Objeto
Métodos Métodos de
Contención ALOHA CSMA estudio
(sin contención) (con contención)

Portadora CSMA/CD CSMA/CA

CD: collision detection; CS: carrier sense


CSMA: Carrier Sense Multiple Access; MDT: Multiplexión por división de tiempo; MDF: Multiplexión por división de frecuencia
© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 60
Redes de difusión
Acceso al medio compartido

Noción de Control de Acceso al


Medio: Tengo que enviar
un paquete, pero
Es mi turno para
enviar.
Es el conjunto de mecanismos y aún no es mi
turno… Esperaré.
No tengo nada que
enviar.
Transmitiré una
trama ahora.
protocolos a través de los cuales
varios sistemas (ordenadores,
teléfonos móviles, etc.) se ponen de
acuerdo para compartir un medio de Trama
transmisión común (cableado o
inalámbrico)
Acceso controlado
Hay dos métodos de control de acceso
al medio de comunicación para medios Estoy preparado. Transmitiré cuando Estoy preparado.
compartidos: Transmitiré ahora esté preparado. Transmitiré ahora

Controlado: Cada nodo tiene su


propio tiempo de usar el medio colisión
Aleatorio: Todos los nodos compiten Trama Trama

por el uso del medio


Acceso aleatorio

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 61


Redes de difusión
Acceso aleatorio al medio con contención [1]

Contención mediante detección


de portadora (CSMA):
Tengo que enviar Es mi turno para
un paquete, pero el enviar.
Intuitivamente: no interrumpir al medio no está
libre… Esperaré.
No tengo nada que
enviar.
Transmitiré una
trama ahora.
que habla
Escucha antes de transmitir
(Carrier sense)
Si el canal está libre: transmite
Trama
Si el canal está ocupado: espera

Contención mediante detección Acceso mediante detección de portadora


de portadora y colisión Estoy preparado. Estoy preparado.
(CSMA/CD): No hay portadora.
Transmitiré ahora.
No hay portadora
Transmitiré ahora.
la colisión llega al emisor poco ¡detección de colisión! Transmitiré cuando ¡detección de colisión!
Corto y Espero esté preparado. Corto y espero
tiempo después
si se detecta colisión se deja de
transmitir inmediatamente
colisión
esperar un tiempo aleatorio antes
Trama Trama
de volver a transmitir (backoff)

Acceso mediante detección de portadora y colisión

CD: collision detection; CS: carrier sense


© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 62
Redes de difusión
Acceso aleatorio al medio con contención [2]

Contención mediante detección de


portadora y evasión de colisiones
(CSMA/CA):
Si se detecta portadora, en vez de transmitir,
se espera por un período de tiempo Estoy preparado.
aleatorio para que cese la transmisión antes Hay portadora. Esperaré Estoy preparado.
un tiempo y en cuando
de escuchar de nuevo si el canal de esta este termine transmitiré Transmitiré cuando
No hay portadora
Transmitiré ahora
comunicación está libre. En este caso si no hay portadora esté preparado.

transmite
El receptor confirma las tramas (ante los
problemas para detectar si ha habido
colisión)
Se usa principalmente en redes inalámbricas ACK Trama

porque:
Las señales se atenúan y la detección de Acceso mediante detección de portadora y evasión
portadora podría fallar
Los equipos inalámbricos no cuentan con un
modo práctico para transmitir y recibir
simultáneamente

CSMA/CA: Carrier Sense Multiple Access with Collision Avoidance

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 63


Redes de conmutación

Las Redes de conmutación


son una colección de nodos
interconectados, a través de
los cuales los datos van de destino
origen a destino, sin que les
concierna el contenido de
los mismos
Los datos que entran en la nodo

red procedentes de una


estación origen se origen

encaminan hacia el destino


mediante la conmutación de
nodo en nodo.

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 64


Redes de conmutación de circuitos

Se denomina Conmutación de circuitos al establecimiento,


por parte de una red de comunicaciones, de una vía
dedicada, exclusiva y temporal (“circuito”) para la
transmisión de datos extremo a extremo entre dos puntos

Marcando

Llamando

Aunque varias
rutas son
posibles, se
selecciona una
sola por llamada
Nodo: Central telefónica

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 65


Redes de conmutación de circuitos
Cronograma

Origen A Destino
B
4

Establecimiento
3
A Proceso de
B

Fase 1:
la central

Transferenci
Inconvenientes:

Fase 2:

a
• La capacidad del canal se
desaprovecha cuando no se envían
datos.
• Origen y destino deben transmitir a la

Liberación
Fase 3:
misma velocidad.
• Riesgo de congestión de red: el nº de
canales es limitado.
• Cada conexión consume muchos
recursos de red

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 66


Redes de conmutación de mensajes

El almacenamiento y reenvío es
una técnica de conmutación con
conexiones punto a punto
estáticas, en virtud de la cual los
datos (el mensaje) se envían a
un nodo intermedio, donde son
retenidos temporalmente hasta
su posterior reenvío, bien a su
destino final, bien a otro nodo
intermedio.
Cada nodo intermedio se
encarga de verificar la integridad
del mensaje antes de transferirlo
al siguiente nodo
Cada mensaje debe incluir en la
cabecera la dirección del
destinatario Nodo de
conmutación de
mensajes
(almacenamiento y
reenvío)

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 67


Redes de conmutación de mensajes
Cronograma

A B

1
Almacenamiento y

3 4
reenvío

Nodo de
Mensaje 1 conmutación de
mensajes
(almacenamiento y
Mensaje 2 reenvío)

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 68


Redes de conmutación de paquetes
Concepto

Una red de Conmutación de Paquetes es aquella que


posibilita un intercambio de bloques de información (o
“paquetes”) entre dos estaciones, un emisor y un receptor.
En el origen (extremo emisor), la información a enviar se divide en
“paquetes” que contienen los datos de usuario y la información de
control (dirección de origen y destino, etc.)

RCP

Datos de usuario Datos de usuario

Paquete Paquete
3 3
Paquete3 Paquete2 Paquete1 Paquete3 Paquete2 Paquete1
Información de
control

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 69


8. Redes de conmutación de paquetes
Ventajas de las RCP
RCP mediante datagramas
RCP mediante Circuitos Virtuales
Encaminamiento
Control de la congestión

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 70


Redes de conmutación de paquetes
Ventajas vs. inconvenientes

Ventajas Inconvenientes

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 71


Clasificación de las redes de conmutación

Redes de
conmutación

Circuitos Mensajes Paquetes

FDM Datagramas

Circuitos
TDM
virtuales

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 72


Redes de conmutación de paquetes
Mediante datagramas

En la técnica de conmutación mediante datagrama cada paquete se encamina


de forma independiente, sin ninguna referencia a los paquetes precedentes
De esta manera, los paquetes no tienen por qué llegar al destino en el mismo orden en
que se envían

Red Encolamiento y
encaminamiento
Enlace independiente de los paquetes

Físico

4 3 2 1 4 1

Todos los paquetes tienen 3 1


en su cabecera la dirección
origen y destino Red
2 4

3 Enlace
1
Físico
2 2 4 3 1

Paquetes desordenados. El
host de destino se encarga
de reordenarlos

Conmutador de nivel 3 (router)

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 73


Redes de conmutación de paquetes
Mediante datagramas. Cronograma

A B

Encolamiento y
enrutamiento

Retardo de
propagación

Conmutador de nivel 3
(router)
© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 74
Redes de conmutación de paquetes
Mediante Circuitos Virtuales

En la técnica de circuitos virtuales se establece una ruta previa al envío de los


paquetes. Una vez establecida ésta, todos los paquetes intercambiados entre
dos partes comunicantes siguen dicho camino a través de la red.
Dado que el camino es fijo mientras dura la conexión lógica, éste es similar a un circuito
en redes de conmutación de circuitos, por lo que se le llama circuito virtual

Red Encolamiento. No hay que


tomar decisiones de
Enlace encaminamiento

A Físico

4 3 2 1

Todos los paquetes 4


tienen su identificador de
circuito virtual VCI Red
Paquetes siempre
ordenados. Enlace
3
Físico B

2 1 4 3 2 1

Conmutador de nivel 3 (router)

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 75


Redes de conmutación de paquetes
Mediante Circuito Virtual. Cronograma

A B
Petición de
llamada

Conexión

Paquete de
aceptación

Trasferencia de
datos

Desconexión

Liberación del
Circuito Virtual

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 76


Redes de conmutación de paquetes vs.
conmutación de circuitos

Redes de conmutación RCP RCP


de circuitos Mediante datagrama Mediante C.Virtuales

• Ruta de transmisión • Ruta no dedicada • Ruta dedicada


dedicada • Transmisión de paquetes • Transmisión de paquetes
• Transmisión de datos • Los paquetes se almacenan • Los paquetes se almacenan
continua • La ruta se establece para • La ruta se establece para
• Los mensajes no se cada paquete toda la conversación
almacenan • Retardo en la transmisión • Retardo de establecimiento
• La ruta se establece para de los paquetes de llamada y de transmisión
toda la conversación • Existe conversión de pqts.
• Retardo de establecimiento velocidad y de código • Existe conversión de
de la llamada • Ancho de banda dinámico velocidad y de código
• No existe conversión de • Uso de bits suplementarios • Ancho de banda dinámico
velocidad ni de código en cada paquete • Uso de bits suplementarios
• Ancho de banda fijo en cada paquete
• No existen bits
suplementarios añadidos a
los datos

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 77


Referencias

[1] William Stallings: Comunicaciones y Redes de Computadores. (7ª ed 2004). Prentice Hall
[2] J Kurose & K Ross: Computer Networking a Top Down Approach (6ª ed 2013)
[3] Andrew S. Tanenbaum: Computer Networks (5ª ed 2003). Prentice Hall

© UPM-ETSISI-RC Tema 1. Introducción a las Redes de Computadores 78


CARRERA DE INGENIERÍA EN
CIENCIAS DE LA COMPUTACIÓN

INTERFACES DE UN COMPUTADOR

Ing. Bolívar Jácome C. MsC.


Docente
OBJETIVO

Describir las características de las interfaces


de un computador, necesarias para la
comunicación con el mundo exterior.
TEMARIO:

• Introducción
• Elementos de una comunicación
• Modos de comunicación
• Comunicación Serial
• Comunicación USB
INTRODUCCIÓN

En el campo de las comunicaciones, una interfaz es el


puerto por donde se envían y reciben señales desde un
sistema a otro.
No existe una interface universal sino que existen
diferentes estándares de comunicación ( USB, SCSI) que
establecen especificaciones comunes, por lo que la
comunicación solo es posible usando la misma interfaz.
ELEMENTOS DE UNA
COMUNICACIÓN
MODOS DE COMUNICACIÓN

• Simplex: Comunicación en un solo sentido


• Half duplex: Comunicación en los dos sentidos
pero no al mismo tiempo
• Full duplex: Comunicación en los dos sentidos pero al
mismo tiempo
• Sincrónica: además de la línea para la transmisión de
datos, necesita otra línea que contenga los pulsos de
reloj, estos a su vez indican cuando un dato es válido
• Asincrónica: no necesita pulsos de reloj, en su lugar
utiliza mecanismo como referencia tierra o voltajes
diferenciales, en donde la duración de cada bit es
determinada por la velocidad de transmisión
COMUNICACIÓN SERIAL

• La norma RS232, conocido como puerto serial, es una


interfaz que define una norma para el intercambio de
una serie de datos binarios entre un DTE y DCE en
distancias cortas de hasta 15 m y con velocidades de
hasta 20kbps
COMUNICACIÓN RS232 - UART
LINEAS DE COMUNICACIÓN
SERIAL RS232
DIAGRAMA DE PINES DEL
INTERFACE RS232
COMUNICACIÓN SERIAL
ESTANDAR USB

• Bus Serial Universal (USB) es un conjunto de


especificaciones de interface para la comunicación
cableada de alta velocidad entre sistemas electrónicos
periféricos y dispositivos con o sin computador.
• Creado en 1996 por el consorcio: IBM, Intel; Northern
Telecom, Compaq, Microsoft, DEC y NEC.
ESTANDAR USB

• Creado para conectar directamente dispositivos al PC y


reemplazar aquellos con tarjetas para buces ISA o PCI.
• Cuando se conecta un nuevo dispositivo USB, el
servidor lo enumera y agrega el software necesario
para que pueda funcionar
• USB es una interfaz para la TX de datos en serie.
• En su versión 2.0, puede TX hasta 480 Mbps
• Permite la conexión de hasta 127 periférico en un solo
puerto del PC
• No tiene problemas con los IRQ y DMA
CARACTERÍSTICAS
DEL INTERFAZ USB

• Bajo costo
• Fácil uso
• Flexibilidad
• Ancho de Banda ajustable
• Variedad de aplicaciones
• Robustez
CLASIFICACIÓN DEL PUERTO
USB
TOPOLOGÍA

• Topología estrella
escalable (niveles)
• Cada dispositivo se puede
controlar independientemente
DIAGRAMA DE PINES
BIBLIOGRAFÍA

• REYES C., Microcontroladores PIC:


Programación en Basic, 3ra. Ed., Editorial
RISPERGRAF, 2008.
• BARRA E., Microcontroladores PIC con programación
PBP, 1ra. Ed., Editorial RA_MA, 2011.
¿PREGUNTAS?

GRACIAS

También podría gustarte