Introducci - PowerPoint PPT Presentation

1 / 68
About This Presentation
Title:

Introducci

Description:

Funcionamiento de las computadoras Introducci n a las ciencias de la computaci n Antonio L pez Jaimes UNIVERSIDAD AUT NOMA METROPOLITANA UNIDAD IZTAPALAPA – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 69
Provided by: Eliza137
Category:

less

Transcript and Presenter's Notes

Title: Introducci


1
Funcionamiento de las computadoras
  • Introducción a las ciencias de la computación
  • Antonio López Jaimes

UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD
IZTAPALAPA
2
Plan de la presentación
  • El modelo de von Neuman
  • Funcionamiento de la computadora

3
Plan de la presentación
  • El modelo de von Neuman
  • Funcionamiento de la computadora

4
El modelo de von Neuman
  • Cuál es la diferencia fundamental entre una
    calculadora convencional y una computadora?
  • La computadora se distingue de la calculadora por
    su capacidad de seguir instrucciones escritas en
    algún lenguaje y, además, almacenadas en su
    propia memoria.

5
Algoritmo vs programa
  • Un algoritmo es una especificación libre de
    ambigüedad de los pasos elementales para realizar
    algún proceso.
  • Un programa es la transcripción de un algoritmo a
    algún lenguaje de programación para resolver el
    problema en una computadora.

Programa
Traducción a algún lenguaje de programación
Algoritmo
(Implementación)
6
Modelo de von Neumann
  • La idea central del modelo de von Neumann es

almacenar las instrucciones del programa de una
computadora en su propia memoria, de manera que
la computadora siga los pasos definidos por su
programa.
7
Modelo de von Neumann
Memoria
Programa

Datos de entrada
Unidad central de procesamiento
Unidad de entrada
Unidad de salida
8
Modelo de von Neumann
Programa
Datos de entrada
9
Unidades de entrada y salida
  • Unidadades de entrada y salida dipositivos que
    permiten la entrada y salida de datos desde y
    hacia la memoria.
  • Ejemplos

Entrada Salida
Teclado Monitor
Mouse Impresora
Disco Disco
Lectora de tarjetas Bocinas
10
Modelo de von Neumann
Programa
Datos de entrada
Unidad central de procesamiento
11
Unidad central de procesamiento
  • La unidad central de procesamiento (UCP) tiene
    como función ejecutar instrucciones. La UCP se
    compone de dos partes
  • La unidad aritmética y lógica (UAL), la cual se
    encarga de hacer los cálculos.
  • La unidad de control interpreta las instrucciones
    y determina el orden y la secuencia en que estas
    se ejecutan.

UCP
Unidad aritmética y lógica
Unidad de control
12
Unidad central de procesamiento
  • Algunas instrucciones de la unidad aritmética y
    lógica
  • Operaciones aritméticas con enteros
  • Suma,
  • resta,
  • multiplicación.
  • Operaciones lógicas
  • Y (?),
  • O (?),
  • O exclusiva (?),
  • negación (?).

13
Modelo de von Neumann
Memoria
Programa
Datos de entrada
14
Memoria
  • La función de la memoria es almacenar datos
    codificados numéricamente.
  • La memoria puede concebirse como un conjunto de
    celdas con las siguientes características
  • Cada celda contiene solamente un valor numérico.
  • Cada celda se distingue de otra por medio de una
    dirección única.

15
Memoria
  • La memoria está organizada como un conjunto de
    celdas numeradas secuencialmente, es decir como
    un vector o arreglo. La UCP utiliza un apuntador
    para dirigirse a una celda en memoria
    especificando su dirección.

16
Operaciones sobre la memoria
  • La UCP puede efectuar dos operaciones básicas
    sobre la memoria leer el contenido de una celda
    y escribir un valor en una celda.
  • Para leer se realizan los siguientes pasos
  • Proporcionar la dirección de la celda que se
    desea leer.
  • Esperar que los circuitos de la memoria localicen
    y traigan el valor contenido en la celda, y lo
    dejen en una celda especial llamada registro.
  • Recoger el dato obtenido y terminar.

