Buses

Anuncio
Buses
Ignacio Vissani
Organización del Computador I
DC - UBA
2do Cuatrimestre de 2014
(Práctica 6)
Buses
2do Cuatrimestre de 2014
1 / 21
1
Repaso
2
Ejercicios
3
Morir
(Práctica 6)
Buses
2do Cuatrimestre de 2014
2 / 21
¿Qué es un BUS?
(Práctica 6)
Buses
2do Cuatrimestre de 2014
3 / 21
¿Qué es un BUS?
Un canal de comunicación...
...entre dispositivos (CPU, memoria, dispositivos de E/S)
(Práctica 6)
Buses
2do Cuatrimestre de 2014
3 / 21
¿Qué es un BUS?
Un canal de comunicación...
...entre dispositivos (CPU, memoria, dispositivos de E/S)
Lo podemos pensar...
...como un conjunto de cables + un protocolo
(Práctica 6)
Buses
2do Cuatrimestre de 2014
3 / 21
¿Qué es un BUS?
Un canal de comunicación...
...entre dispositivos (CPU, memoria, dispositivos de E/S)
Lo podemos pensar...
...como un conjunto de cables + un protocolo
Sirve para...
...transmitir información:
(Práctica 6)
Buses
2do Cuatrimestre de 2014
3 / 21
¿Qué es un BUS?
Un canal de comunicación...
...entre dispositivos (CPU, memoria, dispositivos de E/S)
Lo podemos pensar...
...como un conjunto de cables + un protocolo
Sirve para...
...transmitir información:
direcciones (en sentido amplio),
(Práctica 6)
Buses
2do Cuatrimestre de 2014
3 / 21
¿Qué es un BUS?
Un canal de comunicación...
...entre dispositivos (CPU, memoria, dispositivos de E/S)
Lo podemos pensar...
...como un conjunto de cables + un protocolo
Sirve para...
...transmitir información:
direcciones (en sentido amplio),
datos,
(Práctica 6)
Buses
2do Cuatrimestre de 2014
3 / 21
¿Qué es un BUS?
Un canal de comunicación...
...entre dispositivos (CPU, memoria, dispositivos de E/S)
Lo podemos pensar...
...como un conjunto de cables + un protocolo
Sirve para...
...transmitir información:
direcciones (en sentido amplio),
datos,
señales de control,
(Práctica 6)
Buses
2do Cuatrimestre de 2014
3 / 21
¿Qué es un BUS?
Un canal de comunicación...
...entre dispositivos (CPU, memoria, dispositivos de E/S)
Lo podemos pensar...
...como un conjunto de cables + un protocolo
Sirve para...
...transmitir información:
direcciones (en sentido amplio),
datos,
señales de control,
en fin, bits, entre dos o más dispositivos
(Práctica 6)
Buses
2do Cuatrimestre de 2014
3 / 21
Tipos de Bus
Hay diversas clasificaciones ortogonales.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
4 / 21
Tipos de Bus
Hay diversas clasificaciones ortogonales. Las que nos van a interesar en la
práctica son:
1. Modo de sincronización
Sincrónicos (o sı́ncronos): Si tienen una señal periódica (¡clk!) que sirve
para sincronizar los distintos dispositivos.
VS
Asincrónicos (o ası́ncronos): Si no.
2. Por la anchura de sus lı́neas
Dedicadas: Si cada lı́nea tiene un propósito especı́fico.
VS
Multiplexadas: Si las lı́neas varı́an su propósito de acuerdo a la etapa del
protocolo.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
4 / 21
Tipos de Bus
Hay diversas clasificaciones ortogonales. Las que nos van a interesar en la
práctica son:
1. Modo de sincronización
Sincrónicos (o sı́ncronos): Si tienen una señal periódica (¡clk!) que sirve
para sincronizar los distintos dispositivos.
VS
Asincrónicos (o ası́ncronos): Si no.
2. Por la anchura de sus lı́neas
Dedicadas: Si cada lı́nea tiene un propósito especı́fico.
VS
Multiplexadas: Si las lı́neas varı́an su propósito de acuerdo a la etapa del
protocolo.
Pero hay más: Serial VS. Paralelo, Único maestro VS. Múltiples maestros,
etc.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
4 / 21
Cosas que quedaron colgando
(Práctica 6)
Buses
2do Cuatrimestre de 2014
5 / 21
Cosas que quedaron colgando
¿Qué es un protocolo?
Un conjunto de reglas que le indican a cada componente lo que
puede/debe hacer en cada momento para que la comunicación sea
exitosa.
Puede definirse formalmente (o semi-formalmente).
(Práctica 6)
Buses
2do Cuatrimestre de 2014
5 / 21
Cosas que quedaron colgando
¿Qué es un protocolo?
Un conjunto de reglas que le indican a cada componente lo que
puede/debe hacer en cada momento para que la comunicación sea
exitosa.
Puede definirse formalmente (o semi-formalmente).
Ah, el clk. A ese lo tengo de algún lado
No confundir. El clock del bus no es el mismo clock de la CPU (freq.
cpu clk >> freq. bus clk).
Los dos se usan para sincronizar, pero de formas distintas.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
5 / 21
En una Orga1
(Práctica 6)
Buses
2do Cuatrimestre de 2014
6 / 21
En una Orga1
(Práctica 6)
Buses
2do Cuatrimestre de 2014
6 / 21
En una Orga1
¿Qué deberı́a viajar por el bus al ejecutar un MOV [0x0014], R0?
(Práctica 6)
Buses
2do Cuatrimestre de 2014
6 / 21
En una Orga1i
(Práctica 6)
Buses
2do Cuatrimestre de 2014
7 / 21
En una Orga1i
(Práctica 6)
Buses
2do Cuatrimestre de 2014
7 / 21
En una Orga1i
¿Y si se ejecutara un MOV R0, [0xFFF0]?
(Práctica 6)
Buses
2do Cuatrimestre de 2014
7 / 21
Diagramas de tiempo
Ejercicio 1
Hacer el diagrama de tiempos del bus de una máquina Orga1 para una
escritura en memoria.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
8 / 21
Diagramas de tiempo
Ejercicio 1
Hacer el diagrama de tiempos del bus de una máquina Orga1 para una
escritura en memoria.
Teniendo en cuenta que:
cada agente
(CPU, memoria, dispositivo)
puede cargar o censar las lı́neas
sólo se cargan las lı́neas cuando el clock está alto
sólo se censan las lı́neas cuando el clock está bajo
al finalizar el ciclo el bus debe volver al estado inicial
(Práctica 6)
Buses
2do Cuatrimestre de 2014
8 / 21
Ej. 1 - Diagrama de tiempo
(Práctica 6)
Buses
2do Cuatrimestre de 2014
9 / 21
Ej. 1 - Diagrama de tiempo
clk d L|HH|LL|HH|LL|HH|LL|H
(Práctica 6)
Buses
2do Cuatrimestre de 2014
9 / 21
Ej. 1 - Diagrama de tiempo
ciclo
←− 1 −→←− 2 −→←− 3 −→
clk d L|HH|LL|HH|LL|HH|LL|H
(Práctica 6)
Buses
2do Cuatrimestre de 2014
9 / 21
Ej. 1 - Diagrama de tiempo
ciclo
clk
req
r/w
ack
data
(Práctica 6)
d
d
d
d
d
←− 1 −→←− 2 −→←− 3 −→
L|HH|LL|HH|LL|HH|LL|H
LL|HHHH|LLLLLLLL
LLLLLLLLLLLLLL
LLLLLL|HHHH|LLLL
bmb<DDD><DDD>mbmbmbmb
Buses
2do Cuatrimestre de 2014
9 / 21
Diagrama de tiempo
Ejercicio 2
Hagamos el diagrama de tiempo de la lectura desde un dispositivo.
(Esquema 2.)
(Práctica 6)
Buses
2do Cuatrimestre de 2014
10 / 21
Diagrama de tiempo
Ejercicio 2
Hagamos el diagrama de tiempo de la lectura desde un dispositivo.
(Esquema 2.)
Ejercicio 2 - Solución
(Práctica 6)
Buses
2do Cuatrimestre de 2014
10 / 21
Diagrama de tiempo
Ejercicio 2
Hagamos el diagrama de tiempo de la lectura desde un dispositivo.
(Esquema 2.)
Ejercicio 2 - Solución
ciclo
clk
req
r/w
ack
data
(Práctica 6)
d
d
d
d
d
←− 1 −→←− 2 −→←− 3 −→←− 4 −→
L|HH|LL|HH|LL|HH|LL|HH|LL|H
LL|HHHH|LLLLLLLLLLLL
LL|HHHHHHHHHHHH|LLLL
LLLLLLLLLL|HHHH|LLLL
mbm<DDDD>mbmbm<DDDD>mbmbm
Buses
2do Cuatrimestre de 2014
10 / 21
Capacidad del bus
Ejercicio 3
Suponiendo que el clock tiene una frecuencia de 100 Khz
1
¿Cuánto tiempo toma realizar un ciclo de escritura a memoria
(ejercicio 1)?
2
¿Cuánto toma un ciclo de lectura de un dispositivo (ejercicio 2)?
3
Si cada operación es de 16 bits, ¿cuál es la máxima capacidad del
bus?
(Práctica 6)
Buses
2do Cuatrimestre de 2014
11 / 21
Capacidad del bus
Ejercicio 3 - Solución
(Práctica 6)
Buses
2do Cuatrimestre de 2014
12 / 21
Capacidad del bus
Ejercicio 3 - Solución
Pista → 100 Khz = 100.000 ciclos por segundo.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
12 / 21
Capacidad del bus
Ejercicio 3 - Solución
Pista → 100 Khz = 100.000 ciclos por segundo.
1
1 Escritura = 3 ciclos ≈
(Práctica 6)
1
33333
segundos.
Buses
2do Cuatrimestre de 2014
12 / 21
Capacidad del bus
Ejercicio 3 - Solución
Pista → 100 Khz = 100.000 ciclos por segundo.
1
33333 segundos.
1
25000 segundos.
1
1 Escritura = 3 ciclos ≈
2
1 Lectura = 4 ciclos =
(Práctica 6)
Buses
2do Cuatrimestre de 2014
12 / 21
Capacidad del bus
Ejercicio 3 - Solución
Pista → 100 Khz = 100.000 ciclos por segundo.
1
33333 segundos.
1
25000 segundos.
1
1 Escritura = 3 ciclos ≈
2
1 Lectura = 4 ciclos =
3
Máxima capacidad del bus para escritura = 33333 operaciones por
segundo = 66666 bytes por segundo ≈ 65.10 KB/s.
Máxima capacidad del bus para lectura = 25000 operaciones por
segundo = 50000 bytes por segundo ≈ 48.82 KB/s.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
12 / 21
Máquinas de estado
¿Qué son?
(Práctica 6)
Buses
2do Cuatrimestre de 2014
13 / 21
Máquinas de estado
¿Qué son?
Formalismo para describir comportamiento.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
13 / 21
Máquinas de estado
¿Qué son?
Formalismo para describir comportamiento.
Sintáxis
(Práctica 6)
Buses
2do Cuatrimestre de 2014
13 / 21
Máquinas de estado
¿Qué son?
Formalismo para describir comportamiento.
Sintáxis
Grafos dirigidos: cı́rculos (nodos) + flechas (ejes, transiciones).
(Práctica 6)
Buses
2do Cuatrimestre de 2014
13 / 21
Máquinas de estado
¿Qué son?
Formalismo para describir comportamiento.
Sintáxis
Grafos dirigidos: cı́rculos (nodos) + flechas (ejes, transiciones).
Semántica
(Práctica 6)
Buses
2do Cuatrimestre de 2014
13 / 21
Máquinas de estado
¿Qué son?
Formalismo para describir comportamiento.
Sintáxis
Grafos dirigidos: cı́rculos (nodos) + flechas (ejes, transiciones).
Semántica
Cada nodo representa un estado en donde se realiza una acción.
Las transiciones indican cómo cambia de estado el objeto descripto.
Las transisiones se suponen instantáneas o de tiempo despreciable.
Debe haber una transición inicial.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
13 / 21
Máquinas de estado
¿Para qué sirven?
(Práctica 6)
Buses
2do Cuatrimestre de 2014
14 / 21
Máquinas de estado
¿Para qué sirven?
Para muchas cosas. Ya lo van a ver mejor en ISW 1 (Ingenierı́a del
Software I). Nosotros las vamos a usar para describir el
comportamiento de un agente dentro de un protocolo de bus.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
14 / 21
Máquinas de estado
¿Para qué sirven?
Para muchas cosas. Ya lo van a ver mejor en ISW 1 (Ingenierı́a del
Software I). Nosotros las vamos a usar para describir el
comportamiento de un agente dentro de un protocolo de bus.
¿Cómo las vamos a usar?
(Práctica 6)
Buses
2do Cuatrimestre de 2014
14 / 21
Máquinas de estado
¿Para qué sirven?
Para muchas cosas. Ya lo van a ver mejor en ISW 1 (Ingenierı́a del
Software I). Nosotros las vamos a usar para describir el
comportamiento de un agente dentro de un protocolo de bus.
¿Cómo las vamos a usar?
Los estados corresponden a niveles altos del clock.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
14 / 21
Máquinas de estado
¿Para qué sirven?
Para muchas cosas. Ya lo van a ver mejor en ISW 1 (Ingenierı́a del
Software I). Nosotros las vamos a usar para describir el
comportamiento de un agente dentro de un protocolo de bus.
¿Cómo las vamos a usar?
Los estados corresponden a niveles altos del clock.
Las transiciones a niveles bajos del clock.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
14 / 21
Máquinas de estado
¿Para qué sirven?
Para muchas cosas. Ya lo van a ver mejor en ISW 1 (Ingenierı́a del
Software I). Nosotros las vamos a usar para describir el
comportamiento de un agente dentro de un protocolo de bus.
¿Cómo las vamos a usar?
Los estados corresponden a niveles altos del clock.
Las transiciones a niveles bajos del clock.
Cada elemento debe ser acompañado con una breve descripción:
(Práctica 6)
Buses
2do Cuatrimestre de 2014
14 / 21
Máquinas de estado
¿Para qué sirven?
Para muchas cosas. Ya lo van a ver mejor en ISW 1 (Ingenierı́a del
Software I). Nosotros las vamos a usar para describir el
comportamiento de un agente dentro de un protocolo de bus.
¿Cómo las vamos a usar?
Los estados corresponden a niveles altos del clock.
Las transiciones a niveles bajos del clock.
Cada elemento debe ser acompañado con una breve descripción:
En los estados se especifica qué lı́neas se cargan durante ese semi-ciclo.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
14 / 21
Máquinas de estado
¿Para qué sirven?
Para muchas cosas. Ya lo van a ver mejor en ISW 1 (Ingenierı́a del
Software I). Nosotros las vamos a usar para describir el
comportamiento de un agente dentro de un protocolo de bus.
¿Cómo las vamos a usar?
Los estados corresponden a niveles altos del clock.
Las transiciones a niveles bajos del clock.
Cada elemento debe ser acompañado con una breve descripción:
En los estados se especifica qué lı́neas se cargan durante ese semi-ciclo.
En las transiciones se especifica qué lı́neas se censan durante ese
semi-ciclo.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
14 / 21
Máquinas de estado
¿Para qué sirven?
Para muchas cosas. Ya lo van a ver mejor en ISW 1 (Ingenierı́a del
Software I). Nosotros las vamos a usar para describir el
comportamiento de un agente dentro de un protocolo de bus.
¿Cómo las vamos a usar?
Los estados corresponden a niveles altos del clock.
Las transiciones a niveles bajos del clock.
Cada elemento debe ser acompañado con una breve descripción:
En los estados se especifica qué lı́neas se cargan durante ese semi-ciclo.
En las transiciones se especifica qué lı́neas se censan durante ese
semi-ciclo.
Compatibilidad
Diremos que una máquina de estados y un diagrama de tiempos son
compatibles si no se contradicen.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
14 / 21
Máquinas de estado
Ejercicio 4
Hacer una máquina de estado que describa un comportamiento compatible
con la memoria que describe el diagrama de tiempos del Ejercicio 1.
ciclo
clk
req
r/w
ack
data
(Práctica 6)
d
d
d
d
d
←− 1 −→←− 2 −→←− 3 −→
L|HH|LL|HH|LL|HH|LL|H
LL|HHHH|LLLLLLLL
LLLLLLLLLLLLLL
LLLLLL|HHHH|LLLL
mbm<DDD><DDD>mbmbmbmb
Buses
2do Cuatrimestre de 2014
15 / 21
Máquinas de estado
Ejercicio 4 - Solución
(Práctica 6)
Buses
2do Cuatrimestre de 2014
16 / 21
Máquinas de estado
Ejercicio 4 - Solución
(Práctica 6)
Buses
2do Cuatrimestre de 2014
16 / 21
Máquinas de estado
Ejercicio 5
Sea un bus sincrónico para el esquema 1 cuyo protocolo de escritura es el que sigue:
1. La CPU:
coloca la dirección que desea leer en el bus de direcciones
sube la lı́nea de RD/W para indicar que es una escritura.
sube la lı́nea de REQ para indicar que quiere un acceso a memoria.
2. El módulo de memoria:
detecta la señal alta en REQ
toma la dirección del bus de direcciones.
sube la señal ACK para indicar al CPU que responderá al pedido y
sube DWAIT para indicar que está esperando el dato.
3. La CPU coloca el dato en el bus de datos y baja la lı́nea de RD/W.
4. El módulo de memoria toma el dato del bus de datos y baja la señal DWAIT.
5. La CPU detecta la señal baja en DWAIT y quita la dirección y el dato.
6. La memoria indica la finalización de la operación bajando ACK.
7. La CPU detecta esto y baja REQ.
Dibujar el diagrama de tiempos del protocolo y las máquinas de estado del CPU y la
memoria.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
17 / 21
Máquinas de estado
Ejercicio 5 - Solución
(Práctica 6)
Buses
2do Cuatrimestre de 2014
18 / 21
Máquinas de estado
Ejercicio 5 - Solución
JA! Pensaron que se los iba a dar
resuelto, ¿no?
Pues no, este ejercicio va de TAREA.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
18 / 21
Yapa teórica
Los BUSES
¿Son parte de la arquitectura o de la
organización de la computadora?
(Práctica 6)
Buses
2do Cuatrimestre de 2014
19 / 21
¿Cómo seguimos?
(Práctica 6)
Buses
2do Cuatrimestre de 2014
20 / 21
¿Cómo seguimos?
Ya pueden hacer (toda) la práctica 6: Buses
(Práctica 6)
Buses
2do Cuatrimestre de 2014
20 / 21
¿Cómo seguimos?
Ya pueden hacer (toda) la práctica 6: Buses
El martes que viene a las 18 hs es el Taller de Buses
(obligatorio) en el Labo.
(Práctica 6)
Buses
2do Cuatrimestre de 2014
20 / 21
¿Preguntas?
( En un ratito damos los parciales corregidos )
(Práctica 6)
Buses
2do Cuatrimestre de 2014
21 / 21
Descargar