18.05.2013 Views

La arquitectura de von Neumann

La arquitectura de von Neumann

La arquitectura de von Neumann

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Introducción a la Programación<br />

Tema 1:<br />

Conceptos Básicos para la<br />

Programación<br />

<strong>La</strong> <strong>arquitectura</strong> <strong>de</strong> <strong>von</strong> <strong>Neumann</strong><br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 1<br />

¿Por qué surgen las<br />

computadoras?<br />

a.c. Abaco<br />

S XVII Pascal Leibnitz<br />

S XIX Babbage<br />

Programa<br />

1945 Von <strong>Neumann</strong><br />

Programa interno<br />

Ruptura <strong>de</strong> secuencia.<br />

PROCESADOR Y MEMORIA<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 2


Introducción a la Programación<br />

¿En qué consiste comunicar algo a la<br />

máquina?<br />

Periféricos<br />

Introducir <strong>de</strong> alguna manera las instrucciones en<br />

algún sitio al que pueda acce<strong>de</strong>r el “cerebro” <strong>de</strong> la<br />

máquina para compren<strong>de</strong>rlas y ejecutarlas.<br />

Memoria<br />

Representación<br />

Unidad <strong>de</strong> Control<br />

¿Qué es un lenguaje <strong>de</strong> programación?<br />

Un lenguaje directamente traducible a operaciones<br />

que algún componente <strong>de</strong> la máquina sea capaz <strong>de</strong><br />

realizar.<br />

Unidad Aritmético Lógica<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 3<br />

¿Que es una computadora?<br />

<strong>La</strong> memoria<br />

<strong>La</strong> unidad <strong>de</strong> control<br />

<strong>La</strong> Unidad Aritmético-Lógica<br />

<strong>La</strong> unidad <strong>de</strong> Entrada/Salida.<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 4


Detalle <strong>de</strong> los componentes <strong>de</strong><br />

un or<strong>de</strong>nador: Von <strong>Neumann</strong><br />

Unidad Aritmético Lógica<br />

Unidad <strong>de</strong> memoria<br />

buses buses<br />

Unidad <strong>de</strong> Control<br />

Unidad<br />

<strong>de</strong><br />

Entrada<br />

/ Salida<br />

ABSTRACCIÓN<br />

Periféricos<br />

Periféricos<br />

. . . .<br />

.<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 5<br />

<strong>La</strong> memoria<br />

Se encarga <strong>de</strong> almacenar el programa y los datos sobre los<br />

que éste <strong>de</strong>be actuar.<br />

Conjunto <strong>de</strong> celdas, accesibles directamente <strong>de</strong> manera individual<br />

mediante su Dirección (relación unívoca).<br />

Sobre cada celda <strong>de</strong> memoria, sólo operaciones <strong>de</strong> lectura<br />

(consulta) y escritura (sustitución) <strong>de</strong> la información<br />

almacenada<br />

El registro <strong>de</strong> direcciones (MAR): almacenará la dirección <strong>de</strong> la<br />

celda <strong>de</strong> memoria a la que se <strong>de</strong>sea acce<strong>de</strong>r.<br />

El registro <strong>de</strong> intercambio (MBR): almacenará la información que<br />

se <strong>de</strong>sea escribir (o leer) en (<strong>de</strong>) la celda <strong>de</strong> memoria<br />

direccionada.<br />

El dispositivo selector: encargado <strong>de</strong> establecer la comunicación<br />

física entre la celda <strong>de</strong> memoria indicada en el registro <strong>de</strong><br />

direcciones y el registro <strong>de</strong> intercambio.<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 6


<strong>La</strong> memoria<br />

Operaciones:<br />

Lectura: (transferir <strong>de</strong> la celda<br />

al MBR)<br />

DIR → MAR<br />

selector comunica<br />

(MAR) → MBR<br />

Escritura (copiar <strong>de</strong>l MBR a<br />

la celda):<br />

DIR → MAR<br />

INFO → MBR<br />

selector comunica<br />

MBR → (MAR)<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 7<br />

El procesador<br />

Leer secuencialmente <strong>de</strong> la memoria las<br />

instrucciones que componen el programa,<br />

i<strong>de</strong>ntificando para cada una <strong>de</strong> éllas, la operación a<br />

realizar y los operandos que intervienen.<br />

Ejecutar la operación i<strong>de</strong>ntificada sobre los datos<br />

adquiridos y guardar el resultado don<strong>de</strong><br />

corresponda.<br />

Unidad <strong>de</strong> control<br />

Unidad aritmético-lógica<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 8


<strong>La</strong> unidad <strong>de</strong> control<br />

Leer <strong>de</strong> la Memoria la instrucción <strong>de</strong>l programa<br />

