estructura de una computadora

12
Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesor: Lic. Delmiro Gil Jefes de Trabajo Práctico: Prof. María del Carmen Martínez Lic. Gustavo Lovallo 1 Nivel Físico Nivel de Aplicaciones 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: Fig.2 Niveles de descripción de una computadora Nivel Físico Nivel de Aplicaciones Lenguaje de Alto Nivel Arquitectura Nivel Lógico Software Hardware

Upload: milenabaeta

Post on 24-Jul-2015

59 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

1

Nivel Físico

Nivel de Aplicaciones

Unidad Temática 1: Estructura de una Computadora

Antecedentes históricos. Definición de unidades fundamentales (bit y byte) y susmú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). Unidadde Control. Contador de Programa. Dispositivos de entrada/salida (I/O). Ejecución deinstrucciones. 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:

Fig.2 Niveles de descripción de una computadora

Nivel Físico

Nivel de Aplicaciones

Lenguaje de Alto Nivel

Arquitectura

Nivel Lógico

Software

Hardware

Page 2: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

2

En un análisis más detallado y considerando a la computadora como un sistema complejo

se encuentran más niveles:

Electrónico

Transferencia de registros

Software básico (SO)

Algoritmos

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

El nivel electrónico está ubicado entre el Nivel físico propiamente dicho -transistores, resistencias, condensadores – y el nivel lógico, siendo estos elementosmencionados de entrada y los elementos de salida hacia el nivel lógico lo constituyen,compuertas lógicas y biestables entre otros.

Las compuertas lógicas son bloques de construcción básica de los sistemas digitales;operan con números binarios, por lo que se les denomina puertas lógicas binarias.

Todos los sistemas digitales se construyen utilizando básicamente tres compuertas lógicasAND, OR y NOT; o la combinación de éstas.

Veamos la representación gráfica de cada compuerta y su tabla de verdad-ver Fig.3-:

Producto Lógico Suma Lógica Negación

Fig.3 Compuertas lógicas.

Los biestables son circuitos binarios - con dos estados - en los que ambos estados sonestables de forma que hace falta una señal externa de excitación – disparo - para hacerloscambiar de estado, o sea que mantiene estable la salida aun luego de que las entradaspasen a un estado inactivo. Esta función de excitación define al tipo de biestable (D,T, RS oJK ).Son unidades constructivas de los módulos de memorias de computadoras.

Page 3: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

3

Representación gráfica de un biestable JK que dispara por nivel:

Fig 4. Biestable JK

En el Nivel Lógico los elementos de entrada son los biestables y las compuertaslógicas, y los de salida son módulos combinacionales y secuenciales tales comomultiplexores, codificadores, sumadores, registros, contadores, etc. El comportamientode un circuito combinacional se representa con una función lógica

Un ejemplo de un circuito combinacional cuyo comportamiento se representa con lafunción lógica F:

Fig.5 Circuito Combinacional

Entre el Nivel Lógico y la Arquitectura ubicaríamos el Nivel de Transferencia deRegistros.En este nivel los elementos de entrada son registros –celdas de memoria que están en elmicroprocesador no en la memoria principal-, módulos combinacionales y elementos deinterconexión (buses y/o multiplexores).Los registros mantienen el estado del sistema, los módulos combinacionales definen lastransformaciones elementales del estado, y los elementos de interconexión permiten elintercambio de información entre los registros y los módulos.

Page 4: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

4

Los elementos de salida son el conjunto de transferencias elementales posibles enla ruta de datos construida con los tres tipos de elementos de entrada. Las transferenciaselementales las veremos al tratar el tema de fases de una instrucción.El próximo nivel es el de la Arquitectura que se caracteriza por ser el primer nivel en el quelos componentes básicos no son elementos físicos sino símbolos con los que se construyenlas instrucciones máquina y su método de secuenciamiento, es decir, lo que se denominaun lenguaje máquina. Lenguaje cuyos símbolos son 0 y 1 que se corresponden conausencia o presencia de tensión o viceversa de acuerdo a la lógica utilizada, lógica positivao negativa respectivamente.La Arquitectura es el nivel de separación –la interfaz- entre el hardware y el software.Habitualmente el lenguaje de máquina se analiza en función del llamado lenguajeensamblador –assembler- funcionalmente equivalente pero utiliza nombres algo másintuitivos que una cadena de ceros y unos como MOV, ADD llamados mnemónicos.

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 código

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

