Introduccin - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Introduccin

Description:

Arquitectura de Computadores y Sistemas (IECI) ... Lect. dato 2. Leer. direcci n. Escribir. direcci n. Escribir. dato. Lect. dato. Memoria. de datos ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 36
Provided by: Ped772
Category:
Tags: introduccin | lect

less

Transcript and Presenter's Notes

Title: Introduccin


1
Introducción
  • Pedro Rodríguez Moreno
  • Arquitectura de Computadores y Sistemas (IECI)
  • Departamento de Sistemas de Información
  • Facultad de Ciencias Empresariales

2
Lecturas Recomendadas para este capítulo
  • C. Hamacher, Z. Vranesic, S. Zaky. Organización
    de Computadores. 5ª. Edición, McGraw-Hill, 2003
  • Andrew Tanenbaum. Organización de Computadores.
    4a Edición, Prentice-Hall, 1999.
  • Leer capítulo 1 (para ser controlado en test 1).
  • Silberchatz, Peterson, Galvin. Sistemas
    Operativos conceptos fundamentales. 3a Edición,
    Addison Wesley, 1994.

3
Antecedentes
  • Todos los computadores digitales básicamente son
    máquinas electrónicas que pueden almacenar y
    procesar datos e incluso transmitirlos a otro
    computador aunque su ubicación sea remota.
  • Un computador se puede definir como un conjunto
    de dispositivos electrónicos, que interactuan
    entre ellos para procesar datos y entregar
    resultados a través de la ejecución de programas.
  • En los principios de la computación moderna,
    (década del 40) los primeros computadores eran
    enormes máquinas que solamente podían procesar
    información numérica, eran además, limitados en
    su almacenamiento y poder de procesamiento.
  • Los computadores de hoy día son de propósito
    general y pueden procesar distintos tipos de
    datos, tales como numéricos, alfanuméricos,
    gráficos, etc.
  • Un computador está compuesto de dos elementos
    básicos que son consustanciales y que dan vida
    a la máquina
  • El Hardware conformado por todos los elementos
    físicos tangibles (CPU, memoria, disco, buses).
  • El Software lo constituyen los programas básicos
    del sistema (como el Sistema Operativo), los
    programas de aplicación (procesadores de texto,
    etc.), software administrativos, etc.

4
Estructura General de un Computador
5
Organización Básica de un Computador
6
Dispositivos de Almacenamiento
  • Memoria principal o almacenamiento principal
    compuesto por dos tipos de memorias
  • La memoria ROM (Read Only Memory). Se escriben
    los programas básicos del sistema, tales como las
    rutinas de inicialización del sistema.
  • La memoria RWM (Read Write Memory) que es la
    memoria de lectura y escritura, pero que tiene
    como característica principal, su alta
    volatilidad. En esta memoria reside el Sistema
    Operativo y los programas de los usuarios.
  • Ambas memorias son de tipo RAM (Random Access
    Memory), es decir de acceso alelatorio o directo.
  • Memoria secundaria o almacenamiento secundario.
    Este tipo de almacenamiento tiene como
    característica principal, ser de capacidad masiva
    y permanente, es decir, la información no se
    pierde. Los medios de almacenamiento típicos son
  • Discos magnéticos
  • Discos ópticos.
  • Cintas magnéticas.
  • Pendrives.
  • USB digital drive, etc.

7
Representación interna de Datos
  • Hoy en día, los datos son representados y
    manipulados utilizando el sistema binario.
  • El sistema binario se compone de dos dígitos
    0,1 los que se pueden combinar en grandes
    conjuntos de 0's y 1's para formar las
    representaciones de números decimales y
    caracteres.
  • La unidad mínima de almacenamiento interno se
    denomina bit.
  • Un bit puede tomar sólo uno de los dos valores
    binarios 0 ó 1.
  • Existen otras unidades de almacenamiento tales
    como el byte y la palabra
  • El byte conjunto de 8 bits, podemos almacenar
    tanto caracteres como números.
  • La palabra conjunto de uno o más bytes
    (generalmente su tamaño es potencia de 2, por
    ejemplo 1, 2, 4, 8, 16, ...), donde se pueden
    almacenar datos mas complejos.

