Estructura de una Computadora.pdf

12
Universidad Tecnológica Nacional Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg. Delmiro Gil Lic. Gustavo Lovallo Mg. María del Carmen Martínez 1 Unidad Temática 1: Estructura de una Computadora Antecedentes históricos. Definición de unidades fundamentales (bit y byte) y sus múltiplos. Definición de memoria. Capacidad de memoria. Tipos de memoria. Buses. Unidad Central de Procesamiento (C.P.U). Unidad Aritmética y Lógica (ALU). Unidad de Control. Contador de Programa. Dispositivos de entrada/salida (I/O). Ejecución de instrucciones. Fase de búsqueda de instrucciones. (3 semanas) Estructura de una Computadora Desde un análisis macro observamos dos niveles en la estructura: Fig.1 Entre estos niveles hay varios niveles de abstracción: Nivel de Aplicaciones Software Lenguaje de Alto Nivel Arquitectura Nivel Lógico Hardware Fig.2 Niveles de descripción de una computadora

Transcript of Estructura de una Computadora.pdf

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    1

    Nivel de Aplicaciones

    Nivel Fsico

    Nivel Fsico

    Unidad Temtica 1: Estructura de una Computadora

    Antecedentes histricos. Definicin de unidades fundamentales (bit y byte) y sus mltiplos. Definicin de memoria. Capacidad de memoria. Tipos de memoria. Buses. Unidad Central de Procesamiento (C.P.U). Unidad Aritmtica y Lgica (ALU). Unidad de Control. Contador de Programa. Dispositivos de entrada/salida (I/O). Ejecucin de instrucciones. Fase de bsqueda de instrucciones. (3 semanas)

    Estructura de una Computadora

    Desde un anlisis macro observamos dos niveles en la estructura:

    Fig.1

    Entre estos niveles hay varios niveles de abstraccin:

    Nivel de Aplicaciones Software

    Lenguaje de Alto Nivel

    Arquitectura

    Nivel Lgico

    Hardware

    Fig.2 Niveles de descripcin de una computadora

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    2

    En un anlisis ms detallado y considerando a la computadora como un sistema complejo

    se encuentran ms niveles:

    Electrnico

    Transferencia de registros

    Software bsico (SO)

    Algoritmos

    En cada nivel existen elementos de entrada provenientes del nivel inmediato inferior y elementos de salida hacia el nivel inmediato superior.

    El nivel electrnico est ubicado entre el Nivel fsico propiamente dicho - transistores, resistencias, condensadores y el nivel lgico, siendo estos elementos mencionados de entrada y los elementos de salida hacia el nivel lgico lo constituyen, compuertas lgicas y biestables entre otros.

    Las compuertas lgicas son bloques de construccin bsica de los sistemas digitales; operan con nmeros binarios, por lo que se les denomina puertas lgicas binarias.

    Todos los sistemas digitales se construyen utilizando bsicamente tres compuertas lgicas AND, OR y NOT; o la combinacin de stas.

    Veamos la representacin grfica de cada compuerta y su tabla de verdad-ver Fig.3-:

    Producto Lgico Suma Lgica Negacin

    Fig.3 Compuertas lgicas. Los biestables son circuitos binarios - con dos estados - en los que ambos estados son estables de forma que hace falta una seal externa de excitacin disparo - para hacerlos cambiar de estado, o sea que mantiene estable la salida aun luego de que las entradas pasen a un estado inactivo. Esta funcin de excitacin define al tipo de biestable (D,T, RS o JK ).Son unidades constructivas de los mdulos de memorias de computadoras.

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    3

    Representacin grfica de un biestable JK que dispara por nivel:

    Fig 4. Biestable JK

    En el Nivel Lgico los elementos de entrada son los biestables y las compuertas lgicas, y los de salida son mdulos combinacionales y secuenciales tales como multiplexores, codificadores, sumadores, registros, contadores, etc. El comportamiento de un circuito combinacional se representa con una funcin lgica

    Un ejemplo de un circuito combinacional cuyo comportamiento se representa con la funcin lgica F:

    Fig.5 Circuito Combinacional

    Entre el Nivel Lgico y la Arquitectura ubicaramos el Nivel de Transferencia de Registros. En este nivel los elementos de entrada son registros celdas de memoria que estn en el microprocesador no en la memoria principal-, mdulos combinacionales y elementos de interconexin (buses y/o multiplexores). Los registros mantienen el estado del sistema, los mdulos combinacionales definen las transformaciones elementales del estado, y los elementos de interconexin permiten el intercambio de informacin entre los registros y los mdulos.

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    4

    Los elementos de salida son el conjunto de transferencias elementales posibles en la ruta de datos construida con los tres tipos de elementos de entrada. Las transferencias elementales las veremos al tratar el tema de fases de una instruccin. El prximo nivel es el de la Arquitectura que se caracteriza por ser el primer nivel en el que los componentes bsicos no son elementos fsicos sino smbolos con los que se construyen las instrucciones mquina y su mtodo de secuenciamiento, es decir, lo que se denomina un lenguaje mquina. Lenguaje cuyos smbolos son 0 y 1 que se corresponden con ausencia o presencia de tensin o viceversa de acuerdo a la lgica utilizada, lgica positiva o negativa respectivamente. La Arquitectura es el nivel de separacin la interfaz- entre el hardware y el software. Habitualmente el lenguaje de mquina se analiza en funcin del llamado lenguaje ensamblador assembler- funcionalmente equivalente pero utiliza nombres algo ms intuitivos que una cadena de ceros y unos como MOV, ADD llamados mnemnicos.

    Programa ejemplo de assembler:

    ; Programa que imprime una cadena de caracteres en la pantalla

    ; ---------------------------------------------

    .model small ; modelo de memoria

    .stack ; segmento del stack

    .data ; segmento de datos

    Cadena1 DB 'Hola Mundo.$' ; cadena de caracteres a imprimir (finalizado en $)

    .code ; segmento del cdigo

    ; ---------------------------------------------

    ; Inicio del programa

    ; ---------------------------------------------

    programa:

    MOV AX, @data ; carga en AX la direccin del segmento de datos

    MOV DS, AX ; mueve la direccin al registro de segmento por medio

    de AX

    MOV DX, offset Cadena1; mueve a DX la direccin del string a imprimir

    MOV AH, 9 ; AH = cdigo de la funcin del MS DOS para imprimir

    una cadena de caracteres en la pantalla

    INT 21h ; llamada al MS DOS para imprimir un string en la

    pantalla

    INT 20h ; llamada al MS DOS para finalizar el programa

    end programa

    Hay dos planteamientos desde el punto de vista de la arquitectura:

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    5

    CISC (Complex Instruction Set Computer) Computadoras con un conjunto de instrucciones complejas que disponen de un repertorio de instrucciones elevado (80, 100 o ms), algunas de ellas muy sofisticadas y potentes, pero que como contrapartida requieren muchos ciclos de mquina para ejecutar las instrucciones complejas.

    RISC (Reduced Instruction Set Computer) Computadora con un conjunto reducido de instrucciones. Computadoras de juego de instrucciones reducido, en los que el repertorio de instrucciones es muy reducido, las instrucciones son muy simples y suelen ejecutarse en un ciclo mquina. Adems los RISC deben tener una estructura pipeline y ejecutar todas las instrucciones a la misma velocidad.

    Un conjunto de instrucciones es la coleccin de instrucciones que un procesador puede ejecutar, es una caracterstica que lo define.

    A finales de la dcada de los 60 los arquitectos de computadoras aprovecharon los avances de las tecnologas de circuitos integrados para aumentar la complejidad de las instrucciones ya que se suponan obvios los beneficios, tener instrucciones ms complejas que los procesadores competidores se convirti en una tcnica de ventas efectiva. Sin embargo en los 70 se demostr que los compiladores programas que convierten las sentencias de un programa fuente de un lenguaje de alto nivel en lenguaje de mquina- casi no utilizaban las instrucciones ms complejas.

    Estas observaciones junto a los avances tecnolgicos lograron la evolucin desde las computadoras de instrucciones complejas CISC hacia las arquitecturas RISC

    Caractersticas de una arquitectura RISC:

    Todas las instrucciones son de longitud fija, cuyo tamao es una palabra, la longitud de palabra = cantidad de bits del bus de datos.

    Las operaciones complejas deben ser convertidas por el compilador en instrucciones simples.

    Todos los operandos deben ser almacenados en registros antes de que se pueda operar sobre ellos.

    Deber haber una gran cantidad de registros de uso general para realizar operaciones aritmticas.

    Con respecto al nivel Sistema Operativo (SO) se destaca de los dems niveles ya que se constituye en un gestor de todos los recursos de la mquina: la CPU, la jerarqua de memoria, etc. Cuando se disea la arquitectura se tiene muy encuenta las funciones del SO.

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    6

    Los Lenguajes de Alto Nivel o sea lenguajes que hacen abstraccin de las caractersticas de los niveles propios del hardware, su sintaxis y su semntica son ms complejas que las del lenguaje ensamblador. Este nivel requiere un proceso de traduccin al nivel mquina que es realizado por un programa denominado compilador. Se trata de un programa que toma como dato de entrada un programa fuente escrito en un lenguaje de alto nivel, y produce como salida un programa objeto escrito en lenguaje mquina con una semntica equivalente (igual significado).

    En el nivel Algoritmos se expresa la resolucin de un problema mediante un

    conjunto de reglas aplicadas de forma sistemtica y ordenada, es decir, mediante un algoritmo. Los procedimientos que define un algoritmo son independientes de cualquier lenguaje de programacin y de cualquier mquina particular o sea el algoritmo son los pasos necesarios para resolver la situacin problemtica y es independiente de su implementacin.

    Y por ltimo el Nivel de las Aplicaciones que consiste en la implementacin de los

    algoritmos en algn lenguaje de Alto Nivel a saber Lenguaje C, C++, Visual Basic, Java entre otros.

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    7

    Bu

    s d

    el s

    iste

    ma

    Estructura bsica de una computadora: Estructura von Neumann La estructura bsica de una computadora actual sigue siendo la original de von Neumann, una mquina secuencial que ejecuta datos escalares y que hemos representado en la siguiente figura:

    CPU

    (ALU, registros y unidad de control)

    MEMORIA

    PRINCIPAL

    RAM/ ROM

    UNIDADES DE ENTRADA/SALIDA

    E/S

    Datos

    Direcciones

    Control

    Fig.6 Modelo de un sistema de computacin con estructura de bus

    La memoria almacena las instrucciones del programa, los datos iniciales, los resultados parciales y los finales. Se accede de forma directa (RAM) a cualquier posicin para realizar operaciones de lectura o escritura. El procesador es la unidad encargada de leer y ejecutar las instrucciones. Para ello dispone de una ruta de datos constituida por un conjunto de registros (REG.), una unidad aritmtico-lgica (ALU), y unos buses de comunicacin; y una unidad de control, que es la encargada de generar las seales que gobiernan todos los dispositivos. La entrada y salida constituyen la unidad para la transferencia de informacin con el mundo exterior.

    Funcionalmente la computadora tiene las siguientes caractersticas:

    Organizacin lineal de la memoria

    Palabra de longitud fija. Espacio nico de direcciones.

    Memoria nica para datos e instrucciones sin diferenciar entre ambos. Ejecucin secuencial de las instrucciones salvo las de ruptura de secuencia

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    8

    A esta organizacin bsica de von Neumann se han ido incorporando algunas aportaciones significativas entre las que destacaremos las siguientes: Sistema de interrupciones, Sistema de memoria cach y Sistema de memoria virtual.

    Caractersticas de la Memoria Principal

    La memoria principal consiste en un conjunto de registros que se identifican por su direccin o locacin de memoria. La capacidad de la memoria es la cantidad de informacin que se puede almacenar. La velocidad de acceso tiempo que transcurre desde que se proporciona la direccin a la memoria y el momento en que el dato est disponible (lectura) o queda grabado (escritura). El menor objeto al que puede hacerse referencia en memoria es el Byte, no obstante lo habitual es que se puede leer o escribir ms de un byte de acuerdo al tamao de la palabra, siendo la palabra de 1,2,4 u 8 bytes. En las palabras de ms de un byte hay dos alternativas en cuanto a la forma de almacenar sus bytes en la memoria-ver Fig.7-:

    Big Endian, el byte ms significativo sea el de la izquierda de la palabra se guarda en la direccin ms baja de la memoria.(Familia Motorola)

    Little Endian, el byte menos significativo sea el de la derecha de la palabra se guarda en la direccin ms baja de la memoria. (Familia Intel)

    Considerando la palabra de memoria de 32 bits: Big Endian

    Byte ms significativo Byte menos significativo

    31 0

    x x +1 x + 2 Direccin de memoria Little Endian 31 0

    x + 2 x + 1 x

    Fig.7 Formato de almacenamiento

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    9

    Mem

    superior

    Mem.

    Superior

    usuario

    SO

    Interrup.

    Las direcciones de memoria se cuentan a partir de cero entonces la direccin ms alta corresponde a una unidad menos que el tamao de memoria. Si la palabra es de 32 bits se pueden direccionar 232 = 4GB que van de 0 a 231-1, la distribucin de estos sectores forma el mapa de memoria-ver Fig.8-.

    0xFFFFF

    OxA0000

    0x9FFFF

    0x001FF

    0x00000

    Esquema para 1 MB

    Esquema de memoria para los primeros 4 Gb en un sistema Intel.

    Fig.8 Mapas de memoria de 1MB (20 lneas de direccin) y de 4GB (32 lneas de direccin)

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    10

    La memoria se puede clasificar utilizando diferentes criterios, entre otros por los mtodos de acceso a la misma, duracin de la informacin etc. -Mtodo de acceso

    Acceso aleatorio RAM (Random Access Memory) - Memoria de lectura/escritura de acceso aleatorio

    SRAM - RAM esttica menor tiempo de acceso. DRAM - RAM dinmica mayor tiempo de acceso con mayor

    integracin. ROM (Read Only Memory) - Memoria de slo lectura

    PROM - Programmable ROM - ROM programable UVEPROM - Erasable PROM - PROM que se puede borrar EEPROM - Electrically EPROM - EPROM elctrica-Flash

    Acceso secuencial (SAM) (Serial Access Memory): tiempo de acceso dependiente de la posicin de memoria.

    Acceso directo (DMA): permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones. Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. Tal operacin no ocupa el procesador y como resultado puede ser planificado para efectuar otras tareas. Cabe destacar que aunque no se necesite a la CPU para la transaccin de datos, s que se necesita el bus del sistema (tanto bus de datos como bus de direcciones), por lo que existen diferentes estrategias para regular su uso, permitiendo as que no quede totalmente acaparado por el controlador DMA.

    Asociativas (CAM): acceso por contenido

    La CPU accede a la memoria para leer o escribir, dicho acceso est secuenciado por tres lneas de control:

    Las lneas de RD (lectura) y WR (escritura) indican a la memoria la operacin a realizar

    Con la seal READY la memoria indica que la operacin ha terminado

    Estas lneas forman parte del bus de control -Duracin de la informacin

    Estticas: el contenido permanece inalterable mientras estn polarizadas. Dinmicas: el contenido slo dura un corto perodo de tiempo, por lo que es

    necesario refrescarlo (reescribirlo) peridicamente

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    11

    Caractersticas de la CPU La estructura de la CPU (Central Processing Unit, Unidad Central de Procesamiento) consiste en una seccin de datos, formada por los registros y la ALU y una seccin de control, la que interpreta las instrucciones y realiza las transferencias entre registros. La seccin correspondiente a los datos se conoce tambin como trayecto de datos. Un microprocesador es una CPU implementada en un nico circuito integrado La unidad de control UC:

    Es la responsable de la ejecucin de las instrucciones del programa, las que se almacenan en la memoria principal.

    Existen dos registros que forman la interfaz entre la UC y la unidad de datos: Registro Contador de programa (PC, program counter) que contiene la

    direccin de la prxima instruccin a ejecutar Registro de Instruccin (IR, instruction registrer) donde se almacena la

    instruccin en ejecucin.

    Recibe seales de estado del resto de unidades

    Enva las seales para controlar el funcionamiento del resto de unidades

    Capta de memoria la prxima instruccin a ser ejecutada, decodifica el cdigo de operacin de la misma y genera las seales de control necesarias para su ejecucin.

    El trayecto de datos:

    Est constitudo por un conjunto de registros y por la Unidad aritmtico lgica

    (ALU- Arithmetic Logic Unit), unidad que implementa operaciones aritmticas entre las cuales se incluyen la suma, el producto y las operaciones lgicas de disyuncin (or), conjuncin (and) y negacin (not).

    Al igual que en la memoria principal del sistema cada registro del conjunto recibe una direccin ordenada secuencialmente

    Pasos que lleva a cabo la UC en la ejecucin de un programa, proceso que se conoce como ciclo de bsqueda-ejecucin -ver Fig.9-:

    1. Bsqueda en memoria de la prxima instruccin a ser ejecutada.La unidad de

    control (UC) enva una microorden para que el contenido del registro contador de programa (PCR) que contiene la direccin de la siguiente instruccin (la que corresponde procesar), sea transferido al registro de direccin de memoria (MAR). La instruccin buscada se carga dentro de un registro de la CPU, llamado registro de instruccin (IR). La instruccin est en la forma de un cdigo binario que especifica las acciones que tomar la CPU.

    2. Decodificacin del cdigo de operacin. 3. Bsqueda de operandos en memoria, si los hubiera. 4. Ejecucin de la instruccin y almacenamiento de los resultados. 5. Vuelta al paso 1.

  • Universidad Tecnolgica Nacional Instituto Nacional Superior del Profesorado Tcnico Automatizacin y Robtica

    Computacin Profesores: Mg. Delmiro Gil

    Lic. Gustavo Lovallo

    Mg. Mara del Carmen Martnez

    12

    En definitiva el detalle de cada uno de los pasos en el ciclo de bsqueda-ejecucin depende de la instruccin a ejecutarse. Cabe destacar que los registros MDR y MAR no estn fsicamente en le UCP sino en la memoria principal.

    Fig.9 Simulador de la estructura de von Newmann