Documente Academic
Documente Profesional
Documente Cultură
PRESENTACIÓN
Docente:
MSc. Miguel Angel Torres Lázaro
(e-mail: miguel.torres@maelpro.com)
Frecuencia y duración:
6 horas p/semana
84 horas (14 semanas)
Pre-requisitos:
- Circuitos Digitales II
PRESENTACIÓN
2) Definiciones y conceptos
4) Preguntas
PRESENTACIÓN
Evaluación:
1) Evaluación 01
3) Evaluación 03
PRESENTACIÓN
Objetivos:
PRESENTACIÓN
Bibliografía:
[6] Muhammad A. Mazidi, Sarmad Naimi & Sepehr Naimi, The AVR
Microcontroller and Embedded System: Using Assembly and C, First
Edition, Prentice Hall, 2011.
Temario:
– Definición de computadora
– Componentes de una computadora.
– Funcionalidad de una computadora
– Evolución de las computadoras
– Organización y arquitectura de una computadora
– Estructura de una computadora
– Arquitecturas Von Neumann y Harvard
– Funcionamiento de una computadora: Instrucciones
– Interrupciones
– Interrupciones múltiples
– Estructuras de interconexión
– Interconexión de buses
1.- INTRODUCCIÓN
1.1.- Computadora
1.- INTRODUCCIÓN
1.1.- Computadora
1.- INTRODUCCIÓN
Interfase Interfase
1.- INTRODUCCIÓN
Analógica
Digital (1/0)
Comunicación serial
1.- INTRODUCCIÓN
Sistema
de
transferencia
de datos
Mecanismo
de
control
Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos
1.- INTRODUCCIÓN
Sistema
de
transferencia
de datos
Mecanismo
de
control
Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos
1.- INTRODUCCIÓN
Sistema
de
transferencia
de datos
Mecanismo
de
control
Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos
1.- INTRODUCCIÓN
Sistema
de
transferencia
de datos
Mecanismo
de
control
Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos
1.- INTRODUCCIÓN
Sistema
de
transferencia
de datos
Mecanismo
de
control
Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos
1.- INTRODUCCIÓN
Líneas de
Periféricos comunicación
COMPUTADORA
-Almacenamiento
-Procesamiento
1.- INTRODUCCIÓN
COMPUTADORA
Memoria
Entrada/Salida
principal
COMPUTADORA Sistemas de
interconexión
Unidad central
de
Procesamiento
1.- INTRODUCCIÓN
1.- INTRODUCCIÓN
CPU
Unidad
COMPUTADORA Registros aritmética
y lógica
Memoria
Bus Interconexión
del CPU interna de la
sistema CPU
E/S
Unidad de
control
1.- INTRODUCCIÓN
Unidad aritmética y lógica (ALU): Lleva a cabo las funciones de procesamiento de datos
(operaciones aritméticas y lógicas).
1.- INTRODUCCIÓN
Unidad de control
CPU Lógica de
secuencia
ALU
Registros y
Unidad decodificadores
Bus
de
interno
control
de la unidad
de control
Registros
Memoria de
control
1.- INTRODUCCIÓN
Computadora UNIVAC.
1.- INTRODUCCIÓN
Unidad Aritmética
y Lógica
Aparato de
Memoria
Entrada/
Principal
Salida
Unidad de Control
de Programa
1.- INTRODUCCIÓN
1.- INTRODUCCIÓN
Ley de Moore
Fue expresada en un contexto en el cual la fabricación de circuitos integrados estaba
comenzando a superar la integración a pequeña escala (SSI). Esta ley fue propuesta por
Gordon Moore, co-fundador de Intel, en 1965. Moore observó que el número de transistores
que podían ser colocados en un solo chip se duplicaba cada año, y predijo correctamente que
este ritmo de crecimiento continuaría en el futuro cercano.
1.- INTRODUCCIÓN
1.- INTRODUCCIÓN
DEC PDP-8
Esta computadora apareció en 1964. A diferencia de las computadoras surgidas hasta ese
momento, la PDP no requería de aire acondicionado en la habitación. Además, tenía un
tamaño bastante reducido; de hecho, era posible colocar esta computadora sobre una mesa
de trabajo o, incluso, integrarla dentro de otro equipo.
Esta computadora introdujo por primera vez la estructura de bus, la cual es universal para
todas las comoutadoras actuales.
1.- INTRODUCCIÓN
1.- INTRODUCCIÓN
Intel 4004
Fue el primer circuito integrado que contenía todos los componentes de un CPU en un solo
chip, lo cual representó el nacimiento del microprocesador. Este procesador podía sumar dos
números de 4 bits y podía multiplicar solamente mediante sumas sucesivas. Para los
estándares de hoy en día el procesador 4004 es tremendamente primitivo, pero marcó el
comienzo de una evolución continua de las capacidades y el poder de los microprocesadores.
1.- INTRODUCCIÓN
1.- INTRODUCCIÓN
1.- INTRODUCCIÓN
1.- INTRODUCCIÓN
1.- INTRODUCCIÓN
Ver el documental “Mentes Brillantes: Steve Jobs vs Bill Gates”, producido por la National
Geographic y disponible en YouTube. Basándose en el contenido de este documental,
responder a las siguientes preguntas:
• ¿Cuál fue la primera computadora que empezó a desarrollarse con un sistema operativo
con entorno gráfico basado en ventanas?
• ¿En qué se inspiró Apple para desarrollar una computadora con este tipo de sistema
operativo?
1.- INTRODUCCIÓN
Organización
Arquitectura
La arquitectura de una computadora se refiere a los atributos de un sistema que son visibles
por el programador o, dicho de otra manera, a los atributos que tienen un impacto directo
sobre la ejecución lógica de un programa.
Se debe tomar en cuenta que pueden existir varios sistemas con la misma arquitectura pero
con diferente organización, como por ejemplo, toda la familia de procesadores Intel x86.
1.- INTRODUCCIÓN
Microcomputador
Microprocesador
Consiste en uno o varios circuitos integrados de gran complejidad que realizan las funciones
de una unidad central de proceso (CPU).
Unidad de Control
La unidad de control es la parte del CPU que interpreta las instrucciones del programa y
genera secuencialmente todas las señales necesarias para el gobierno de las demás
unidades y la ejecución de las instrucciones.
La ALU es la parte del CPU que está encargada de realizar las operaciones aritméticas y
lógicas que se le indique sobre los operandos que se les proporcione.
Es el bloque encargado de comunicar los periféricos con la CPU o con la memoria, todo bajo
la dirección de la unidad de control. Las características del periférico son acopladas a las
características de la CPU, tanto eléctricamente como lógicamente.
Bus de direcciones
Bus de datos
Bus de control
Secuencia de
funciones
Datos Resultado
aritméticas
y lógicas
Programación en hardware.
Códigos de Intérprete de
instrucciones instrucciones
Señales
de control
Funciones
aritméticas
Datos y lógicas Resultado
de propórsito
general
Programación en software.
Prácticamente todas las computadoras personales actuales han sido diseñadas basadas en
los conceptos desarrollados por John Von Neumann en el Instituto de Estudios Avanzados
(IAS) de Princeton. Este diseño es conocido como la Arquitectura Von Neumann y se basa en
tres conceptos:
● Los datos y las instrucciones son almacenados en una sola memoria de lectura –
escritura.
● Los contenidos de esta memoria son direccionables por ubicación, sin importar el tipo de
información que contenga.
Arquitectura Harvard
Arquitectura Harvard.
Registro buffer de memoria (MBR): Contiene la información que debe ser escrita dentro de
la memoria o recibe la información leída desde la memoria.
Contador de programa (PC): Indica la dirección de la próxima instrucción que debe ser
ejecutada.
Tipos de instrucción
Procesador – E/S: Los datos son transferidos desde o hacia un dispositivo periférico, a
través de la transferencia entre el procesador y el módulo E/S.
Control: Una instrucción especifica que la secuencia de ejecución deb ser alterada. Por
ejemplo, el procesador podría extraer una instrucción de la dirección 149, la cual especifica
que la próxima instrucción debe ser extraída de la dirección 182. El procesador recordará
este hecho, estableciendo el contador de programa (PC) en 182. Por lo tanto, en la próxima
fase de búsqueda, la instrucción será extraída de la dirección 182 en lugar de la 150.
Definiciones de tiempo
Ciclo de reloj: Es el valor del periodo de la señal de reloj que utiliza la CPU para sincronizar
sus actividades.
Ciclo de instrucción: Es el tiempo que se necesita para buscar una instrucción en memoria,
extraerla, decodificarla y ejecutarla. Un ciclo de instrucción puede estar formado por uno o
más ciclos de máquina, dependiendo del tipo de instrucción.
15 12 11 0
Opcode Dirección
15 14 0
S Magnitud
Búsqueda y extracción del operando (of): Extrae el operando desde la memoria, o lo lee
desde la E/S.
Búsqueda y Búsqueda y
Almacenamiento
extracción de extracción del
del operando
la instrucción operando
Múltiples Múltiples
operandos resultados
2.4.- Interrupciones
Solicitud de
interrupción
(IRQ)
Procesador
(Programa de usuario) Rutina de
servicio a
interrupción
(ISR)
2.4.- Interrupciones
Concepto de interrupción
Programa: La interrupción es generada por alguna condición que ocurre como resultado de
la ejecución de una instrucción como, por ejemplo, desbordamiento aritmético, división entre
cero, intento de ejecutar una instrucción ilegal, o referencia fuera del espacio de memoria
permitido al usuario.
Falla de hardware: La interrupción es generada por una falla como, por ejemplo, falla de
energía o error de paridad en la memoria.
2.4.- Interrupciones
Las interrupciones se utilizan, principalmente, como una manera de mejorar la eficiencia del
procesamiento.
Por ejemplo, la mayoría de dispositivos externos son mucho más lentos que el procesador.
Suponga que el procesador está transmitiendo información a una impresora, usando el
esquema de ciclo de instrucción que se enseñó anteriormente (fase de búsqueda, fase de
ejecución). Después de cada operación de escritura el procesador debe hacer una pausa y
permanecer inactivo hasta que la impresora esté lista para recibir nueva información.
2.4.- Interrupciones
2.4.- Interrupciones
Ir haciendo otras cosas.
(Programa de usuario)
¡Ya llegué!
Atender a la persona
(Rutina de servicio a
interrupción)
Persona llegó.
2.4.- Interrupciones
El programa de usuario lleva a cabo una serie de llamadas para escribir en las
Entradas/Salidas, las cuales están entrelazadas con el procesamiento. Este programa se
divide en tres segmentos, los cuales se refieren a secuencias de instrucciones que no
implican Entradas/Salidas.
● El verdadero comando de Entrada/Salida. Sin el uso de interrupciones, una vez que este
comando ha sido iniciado, el programa debe esperar hasta que el dispositivo de
Entrada/Salida lleve a cabo la función solicitada (o puede hacer polling periódicamente).
● Una secuencia de instrucciones para completar la operación. Por ejemplo: Colocar una
bandera en alto que indique si la operación se culminó exitosamente.
2.4.- Interrupciones
2.4.- Interrupciones
2.4.- Interrupciones
Guardar contexto
2.4.- Interrupciones
La interrupción
ocurre aqui
2.4.- Interrupciones
2.4.- Interrupciones
2.4.- Interrupciones
2.4.- Interrupciones
● Después que la ISR respectiva ha completado la tarea, el procesador vuelve a habilitar las
interrupciones y verifica cuales están pendientes.
● Si ocurre una segunda interrupción y ésta tiene menor prioridad que la primera, entonces
la segunda interrupción permanece pendiente hasta que la ISR correspondiente a la
primera interrupción haya completado la tarea.
● Por otro lado, si ocurre una segunda interrupción y ésta tiene mayor prioridad que la
primera, entonces se atiende la ISR correspondiente a la segunda interrupción.
ISR de Disco
● Desde este punto de vista, una computadora es una red de módulos básicos. Por lo tanto,
debe haber caminos que conecten los módulos.
● Por otro lado, si ocurre una segunda interrupción y ésta tiene mayor prioridad que la
primera, entonces se atiende la ISR correspondiente a la segunda interrupción.
Módulo de Memoria
● Una palabra de información puede ser leída desde la memoria o puede ser escrita en la
memoria. La naturaleza de la operación es indicadamediante las señales de control de leer
y escribir.
Leer
Memoria
Escribir
N palabras
0
.
Dirección . Datos
.
N-1
Datos
Módulo de Entrada/Salida
● Podemos refererirnos a cada una de las interfases a un dispositivo externo como un puerto
y dar a cada uno una dirección única (Por ejemplo 0, 1 … M-1). Adicionalmente existen
rutas de datos externas para la entrada y salida de datos con un dispositivo exteno.
Leer
Módulo de E/S
Datos
Escribir internos
Datos
Dirección M puertos externos
Datos
internos Señales de
interrupción
Datos
externos
Instrucciones Dirección
Señales de
interrupción Datos
● E/S hacia o desde memoria: Para estos dos casos, un módulo de E/S tiene permitido
intercambiar datos directamente con la memoria, sin necesidad de pasar por el procesador,
empleando acceso directo a memoria (DMA).
● Múltiples dispositivos se conectan al bus y una señal transmitida por cualquiera de los
dispositivos está disponible para su recepción por todos los demás dispositivos conectados
al bus.
● Si se toman juntas, varias líneas de un bus pueden ser usadas para transmitir dígitos
binarios simultáneamente (en paralelo). Por ejemplo, una unidad de datos de 8 bits puede
ser transmitida sobre un bus de 8 líneas.
● Los sistemas computacionales contienen diferentes buses que proporcionan rutas entre
componentes a diferentes niveles de la jerarquía del sistema. Un bus que conecta los
componentes principales de la computadora (procesador, memoria, E/S) es llamado bus de
sistema. Las estructuras de interconexión más comunes en computadoras están basadas
en el uso de uno o más buses de sistema.
Un sistema de bus típicamente consta de cientos de líneas separadas. Cada línea tiene
asignada un significado y función particular. Aunque existen diferentes diseños de bus, en
general, las líneas pueden ser clasificadas dentro de tres grupos funcionales:
● Líneas de datos.- Proporcionan una ruta para transferir los datos entre módulos del
sistema. Estas líneas, en conjunto, son llamadas el bus de datos. El número de líneas de
datos es conocido como el ancho del bus de datos. Dado que cada línea puede cargar
solo 1 bit a la vez, el número de líneas determina cuantos bits pueden ser transferidos a la
vez.
● Líneas de dirección.- Son usadas para designar la fuente o el destino de los datos que
fluyen sobre el bus de datos. El ancho del bus de dirección determina la capacidad
máxima de memoria del sistema. Las líneas de dirección, por lo general, también son
usadas para direccionar puertos de E/S.
● Líneas de control.- Son usadas para controlar el acceso y el uso de las líneas de datos y
de dirección. Dado que las líneas de datos y de dirección son compartidas por todos los
componentes, debe haber un medio para controlar su uso. Las señales de control
transmiten tanto comandos como información de temporización entre los módulos del
sistema.
● En general, cuanto más dispositivos se conecten al bus, mayor es la longitud del bus y,
por lo tanto, mayor es el retardo de propagación. Este retardo determina el tiempo que
toma a un dispositivo coordinar el uso del bus.
Dado que las tasas de transmisión de datos generadas por los disositivos conectados
(controladores de video, interfases de red) han crecido rápidamente, el uso de un único
bus ha quedado obsoleto. Por essta razón, la mayoría de computadoras utiliza sistemas de
múltiples buses, generalmente organizados en una jerarquía.
Tipo de bus
Las líneas del bus pueden ser separadas en dos tipos genéricos: dedicadas y multiplexadas.
Una línea de bus dedicada está permanentemente asignada a una función o a un subgrupo
de componentes físicos. Por otro lado, una línea de bus multiplexada es empleada para
múltiples propósitos (por ejemplo, un mismo bus para transmitir direcciones y datos).
Método de arbitraje
En prácticamente todos los sistemas, más de un módulo puede necesitar control del bus. Sin
embargo, dado que solo una unidad a la vez puede transmitir por el bus de manera exitosa,
se requiere un método de arbitraje. Estos métodos pueden ser clasificados en dos tipos_
centralizados y distribuidos. En un esquema centralizado, un solo dispositivo de hardware
(conocido como el árbitro o controlador del bus) es responsable para asignar el tiempo en el
bus. Por otro lado, en un esquema distribuido no hay un controlador central, ya que cada
módulo tiene acceso a la lógica de control, y los módulos actúan juntos para compartir el bus.
Temporización
Se refiere a la manera como los eventos son coordinados en el bus. Los buses pueden usar
temporización síncrona o temporización asíncrona. Con temporización síncrona la ocurrencia
de eventos en el bus es determinada por una señal de reloj. Por otro lado, con temporización
asíncrona la ocurrencia de un evento en el bus sigue y depende de la ocurrencia de un
evento previo.
Ancho de bus
Por un lado, el ancho del bus de datos tiene un impacto en el rendimiento del sistema: cuanto
más ancho es el bus, mayor es el número de bits que pueden transferirse al mismo tiempo.
Por otro lado, el ancho del bus de dirección tiene un impacto en la capacidad del sistema:
cuanto más ancho es el bus, mayor es el rango de ubicaciones que pueden ser
referenciadas.
Ejemplo:
Imagine una computadora con arquitectura
Harvard (memorias y buses separados para
instrucciones y datos) donde el ancho del bus
de datos, tanto para instrucciones como para
datos, es de 8 bits.
3.- PREGUNTAS