Vous êtes sur la page 1sur 12
Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

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:

Nivel de Aplicaciones Nivel Físico
Nivel de Aplicaciones
Nivel Físico

Fig.1

Entre estos niveles hay varios niveles de abstracción:

Software Nivel de Aplicaciones Lenguaje de Alto Nivel Arquitectura Nivel Lógico Hardware Nivel Físico
Software
Nivel de Aplicaciones
Lenguaje de Alto Nivel
Arquitectura
Nivel Lógico
Hardware
Nivel Físico

Fig.2 Niveles de descripción de una computadora

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

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 y elementos 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 elementos mencionados 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ógicas AND, 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

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.
Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

Fig.3 Compuertas lógicas.

Negación

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

Los biestables son circuitos binarios - con dos estados - en los que ambos estados son estables de forma que hace falta una señal externa de excitación 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 función de excitación define al tipo de biestable (D,T, RS o JK ).Son unidades constructivas de los módulos de memorias de computadoras.

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

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

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

Fig 4. Biestable JK

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

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

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

Fig.5 Circuito Combinacional Entre el Nivel Lógico y la Arquitectura ubicaríamos el Nivel de Transferencia de

Registros. En este nivel los elementos de entrada son registros celdas de memoria que están en el microprocesador no en la memoria principal-, módulos combinacionales y elementos de interconexión (buses y/o multiplexores).

Los registros mantienen el estado del sistema, los módulos combinacionales definen las transformaciones elementales del estado, y los elementos de interconexión permiten el intercambio de información entre los registros y los módulos.

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.@data MOV DS , AX ; carga en AX la dirección del segmento de datos ; 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 INT 21h una cadena de caracteres en la pantalla ; llamada al MS DOS para imprimir un string en la INT 20h pantalla ; llamada al MS DOS para finalizar el programa end programa Hay dos planteamientos desde el punto de vista de la arquitectura: 4 " id="pdf-obj-3-2" src="pdf-obj-3-2.jpg">

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

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 instrucción. El próximo nivel es el de la Arquitectura que se caracteriza por ser el primer nivel en el que los componentes básicos no son elementos físicos sino símbolos con los que se construyen las instrucciones máquina y su método de secuenciamiento, es decir, lo que se denomina un lenguaje máquina. Lenguaje cuyos símbolos son 0 y 1 que se corresponden con ausencia o presencia de tensión o viceversa de acuerdo a la lógica utilizada, lógica positiva o 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 lenguaje ensamblador assembler- funcionalmente equivalente pero utiliza nombres algo más intuitivos 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 .stack .data Cadena1 DB 'Hola Mundo.$' .code

; modelo de memoria ; segmento del stack ; segmento de datos ; cadena de caracteres a imprimir (finalizado en $) ; segmento del código

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

; Inicio del programa ; --------------------------------------------- programa:

; carga en AX la dirección del segmento de datos ; 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

INT 21h

una cadena de caracteres en la pantalla ; llamada al MS DOS para imprimir un string en la

INT 20h

pantalla ; llamada al MS DOS para finalizar el programa

end programa

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

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

CISC (Complex Instruction Set Computer) Computadoras con un conjunto de instrucciones complejas que disponen de un repertorio de instrucciones elevado (80, 100 o más), algunas de ellas muy sofisticadas y potentes, pero que como contrapartida requieren muchos ciclos de máquina 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 máquina. Además los RISC deben tener una estructura pipeline y ejecutar todas las instrucciones a la misma velocidad.

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

A finales de la década de los 60 los arquitectos de computadoras aprovecharon los avances de las tecnologías de circuitos integrados para aumentar la complejidad de las instrucciones ya que se suponían obvios los beneficios, tener instrucciones más complejas que los procesadores competidores se convirtió en una técnica 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 máquina- casi no utilizaban las instrucciones más complejas.

Estas observaciones junto a los avances tecnológicos lograron la evolución desde las computadoras 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, 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 aritméticas.

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

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