que se ejecutará en cada momento e i<strong>de</strong>ntificar<br />

la operación a realizar.<br />

Buscar los operandos que intervienen en la<br />

operación.<br />

Informar a la Unidad Aritmético-Lógica <strong>de</strong> la<br />

operación a realizar y suministrarle los<br />

operandos.<br />

Guardar en la memoria el resultado <strong>de</strong> la<br />

operación realizada.<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 9<br />

<strong>La</strong> unidad <strong>de</strong> control<br />

El registro Contador <strong>de</strong> Programa (PC). Almacena la dirección <strong>de</strong><br />

memoria don<strong>de</strong> resi<strong>de</strong> la instrucción que se ejecutará a continuación.<br />

Cuando se inicia la ejecución <strong>de</strong> una instrucción, el contenido <strong>de</strong>l<br />

registro contador se incrementa siempre en una unidad.<br />

El registro <strong>de</strong> Instrucción (IR). Almacena la instrucción que se está<br />

ejecutando en cada momento.<br />

Formato <strong>de</strong> instrucción: Código_operación operando(s)<br />

dir_resultado<br />

OPS: operando(s): pue<strong>de</strong> haber uno o dos, en función <strong>de</strong> la<br />

operación, y serán valores o direcciones <strong>de</strong> memoria don<strong>de</strong><br />

realmente se encuentra el operando. Dir_resultado es la<br />

dirección <strong>de</strong> la celda <strong>de</strong> memoria don<strong>de</strong> se <strong>de</strong>be almacenar el<br />

resultado<br />

Secuenciador. Es un dispositivo que se encarga <strong>de</strong> interpretar la<br />

información contenida en el registro <strong>de</strong> instrucción. Una vez<br />

interpretada ésta, se encarga <strong>de</strong> activar en or<strong>de</strong>n los circuitos<br />

apropiados para que la operación se complete con éxito.<br />

El secuenciador “compren<strong>de</strong>” un conjunto limitado <strong>de</strong><br />

operaciones<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 10


<strong>La</strong> unidad <strong>de</strong> control<br />

Ejecución <strong>de</strong> una instrucción:<br />

Secuenciador activa circuitos para cargar<br />

instrucción en IR<br />

PC → MAR<br />

(MAR) →MBR<br />

MBR → IR<br />

PC + 1 → PC<br />

Secuenciador interpreta esta instrucción,<br />

transfiriendo a la UAL datos y operador si es<br />

necesario, y almacena el resultado<br />

Repetición <strong>de</strong>l ciclo<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 11<br />

<strong>La</strong> Unidad Aritmético-Lógica<br />

Almacenar temporalmente en sus registros<br />

los operandos que le suministra la Unidad <strong>de</strong><br />

Control.<br />

Realizar sobre ellos la operación aritmética<br />

(suma, resta) o lógica (and, or) que le indique<br />

la propia unidad <strong>de</strong> control.<br />

Almacenar temporalmente en sus registros el<br />

resultado <strong>de</strong> dicha operación.<br />

¿Cuántas operaciones tiene que ser<br />

capaz <strong>de</strong> ejecutar una U.A.L.?<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 12


<strong>La</strong> Unidad <strong>de</strong> Entrada/Salida.<br />

Sirve <strong>de</strong> intermediario entre la máquina y el<br />

mundo exterior, es <strong>de</strong>cir, se encarga <strong>de</strong><br />

comunicarse con el exterior, con objeto <strong>de</strong><br />

cargar el programa y los datos en la memoria<br />

y <strong>de</strong> notificar al usuario los resultados <strong>de</strong> los<br />

cálculos obtenidos.<br />

Periféricos.<br />

Entrada<br />

Salida<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 13<br />

Los buses<br />

Caminos físicos por los que circula la información.<br />

Sirven para que los distintos dispositivos se<br />

comuniquen entre sí y con el exterior.<br />

<strong>La</strong> velocidad <strong>de</strong> trabajo <strong>de</strong> la computadora vendrá<br />

dada, en cierta medida, por la cantidad <strong>de</strong> información<br />

que pueda viajar por el bus en un momento dado<br />

(Anchura <strong>de</strong> banda <strong>de</strong>l bus).<br />

control<br />

datos<br />

direcciones<br />

¿qué hace cada bus y con quién se comunica?<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 14


Detalle <strong>de</strong> los componentes <strong>de</strong> un<br />

or<strong>de</strong>nador: Von <strong>Neumann</strong><br />

Reg. Oper 1<br />

+/-<br />

Reg. Oper 2<br />

Acumulador<br />

Unidad Aritmético Lógica<br />

Reg.<br />