17
Operaciones sobre la memoria
  • Para escribir se efectúan los pasos siguientes
  • Proporcionar a la memoria el dato que se desea
    depositar en la memoria.
  • Proporcionar la dirección de la celda sobre la
    cual se escribirá.
  • Esperar que los circuitos de la memoria depositen
    el dato.

18
Plan de la presentación
  • El modelo de von Neuman
  • Funcionamiento de la computadora

19
Unidad central de procesamiento
  • Para que la UCP pueda ejecutar cualquier
    instrucción es necesario
  • Que las instrucciones sean entendibles por la
    UCP.
  • Que las instrucciones estén almacenadas en la
    memoria.

20
Necesidad de codificar las instrucciones
  • Las celdas de la memoria solamente pueden
    almacenar datos numéricos, de manera que tenemos
    que codificar todos los datos usando números.
  • Esto implica que también las instrucciones se
    deben convertir en números para introducirlas en
    la memoria. Esto es, las instrucciones se deben
    codificar.

21
Necesidad de codificar las instrucciones
  • Para realizar esta codificación debemos encontrar
    un esquema que asocie a cada instrucción de la
    UCP un valor numérico único.
  • La unidad de control de la UCP tiene una especie
    de diccionario que contiene la relación de las
    intrucciones codificadas.

Instrucción Código
SUMA 30
RESTA 33
22
Lenguaje máquina
  • El lenguaje máquina se refiere al esquema de
    codificación de instrucciones que entiende la
    unidad central de procesamiento.
  • Los circuitos electrónicos de la unidad de
    control de la computadora reconocen y ejecutan
    solamente instrucciones codificadas en su
    lenguaje máquina.

UCP
30
SUMA
Unidad aritmética y lógica
Unidad de control
23
El acumulador de la UCP
  • Para realizar operaciones con los datos, la UCP
    necesita tener estos valores en una celda
    especial o registro llamado acumulador.
  • Esta condición requiere de una instrucción que
    lleve el contenido de una celda al acumulador, y
    otra para devolver el contenido del acumulador a
    una celda de la memoria.

Unidad aritmética y lógica
Unidad de control
Acumulador
24
Plan de la presentación
  • El modelo de von Neuman
  • Funcionamiento de la computadora
  • Un primer programa

25
Un primer programa suma
  • La suma de dos números cualesquiera.
  • Necesitamos considerar tres cosas
  • Se requieren tres celdas de memoria dos para los
    datos (sumandos) y otra para depositar el
    resultado.
  • Es preciso definir las instrucciones por efectuar
    y su orden, y escribirlas en la codificación que
    entiende la máquina.
  • Introducir los datos e instrucciones en la
    memoria.

26
Instrucciones para efectuar la suma
  • CARGA ltdireccióngt
  • Copia el contenido del acumulador en la celda con
    la ltdireccióngt indicada.


UCP
Unidad aritmética y lógica
Unidad de control
Acumulador
30
Ejem CARGA 12
51
30
17
02
33
10
11
12
13
14
15
10
27
Instrucciones para efectuar la suma
  • GUARDA ltdireccióngt
  • Lleva al acumulador el valor de la celda con la
    ltdireccióngt especificada.


UCP
Unidad aritmética y lógica
Unidad de control
Acumulador
30
Ejem GUARDA 14
20
30
21
30
22
20
11
12
13
14
15
10
28
Instrucciones para efectuar la suma
  • SUMA ltdireccióngt
  • Suma al acumulador el contenido de la celda
    referida por ltdireccióngt.


UCP
Unidad aritmética y lógica
Unidad de control
Acumulador
302151
Ejem SUMA 13
20
30
21
30
22
20
11
12
13
14
15
10
29
Instrucciones para efectuar la suma
  • CARGA ltdireccióngt
  • Lleva al acumulador el valor de la celda con la
    ltdireccióngt especificada.
  • GUARDA ltdireccióngt
  • Copia el contenido del acumulador en la celda con
    la ltdireccióngt indicada.
  • SUMA ltdireccióngt
  • Suma al acumulador el contenido de la celda
    referida por ltdireccióngt.
  • ALTO
  • Indica la terminación del proceso.

