You are on page 1of 20

1

1
Curso de Computacion I
Organizacion del Computador
Clase ntroductoria
Prof. Ricardo Gonzlez
2
Curso de Organizacion del Computador
Vemos
en Clase
Contenido
de la materia
Lo que
Evaluamos
Solo
Aprobar
2
3
Condiciones del Curso
EvaIuacin
La Teora 71% El Taller 29%.
Parcial Porcentaje
36 % Martes de la Semana 6 13 de Febrero
35 % Martes de la Semana 12 20 de Marzo
2 Tareas de 7% c/u
1 Proyecto (equipos de exactamente 2 personas) de la misma seccin asignada por dace. 15%
Reglas para recuperacin de exmenes : Quien no presente un examen debe dirigirse al
Decanato de Estudios Profesionales y tramitar una solicitud para recuperar el examen. No
habr excepciones. Se llevar a cabo un solo examen de recuperacin el martes de la
semana 12 en las horas de la Teora.
Toda copia detectada en cualquiera de las evaluaciones ser penalizada con una
amonestacin escrita dirigida a la Coordinacin y la anulacin de todas las evaluaciones
y UNO (1) como calificacin definitiva.
4
Que veremos en el curso
Vamos a aprender a elaborar programas para un computador usando
el lenguaje C.
dentificar cmo opera un computador y de qu forma trabajan los
artefactos de hardware y software
ntroduccin a la programacin en lenguaje C.
Estudiar las tcnicas bsicas de programacin.
Disear e implementar algoritmos para resolver problemas
"sencillos.
3
5
Cual es la utilidad del Curso
Los conocimientos y conceptos adquiridos en el curso
permitirn al alumno:
dentificar los diferentes componentes internos de un
computador y cul es su funcion.
Comprender la forma en la que un computador
procesa los programas que residen en el sistema.
Entender las limitaciones de los computadores en
cuanto a lo que pueden y lo que no pueden hacer.
Poder analizar y programar algoritmos que permitan
resolver problemas relativamente sencillos.
6
El rango de aplicaciones abarca desde usos comerciales (Iacturacion, control de inventario, etc)
hasta aplicaciones cientiIicas o ingenieriles en area tan diversas como: control de experimentos
de un laboratorio, calculos en dinamica de Iluidos, o el control de naves espaciales.
4
7
Componentes de un Sistema de Computacion
Hardware SoItware
Conjunto de componentes Iisicos
de un sistema de computacion
Conjunto de programas que
permiten coordinar la operacion
de los dispositivos de hardware
y la interaccion con los usuarios
para realizar una Iuncion particular
sFileName name ext;
IileCheck new java.io.File(sFileName);
iI (IileCheck.exists())
do
suIix "-" Integer.toString(i);
// Arreglar el nombre
sFileName name suIix ext;
IileCheck new java.io.File(sFileName);
i;
}
while (IileCheck.exists());
}
8
5
9
10
Como nos podemos comunicar con un
computador
Elaborame el
reporte del
presupuesto de este
ao!
?
AAAY!!
6
11
Como nos podemos comunicar con un computador
Add A, B
1000110010100000
8CA0
Ensamblador
Hexadecimal
Binario
Electricidad
12
Algoritmos y Programas
Para resolver un problema utilizando un computador
es necesario disear y escribir un algoritmo para el
mismo.
Un algoritmo es una secuencia finita de instrucciones
para resolver un problema.
Un lenguaje de programacin es una notacin
precisa para expresar algoritmos.
Un algoritmo expresado en un lenguaje de
programacin es un programa.
7
13
Lenguajes Compilados vs Interpretados
Compilados
nterpretados
sName name ext;
do
suIix "-" w(i);
i;
}
while (na.exists());
Programa Fuente
D23987AB34945498
CFFF342387FFADC4
23723847DDFCA290
3730459824FFDDE
12346734845612
Compilador
sName name ext;
do
suIix "-" w(i);
i;
}
while (na.exists());
Programa Fuente
D23987AB34945498
CFFF342387FFADC4
23723847DDFCA290
3730459824FFDDE
12346734845612
Interprete
Programa Objeto
En los lenguajes compilados, todo el programa se traduce de una vez y
luego de traducido se ejecuta.
En los lenguajes interpretados cada instruccion se traduce y se ejecuta
antes de tomar la siguiente instruccion
14
Abstracciones y Modelos
Las abstracciones y los modelos son herramientas que nos
permiten representar algunos de los aspectos de una realidad
Bus
8
15
16
Maquina virtual
650 750 850 950 1050 1150 1250 1350
AM
FM
9
17
Maquina virtual
Pasaportes
ONI - DEX
Pasaportes
Timbres
Fiscales
18
Maquinas virtuales y Maquinas multinivel
Hardware
Sistema de Operacion
Aplicaciones
10
19
Hardware:
Componentes basicos de un computador
ULA
Registros
UC
Memoria
Buses
Buses
UC
ULA
Registros
Memoria
Buses
Unidades
de E/S
CPU o Procesador
Unidades
de
Almacenamiento
20
SoItware: Sistema Operativo
Sistema de Operacin
El sistema operativo es un conjunto de programas que se
encargan de realizar la administracin de todos los recursos
que posee un computador. Adems provee a los programas de
una interfaz con el Hardware.
En los S.O. modernos se pretende que la programacin se
independice del hardware especfico del computador sobre el
cual corre, permitiendo la portabilidad de programas entre
computadores de arquitectura dismil.
La interaccin del usuario con el S.O. se realiza a travs de
comandos. Estos pueden ser dados de formas diversas
(dependiendo del S.O. en cuestin). Los mecanismos ms
usuales son: lneas de comandos tipeadas por el usuario (DOS,
UNX Shell, VMS); o seleccin de operaciones a travs de la
interaccin con un entorno texto-grfico (MS-Windows, Apple
Macintosh, OpenWindows, Motif, etc.).
11
21
Archivos y Directorios
En general, un peso grande dentro de las tareas de un S.O. cae en
la organizacin y administracin de los medios masivos de
almacenamiento. Para tal fin, esta organizacin utiliza dos
conceptos fundamentales:
Directorios: Son entidades lgicas que permiten realizar una
organizacin estructurada y jerrquica de la informacin. No son
contenedoras de informacin en s, y slo sirven a fines
organizativos.
Archivos: Son entidades lgicas que contienen informacin. El
carcter de la informacin contenida en un archivo puede ser muy
diverso, por ejemplo programas, bibliotecas de subprogramas,
grficos, imgenes, bases de datos, textos, sonidos, etc.
Para la creacin y mantenimiento de directorios, se utilizan recursos
del S.O. Para la creacin y mantenimiento de archivos se utilizan
diversas aplicaciones, dependiendo del tipo de archivo de que se
trate. En particular, para crear y/o modificar archivos de texto, se
pueden utilizar los llamados "editores de textos".
22
12
23
Historia de la Computacion
Prehistoria
2000 a.c. Abaco
mperio Romano "Calculi
24
Historia de la Computacion
Era Mecnica
1642
Blaise Pascal construy la primera
calculadora mecnica sumaba y
restaba
1671 - Finales siglo XV
Von Leibnitz perfeccion la mquina
de Pascal al construir una
calculadora que mecnicamente
realizaba operaciones ( *, / , sqrt )
13
25
Historia de la Computacion
Era Mecnica
Mediados del Siglo XX
Charles Babagge dise la Mquina
Diferencial y la Mquina Analtica
La Mquina Diferencial slo realizaba
un algoritmo con resultados
perforados en una placa.
La Mquina Analtica (dise y
construy un pequeo mdulo). No
pudo elaborar la mquina pues
requera de piezas de precisin muy
exigentes para la poca
Debe tener una entrada de datos por
medio de tarjetas perforadas, un
almacn para conservar los datos,
una unidad aritmtica y la unidad de
salida.
Maquina DiIerencial
26
Historia de la Computacion
Era Electrnica
1943
ENAC ( Electronic Numerical ntegrator and Calculator)
(multiplicacin 3 mseg)
1944
Universidad de Hardvard patrocinada por BM construye la MARK
primera calculadora automtica. Computador electromecnico: usaba
relays y contadores mecnicos. (multiplicacin 3 seg)
Mediados 40s
Von Newmann diseo las bases para un programa almacenable por medio
de codificaciones electrnicas
Propuso la aritmtica binaria
Simultneamente se construyeron:
EDVAC (Electronic Discrete Variable Automatic Computer)
EDSAC (Electronic Delay Storage Automatic Computer)
1951
Univac 1 Primer computador para el tratamiento de informacin comercial
y contable. Las anteriores eran de tipo cientfico y militar
14
27
28
Historia de la Computacion
Primera Generacin 1950 58
Tubos al Vaco
Nace la industria de la computacin
Tubos al vaco. Mquinas muy grandes
y pesadas, gran consumo de
energa, poca duracin y disipacin
de mucho calor.
Segunda Generacin 1959 64
Transistores
Un transistor es mucho ms pequeo
que un tubo al vacio, consume
menos energa y en ellos hay una
reduccin en el tamao y peso de
de los dispositivos.
Aumenta la capacidad de la Memoria,
se agiliza la E/S, aumenta la
velocidad y empieza la
programacin de alto nivel en
Fortran y Cobol.
.
15
29
Historia de la Computacion
Tercera Generacin 1965 71
Circuitos ntegrados
Esta tecnologa permita almacenar
circuitos electrnicos en pequeas
pastillas que contienen gran
cantidad de transistores y otros
componentes electrnicos.
En 1964 BM presenta el sistema BM
System/360 una familia de 6
computadores compatibles entre s
con 40 diferentes unidades
perifricas de E/S y
almacenamiento.
Surge el procesamiento multiusuario y
el time sharing (tiempo compartido).
Nace la industria del Software y surgen
los minicomputadores y los
terminales remotos.
30
Historia de la Computacion
Cuarta Generacin 1972 80
Microprocesadores Large Scale
ntregration
Desarrollo de la tcnica de integracin LS
que permite incluir hasta 100.000
transistores en un chip.
4004 de ntel procesador de 4 bits
direccionaba de 8Kb de ROM y 640 Kb
RAM
8008 de ntel procesador de 8 bits
direccionaba de 16Kb de ROM velocidad
0,5 MHz
Quinta Generacin 1981 ? Diseo
VLS Very Large Scale ntregration
ncremento de la intensidad de integracin,
ha permitido de pasar de circuitos con
unos pocos miles de transistores a
comienzo de 1970 a varios millones
actualmente
16
31
32
17
33
La Iey de Moore impIica un mejor desempeo de Ios computadores.
El poder de procesamiento, medido en millones de instrucciones por
segundo (MPS) se ha elevado debido al incremento de la cantidad de
transistores en los chips.
En 1965, Gordon Moore uno de los fundadores de ntel realizo una
prediccin que se ha convertido en lo que llamamos la Ley de Moore que
indica que el nmero de transistores en un chip se dobla cada dos aos.
34
Avance de la Computacion
Una vez una persona asegur que si la industria
automotriz hubiese avanzado a la misma velocidad
que la industria de la computacin desde los 60 a los
aos 90, un carro debera tener un motor no mayor
de 0,1 pulgadas de longitud, rendir 120,000 millas
por galn, tener un velocidad mxima de 240,000
millas por hora y costar menos de 4 dolares.
18
35
Lenguajes de Programacion
De acuerdo a las metodologas de programacin utilizadas
Lenguajes Imperativos: Son aquellos en los que el
programador debe especificar en forma detallada el flujo del
programa. (Assembler, C, Basic, Fortran, Pascal, etc.).
Lenguajes DecIarativos: Son aquellos en los que el
programador debe poner nfasis en la definicin del problema,
ms que en su solucin, descansando esta ltima en
mecanismos del lenguaje mismo. (Prolog, Lisp, SQL etc).
Lenguajes Orientados a Objetos: El programador define
entidades (objetos) caracterizadas por un estado interno, y un
conjunto de mecanismos capaces de modificarlo. Esto permite
abstraer entidades fsicas con ms facilidad, brindando una
manera ms directa para la modelizacin de un problema.
(C++, Smalltalk, Objective C, Eiffel, ADA, etc.)
Lenguajes Mixtos: Son aquellos que permiten al programador
mezclar metodogas de programacin.
36
Historia del Lenguaje C
El lenguaje C naci en los Laboratorios Bell de AT&T y ha sido
estrechamente asociado con el Sistema Operativo UNX, ya
que su desarrollo se realiz en este sistema y debido a que
tanto UNX como el propio compilador de C, fueron escritos en
C.
Este lenguaje est inspirado en el lenguaje B escrito por Ken
Thompson en 1970. B era un lenguaje evolucionado e
independiente de la mquina, inspirado en el lenguaje BCPL
concebido por Martin Richard en 1967.
En 1972, Dennis Ritchie, modifica el lenguaje B, creando el
lenguaje C y re-escribiendo el UNX en dicho lenguaje. La
novedad que proporcion el lenguaje C sobre el B fue el diseo
de tipos y estructuras de datos.
19
37
Caracteristicas del Lenguaje C
Una de las peculiaridades de C es su riqueza de operadores,
Puede decirse que prcticamente dispone de un operador para
cada una de las posibles operaciones en cdigo mquina.
Finalmente, C, que ha sido pensado para ser altamente
transportable y para programar lo improgramable, igual que otros
lenguajes tiene sus inconvenientes:
Carece de instrucciones de entrada/salida, de instrucciones para
manejo de cadenas de caracteres, con lo que este trabajo queda
para la biblioteca de rutinas, con la consiguiente prdida de
transportabilidad
La excesiva libertad en la escritura de los programas puede llevar
a errores en la programacin que, por ser correctos
sintcticamente no se detectan a simple vista
Por otra parte, las precedencias de los operadores convierten a
veces las expresiones en pequeos rompecabezas.
A pesar de todo, C ha demostrado ser un lenguaje
extremadamente eficaz y expresivo.
38
Caracteristicas del Lenguaje C
C es un lenguaje de programacin de propsito
general. Sus principales caractersticas son:
Programacin estructurada
Economa de las expresiones
Abundancia en operadores y tipos de datos.
Codificacin en alto y bajo nivel simultneamente.
Reemplaza ventajosamente la programacin en
ensamblador (assembler).
Utilizacin natural de las funciones primitivas del sistema.
No est orientado a ningn rea en especial.
Produccin de cdigo objeto altamente optimizado.
20
39
BibliograIia
Tanenbaum, Andrew S. Organizacin de computadoras. Un Enfoque Estructurado.
4ta Edicin. Prentice HaII
StaIIing, WiIIiam. Organizacin y Arquitectura de Computadoras. Diseo para
optimizar prestaciones. 5ta Edicin Prentice HaII.
Patterson, D.A., Hennessy, J.L. Computer Organization & Design: The
Hardware/Software Interface. Morgan-Kaufmann
MateriaI deI curso eIaborado por eI grupo de docente de Organizacin deI
Computador http://www.Idc.usb.e/~adiserio
Luis Rincn CrcoIes. Curso de Estructura y TecnoIoga de Computadores
(Ingeniera Informtica) Universidad Rey Juan CarIos
http://dac.escet.urjc.es/docencia/ETC-Superior
GabrieIa Ochoa. MateriaI de Ia cIase introductoria de Ia asignatura Computacin I.
http://www.Idc.usb.e/~gabro

You might also like