; Inicio del programa

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

programa:

MOV AX, @data ; carga en AX la dirección del segmento de datos

MOV DS, AX ; mueve la dirección al registro de segmento por medio

de AX

MOV DX, offset Cadena1; mueve a DX la dirección del string a imprimir

MOV AH, 9 ; AH = código de la función 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:

Page 5: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

5

CISC (Complex Instruction Set Computer) Computadoras con un conjunto deinstrucciones complejas que disponen de un repertorio de instruccioneselevado (80, 100 o más), algunas de ellas muy sofisticadas y potentes, pero quecomo contrapartida requieren muchos ciclos de máquina para ejecutar lasinstrucciones complejas.

RISC (Reduced Instruction Set Computer) Computadora con un conjuntoreducido de instrucciones. Computadoras de juego de instrucciones reducido,en los que el repertorio de instrucciones es muy reducido, las instrucciones sonmuy simples y suelen ejecutarse en un ciclo máquina. Además los RISC debentener una estructura pipeline y ejecutar todas las instrucciones a la mismavelocidad.

Un conjunto de instrucciones es la colección de instrucciones que un procesador puedeejecutar, es una característica que lo define.

A finales de la década de los 60 los arquitectos de computadoras aprovecharon losavances de las tecnologías de circuitos integrados para aumentar la complejidad de lasinstrucciones ya que se suponían obvios los beneficios, tener instrucciones más complejasque los procesadores competidores se convirtió en una técnica de ventas efectiva. Sinembargo en los 70 se demostró que los compiladores –programas que convierten lassentencias de un programa fuente de un lenguaje de alto nivel en lenguaje de máquina-casi no utilizaban las instrucciones más complejas.

Estas observaciones junto a los avances tecnológicos lograron la evolución desde lascomputadoras de instrucciones complejas CISC hacia las arquitecturas RISC

Características de una arquitectura RISC:

Todas las instrucciones son de longitud fija, cuyo tamaño es una palabra, lalongitud de palabra = cantidad de bits del bus de datos.

Las operaciones complejas deben ser convertidas por el compilador eninstrucciones simples.

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

Deberá haber una gran cantidad de registros de uso general para realizaroperaciones aritméticas.

Con respecto al nivel Sistema Operativo (SO) se destaca de los demás niveles yaque se constituye en un gestor de todos los recursos de la máquina: la CPU, la jerarquía dememoria, etc. Cuando se diseña la arquitectura se tiene muy encuenta las funciones delSO.

Page 6: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

6

Los Lenguajes de Alto Nivel o sea lenguajes que hacen abstracción de lascaracterísticas de los niveles propios del hardware, su sintaxis y su semántica son máscomplejas que las del lenguaje ensamblador.Este nivel requiere un proceso de traducción al nivel máquina que es realizado por unprograma denominado compilador. Se trata de un programa que toma como dato deentrada un programa fuente escrito en un lenguaje de alto nivel, y produce como salidaun programa objeto escrito en lenguaje máquina con una semántica equivalente (igualsignificado).

En el nivel Algoritmos se expresa la resolución de un problema mediante unconjunto de reglas aplicadas de forma sistemática y ordenada, es decir, mediante unalgoritmo. Los procedimientos que define un algoritmo son independientes de cualquierlenguaje de programación y de cualquier máquina particular o sea el algoritmo son lospasos necesarios para resolver la situación problemática y es independiente de suimplementación.

Y por último el Nivel de las Aplicaciones que consiste en la implementación de losalgoritmos en algún lenguaje de Alto Nivel a saber Lenguaje C, C++, Visual Basic, Java entreotros.