8
Unidades Lógicas de Almacenamiento
  • El byte

Código ASCII del caracter a.
  • La palabra (ejemplo, una palabra de 2 bytes).
  • La Memoria Principal podemos verla como un gran
    arreglo o conjunto de bytes o palabras.
  • En la Memoria Principal los datos se pueden
    organizar aun en bloques de mayor tamaño, tales
    como los segmentos y las páginas.

9
Sistema de Codificación de Caracteres y Datos
Numéricos
  • Cada caracter posee un código binario único, que
    está definido por el sistema de codificación de
    caracteres ASCII (American Standard Code for
    Information Interchange).
  • La tabla de caracteres ASCII y sus
    correspondientes códigos (ya sea en los sistemas
    decimal, hexadecimal, octal, y binario) la pueden
    ver en
  • http//pebu.face.ubiobio.cl/prodrigu/scici/
    introd/ASCII.html
  • Todos los caracteres se almacenan internamente
    utilizando un byte de memoria.
  • Representación de Datos Numéricos. Para la
    representación de datos numéricos utilizando un
    byte de memoria, podemos ver que estos pueden
    tener o no un signo. Si el número es signado,
    entonces éste puede ser positivo (0) o negativo
    (1), por tanto, en un byte debemos reservar un
    bit para el signo.

Un byte de información numérica.
10
La Unidad Central de Proceso (UCP o CPU)
  • Conocido también como el Procesador, este
    componente prácticamente constituyente el cerebro
    del computador, ya que la mayor parte de su
    ''inteligencia'' reside aquí. La CPU es
    responsable de la ejecución de las instrucciones
    de los programas.
  • Componentes de la CPU. La CPU está conformada por
    sub-unidades, cada una de las cuales desempeña
    funciones particulares
  • La ALU o UAL (Unidad Aritmética y Lógica) que
    ejecuta las operaciones aritméticas y lógicas
    básicas.
  • La Unidad de Control responsable de emitir y
    recibir las señales de control (impulsos
    eléctricos) para la ejecución de las
    instrucciones y otras operaciones básicas como el
    control de otros dispositivos del computador.
  • Registros son pequeñas unidades de
    almacenamiento (generalmente de 2 o más bytes)
    que son utilizados por el procesador para
    almacenar datos e instrucciones. Dependiendo del
    procesador, la cantidad de registros físicos
    puede variar desde 16 a 32.

11
Arquitectura tipo von Neumann
12
Hardware y el Sistema Operativo
  • El Sistema Operativo (como Windows y Linux),
    tiene el control sobre toda la máquina.
  • El hardware (CPU, Memoria, Discos, etc.) permiten
    el almacenamiento y procesamiento de los datos a
    través de la ejecución de programas.
  • El Sistema Operativo y los demás programas son
    cargados (almacenados) en memoria para su
    ejecución.
  • El procesador ejecuta las instrucciones de
    máquina del Sistema Operativo y de los programas.

13
Relación entre el Hardware y el Sistema Operativo
Programas de Aplicación
Procesos
Procesador (CPU)
Utilitarios
Dispositivos periféricos
disco
monitor
impresora
14
El Sistema Operativo
  • El Sistema Operativo forma parte del software del
    sistema y es el programa más importante debido a
    que éste es quien administra la máquina y todos
    sus recursos (CPU, Memoria, Dispositivos
    Periféricos y otros programas).
  • El sistema operativo está compuesto por un
    conjunto de elementos tales como
  • El kernel o núcleo, que contiene todos los
    programas que administran el hardware.
  • Los Utilitarios, tales como los comandos del
    sistema, que ofrecene varios servicios tales como
    fecha, hora, estadísticas, etc.
  • El shell (intérprete de comandos), el cual recibe
    órdenes desde el teclado y los dirige hacia el
    kernel del sistema operativo, para ejecutar
    programas.