Direcciones<br />

MAR<br />

Selecto<br />

r<br />

Unidad <strong>de</strong><br />

memoria<br />

buses<br />

Secuenciador<br />

Reg.<br />

Intercambio<br />

MBR<br />

celdas<br />

<strong>de</strong><br />

memoria<br />

Reg. Instrucción<br />

Unidad<br />

<strong>de</strong><br />

Entrada /<br />

Salida<br />

Periféricos<br />

Periféricos<br />

. . . .<br />

.<br />

Reg.<br />

contador<br />

<strong>de</strong>l<br />

programa<br />

Unidad <strong>de</strong><br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial Control<br />

15<br />

Ejercicio (Utilizando fichas)<br />

Si suponemos la siguiente estructura <strong>de</strong> la memoria, y que en<br />

el registro contador <strong>de</strong> programa hay un 12, <strong>de</strong>cir todos los<br />

pasos que sigue la computadora para ejecutar el programa.<br />

DIRECC<br />

12<br />

13<br />

14<br />

18<br />

37<br />

43<br />

CONTENIDO<br />

Sumard18d37d43<br />

Añadir15d43<br />

Fin<br />

26<br />

18<br />

12<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 16


Ejercicio (Utilizando fichas)<br />

Si suponemos la siguiente estructura <strong>de</strong> la memoria, y que en<br />

el registro contador <strong>de</strong> programa hay un 71, <strong>de</strong>cir todos los<br />

pasos que sigue la computadora para ejecutar el programa.<br />

70<br />

71<br />

72<br />

73<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

añadir 10d12<br />

restar d11 d12 d15<br />

añadir 20 d15<br />

Fin<br />

7<br />

8<br />

15<br />

9<br />

30<br />

25<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 17<br />

Representación <strong>de</strong> la información<br />

Los sistemas <strong>de</strong> numeración<br />

Representación <strong>de</strong> la información en una<br />

computadora (datos)<br />

Número enteros<br />

Números reales<br />

Caracteres<br />

Organización <strong>de</strong> la memoria<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 18


Los sistemas <strong>de</strong> numeración<br />

Información analógica<br />

Información digital ¿Por qué digital?<br />

0 , 1<br />

BIT: Cantidad <strong>de</strong> información que se pue<strong>de</strong> almacenar en<br />

una variable binaria.<br />

BYTE: Información que se pue<strong>de</strong> codificar con 8 bits. 2 8 =<br />

256 valores.<br />

KBYTE: 2 10 bytes = 1.024 bytes<br />

MBYTE: 2 10 Kbytes = 2 20 bytes = 1.048.576 bytes<br />

GBYTE: 2 10 Mbytes = 2 20 Kbytes = 2 30 bytes = 1.073.741.824<br />

bytes<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 19<br />

Los sistemas <strong>de</strong> numeración<br />

Necesitamos una sistemática <strong>de</strong> conversión(una<br />

cosa es el concepto y otra la representación<br />

número romanos)<br />

Sistema <strong>de</strong> numeración posicional<br />

d n-1....d 3d 2d 1d 0<br />

Su valor <strong>de</strong>cimal será<br />

d n-1 r n-1 + d n-2 r n-2 + ... + d 2 r 2 + d 1 r 1 + d 0 r 0<br />

don<strong>de</strong> r representa la base o raiz <strong>de</strong>l sistema<br />

<strong>de</strong> numeración.<br />

Es <strong>de</strong>cir:<br />

∑ − n 1<br />

i=<br />

0<br />

d<br />

i<br />

ir<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 20


Sistemas <strong>de</strong> numeración<br />

Decimal (base 10)<br />

0, 1, 2, 3, 4, 5, 6, 7, 8, 9<br />

327 10 = 3 x 100 + 2 x 10 + 7 =<br />

Binario (base 2)<br />

0, 1<br />

3 x 10 2 + 2 x 10 1 + 1 x 10 0<br />

1011 2 = 1 x 2 0 + 1 x 2 1 + 0 x 2 2 + 1 x 2 3 =<br />

11 10<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 21<br />

Sistemas <strong>de</strong> numeración<br />

Octal (base 8)<br />

0,1,2,3,4,5,6,7<br />

203 8 = 3 x 8 0 + 0 x 8 1 + 2 x 8 2 = 131 10<br />

Hexa<strong>de</strong>cimal (base 16)<br />

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F<br />

AC 16 = 10 x 16 1 + 12 x 16 0 = 172 10<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 22


Sistemas <strong>de</strong> numeración<br />

DECIMAL -> BINARIO<br />

Tenemos un número en <strong>de</strong>cimal N 10<br />

