Conceptos Básicos B. Universidad Autónoma de Puebla Algoritmos y Programación Javier M Hernández

Anuncio
B. Universidad Autónoma de Puebla
Algoritmos y Programación
Primavera de 2006
Lectura 1: Conceptos Básicos
Javier M Hernández
FCFM, BUAP
1
eureka!
Algoritmo:
Un conjunto de instrucciones que
describen como hacer una tarea (o
proceso)
Programación: C++, Fortran
2
Temas
Componentes de hardware
Redes de computadoras
3
Transistor
Colector
Base
Emisor
“semi-conductor”
Dígito binario o “bit”:
0  off
1  on
4
Transistor (cont)
Colector
Base
Emisor
off : 0
5
Transistor
Colector
Base
Emisor
on : 1
6
Transistor
Colector
Base
Emisor
“Chips” modernos (cerca de 3 x 3 mm en tamaño)
pueden contener millones de transistores
7
Gates
• Puerta: un grupo de transistores
• Gates son switches que distinguen entre dos
voltajes eléctricos:
– Corriente es baja => 0
– Corriente es alta => 1
• Tipos:
AND Gate
OR Gate
NOT Gate
8
Ejemplo: AND Gate
A
A AND B
B
A
A
B
0
0
1
1
0
1
0
1
A AND B
B
A AND B
9
Gates y Algebra Booleana
AND Gate
A
B
0
0
1
1
0
1
0
1
OR Gate
A AND B A OR B
10
Gates y Algebra Booleana (cont)
NOT Gate
A
NOT A
0
1
11
Gates y Algebra Booleana (cont)
Una secuencia de bits a un tiempo:
A =
B =
1 1 0 0 1 1 0 1
0 1 1 0 0 1 1 0
A AND B =
• La mayoría de las PCs realizan 32 bits a un tiempo
(“máquinas de 32-bit”), otras tanto como 128 bits a
un tiempo
12
0 or 1
• Gates son las componentes básicas de las
computadoras
13
Componentes de Hardware de
una Computadora Típica
Dispositivos
Periféricos
Central
Processing
Unit (CPU)
Memoria
• Los “Buses" permiten a los componentes pasar los
datos uno al otro
14
Componentes del Hardware
Almacenamiento Secundario
Disco Duro
Teclado
Mouse
Disco Floppy
Cinta Magnética
Central Processing Unit
Control
Unit
(CU)
Arithmetic
and Logic
Unit (ALU)
Escaner
Pantalla
Impresión
Audífono
Memoria
Principal
15
Hardware de Computo
Monitor
CD-ROM
Tarjeta de Audio
Mouse
Tarjeta de red
Memoria cache
Teclado
Conector Graficas
Tarjeta Grafica
Slots Adicionales
Hard Drive
Bahia Extra
Memoria
CPU
Floppy Drive
16
Componentes de Hardware de
una Computadora Típica - CPU
Dispositivos
Periféricos
Central
Processing
Unit (CPU)
Memoria
Central Processing Unit (CPU)
• Realiza las operaciones básicas
• consiste de dos partes:
– Arithmetic / Logic Unit (ALU) – manipulación de datos
– Control Unit – coordina las actividades de la máquina
17
Central Processing Unit (CPU)
• CPU es el “cerebro” de la computadora, que entiende y
ejecuta a los programas de computo escritos en lenguaje de
máquina (a.k.a. código de máquina)
• Componentes de un CPU:
– Unidad de Control (UC): decodifica las instrucciones de máquna y
envia las señales de control a los otros componentes para que realizen
las instrucciones.
– Unidad Aritmética y Lógica (ALU): realiza la aritmética (suma,
subtracción, etc.) y operaciones lógicas (and, or, comparaciones, etc.)
– Registros: locaciones de memoria de alta velocidad dentro del CPU,
usada para guardar temporalmente las instrucciones actuales y los
valores de los datos.
• La circuitería de un CPU moderno consiste de millones de
circuitos en miniatura manufacturados en una oblea de silicio
conocido como un Circuito Integrado (IC) o chip.
• Microprocesador = un CPU completo en un solo chip.
18
Componentes de Hardware de una
Computadora Típica - Memoria
Dispositivos
Periféricos
Central
Processing
Unit (CPU)
Memoria
Memoria Principal
• mantiene los programas y los datos
• almacena los bits en pedazos de tamaño fijo: “word” (8, 16, 32, o
64 bits)
• cada word se guarda en una celda, que posee dirección unica
• las celdas se pueden accesar en cualquier orden =>
random-access memory o “RAM”
19
Componentes de Hardware de una
Computadora Típica - Memoria
• La memoria computacional es comparable a una
colección de buzones de correo numeradas. Cada
celda de memoria tiene dos atributos importantes:
– dirección o locación
– contenido o valor, el cual se representa digitalmente como
un número binario
• La RAM reside en los circuitos integrados lo que requiere
energía para retener su contenido, asi la RAM es volatíl
Address
0010011010
Conversión de base 2 a base 10:
Contenido
00101001
1010012 =
1x25 + 0x24 + 1x23 + 0x22 + 0x21 + 1x20 =
32 + 0 + 8 + 0 + 0 + 1 = 4110
20
Bits, Bytes, Kilo-, Mega-, Giga-, …
• Un bit: 0 o 1
• Un word: conjunto de bits (8, 16, 32 o 64 bits)
• un byte = 8 bits
• un kilobyte = 210 bytes = 1024 bytes
• un megabyte = 1024 KB = 220 bytes
= 1,048,576 bytes
• un gigabyte = 1024 MB = 230 bytes
• un terabyte = 1024 GB = 240 bytes
21
Componentes de Hardware de una
Computadora Típica - Periféricos
Dispositivos
Periféricos
Central
Processing
Unit (CPU)
Memoria
• Se comunican con el mundo exterior
• Almacenan los datos a largo plazo
– ventajas: mucha mayor capacidad, memoria no-volatíl
– desventajas: tiempo de acceso más lento (debido al
movimiento mecánico)
22
Periféricos que se Comunican con el Mundo
Exterior
Dispositivos
Periféricos
Central
Processing
Unit (CPU)
Memoria
• Input/Output o Entrada/Salida (I/O)
– Input: teclado, mouse, microfono, escaner, sensores
(camara, infra-red) [convierten entrada a código digital]
– Output: video, impresoras, bocinas, etc
• Comunicación
– modem, tarjeta ethernet o de red, tarjeta wireless, pcmcia
23
Periféricos que Almacenan Datos a Largo Plazo
Almacenamiento Secundario (masivo)
guardan la información por largos periodos de tiempo como
archivos
• Ejemplos: hard drive, floppy disk, tape, CD-ROM (Compact
Disk Read-Only Memory), DVD, USB HD
24
Características de las
Computadoras -- Rapidez
• Rapidez del CPU
– Rapidez del reloj del CPU: en ciclos por segundo ("hertz")
» Ejemplo: 2700MHz Pentium IV
– pero diferentes diseños de CPU hacen diferentes cantidades
de trabajo en un ciclo del reloj
– “flops” (floating-point operations per second)
– “mips” (million instructions per second)
25
Características de las
Computadoras -- Rapidez (cont)
• Rapidez del reloj/bus del sistema
– comunicación entre CPU, memoria y periféricos
– depende del diseño de la tarjeta madre (a.k.a. "motherboard")
» Ejemplos:
»Intel 2.50GHz Pentium-4 funciona con una
rapidez de bus de 400MHz
»50MHz, 60MHz, 66MHz, 100Mhz, 133MHz, y
subiendo
26
Características de las
Computadoras -- Rapidez (cont)
• Rapidez de acceso a la memoria
– RAM
» Cerca a 60ns (1 nanosegundo = una billonésima de un
segundo), y en incremento
» Puede ser marcada con respecto a “bus speed’’ (e.g., PC100)
– Memoria cache
» Más rápido que la memoria principal (cerca de 20ns de
rapidez de acceso), pero mas cara
» contiene solo datos que usará el CPU a continuación
27
Características de las
Computadoras -- Rapidez (cont)
• Rapidez de los periféricos
– Almacenamiento masivo
» Ejemplos:
»3.5in 1.4MB floppy disk: cerca 500kb/seg a 300 rpm
(revoluciones por minuto)
»3.5in hard disk: promedio del tiempo de búsqueda 8.5
microsegundos, y 7,200 rpm
– Comunicaciones
» Ejemplos: modems a 56 kilobits por segundo, y tarjetas de red a 10 o
100 megabits por segundo
– I/O
» Ejemplos: ISA, PCI, IDE, SCSI, ATA, USB, etc....
28
Características de las Computadoras
-- Confiabilidad
Factores que afectan la confiabilidad:
• calor, ventilación, “over-clocking”, fallas de potencia
La mayoría de las fallas en los
sistemas se deben a errores en el
software mas que en el hardware
29
Modos de comunicación
• Comunicación en paralelo:
– todos los bits se transfieren al mismo tiempo
– cada bit en una línea separada
• Comunicación serial:
– un bit al tiempo
1
0
1
1
0
0
0
1
1
0
30
Modems (MOdulator-DEModulator)
Máquina
Remota
Dato
Digital
Modem
Señal de audio
por líneas de tel
Máquina
en casa
Dato
Digital
Modem
31
Redes de Computadoras
• Tipos
– Local Area Networks (LAN, Redes locales)
» LAN conectan a computadoras y otros dispositivos
localizadas de forma cercana (en un edificio) por
medio de cables
» Ventaja: el compartir la información y los recursos,
tales como archivos, dispositivos de almacenamiento
secundario, impresoras, escaners, etc.
» El lab de AyP usa Sunrays conectadas en una
LAN que comparte impresora y el servidor de
archivos asi como el software del sistema
32
Redes de Computadoras (cont)
– Wide Area Networks (WAN)
» WANs conectan muchas computadoras individuales y
LANs sobre una gran área geográfica, separada por
cientos o miles de kms
» Comunicaciones sobre distancias intermedias usan
líneas de teléfono; a gran distancia usan líneas de
teléfono o señales de microonda que pueden ser
reenviadas por satélite, además de fibra óptica
»Ejemplo: la WAN más conocida es el
“backbone” de Internet. Esta comenzó como
un proyecto de una red del Departamento de
Defensa de EU en 1969: ARPAnet.
33
Redes de Computadoras – Métodos
de Comunicación
• Cada computadora tiene una dirección
– Ejemplo: dirección IP de www.fcfm.buap.mx es
148.228.125.1
• Una computadora remitente transmite datos a travez
de la red en paquetes; cada paquete se marca con las
direcciones del destinatario y la de retorno
– Cuando los datos son muy grandes para caber en un
paquete, el remitente puede dividir los datos en varios
paquetes, marcados en secuencia
34
Redes de Computadoras– Métodos
de Comunicación (cont)
• Los paquetes se envian por medio de links de
computadora a computadora (“ruteamiento”)
• Cada computadora intermediaria recibe y
retransmite el mensaje (“hops”)
– Los paquetes no necesariamente llegan en el orden en
que fueron enviados
• La computadora receptora pone los paquetes en la
secuencia correcta y recupera los datos
35
Sumario
• Transistors, gates, chips, hardware
• Computer = CPU + Memory + I/O Devices
• Networks, modems
• Jargon and acronyms
36
Computer Software
• Two main types of components of a computer system:
– Hardware: physical devices
– Software: computer programs
• Software classification according to its role and purpose:
– Operating system (OS): software responsible for directing all computer
operations and managing all computer resources (hardware and
software). OS works closely with the computer hardware.
– Application software: software used for a specific task such as word
processing, database management, environments for developing user
programs, spreadsheets, etc. The applications are running on top of the
OS using its services, and therefore must be compatible with it.
– User Programs: developed by the users with the help of specialized
application software. Run on top of the OS.
37
Operating Systems
• Example of OS responsibilities:
– Communicating with the computer user: receiving commands and
carrying them out or rejecting them with an error message
– Managing allocation of memory, of processor time, and of other
resources for various tasks
– Collecting input from the input devices and providing this information
to the currently running program
– Conveying program output to the screen, printer or other output
devices
– Reading/writing data from/to secondary storage.
• Widely used Operating Systems
– Unix, Linux, MS-DOS, OS/2, VMS, Macintosh OS, Windows 98,
Windows NT
38
Software de Computo
Aplicacion
Software que realiza operaciones de alto
nivel (computacion, graficas, etc.)
Sistema Operativo
Software que envia mensajes entre las
aplicaciones y el hardware
Hardware
Acceso directo a circuitos, discos, mouse,
teclado, monitor, etc.
39
Descargar