15
Máquinas Multinivel Contemporáneas
Lenguaje Orientado al Problema
Lenguajes de alto nivel, los cuales son
utilizados para escribir los programas de
aplicación.
Nivel 5
Traducción (Compilador)
Es un lenguaje de programación que es una
representación simbólica del lenguaje de máquina
de la computadora
Lenguaje Ensamblador
Nivel 4
Traducción (Ensamblador)
Nivel de programación híbrido donde coexisten
instrucciones del nivel 2 y de este nivel
Sistema Operativo
Nivel 3
Interpretación Parcial
Nivel lógico de programación donde se encuentra
definido el lenguaje de máquina
Máquina Convencional
Nivel 2
Interpretación (Microprogramación)
Microprogramación
Nivel de programación orientado A la máquina
Nivel 1
Hardware interpreta y ejecuta microprogramas
Hardware
Lógica Digital
Nivel 0
Leer capítulo 1 de Tanenbaum
16
Traductores Compiladores
  • Son programas que permiten traducir un programa
    desde un lenguaje de alto nivel a otro de mas
    bajo nivel. Por ejemplo, el compilador del
    lenguaje C.

17
Traductores Intérpretes
  • Un intéprete es un programa que acepta otro
    programa (el programa fuente) escrito en un
    determinado lenguaje (el lenguaje fuente) y lo
    ejecuta.
  • El intérprete carga, analiza y ejecuta una a una
    las instrucciones del programa fuente.
  • La interpretación se caracteriza por ser más
    lenta que la compilación.
  • Ejemplo de lenguaje interpretado Java.

18
Tipos de Procesadores
  • En los últimos años se han distinguido dos
    grandes tendencias en la construcción de
    procesadores. Se diferencian esencialmente en las
    características de su repertorio de
    instrucciones.
  • Procesadores CISC (Complex Instruction Set
    Computer).
  • Procesadores RISC (Reduced Instruction Set
    Computer).
  • Ambos tipos de microProcesadores han incluido un
    conjunto de unidades funcionales adicionales que
    los potencia
  • Unidad para el procesamiento aritmético en Punto
    Flotante (FPU Floating Point Unit).
  • Unidad de Administración de Memoria (MMU Memory
    Management Unit).
  • Unidad de Carga y Almacenamiento (Load/Store).
  • Funciones de control de memoria caché.
  • Implementación de un conjunto de registros
    múltiples.

19
Los Procesadores CISC
  • Tienen un conjunto de instrucciones alto (entre
    200 y 300) estas instrucciones son más complejas
    que las de RISC, con lo que la circuitería
    necesaria para decodificación y secuenciación
    también aumenta, y la velocidad del proceso
    disminuye.
  • Formato de instrucciones bastante variable (no
    hay tamaño fijo de instrucciones).
  • El diseño hace que el procesador tenga que
    realizar constantes accesos a memoria.
  • La microprogramación es una característica
    importante y esencial de casi todas las
    arquitecturas CISC. Como por ejemplo
  • Intel 8086, 8088, 80286, 80386, 80486, Pentium.
  • Motorola 68000, 68010, 68020, 68030, 68040.

20
La microprogramación
  • La microprogramación significa que cada
    instrucción de máquina es interpretada por un
    microprograma localizado en una memoria en el
    circuito integrado del procesador.
  • En la década de los sesenta, la micropramación,
    por sus características, era la técnica más
    apropiada para las tecnologías de memorias
    existentes en esa época y permitía desarrollar
    también procesadores compatibles.
  • Permite la emulación de arquitecturas.
  • Los procesadores se dotaron de poderosos
    conjuntos de instrucciones.
  • Las instrucciones compuestas son decodificadas
    internamente y ejecutadas con una serie de
    microinstrucciones almacenadas en una ROM
    interna. Para esto se requieren de varios ciclos
    de reloj (al menos uno por microinstrucción).