Los Lenguajes de Alto Nivel o sea lenguajes que hacen abstracción de las características de los niveles propios del hardware, su sintaxis y su semántica son más complejas que las del lenguaje ensamblador. Este nivel requiere un proceso de traducción al nivel máquina 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 máquina con una semántica equivalente (igual significado).

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

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

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

Estructura básica de una computadora: Estructura von Neumann

La 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 la

siguiente figura:

CPU MEMORIA UNIDADES DE ENTRADA/SALIDA (ALU, registros y unidad de control) PRINCIPAL E/S RAM/ ROM Datos
CPU
MEMORIA
UNIDADES DE
ENTRADA/SALIDA
(ALU, registros y
unidad de
control)
PRINCIPAL
E/S
RAM/ ROM
Datos
Direcciones
Control
Bus del sistema

Fig.6 Modelo de un sistema de computación 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 posición 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 aritmético-lógica (ALU), y unos buses de comunicación; y una unidad de control, que es la encargada de generar las señales que gobiernan todos los dispositivos. La entrada y salida constituyen la unidad para la transferencia de información con el mundo 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

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

A esta organización básica 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.

Características de la Memoria Principal

La memoria principal consiste en un conjunto de registros que se identifican por su direcció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 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 más de un byte de acuerdo al tamaño de la palabra, 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 almacenar sus bytes en la memoria-ver Fig.7-:

Big Endian, el byte más significativo ó sea el de la izquierda de la palabra se

guarda 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 se guarda 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
Byte más significativo
Byte menos significativo
31
0
x
x +1
x + 2
Dirección de memoria
Little Endian
31
0
x + 2
x + 1
x

Fig.7 Formato de almacenamiento

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

Las direcciones de memoria se cuentan a partir de cero entonces la dirección más alta

corresponde a una unidad menos que el tamaño de memoria.

Si la palabra es de 32 bits se pueden direccionar 2 32 =

4GB que

van de

0

a

2 31 -1,

la

distribución de estos sectores forma el “mapa de memoria-ver Fig.8-.

0xFFFFF

 

Mem

Mem.

superior

Superior

OxA0000

0x9FFFF

usuario

0x001FF

SO

Interrup.

0x00000

Esquema para 1 MB

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

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)

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

La memoria se puede clasificar utilizando diferentes criterios, entre otros por los métodos

de acceso a la misma, duración de la información etc.

-Método de acceso

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

de 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 dependiente

de la posición 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 operación 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 transacción 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

líneas de control:

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

operació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

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

Características de la CPU

La estructura de la CPU (Central Processing Unit, Unidad Central de Procesamiento) consiste

en una sección de datos, formada por los registros y la ALU y una sección de control, la que

interpreta las instrucciones y realiza las transferencias entre registros. La sección

correspondiente a los datos se conoce también 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 ejecución 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 dirección de la próxima instrucción a ejecutar

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

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 necesarias

para 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 operaciones

aritméticas entre las cuales se

incluyen

la

suma,

el

producto

y

las

operaciones 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 recibe una dirección ordenada secuencialmente Pasos que lleva a cabo la UC en la ejecución de un programa, proceso que se conoce como ciclo de búsqueda-ejecución -ver Fig.9-:

  • 1. Búsqueda en memoria de la próxima instrucción a ser ejecutada.La unidad de

control (UC) envía una microorden para que el contenido del registro contador de

programa (PCR) que contiene la dirección de la siguiente instrucción (la que

corresponde 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 registro

de instrucción (IR). La instrucción está en la forma de un código binario que

especifica 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.

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

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

En definitiva el detalle de cada uno de los pasos en el ciclo de búsqueda-ejecución

depende de la instrucción a ejecutarse.

Cabe destacar que los registros MDR y MAR no están físicamente en le UCP sino en la

memoria principal.

Universidad Tecnológica Nacional – Instituto Nacional Superior del Profesorado Técnico Automatización y Robótica Computación Profesores: Mg.

Fig.9 Simulador de la estructura de von Newmann