Page 7: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

7

CPU

(ALU, registros yunidad decontrol)

MEMORIA

PRINCIPAL

RAM/ ROM

UNIDADESDE

ENTRADA/SALIDAE/S

Bus

del

sist

ema

Estructura básica de una computadora: Estructura von NeumannLa estructura básica de una computadora actual sigue siendo la original de von Neumann,una máquina secuencial que ejecuta datos escalares y que hemos representado en lasiguiente figura:

Fig.6 Modelo de un sistema de computación con estructura de bus

La memoria almacena las instrucciones del programa, los datos iniciales, los resultadosparciales y los finales. Se accede de forma directa (RAM) a cualquier posición para realizaroperaciones de lectura o escritura.El procesador es la unidad encargada de leer y ejecutar las instrucciones. Para ello disponede una ruta de datos constituida por un conjunto de registros (REG.), una unidadaritmético-lógica (ALU), y unos buses de comunicación; y una unidad de control, que es laencargada de generar las señales que gobiernan todos los dispositivos.La entrada y salida constituyen la unidad para la transferencia de información con elmundo exterior.

Funcionalmente la computadora tiene las siguientes características: Organización lineal de la memoria Palabra de longitud fija. Espacio único de direcciones. Memoria única para datos e instrucciones sin diferenciar entre ambos. Ejecución secuencial de las instrucciones salvo las de ruptura de secuencia

Datos

Direcciones

Control

Page 8: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

8

A esta organización básica de von Neumann se han ido incorporando algunas aportacionessignificativas entre las que destacaremos las siguientes: Sistema de interrupciones,Sistema de memoria caché y Sistema de memoria virtual.

Características de la Memoria Principal

La memoria principal consiste en un conjunto de registros que se identifican por sudirección o locación de memoria.La capacidad de la memoria es la cantidad de información que se puede almacenar.La velocidad de acceso tiempo que transcurre desde que se proporciona la dirección a lamemoria 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 lohabitual es que se puede leer o escribir más de un byte de acuerdo al tamaño de lapalabra, siendo la palabra de 1,2,4 u 8 bytes.En las palabras de más de un byte hay dos alternativas en cuanto a la forma de almacenarsus bytes en la memoria-ver Fig.7-:

Big Endian, el byte más significativo ó sea el de la izquierda de la palabra seguarda en la dirección más baja de la memoria.(Familia Motorola)

Little Endian, el byte menos significativo ó sea el de la derecha de la palabra seguarda en la dirección más baja de la memoria. (Familia Intel)

Considerando la palabra de memoria de 32 bits:Big Endian

Byte más significativo Byte menos significativo

31 0

x x +1 x + 2 Dirección de memoriaLittle Endian31 0

x + 2 x + 1 x

Fig.7 Formato de almacenamiento

Page 9: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

9

Las direcciones de memoria se cuentan a partir de cero entonces la dirección más altacorresponde a una unidad menos que el tamaño de memoria.Si la palabra es de 32 bits se pueden direccionar 232 = 4GB que van de 0 a 231-1, ladistribución de estos sectores forma el “mapa de memoria”-ver Fig.8-.

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

Fig.8 Mapas de memoria de 1MB (20 líneas de dirección) y de 4GB (32 líneas de dirección)

Memsuperior

0xFFFFF

OxA0000

0x9FFFF

0x001FF

0x00000

Esquema para 1 MB

SO

usuario

Interrup.

Mem.

Superior

Page 10: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

10

La memoria se puede clasificar utilizando diferentes criterios, entre otros por los métodosde acceso a la misma, duración de la información etc.-Método de acceso

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

SRAM - RAM estática –menor tiempo de acceso. DRAM - RAM dinámica –mayor tiempo de acceso con mayor

integración.ROM (Read Only Memory) - Memoria de sólo lectura

PROM - Programmable ROM - ROM programable UVEPROM - Erasable PROM - PROM que se puede borrar EEPROM - Electrically EPROM - EPROM eléctrica-Flash