21
Los Procesadores RISC
  • Su juego de instrucciones es más reducido (menos
    de 128), y las instrucciones son más sencillas
    (con lo que se necesitarán más instrucciones para
    ejecutar un programa).
  • El formato de instrucciones es fijo (o son pocos
    formatos) con lo que el control de hardware es
    más sencillo y se facilita la puesta de las
    instrucciones en la memoria, lo que implica que
    los accesos a la memoria se aceleren.
  • Por otra parte, estos accesos a memoria son menos
    frecuentes ya que el procesador posee un mayor
    número de registros.
  • Estos procesadores son los que están presentes en
    las estaciones de trabajo. Como ejemplos podemos
    citar a los procesadores
  • ALPHA de Digital Equipment, y
  • UltraSPARC y MicroSPARC de Sun Microsystems.
  • Debido a que se tiene un conjunto de
    instrucciones simplificado, éstas se pueden
    implantar por hardware directamente en la CPU, lo
    cual elimina el microcódigo (microprogramación) y
    la necesidad de decodificar instrucciones
    complejas.

22
Características comunes de los Procesadores RISC
  • Modelo de conjunto de instrucciones Load/Store
    (Cargar/Almacenar).
  • Sólo las instrucciones Load/Store acceden a
    memoria las demás operaciones en un RISC, tienen
    lugar sobre datos residentes en su gran conjunto
    de registros.
  • Arquitectura de tres direcciones no destructiva.
  • Los procesadores CISC destruyen la información
    que existe en alguno de los registros, como
    consecuencia de la ejecución normal de
    instrucciones esto es debido a su arquitectura
    de dos direcciones, por la cual el resultado de
    una operación sobrescribe uno de los registros
    que contenía a los operandos.
  • Por el contrario, las instrucciones RISC, con
    tres direcciones, contienen los campos de los dos
    operandos y de su resultado.
  • Tanto los operandos origen como el destino, son
    mantenidos en los registros tras haber sido
    completada la operación.
  • Instrucciones simples, de formato fijo, con pocos
    modos de direccionamiento.
  • Las instrucciones simples reducen de manera muy
    significativa el esfuerzo para su decodificación,
    y favorecen su ejecución en pipelines.
  • Las instrucciones de longitud fija, con formatos
    fijos, implican que los campos de códigos de
    operación (opcodes) y de los operandos están
    siempre codificados en las mismas posiciones,
    permitiendo el acceso a los registros al mismo
    tiempo que se está decodificando el código de
    operación.

23
Otras Características
  • Todas las instrucciones tienen una longitud
    equivalente a una palabra y están alineadas en la
    memoria en palabras, ya que no pueden ser
    repartidas en pedazos que puedan estar en
    diferentes páginas.
  • Ausencia de microcódigo.
  • El microcódigo no se presta a la ejecución en
    ciclos únicos, ya que requiere que el hardware
    sea dedicado a su interpretación dinámica.
  • La programación en microcódigo no hace que el
    software sea más rápido que el programado con un
    conjunto de instrucciones simples.
  • Todas las funciones y el control, en los
    procesadores RISC, están "cableados" (hardwired),
    para lograr una máxima velocidad y eficiencia.
  • Ejecución en pipelined.
  • Las instrucciones simples, de formato fijo y
    ciclo único permiten que las diferentes etapas de
    los ciclos de ejecución (búsqueda o fetch,
    decodificación, ejecución, y escritura del
    resultado) para instrucciones múltiples, se
    puedan realizar simultáneamente, de un modo más
    simple y eficaz.
  • Ejecución en ciclos únicos (single-cycle).
  • El resultado directo de los conjuntos de
    instrucciones que ofrecen los procesadores RISC,
    es que cada instrucción puede ser ejecutada en un
    único ciclo de la CPU.