30
Instrucciones básicas de la UCP
  • Los nombres de las instrucciones son nombres
    simbólicos (mnemónicos) para facilitar su uso,
    pero la UCP solamente leerá sus códigos
    asociados.
  • La instrucciones ocupan celdas en la memoria una
    para su código y otra(s) para su(s) parámetro(s).
  • Por ejemplo, CARGA ltdireccióngt ocupa una celda
    para su código y otra para la dirección.
  • La longitud de una instrucción es número de
    celdas que ocupa en la memoria.

31
Instrucciones básicas de la máquina
Instrucción Código Longitud
CARGA 20 2
GUARDA 02 2
SUMA 33 2
ALTO 70 1
Estos códigos son asignados de manera arbitraria
para nuestro ejemplo. Una UCP real tiene su
propia codificación de instrucciones.
32
Secuencia ordenada de instrucciones
Suponemos que de alguna manera, en la celda 20
está el primer sumando y en la 21 el segundo
sumando.
5
7
?
Para sumar 89
20
21
22
Datos del programa
Código Instrucción Comentarios
2020 CARGA 20 Coloca el primer sumando en el acumulador (i.e., el 8)
3021 SUMA 21 Ejecutar la suma
0222 GUARDA 22 Colocar el resultado en la celda 22
70 ALTO Detener la ejecución
33
Programa fuente
Código Instrucción Comentarios
2020 CARGA 20 Colocar el primer número en el acumulador
3021 SUMA 21 Ejecutar la suma
0222 GUARDA 22 Colocar el resultado en la celda 22
70 ALTO Detener la ejecución
Programa fuente
Programa escrito en lenguaje mnemónico, el cual
está más cercano al lenguaje entendible por los
humanos.
34
Programa objeto
Código Instrucción Comentarios
2020 CARGA 20 Colocar el primer número en el acumulador
3021 SUMA 21 Ejecutar la suma
0222 GUARDA 22 Colocar el resultado en la celda 22
70 ALTO Detener la ejecución
Programa objeto
Programa escrito en lenguaje máquina (ejecutable,
binario), el cual entiende directamente la
computadora.
35
Cargar el programa objeto
  • Programa objeto
  • Para ejecutarse, el programa objeto necesita ser
    introducido en la memoria (i.e., ser cargado).
  • Un programa especial (sistema operativo) cargará
    el programa objeto y asignará espacio para los
    datos.
  • Tenemos un programa universal que suma
    cualesquiera dos números en las celdas 20 y 21.

2020 3021 0222 70
20
30
21
02
22
70
5
7
20
11
12
13
14
15
16
20
21
22
10
Programa objeto
Datos del programa
36
El contador de programa
  • La UCP posee otro registro llamado contador de
    programa (CP).
  • El CP contiene la dirección de la siguiente celda
    de memoria a leer.
  • Para calcular la dirección de la siguiente
    instrucción (actualizar CP), se toma en cuenta la
    longitud de cada instrucción.

Unidad aritmética y lógica
Unidad de control
CP
Acumulador
37
Ciclo de ejecución de la UCP
  • Los pasos para ejecutar una intrucción son los
    siguientes
  • I. Ir a la memoria y extraer el código de la
    siguiente instrucción apuntada por el CP (ciclo
    de fetch).
  • II. Decifrar la instrucción leída.
  • III. Ejecutar la instrucción.
  • IV. Actualizar el CP para apuntar a la siguiente
    instrucción que será leída.

38
Ciclo de ejecución de la UCP
Estas cuatro operaciones están alambradas. Es
decir, la máquina las ejecuta por medios
electrónicos. Este ciclo se ejecuta de manera
repetitiva a razón de millones de veces por
segundo.
I
Ciclo de fetch
II
IV
Decodificación
Actualización del CP
III
Ejecución
39
Pasos en la ejecución de un programa
  • 0. Indicar a la unidad de control la celda donde
    inicia el programa. Esto es, colocar en el CP la
    dirección de la celda inicial (10 en el ejemplo).
  • Esta tarea la realiza un programa especial, el
    sistema operativo.

