Arquitectura y Programación de Computadoras (1-3)
Arquitectura y Programación de Computadoras (1-3)
Arquitectura y Programación de Computadoras (1-3)
5/mx/
Arquitectura y
programación de
computadoras
Eugenio Jacobo Hernández Valdelamar
Notas del curso
Sesiones 1 a 3
v.1.0 2008
Introducción
Unidad central
Dispositivos Memoria Dispositivos
de
de entrada principal de salida
procesamiento
Bus
Un camino para entender como
funcionan las computadoras
System Process
virtual machine virtual machine
VM
Investigación
¿Qué es arquitectura?
En el contexto de la informática:
¿Qué es…?
Arquitectura de computadoras
Arquitectura de información
Arquitectura de software
¿Cómo hacer una máquina sumadora?
¿Quién fue Alan Turing? ¿Qué hizo?
Referencias
http://www.mhuffman.com/notes/imagcomp
/imagcomp.html
http://www.naturalprogramming.com/IC8/
http://en.wikipedia.org/wiki/Turing_machine
_gallery
http://en.wikipedia.org/wiki/Turing_machine
Sesión 2
2
F(a,b)
Decodificación binaria
Decodificación de
direcciones de memoria
The decoder requires 3 address lines, (A0 to A2) to 128x8 = 1024 bytes
select each one of the 8 chips (the lower part of the
address), while the remaining 7 address lines (A3 to A9)
select the correct memory location on that chip (the
upper part of the address).
Ejemplo: despliegue de
un numero
Todo está en los códigos
Comparador
Componentes básicos de
hardware
Teclado
Unidades de disco Unidades de disco
Cintas Cintas
Mouse Registros Impresoras
Lectores de código instrucciones RAM Monitores
de barras
Unidad central
Dispositivos Memoria Dispositivos
de
de entrada principal de salida
procesamiento
Bus
¿Cómo hacer un sumador
de 2 bits en hardware?
Y ….¿luego?
Donde X e Y son
los sumandos, C
el acarreo y S la
suma
Expresiones lógicas a
partir de tablas
y…¿luego?
Producto=AND Suma=OR
Medio sumador
A simple 2-bit ALU that does XOR, AND, OR, and addition
ALU 4 bits
Configuraciones ALU
Registros
RAM
Simulador de ALU.
Investigar las principales operaciones y
capacidades de una ALU.
Realizar un programa capaz de replicar las
principales operaciones.
No considere por el momento las relaciones
de control con el resto del CPU
Referencias
Design and Implementation of a 4-bit ALU
http://www.seas.upenn.edu/~ese201/lab/LabALU/ALU.ht
ml
http://www.camiresearch.com/Data_Com_Basics/data_co
m_tutorial.html
http://www.electronics-
tutorials.ws/combination/comb_4.html
http://azul2.bnct.ipn.mx/~clogicos/practicas_de_laboratori
o/practica_4.htm
http://en.wikibooks.org/wiki/Microprocessor_Design/ALU
http://www.electronics-tutorials.ws/logic/logic_1.html
Sesión 3
Memoria
Unidad central de procesamiento
Memoria
Memoria de almacenamiento
temporal y permanente
Siguiendo la pista del uso
de memoria
Bit size
Info que puede
procesarse
simultáneamente
+ -
Costo de la memoria ($/megabyte)
Velocidad
El cache
una caché[1] es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos originales son costosos
de acceder, normalmente en tiempo, respecto a la copia en la caché. Cuando se accede por primera vez a un dato, se hace una
copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor.
Instructional pipeline
where different stages of an instruction fetch
and execution are handled in a pipeline.
Arithmetic pipeline
where different stages of an arithmetic
operation are handled along the stages of a
pipeline.
Pipelining
A technique used in advanced microprocessors where
the microprocessor begins executing a second
instruction before the first has been completed.
That is, several instructions are in the pipeline
simultaneously, each at a different processing stage.
Pipelining allows us to break up the task of executing a
single instruction into multiple steps. By breaking it up
into multiple steps, the cycle time will be limited not by
the total time for all the steps, but rather by the longest
step.
In fact, pipelining is something that comes naturally to
people in other parts of life.
Procesador Pipeline
"A pipeline processor consists
of a sequence of processing
circuits, called segments or
stages, through which a
stream of operands can be
passed.
"Partial processing of the
operands takes place in each
segment.
"... a fully processed result is
obtained only after an
operand set has passed
through the entire pipeline."
Pipeline de 8 etapas
Pipeline PowerPC G5
Investigación 3
¿Cuánta memoria consume un SO?
¿Cuánta memoria consume una aplicación?
Qué sucede cuando el pipeline sufre retrasos
¿Cuanta energía consumen las computadoras?
Escritorio
Portátiles
¿Cuánta energía consumen otros dispositivo con
capacidades de cómputo?
Teléfonos celulares
Asistentes personales
GPS
Referencias (UP)
http://homepage.cs.uri.edu/faculty/wolfe/book/Readings/Reading04.htm
http://en.wikipedia.org/wiki/Instruction_cycle
http://www.jegsworks.com/Lessons/lesson4/lesson4-4.htm
WinDLX http
://www.cc.ndsu.nodak.edu/instruct/tareski/ee774f96/notes/windlx/
http://plato.stanford.edu/entries/turing-machine/
http://rds.yahoo.com/_ylt=A9G_bDlIgeJIDekAhuGjzbkF
/SIG=127npm0pu/EXP=1222890184/**http
%3A//www.cise.ufl.edu/~mssz/CompOrg/CDA-
pipe.html
Referencias (memoria)
http://computer.howstuffworks.com/comp
uter-memory.htm
http://www.ladyada.net/learn/proj1/blinky.
html