24
Esquema de un Sistema Pipeline
25
Arquitectura de la CPU de un microProcesador RISC
26
Descripción Detallada de los Registros del
Procesador
27
Continuación Descripción de Registros del
Procesador
28
Microprocesador Intel Pentium
29
Sistemas Paralelos y Multiprocesadores
  • El desempeño de los computadores determina la
    clase de problemas que se pueden resolver.
  • Existen problemas tan complejos y de gran tamaño
    (cantidad de datos), que su solución podría tomar
    mucho tiempo (días, meses, años).
  • Algunas áreas con fuerte demanda por la
    computación de alto desempeño son
  • Química molecular.
  • Astrofísica.
  • Genética.
  • La carrera espacial.
  • Computación gráfica.
  • Geometría Computacional.
  • Bases de Datos Masivas (Data Warehouse).
  • Simulaciones.
  • Búsqueda Web, etc.

30
Clasificación de los Computadores
  • Clasificación de Flynn
  • SISD (Single Instruction Stream Single Data
    Stream)
  • Computador convencional ? Un solo procesador
  • Un flujo de instrucciones y de datos
  • SIMD (Single Instruction Stream Multiple Data
    Stream)
  • Procesadores matriciales y multiprocesadores
  • Una Unidad de control y multiples elementos de
    proceso (PE)
  • Una misma instrucción se aplica a
    multiples/distintos datos
  • MISD (Multiple Instruction Stream Single Data
    Stream)
  • Unidades segmentadas/vectoriales, procesadores
    sistólicos
  • Múltiples PE actúan sobre un único flujo de datos
  • MIMD (Multiple Instruction Stream Multiple Data
    Stream)
  • Multiprocesadores de propósito general.
  • Múltiples PE actúan sobre múltiples flujos de
    datos.

31
SIMD vs. MIMD
32
Características de los Sistemas MIMD con Memoria
Compartida.
  • Sistemas MIMD Fuertemente Acoplado Memoria
    Compartida.
  • Fácil de contruir, con SO convencionales y
    Procesadores SISD.
  • Limitaciones confiabilidad y escalabilidad. Si
    falla un elemento puede fallar todo el sistema.
  • El incremento de procesadores puede producir un
    cuello de botella en el bus al competir por el
    uso de memoria.
  • En general, la programación se hace a través de
    Threads o Hilos (POSIX, Solaris, etc.)

33
Características de los Sistemas MIMD con Memoria
Distribuida.
  • Sistemas MIMD Débilmente Acoplado Memoria
    Distribuida.
  • Ejemplo los Clusters.
  • Un cluster o agrupamiento de máquinas, es un tipo
    de sistema de procesamiento paralelo o
    distribuido, que consiste en una colección de
    PC's autónomos interconectados trabajando unidos
    como un solo recurso de computación integrado.
  • Ejemplo, son los cluster Beowulf.
  • En un cluster típico podemos encontrar
    generalmente un nodo servidor y uno o más nodos
    esclavos en red,  que se implementan sobre un
    sistema multicomputador y que utiliza mecanismos
    de paso de mensajes a través de librerías tales
    como
  • MPI (Message Passing Interface).
  • PVM (Parallel Virtual Machine).
  • Cada nodo o computador posee su sistema operativo
    (por ejemplo, Linux), un tarjeta de red y su
    disco desde donde arranca el sistema operativo
    (aunque esto último no es necesario).

34
Ejemplo de una configuración Cluster
35
Breve Historia de los Sistemas Operativos
  • Década 1940 Primero computadores, no existen
    sistemas operativos.
  • Década 1950 Procesamiento Batch.
  • Década 1960 Multiprogramación.
  • Década 1970 (principios) Time-Sharing
    minicomputadores.
  • Década 1980 (principio) Microprocesadores PC.
  • Década 1970, 1980 Redes, Sistemas Distribuidos,
    Sistemas Paralelos.
  • Década 1990 y Futuro PCs, WWW, Sistemas Móviles
    (redes móviles e inalámbricas), Sistemas
    Distribuidos.
Write a Comment
User Comments (0)
About PowerShow.com