10
CP
40
Pasos en la ejecución de un programa
  • 1. La unidad de control leerá el contenido de la
    celda 10, que es 20 (paso I).

Lee 20
Unidad de control
10
CP
41
Pasos en la ejecución de un programa
  • 2. La unidad de control decodifica el 20 y
    determina que se trata de la instrucción CARGA
    (paso II).

20 CARGA
(longitud 2)
Unidad de control
42
Pasos en la ejecución de un programa
  • 3. Se ejecuta la instrucción CARGA 20 (paso III).
    La UCP cargará el contenido de la celda 20 en el
    acumulador.

Unidad de control
13
11
CP
Acumulador
43
Pasos en la ejecución de un programa
  • 4. Se ejecuta el paso IV. La unidad de control
    ajusta el valor del CP a 12. El ciclo continuará
    hasta leer la instrucción ALTO.

Unidad de control
13
Acumulador
44
Pasos en la ejecución de un programa
  • 5. Se vuelve al paso I. Se leerá la celda CP12,
    que contiene 30.

Unidad de control
Lee 30
13
Acumulador
45
Pasos en la ejecución de un programa
  • 6. Se decodifica la instrucción (paso II), que es
    SUMA.

30 SUMA
(longitud 2)
Unidad de control
13
Acumulador
46
Pasos en la ejecución de un programa
  • 7. Se ejecuta la instrucción SUMA 21 (paso III).
    Se suma al acumulador el contenido de la celda 21.

Unidad de control
4
13417
13
CP
Acumulador
47
Pasos en la ejecución de un programa
  • 8. Se ejecuta el paso IV nuevamente. El contador
    de programa se iguala a 14.

Unidad de control
17
Acumulador
48
Pasos en la ejecución de un programa
  • 9. Se leerá la celda CP14, que contiene el
    código 02 (paso I).

Unidad de control
Lee 02
17
Acumulador
49
Pasos en la ejecución de un programa
  • 10. Se decodifica la instrucción (paso II), que
    es GUARDA.

02 GUARDA
(longitud 2)
Unidad de control
17
Acumulador
50
Pasos en la ejecución de un programa
  • 11. Se ejecuta la instrucción GUARDA 22 (paso
    III). Se deposita el valor del acumulador (el
    resultado de la suma) en la cela 22.

Resultado de la suma
Unidad de control
20
30
21
02
22
70
13
4
17
20
11
12
13
14
15
16
20
21
22
10
17
15
CP
Acumulador
51
Pasos en la ejecución de un programa
  • 12. Se ejecuta el paso IV nuevamente. El contador
    se iguala a 16.

Unidad de control
20
30
21
02
22
70
13
4
17
20
11
12
13
14
15
16
20
21
22
10
17
Acumulador
52
Pasos en la ejecución de un programa
  • 13. Se leerá la siguiente instrucción en la celda
    CP16, que contiene 70 (paso I).

Unidad de control
Lee 70
20
30
21
02
22
70
13
4
17
20
11
12
13
14
15
16
20
21
22
10
17
Acumulador
53
Pasos en la ejecución de un programa
  • 14. Se decodifica la instrucción (paso II), que
    es ALTO.

70 ALTO
(longitud 1)
Unidad de control
20
30
21
02
22
70
13
4
17
20
11
12
13
14
15
16
20
21
22
10
17
Acumulador
54
Pasos en la ejecución de un programa
  • 15. Se ejecuta la instrucción ALTO (paso III). Se
    detiene la unidad de control y el proceso
    termina. Así se rompe el ciclo de cuatro pasos.

Resultado de la suma
Unidad de control
17
20
30
21
02
22
70
13
4
17
20
11
12
13
14
15
16
20
21
22
10
17
14
CP
Acumulador
55
Modos de direccionamiento
  • Existen dos modos de direccionamiento
  • Direccionamiento directo. El parámetro o dato de
    la operación se especifica mediante una dirección
    escrita enseguida el código de la instrucción.
  • Direccionamiento inmediato. El dato con el que se
    opera se especifica inmediantemente después del
    código de la instrucción.

