You are on page 1of 47

rquitectura de

omputadores
Ing. Efrain Lin Salinas
lefrain@live.com
CONTENIDO
1. Arquitectura de un Computador
2. Problemas
3. Algoritmo
4. Solucin de problemas Algortmicos
1. Arquitectura de un Computador
Est di vi di da en dos
par t es i mpor t ant es:
Hardware: Es la que
hace referencia a la
parte f si ca de un
comput ador y de
cualquier dispositivo
electrnico.
Software: Es la que
hace referencia a la
parte lgica de un
c o m p u t a d o r .
La Arquitectura on
!ewman
CPU
Hardware
La Arquitectura Von Newman
Unidad central de Proceso
Dispositivos de entrada, salida, almacenamiento,
comunicacin y cmputo
Memoria
CPU
Unidad Central de Proceso
(CPU)
Micropocesador
Athlon 64 X2 E6 3800+
RAM (Random Access Memory): Memoria de escritura y
lectura. El contenido solo se mantiene mientras el
computador est encendido.
ROM (Read Only Memory): Memoria de solo lectura, es
permanente y no se afecta por el encendido o apagado del
computador.
Cach: Memoria de acceso muy rpido, usada como
puente entre la UCP y la memoria RAM, para evitar las
demoras en la consulta de la memoria RAM.
Tipos de memoria
Representacin en
Memoria
Elementos que pueden estar en dos estados
(prendidos o apagados).
El sistema de numeracin binario:
representacin de este tipo de datos. Utiliza
dos smbolos el 1 y el 0.
Cdigo Binario
Cada 1 en un nmero binario representa
una potencia de 2 segn su posicin
Ejemplo: El nmero binario 100110 representa
el valor 38
1 0 0 1 1 0
2
5
2
4
2
3
2
2
2
1
2
0

1*32 + 0*16+ 0*8+ 1*4+ 1*2+ 0*1= 38

