Módulo 01 - Introducción.color

Anuncio
Módulo 01
Introducción
Organización de Computadoras
Depto. Cs. e Ing. de la Comp.
Universidad Nacional del Sur
Copyright
Copyright © 2011-2016 A. G. Stankevicius
Se asegura la libertad para copiar, distribuir y modificar
este documento de acuerdo a los términos de la GNU
Free Documentation License, Versión 1.2 o cualquiera
posterior publicada por la Free Software Foundation,
sin secciones invariantes ni textos de cubierta
delantera o trasera.
Una copia de esta licencia está siempre disponible
en la página http://www.gnu.org/copyleft/fdl.html.
La versión transparente de este documento puede
ser obtenida de la siguiente dirección:
http://cs.uns.edu.ar/~ags/teaching
Organización de Computadoras - Mg. A. G. Stankevicius
2
Contenidos
Historia de la computación.
Arquitectura von Newmann.
Generaciones.
Organización general.
Ley de Moore.
Evolución de la arquitectura Intel x86.
Ciclo básico de un CPU.
Organización de la memoria.
Organización de Computadoras - Mg. A. G. Stankevicius
3
¿Qué es una computadora?
Empecemos por acordar qué cosas califican
como una computadora y cuáles no:
Una PC (Personal Computer)
Un tableta android o un iPad.
Un celular inteligente (smartphone).
Una calculadora de bolsillo.
Un TV inteligente (smart-tv).
Un lavarropa programable.
Un ábaco.
Organización de Computadoras - Mg. A. G. Stankevicius
4
¿Qué es una computadora?
OK, OK, podemos acotar la respuesta un poco
más para sólo considerar a las computadoras
electrónicas (¡que son las que nos interesan!).
Consultemos el mataburro (es decir, la RAE):
Computadora Electrónica: máquina electrónica,
analógica o digital, dotada de una memoria
de gran capacidad y de métodos de tratamiento
de la información, capaz de resolver problemas
matemáticos y lógicos mediante la utilización
automática de programas informáticos.
Organización de Computadoras - Mg. A. G. Stankevicius
5
Historia de la Computación
La historia de la computación se remontan a
la edad dorada de la Grecia clásica o incluso
más atrás a los tiempos de los faraones.
No obstante, como nos interesa la computación
usando computadoras electrónicas, el repaso
de la historia de la computación se centrará en
los avances más recientes, si bien no podemos
ignorar la rica historia que nos respalda.
Después de todo, ¡la computación es meramente
una rama de la matemática!
Organización de Computadoras - Mg. A. G. Stankevicius
6
Charles Babbage
Charles Babbage (1791-1871) fue un famoso
matemático, filósofo e ingeniero inglés a quien
se le atribuye haber creado
la primer computadora
mecánica programable.
Se lo considera el Padre
de la Computación.
Su principal creación fue
la Máquina Diferencial.
Organización de Computadoras - Mg. A. G. Stankevicius
7
Máquina Diferencial
La Máquina Diferencial, si bien completamente
diseñada en papel, no pudo ser fabricada por
Babbage por cuestiones ajenas a él.
La calidad de los engranajes disponibles en su época
no era la apropiada.
En 1991, usando un
maquinado moderno,
se pudo completar
finalmente y poner
en funcionamiento.
Organización de Computadoras - Mg. A. G. Stankevicius
8
Herman Hollerith
Herman Hollerith (1860-1929)
fue un estadístico americano
que creo quizás la primer
máquina electrónica
programable para contar.
Su invención es conocida
como el Telar de Hollerith.
Se basaba en una idea parecida a la usada en los
telares de la revolución industrial para “programar”
los distintos patrones de la tela a ser confeccionada.
Organización de Computadoras - Mg. A. G. Stankevicius
9
Telar de Hollerith
La idea central del Telar de Hollerith era hacer
uso de tarjetas perforadas para codificar
distintas características.
Cambiando la ubicación y la cantidad de
las perforaciones se codificaban distintos aspectos.
Hollerith fundó una
compañía para vender
su máquina que luego
se unió con otras para
formar a... ¡IBM!
Organización de Computadoras - Mg. A. G. Stankevicius 10
Z3 (1941)
La Z3, creada en Alemania por Konrad Zuse
durante la segunda guerra mundial, es
la primer computadora electromecánica
del mundo.
Recientemente
se pudo demostrar
que es Turing
completa.
¿Esto, qué implica?
Organización de Computadoras - Mg. A. G. Stankevicius 11
Z3 (1941)
Características:
Velocidad de reloj: 5.3 Hertz.
Suma en 0,8 segundos, multiplica en 3 segundos.
Capacidad de memoria: 64 palabras de 22 bits.
Operaba sólo en punto flotante, base 10.
Consumo de electricidad: 4.000 Watts.
Peso: unos 1.000 kilogramos.
Componentes: unos 2.000 relés, de los cuales 1.400
se usaban para representar la memoria.
Organización de Computadoras - Mg. A. G. Stankevicius 12
Colossus (1944)
Del otro lado del Canal de la Mancha,
los británicos no se quedaron atrás,
creando la computadora Colossus.
Su principal uso era romper el código usado por
los alemanes para codificar sus comunicaciones.
Su existencia se ocultó
por ser considerada un
secreto de estado.
Churchill ordenó que se
destruya por completo.
Organización de Computadoras - Mg. A. G. Stankevicius 13
Colossus (1944)
No confundir con el dispositivo electromecánico
diseñado por Turing para quebrar el esquema
de encriptado alemán llamado enigma.
Para más data ver:
The Imitation Game
Organización de Computadoras - Mg. A. G. Stankevicius 14
ENIAC (1946)
Los americanos John Mauchly y Presper Eckert
construyeron la ENIAC, la primer computadora
electrónica de propósito general que además
era Turing completa.
Su principal propósito
era calcular las tablas
de artillería para los
distintos tipos de
cañones de aquella
época.
Organización de Computadoras - Mg. A. G. Stankevicius 15
ENIAC (1946)
Características:
Operaba en decimal.
Contaba con 20 acumuladores de 10 dígitos.
Se programaba a mano usando interruptores.
Calculaba unas 5.000 sumas por segundo.
Componentes: 18.000 válvulas y 7.200 diodos.
Peso: unos 27.000 kg.
Tamaño: ocupaba alrededor de 167 m².
Consumo de electricidad: 150.000 Watts.
Organización de Computadoras - Mg. A. G. Stankevicius 16
EDSAC (1949)
El británico Maurice Wilkes puso en práctica
las ideas de John von Newmann al diseñar y
construir la EDSAC, la primera computadora
electrónica práctica de programa almacenado.
La revolucionaria idea de John
von Newmann era usar la memoria
de la computadora para almacenar
no sólo datos sino además
el programa a ser ejecutado.
De nuevo, Alan S. Turing colaboró
con von Newmann en este diseño.
Organización de Computadoras - Mg. A. G. Stankevicius 17
EDSAC (1949)
Características:
Operaba en binario, en notación complemento a dos.
Capacidad de memoria: 1.024 palabras de 17 bits.
La memoria era de tipo dinámica (como hoy en día).
La industria del software nació en el momento que
se desarrolló el ensamblador para esta máquina.
Al no contar con registros índices, para recorrer
arreglos se debía apelar al código automodificable.
La entrada era a través de tarjetas perforadas y
la salida a través de una teletipo.
Organización de Computadoras - Mg. A. G. Stankevicius 18
Arquitectura von Newmann
La arquitectura de programa almacenado
propuesta por John von Newmann es
la que sigue en uso hoy en día.
Se basa en cuatro componentes principales:
La CPU (Unidad Central de Proceso), la cual cuenta
con su respectiva ALU (Unidad Aritmético-Lógica).
La memoria principal.
Uno o más dispositivos de entrada y/o de salida.
Un componente de control que orquesta la interacción
entre todos estos componentes.
Organización de Computadoras - Mg. A. G. Stankevicius 19
Arquitectura von Newmann
CPU
Organización de Computadoras - Mg. A. G. Stankevicius 20
EDVAC (1951)
Los creadores de la ENIAC junto con John von
Newmann crearon la EDVAC, una computadora
de programa almacenado que corregía algunas
de las deficiencias de su predecesora.
La programación era mucho más
sencilla (no más interruptores).
Adoptaba el sistema binario
en vez del sistema decimal.
Incorporaba la mayor parte de las
mejoras tecnológicas disponibles
al momento de su creación.
Organización de Computadoras - Mg. A. G. Stankevicius 21
EDVAC (1951)
Características:
Componentes: 6.000 válvulas y 12.000 diodos.
Consumo eléctrico: 56.000 Watts.
Tamaño: ocupaba unos 46 m².
Peso: 7.850 kg.
Sumaba en 864 µs y multiplicaba en 2900 µs.
Contaba con una unidad lecto/escritora de cinta.
Mucho más confiable que los modelos anteriores,
se la podía usar... ¡hasta 20 horas por día!
Organización de Computadoras - Mg. A. G. Stankevicius 22
Invención del transistor
La invención del transistor en 1947 revolucionó
al incipiente campo de la computación.
Sirve como reemplazo directo de las válvulas.
Son más pequeños y más baratos.
Disipan menos calor, en otras palabras, consumen
menos corriente eléctrica.
Se trata de un dispositivo
de estado sólido.
Se fabrica a partir de
silicio... esto es, ¡arena!
Organización de Computadoras - Mg. A. G. Stankevicius 23
Generaciones
El advenimiento del transistor permitió construir
computadoras tan diferentes a las anteriores
que se habla de distintas generaciones.
La primera generación está compuesta
de las computadoras que hemos enumerado,
las cuales están construidas usando válvulas.
La segunda generación está compuesta
de las nuevas computadoras construidas
usando transistores.
Por caso, la familia IBM 7000 o la DEC PDP-1.
Organización de Computadoras - Mg. A. G. Stankevicius 24
Generaciones
Claramente para poder hablar de una tercera
generación iba a hacer falta una invención
tan radical como la del transistor.
La invención en la década del '60
de los circuitos integrados
constituyó esa invención radical.
En consecuencia, la tercera
generación está compuesta
por computadoras construidas
usando circuitos integrados
Organización de Computadoras - Mg. A. G. Stankevicius 25
Generaciones
Primera generación (1941-1957)
Computadoras construidas usando válvulas.
Segunda generación (1958-1964)
Computadoras construidas usando transistores.
Tercera generación (1965-2015)
Computadoras construidas usando circuitos
integrados.
Algunos autores consideran a las computadoras más
recientes (1978-2015) como una cuarta generación.
Organización de Computadoras - Mg. A. G. Stankevicius 26
Niveles de integración
Usando integrados SSI y MSI (1965-1971)
SSI hasta 100 transistores por chip.
MSI de 100 a 3.000 transistores por chip.
Usando integrados LSI (1971-1977)
De 3.000 a 100.000 transistores por chip.
Usando integrados VLSI (1978-1991)
De 100.000 a 100.000.000 de transistores por chip.
Usando integrados ULSI (1991-2016)
Más de 100.000.000 de transistores por chip.
Organización de Computadoras - Mg. A. G. Stankevicius 27
Sistema Operativo
Un componente faltante en estas primeras
computadoras es el sistema operativo.
¿Tiene sentido que hoy en día una computadora
no cuente con su correspondiente sistema operativo?
Las tareas del sistema operativo era realizadas
por los propios operadores.
No era de extrañar ver decenas de operarios en torno
a estas computadoras, para que entre todos lograran
llevar adelante un cierto cómputo.
Organización de Computadoras - Mg. A. G. Stankevicius 28
Proceso de compilación
Protocolo para compilar un programa escrito
en un cierto lenguaje de programación:
Buscar en el armario la caja de tarjetas perforadas
conteniendo el programa compilador del lenguaje
(por caso, para la época sería Fortran o Cobol).
Hacer correr esos cientos de tarjetas por el lector
de tarjetas hasta que la computadora se detenga
(a la espera de ingresar el programa a ser compilado).
Poner en el lector el conjunto de tarjetas perforadas
correspondientes al programa que queremos compilar
y esperar a que sean procesadas.
Organización de Computadoras - Mg. A. G. Stankevicius 29
Proceso de compilación
Continúa:
En ese momento la perforadora de cinta entra en
acción (puesto que no se usaban monitores). Pueden
pasar dos cosas, que la compilación sea exitosa o
que haya habido un error en el programa fuente.
Si la compilación fue exitosa, la perforadora de cinta
genera la versión ejecutable del programa.
Si la compilación falló, se genera un reporte de cuál
fue el error, pero eso significa tener que descartar y
volver a perforar una o más tarjetas (por así decir,
las tarjetas perforadas son “sólo lectura”).
Organización de Computadoras - Mg. A. G. Stankevicius 30
Proceso de ejecución
Protocolo para ejecutar el programa una vez
compilado satisfactoriamente.
Buscar en el armario las tarjetas perforadas asociadas
al cargador de programas.
Hacer pasar esas tarjetas por el lector de tarjetas
hasta que la computadora se detenga.
En ese punto se hace pasar la cinta perforada antes
generadas por el compilador por el lector de cinta.
En este punto, el programa puede o bien finalizar
satisfactoriamente, o bien abortar su ejecución
por la mitad, o bien ciclar indefinidamente.
Organización de Computadoras - Mg. A. G. Stankevicius 31
Proceso de ejecución
Continúa:
Si el programa termina de ejecutar y además cuenta
con alguna forma de salida, se activará el teletipo o
el perforador de cinta según corresponda.
Si el programa aborta por la mitad su ejecución,
se genera un volcado en impresora del estado
de la memoria en ese momento para que el autor
del programa intente descubrir qué pasó.
Si el programa cicla indefinidamente, el operador
tiene que darse cuenta e interrumpir su ejecución,
generándose un volcado como en el caso anterior.
Organización de Computadoras - Mg. A. G. Stankevicius 32
IBM System/360
Esta computadora introducida en 1964
constituye la primer familia de computadoras:
Todas tienen un set de instrucciones similar o incluso
idéntico y usan el mismo sistema operativo.
La principal diferencia entre las distintas versiones de
la familia es su velocidad y su capacidad de memoria.
Popularizó el concepto
de que un byte tiene 8 bits.
¡Casi termina teniendo 4 bits,
o alternativamente 6 bits!
Organización de Computadoras - Mg. A. G. Stankevicius 33
DEC PDP-8
DEC creo en 1964 la primer minicomputadora.
El nombre hace referencia a otra invención
contemporánea, la minifalda.
No requería un equipo de aire
acondicionado propio.
Era lo suficientemente pequeña
como entrar en un escritorio.
Una bicoca para la época:
$16.000 (la System/360 de IBM
arrancaba en unos $100.000).
Organización de Computadoras - Mg. A. G. Stankevicius 34
PDP-8
La PDP-8 se caracteriza por hace uso de
un innovativo bus único llamado Omnibus,
el cual interconecta a todos sus componentes.
Resultó un éxito, vendiéndose más de 300.000
unidades entre sus distintas variantes.
Organización de Computadoras - Mg. A. G. Stankevicius 35
Ley de Moore
Gordon Moore, unos de los fundadores de Intel,
observó que la densidad de los circuitos
integrados crecía constantemente.
Predijo que la cantidad de transistores
en los chips iba a duplicarse cada año.
Tan precisa fue esa predicción que hoy se la conoce
como la Ley de Moore.
Desde la década del '70 este crecimiento
se desaceleró un poco:
Ahora... ¡sólo se duplica cada 18 meses!
Organización de Computadoras - Mg. A. G. Stankevicius 36
Transistores por CPU
Organización de Computadoras - Mg. A. G. Stankevicius 37
Transistores por CPU
¿Qué beneficio genera contar dentro
de un mismo chip con más transistores?
Los transistores de los integrados CMOS cuanto más
pequeños resultan más veloces y disipan menos calor.
Al ser más pequeños todos los componentes, sus
interconexiones son mas cortas, y por ende pueden
funcionar a mayor velocidad.
El costo de fabricar un chip se ha mantenido
relativamente constante, por lo que al aumentar
el nivel de integración baja el costo (es decir,
pagando lo mismo podemos hacer más que antes).
Organización de Computadoras - Mg. A. G. Stankevicius 38
Evolución de la memoria
La tecnología de la memoria principal de las
primeras computadora era bien diversa.
Una de las alternativas más populares de la
época (1955-1975) fue la memoria de núcleo.
Cada bit se almacenaba en
un pequeño toroide magnético.
Se trata de una memoria
persistente, pero cuyo
contenido se destruye al leerlo.
Era fabricada sólo por mujeres.
Organización de Computadoras - Mg. A. G. Stankevicius 39
Evolución de la memoria
En la década del '70 finalmente se pudo aplicar
la tecnología de los circuitos integrados a
la producción de memoria.
La tecnología de los semiconductores permitió
empaquetar unos 256 bits en el espacio ocupado
por un único toroide de la memoria de núcleo.
Las lecturas no eran destructivas y además
el ciclo de lectura era mucho más veloz.
Eso si, se trata de una memoria dinámica,
el contenido se pierde pasado un cierto tiempo.
Organización de Computadoras - Mg. A. G. Stankevicius 40
Evolución de la memoria
Una vez implementada la memoria dentro de
un circuito integrado, se pudo sacar provecho
de los avances en el nivel de integración:
La capacidad de los módulos de memoria se duplica
cada unos 12 meses.
No obstante, sólo la capacidad de los módulos
se incrementa de forma exponencial, no así
su velocidad.
Existe una separación cada vez mayor entre
las velocidades del procesador y de la memoria.
Organización de Computadoras - Mg. A. G. Stankevicius 41
CPU vs. Memoria
Organización de Computadoras - Mg. A. G. Stankevicius 42
Soluciones ensayadas
A lo largo del tiempo se han ensayado distintas
alternativas para atemperar el impacto de esta
creciente diferencia de desempeño:
Traer más información a la vez (que los módulos
de memoria tengan más “patitas”).
Incorporar múltiples niveles de memoria cache.
Minimizar los accesos a memoria (tarea tanto
del programador como del compilador).
Mejorar la interconexión entre CPU y memoria
(por ejemplo, haciendo uso de múltiples canales).
Organización de Computadoras - Mg. A. G. Stankevicius 43
Intel
Intel introdujo en 1971 el i4004, el primer
microprocesador.
Un microprocesador contiene todos los componentes
del CPU dentro de un único chip.
Se trata de una arquitectura de 4 bits.
En 1972 introdujo el i8008, de 8 bits.
Tanto el i4004 como el i8008 eran de propósito
específico.
Luego, en 1974 introdujo el i8080, el primer
microprocesador de propósito general.
Organización de Computadoras - Mg. A. G. Stankevicius 44
Intel 4004 (1971)
Características:
Arquitectura de 4 bits.
Capacidad de memoria:
4 KB (12 bits)
Transistores: 2.250
Tamaño: 12 mm²
Frecuencia: 108 KHz
Organización de Computadoras - Mg. A. G. Stankevicius 45
Intel 8086 (1978)
Características:
Arquitectura de 16 bits.
Capacidad de memoria:
1 MB (20 bits)
Transistores: 29.000
Tamaño: 23 mm²
Frecuencia: 5.000 KHz
Organización de Computadoras - Mg. A. G. Stankevicius 46
Intel 80386 (1985)
Características:
Arquitectura de 32 bits.
Capacidad de memoria:
4 GB (32 bits)
Transistores: 275.000
Tamaño: 104-39 mm²
Frecuencia: 12-33 MHz
Organización de Computadoras - Mg. A. G. Stankevicius 47
Intel 80486 (1989)
Características:
Arquitectura de 32 bits.
Capacidad de memoria:
4 GB (32 bits)
Transistores: 1.200.000
Tamaño: 81 mm²
Frecuencia: 16-100 MHz
Cache: 8 KB
Incluye por primera vez un coprocesador matemático
en el mismo chip.
Organización de Computadoras - Mg. A. G. Stankevicius 48
Intel Pentium (1993)
Características:
Arquitectura de 32 bits.
Capacidad de memoria:
4 GB (32 bits)
Transistores: 3.100.000
Tamaño: 294 mm²
Frecuencia: 60-233 MHz
Cache: 16-32 KB
Primer arquitectura x86
superescalar.
Organización de Computadoras - Mg. A. G. Stankevicius 49
Intel Pentium III (1999)
Características:
Arquitectura de 32 bits.
Capacidad de memoria:
4 GB (32 bits)
Transistores: 9.500.000
Tamaño: 125 mm²
Frecuencia: 450-1400 MHz
Cache: 256-512 KB
Esta arquitectura es aún la base
de los procesadores modernos.
Organización de Computadoras - Mg. A. G. Stankevicius 50
Intel Pentium IV (2000)
Características:
Arquitectura de 32 bits.
Capacidad de memoria:
4 GB (32 bits)
Transistores: 42.000.000
Tamaño: 145 mm²
Frecuencia: 1.3-3.8 GHz
Cache: 256-2048 KB
Primera implementación de
la técnica de hyperthreading.
Organización de Computadoras - Mg. A. G. Stankevicius 51
Intel Core2 (2006)
Características:
Arquitectura de 64 bits.
Capacidad de memoria:
64 GB - 8 EB (36-64 bits)
Transistores: 291.000.000
Tamaño: 143 mm²
Frecuencia: 1.06-3.5 GHz
Cache: 1-12 MB
Núcleos: 1, 2 ó 4.
Organización de Computadoras - Mg. A. G. Stankevicius 52
Intel Core i7 (2008)
Características:
Arquitectura de 64 bits.
Capacidad de memoria:
64 GB - 8 EB (36-64 bits)
Transistores: 1.600.000.000
Tamaño: 160 mm²
Frecuencia: 1.06-3.5 GHz
Cache: 5-15 MB
Núcleos: 2, 4 ó 6.
Organización de Computadoras - Mg. A. G. Stankevicius 53
Hardware vs. Software
Las computadoras hoy en día se componen
esencialmente de hardware y de softwarte.
Denominamos hardware a todo componente
tangible, es decir, que se puede tocar.
Por caso, procesador, memoria, teclado, etc.
En contraste, denominamos software a
los restantes componentes intangibles.
Por caso, el sistema operativo, los programas
de aplicación, etc.
Organización de Computadoras - Mg. A. G. Stankevicius 54
Principio de equivalencia
El principio de equivalencia nos brinda
un puente entre el hardware y el software:
“Todo lo que pueda ser implementado a nivel de
software también puede ser reimplementado a nivel
de hardware y todo lo que pueda ser implementado
a nivel de hardware puede ser reimplementado
a nivel de software”
La decisión de qué implementar en hardware y
qué en software depende de otros parámetros:
Velocidad, costo, facilidad de mantenimiento, etc.
Organización de Computadoras - Mg. A. G. Stankevicius 55
Microprogramación
Una aplicación inmediata de la ley de
equivalencia se puede observar, por caso,
en las minicomputadoras de la compañía DEC.
En ocasiones, las instrucciones máquina más
complicadas se implementaban en un software
de bajo nivel llamado microcódigo.
Parte de las instrucciones estaban implementadas
directamente en hardware, pero parte también
se implementaban a través de microprogramación.
La idea era balancear costo vs. desempeño.
Organización de Computadoras - Mg. A. G. Stankevicius 56
Microprogramación
La técnica de microprogramación floreció
principalmente durante el período que
la memoria principal era excesivamente lenta.
El contar con un set de instrucciones complejo
permite generar programas más compactos y con
menor requerimiento de ancho de banda a memoria.
Este tipo de arquitectura se denomina casualmente
Complex Instruction Set Computer (CISC).
La familia Intel x86 es quizás el ejemplo más
conocido de arquitectura CISC.
Organización de Computadoras - Mg. A. G. Stankevicius 57
Microprogramación
La utilidad de la microprogramación empezó
a ceder de la mano de dos avances:
Por un lado el crecimiento exponencial de la cantidad
de transistores disponibles permitió reimplementar
en hardware más y más funcionalidad.
Pero el mayor impacto vino de la mano de la mejora
en el desempeño de la memoria principal.
En la actualidad se opta por simplificar el set de
instrucciones (RISC), mejorando el desempeño
mediante el uso de pipeline y múltiples núcleos.
Organización de Computadoras - Mg. A. G. Stankevicius 58
Ciclo básico del CPU
Las computadoras llevan adelante infinitas
veces su ciclo básico de operación:
Etapa Fetch: se busca la próxima instrucción a ser
ejecutada, la cual es apuntada por el registro PC.
Etapa Decode: luego, se determina de qué tipo
de instrucción se trata.
Etapa Effective Address: se calcula la dirección
efectiva referida por la instrucción (si es que alguna)
y/o se busca en memoria los operandos para poder
ejecutar la instrucción.
Organización de Computadoras - Mg. A. G. Stankevicius 59
Ciclo básico del CPU
Continúa:
Etapa Execute: sabiendo de qué instrucción se trata y
contando con los operandos que se necesiten se
puede enviar todo a la ALU para que sea ejecutado.
Etapa Memory: las arquitecturas que no permiten
acceder a operandos en memoria cuentan con una
etapa específica donde se accede a memoria para
leer o escribir una determinada locación.
Etapa Write-Back: usualmente el resultado de la
operación se almacena en alguno de los registros
de la máquina durante esta etapa.
Organización de Computadoras - Mg. A. G. Stankevicius 60
Ciclo básico del CPU
FETCH
FETCH
DECODE
DECODE
EFFECTIVE
EFFECTIVE
ADDRESS
ADDRESS
WRITE
WRITE
BACK
BACK
MEMORY
MEMORY
EXECUTE
EXECUTE
Organización de Computadoras - Mg. A. G. Stankevicius 61
Organización de la memoria
La memoria se organiza como un arreglo de
n locaciones, cada una de k bits. 0000: 01110010
1110:
1111:
11100101
00011001
01110010
00100101
…
De igual forma, cada locación
almacena un contenido de k bits.
…
Cada locación cuenta con un
identificador que la caracteriza
denominado dirección.
0001:
0010:
0011:
0100:
00111001
10010110
Las operaciones básicas con la memoria son:
Leer un valor de la memoria.
Escribir un valor en la memoria.
Organización de Computadoras - Mg. A. G. Stankevicius 62
Interfaz con la memoria
La unidad controladora de la memoria cuenta
esencialmente con dos registros:
El registro MAR el cual almacena la dirección
de una locación de memoria.
El registro MDR el cual almacena el contenido
de una locación de memoria.
MAR
MDR
unidad controladora
de la memoria
Organización de Computadoras - Mg. A. G. Stankevicius 63
Interfaz con la memoria
Operación de lectura (load):
El procesador escribe la locación que se desea
acceder en el registro MAR, luego activa la señal
de lectura y finalmente accede al valor en cuestión
el cual estará disponible en el registro MDR.
Operación de escritura (store):
El procesador escribe la locación que se desea
acceder en el registro MAR y el contenido que se
desea almacenar en el registro MDR y por último
activa la señal de escritura.
Organización de Computadoras - Mg. A. G. Stankevicius 64
¿Preguntas?
Organización de Computadoras - Mg. A. G. Stankevicius 65
Descargar