56
Modos de direccionamiento
  • Ejemplo
  • Dir. directo Dir.
    inmediato
  • SUMA 27 SUMA-i 27

27
Suma al acumulador cualquier valor contenido en
la celda con la dirección 27
Suma al acumulador el número 27
57
Modos de direccionamiento
  • Las operaciones de modo inmediato son menos
    generales, pues están restringidas a un valor
    fijo que forma parte del programa.
  • Las operaciones de modo directo, son más
    versátiles ya que los valores referidos por la
    dirección pueden cambiar de una ejecución a otra
    sin modificar el programa (código fuente).

58
Nuevo diccionario de intrucciones
Direccionamiento directo Direccionamiento directo
Operación Código
CARGA 20
GUARDA 02
SUMA 30
RESTA 33
DIV 38
MULT 36
ALTO 70
Direccionamiento inmediato Direccionamiento inmediato
Operación Código
CARGA-i 21
SUMA-i 31
RESTA-i 34
DIV-i 39
MULT-i 37
59
Instrucciones de entrada y salida
  • La UCP se comunica con el exterior por medio de
    la unidad de entrada usando un puerto de entrada
    y otro de salida.
  • Las instrucciones para que llevan a cabo esta
    operación son la siguientes
  • IN
  • Toma el valor individual del puerto de entrada y
    lo deposita en el acumulador.
  • OUT
  • Copia el número del acumulador y lo deja en el
    puerto de salida.

60
Instrucciones de comparación
  • Para determinar si el valor x es mayor, menor o
    igual al valor y tenemos la siguientes
    instrucciones
  • COMP ltdireccióngt
  • Compara el contenido del acumulador con el valor
    de la celda con la dirección indicada.
  • COMP-i ltdatogt
  • Compara el contenido del acumulador con un número
    dado.

61
El registro bandera de la UCP
  • El resultado de las operaciones COMP y COMP-i se
    guarda en un registro de la UCP denominado
    bandera.
  • Los posibles resultados que se guardan en la
    bandera son

Igual Mayor que gt Mayor
o igual que gt Diferente lt gt Menor que lt
Menor o igual que lt
62
Saltos condicionales e incondicionales
  • En ciertas situaciones se requiere ejecutar una
    sección de código A cuando se cumple una
    condición, y en caso contrario, ejecutar otra
    sección B.
  • Cajero automático
  • Si la cadena es igual a la contraseña,
  • entonces presentar menú de operaciones
  • en otro caso, pedir la contraseña
    nuevamente.
  • Si el saldo es mayor o igual a la cantidad por
    retirar,
  • entonces saldo saldo cantidad retirada
  • en otro caso, indicar que no hay saldo
    disponible.

63
Saltos condicionales
  • Ejecutar una secuencia A o B, implica saltarse
    una de ellas dependiendo del resultado de una
    comparación.
  • Para ello se requiere de una instrucción de salto
    condicional como la siguiente
  • BRgt ltdireccióngt
  • Salta a la celda con la dirección indicada si la
    bandera indica MAYOR QUE.
  • De manera análoga, existe una instrucción de
    salto condicional para cada resultado de una
    comparación
  • BR, BRltgt, BRlt, BRgt, BRlt, BRgt

64
Ejemplo de salto condicional
  • Supongamos que tenemos un programa con una
    secuencia de instrucciones A y otra secuencia B.

65
Ejemplo de salto condicional
  • Supongamos que tenemos un programa con una
    secuencia de instrucciones A y otra secuencia B.

y también se ejecuta B
66
Salto incondicional
  • Si queremos que se ejecute solamente una de dos
    posibles secuencias, entonces al final de la
    primera sección habría que insertar una
    instrucción para saltar incondicionalmente al
    final de la segunda sección.
  • Esta instrucción es el salto incondicional
  • BR ltdireccióngt
  • Brinca inmediatamente a la celda con la dirección
    indicada.

67
Ejemplo de salto incondicional
  • Supongamos que tenemos un programa con una
    secuencia de instrucciones A y otra secuencia B.

Salta al final de B
68
Circuito de memoria
Write a Comment
User Comments (0)
About PowerShow.com