Upload
milenabaeta
View
54
Download
0
Embed Size (px)
Citation preview
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
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.
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.
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:
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.
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.
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
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
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
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
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.
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