N 10 = d n-1 2 n-1 + d n-2 2 n-2 + ... + d 2 2 2 + d 1 2 + d 0<br />

=<br />

d 0<br />

2(dn-1 2n-2 + dn-2 2n-3 + ... + d2 2 + d1 ) + d0 2(2(dn-1 2n-3 + dn-2 2n-4 + ... + d2 ) + d1 ) +<br />

29 10 = 11101 2<br />

29 2<br />

1 14 2<br />

0 7 2<br />

1 3 2<br />

1 1<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 23<br />

Sistemas <strong>de</strong> numeración<br />

BINARIO OCTAL<br />

Agrupar <strong>de</strong> 3 en 3 (dcha -> izqda)<br />

BINARIO HEXADECIMAL<br />

Agrupar <strong>de</strong> 4 en 4<br />

Ejemplo<br />

N 10 = 29<br />

N 2 = 11101 = 11 101 => N 8 = 35<br />

3 5<br />

N 2 = 11101 = 1 1101 => N 16 = 1D 16<br />

1 13<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 24


Representación <strong>de</strong> la información en<br />

una computadora (datos)<br />

Numeros enteros<br />

Enteros sin signo<br />

Enteros con signo<br />

Magnitud y signo<br />

Complemento a 1<br />

Complemento a 2<br />

Exceso a M<br />

Numeros reales<br />

Caracteres<br />

ABSTRACCIÓN<br />

Coma fija<br />

Coma flotante<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 25<br />

Representación <strong>de</strong> caracteres<br />

Caracteres alfabéticos: <strong>La</strong>s letras<br />

mayúsculas y minúsculas <strong>de</strong>l alfabeto a..z,<br />

A..Z<br />

Caracteres numéricos: Los dígitios <strong>de</strong>l<br />

sistema <strong>de</strong>cimal 0..9<br />

Signos <strong>de</strong> puntuación: : ; . , ( ) “ ? ¿ ! ...<br />

Operadores aritméticos: + - = / *...<br />

Operadores lógicos: ≠∧∨⇔⇒ Caracteres especiales: ©←↑↓→....<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 26


Representación <strong>de</strong> caracteres<br />

En cualquier codificación <strong>de</strong> los caracteres que utilizemos <strong>de</strong>be<br />

verificarse:<br />

Unicidad <strong>de</strong> código (cada código equivaldrá a un carácter<br />

y viceversa).<br />

Or<strong>de</strong>n (los códigos guardarán los ór<strong>de</strong>nes establecidos<br />

para cada tipo <strong>de</strong> caracteres, es <strong>de</strong>cir, 0


Organización <strong>de</strong> la memoria<br />

Normalmente, los caracteres necesitan 8 bits, los números<br />

enteros 8 (128), 16 (33920) ó 32 (21.474.83.648) bits,<br />

<strong>de</strong>pendiendo <strong>de</strong> su precisión, y los números reales 32 ó 64 bits<br />

¿cuántos bits colocamos en cada posición direccionable? -> 1<br />

byte<br />

Palabra -> conjunto <strong>de</strong> bits necesarios para almacenar un entero<br />

<strong>de</strong> longitud normal.<br />

ABSTRACCIÓN<br />

Tamaño <strong>de</strong> la memoria o espacio <strong>de</strong> direcciones -> capacidad <strong>de</strong><br />

la memoria (el número <strong>de</strong> bytes disponibles)<br />

Tipos <strong>de</strong> memoria: RAM y ROM<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 29<br />

Pero, ¿qué es la tan nombrada<br />

abstracción?<br />

abstracción.(Del lat. abstractĭo, -ōnis).<br />

1. f. Acción y efecto <strong>de</strong> abstraer o abstraerse.<br />

abstraer.(Del lat. abstrahĕre).<br />

1. tr. Separar por medio <strong>de</strong> una operación intelectual<br />

las cualida<strong>de</strong>s <strong>de</strong> un objeto para consi<strong>de</strong>rarlas<br />

aisladamente o para consi<strong>de</strong>rar el mismo objeto en su<br />

pura esencia o noción.<br />

2. intr. Prescindir, hacer caso omiso. Abstraer <strong>de</strong><br />

examinar la naturaleza <strong>de</strong> las cosas. U. t. c. prnl.3.<br />

prnl. Enajenarse <strong>de</strong> los objetos sensibles, no aten<strong>de</strong>r a<br />

ellos por entregarse a la consi<strong>de</strong>ración <strong>de</strong> lo que se<br />

tiene en el pensamiento.<br />

Profesores: María José García, Raúl Murciano, Manuel Ortega, Pilar Pilar<br />

Romay, Romay,<br />

Pedro J <strong>La</strong>ra Bercial 30

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!