Acceso secuencial (SAM) (Serial Access Memory): tiempo de acceso dependientede la posición de memoria.

Acceso directo (DMA): permite a dispositivos de diferentes velocidadescomunicarse sin someter a la CPU a una carga masiva de interrupciones. Unatransferencia DMA consiste principalmente en copiar un bloque de memoria deun dispositivo a otro. Tal operación no ocupa el procesador y como resultadopuede ser planificado para efectuar otras tareas. Cabe destacar que aunque nose necesite a la CPU para la transacción de datos, sí que se necesita el bus delsistema (tanto bus de datos como bus de direcciones), por lo que existendiferentes estrategias para regular su uso, permitiendo así que no quedetotalmente 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 treslíneas de control:

Las líneas de RD (lectura) y WR (escritura) indican a la memoria laoperación a realizar

Con la señal READY la memoria indica que la operación ha terminado Estas líneas forman parte del bus de control

-Duración de la información

Estáticas: el contenido permanece inalterable mientras están polarizadas. Dinámicas: el contenido sólo dura un corto período de tiempo, por lo que es

necesario refrescarlo (reescribirlo) periódicamente

Page 11: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

11

Características de la CPU

La estructura de la CPU (Central Processing Unit, Unidad Central de Procesamiento) consisteen una sección de datos, formada por los registros y la ALU y una sección de control, la queinterpreta las instrucciones y realiza las transferencias entre registros. La seccióncorrespondiente a los datos se conoce también como trayecto de datos.Un microprocesador es una CPU implementada en un único circuito integradoLa unidad de control UC:

Es la responsable de la ejecución de las instrucciones del programa, las que sealmacenan 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

dirección de la instrucción en ejecución Registro de Instrucción (IR, instruction registrer) donde se almacena la

instrucción a ejecutar. Recibe señales de estado del resto de unidades Envía las señales para controlar el funcionamiento del resto de unidades Capta de memoria la próxima instrucción a ser ejecutada, decodifica el

código de operación de la misma y genera las señales de control necesariaspara su ejecución.

El trayecto de datos: Está constituído por un conjunto de registros y por la Unidad aritmético lógica

(ALU- Arithmetic Logic Unit), unidad que implementa operacionesaritméticas entre las cuales se incluyen la suma, el producto y lasoperaciones lógicas de disyunción (or), conjunción (and) y negación (not).

Al igual que en la memoria principal del sistema cada registro del conjunto recibeuna dirección ordenada secuencialmente

Pasos que lleva a cabo la UC en la ejecución de un programa, proceso que se conoce como ciclo debúsqueda-ejecución -ver Fig.9-:

1. Búsqueda en memoria de la próxima instrucción a ser ejecutada.La unidad decontrol (UC) envía una microorden para que el contenido del registro contador deprograma (PCR) que contiene la dirección de la siguiente instrucción (la quecorresponde procesar), sea transferido al registro de dirección de memoria (MAR).La instrucción buscada se carga dentro de un registro de la CPU, llamado registrode instrucción (IR). La instrucción está en la forma de un código binario queespecifica las acciones que tomará la CPU.

2. Decodificación del código de operación.3. Búsqueda de operandos en memoria, si los hubiera.4. Ejecución de la instrucción y almacenamiento de los resultados.5. Vuelta al paso 1.

Page 12: Estructura de Una Computadora

Universidad Tecnológica Nacional –Instituto Nacional Superior del Profesorado TécnicoAutomatización y Robótica

ComputaciónProfesor: Lic. Delmiro Gil

Jefes de Trabajo Práctico: Prof. María del Carmen MartínezLic. Gustavo Lovallo

12

En definitiva el detalle de cada uno de los pasos en el ciclo de búsqueda-ejecucióndepende de la instrucción a ejecutarse.Cabe destacar que los registros MDR y MAR no están físicamente en le UCP sino en lamemoria principal.

Fig.9 Simulador de la estructura de von Newmann