Medida de la Memoria
Unidad bsica de informacin: BIT que
corresponde a un nico dgito binario (puede
tomar los valores 1 o 0).
BYTE: conjunto de 8 bits. 256 valores
diferentes: desde el 00000000 (0 en decimal) al
11111111 (255 en decimal).
Cantidades de Memoria
1 Kilo Byte = 2
10
Bytes = 1024 Bytes
1 Mega Byte = 2
10
KBytes = 2
20
Bytes
= 1048576 Bytes
1 Giga Byte = 2
10
MBytes = 2
30
Bytes
1 Tera Byte = 2
10
GBytes = 2
40
Bytes
Ejemplos:
Software: conjunto de instrucciones que le dicen
al hardware que hacer.
Software
Sistema "perativo
Herramientas de #esarrollo
Aplicaciones
Lenguaje
Maquina
Lenguaje
Alto Nivel
Hardware Lenguaje
Ensamblador
Sistema Operativo
Aplicaciones
Herramientas
Arquitectura de Software
Sistema Operativo
Software encargado de administrar los recursos del
sistema.
Ofrece un conjunto de comandos a los humanos,
para interactuar con la mquina.
Puede ser escrito en lenguaje de alto nivel, en
lenguaje ensamblador y/o en lenguaje mquina.
Lenguaje de Mquina
nico lenguaje que entiende el hardware
(mquina).
Especfico para cada hardware (procesador,
dispositivos, etc.).
Programa: almacenado en memoria, contiene
instrucciones y datos.
Lenguaje Ensamblador
Software, generalmente escrito en lenguaje de
mquina, capaz de traducir de lenguaje ensamblador
a lenguaje de mquina.
Permite codificar las operaciones. Los datos y/o
direcciones son codificados generalmente como
nmeros en sistema hexadecimal.
Es especfico (aunque no nico) para cada lenguaje
de mquina.
Lenguaje de Alto Nivel
Es un lenguaje con una estructura sintctica mas
rica que le permite mayor expresividad.
Cuenta con un conjunto de palabras reservadas,
para codificar estructuras de control e
instrucciones.
Permite el uso de expresiones aritmticas y
relacionales.
Lenguaje de Alto Nivel
COMPILADORES e INTERPRETES: software
capaz de traducir de un lenguaje de alto nivel al
lenguaje de mquina.
C++ Java Python
Aplicaciones
APLICACIN: software que le permite al
computador realizar una tarea especfica.
ideo $uegos Ho%as de &alculo 'rocesadores de (e)to
Herramientas de Desarrollo
Es una aplicacin que presenta un ambiente en el
que, empleando un lenguaje de programacin, se
puede desarrollar nuevo software.
Ejemplos: ambientes integrados de desarrollo
como DevC++, Visual C++, en los que se emplea
el lenguaje C++.
2. Problemas
Se tiene un problema cuando se desea
encontrar uno o varios objetos desconocidos
(ya sean estos nmeros, smbolos, diagramas,
figuras, u otras cosas), que cumplen
condiciones o relaciones, previamente
definidas, respecto a uno o varios objetos
conocidos.
Solucin de problema
Solucionar el problema es encontrar los
objetos desconocidos.
Para solucionar un problema se debe
determinar de manera clara y concisa: cules
son los objetos conocidos, las condiciones y
de que tipo son los objetos desconocidos.
Tipos de problemas
Problemas bien condicionados
Problemas mal condicionados
Problemas indecidibles
Ejemplo de problema bien
condicionado
Un granjero tiene cincuenta animales entre
conejos y gansos. Si la cantidad de patas de
los animales es ciento cuarenta, Cuantos
conejos y cuantos gansos tiene el granjero?
Ejemplos de problemas mal
condicionados
De las siguientes imgenes, cul
es la ms llamativa?
Ejemplos de problemas
indecidible
Existe en la expansin decimal de Pi una secuencia de
tamao n para cualquier nmero natural n?
3. Algoritmo
Secuencia bien definida y finita de tareas
bien definidas, cada una de las cuales se
puede realizar con una cantidad de
recursos finitos.
Caractersticas de un Algoritmo
Precisin
De finitud o
Determinismo
Finitud
Hay un orden
preciso en el
cual deben
ejecutarse las
tareas que
conforman el
algoritmo.
Todas las veces que se
realicen las tareas o
pasos de un algoritmo,
con las mismas condi-
ciones iniciales, se de-
ben obtener resultados
idnticos.
El algoritmo
debe terminar
en algn mo-
mento y debe
usar una can-
tidad finita de
recursos.
Datos Instrucciones Estructuras de
control
Para almacenar
informacin: da-
tos de entrada,
de salida o inter-
medios.
Las acciones o
procesos que el
algoritmo realiza
sobre los datos.
Las que determinan
el orden en que se
ejecutarn las ins-
trucciones del algo-
ritmo.
Estructura de un Algoritmo
Ejemplo de algoritmo
Un estudiante se encuentra en su casa
(durmiendo) y debe ir a la universidad (a tomar
la clase de Arquitectura de Computadora!!),
Que debe hacer el estudiante?
1. Dormir hasta que suene el
despertador (o lo llame la mam).
2. Mirar la hora.
3. Hay tiempo suficiente?
3.1. Si, entonces
3.1.1. Baarse.
3.1.2. Vestirse.
3.1.3. Desayunar.
3.2. No, entonces
3.2.1. Vestirse.
Ejemplo de algoritmo
4. Lavarse la boca.
5. Despedirse de la mam y el pap.
6. Hay tiempo suficiente?
6.1. Si, entonces
6.1.1. Caminar al paradero.
6.2. No, entonces
6.2.1. Correr al paradero.
7. Hasta que pase un bus para la universidad
hacer:
7.1. Esperar el bus
7.2. Ver a las dems personas que
esperan un bus.
Ejemplo de algoritmo
8. Tomar el bus.
9. Mientras que no llegue a la universidad
hacer:
9.1. Seguir en el bus.
9.2. Pelear mentalmente con el conductor.
10. Timbrar.
11. Bajarse.
12. Entrar a la universidad.
13. Caminar hasta llegar al saln donde se
dicta su curso de Arquitectura.
14. Ingresar al saln.
Ejemplo de algoritmo
Representacin de
Algoritmos
Las representaciones ms conocidas
son:
Diagramas de flujo.
Pseudo-cdigo.
Diagramas de Flujo
Esquema de representacin grfico de
algoritmos.
Usa elementos grficos como rectngulos y
rombos.
Se pueden usar operaciones matemticas.
Pseudo Cdigo
Esquema de representacin de algoritmos que
usa un subconjunto del lenguaje natural del
diseador de algoritmos.
Elimina posibles ambigedades empleando una
notacin que aunque libre es ms restringida
que la del lenguaje natural.
sino
si B>C
Mayor B
sino
Mayor C
fin_si
fin_si
escribir Mayor
Pseudo Cdigo
leer A, B, C
si A>B
si A>C
Mayor A
sino
Mayor C
fin_si
4. Solucin de Problemas
Algortmicos
Problema
Programa
Metodologa
Anlisis del problema.
Especificacin del problema.
Diseo del algoritmo.
Prueba del algoritmo y refinamiento.
Codificacin.
Prueba y verificacin.
Metodologa de
Programacin
Anlisis del Problema
Entender de manera clara el problema que se
esta resolviendo.
Esta fase de la metodologa concuerda con el
proceso de identificacin de objetos conocidos,
objetos desconocidos y condiciones usado en la
seccin de problemas.
Descripcin clara y precisa de:
Las entradas del problema.
Las salidas del problema.
Las condiciones, es decir la dependencia que
mantendrn las salidas obtenidas con las
entradas recibidas.
Especificacin del Problema
Ejemplo de Especificacin
Entradas: La cantidad total de animales (50),
cantidad de patas totales (140).
Salidas: La cantidad de conejos y la cantidad de
gansos.
Condiciones: La suma de conejos y gansos es
igual a cincuenta. La suma de las patas de los
conejos (cuatro por cada uno) y de los gansos
(dos por cada uno) es igual a ciento cuarenta.
Problema:
Construir un algoritmo que determine el mayor de tres
nmeros enteros.
Especificacin:
Entradas: A,B,C (nmeros de entrada) de tipo entero.
Salidas: Mayor de tipo entero.
Condiciones: Mayor debe ser el valor mximo
de A, B y C.
Ejemplo de Especificacin
Diseo del algoritmo
Es la fase en la que se construye el algoritmo
que permitir encontrar la solucin al
problema.
La forma adecuada de realizar este proceso
es subdividirlo.
Prueba del Algoritmo y
Refinamiento
Proceso de seguimiento del algoritmo para
verificar que cumple con la especificacin. Si
no se cumple con la especificacin se va
refinando hasta lograr el objetivo.
Codificacin
Proceso en el cual se escribe el algoritmo en
un lenguaje de programacin, utilizando el
editor de la herramienta.
Prueba y
Verificacin
Proceso en el cual se corrigen los errores de
sintaxis y de lgica del programa, hasta lograr
que el programa resuelva el problema.
FIN
Gracias

You might also like