Está en la página 1de 71

ARQUITECTURA DEL

COMPUTADOR

1
ARQUITECTURA DE LAS COMPUTADORAS

Forma de seleccionar e interconectar componentes de hardware para


crear computadoras según los requerimientos de funcionalidad,
rendimiento y costo.
UNIDAD CENTRAL DELSISTEMA

En la unidad central del sistema se alojan los componentes y circuitería


que van a realizar las tareas fundamentales de la computadora.
• Placa principal.
• Microprocesador central o unidad central de
proceso (CPU).
• Disco Duro.
• Bus.
• Memoria principal.
• Otros componentes controladores.
• Fuente de alimentación eléctrica.
Placa principal
Placa principal

• Es una placa con un circuito impreso donde se conectan los elementos


básicos de la computadora: El microprocesador, el bus y toda o parte de
la memoria principal.
• En algunos lugares también aparece denominada como placa base o
placa madre.
Microprocesador central o unidad central de proceso
(CPU)

• Es el elemento fundamental de la computadora. El microprocesador


va a ocuparse de la ejecución de las órdenes de comandos, los
cálculos matemáticos solicitados por las referidas órdenes y el
manejo de los datos asociados a los cálculos.
Bus

• Es un circuito que conecta el procesador central con todo el resto de


componentes de la computadora.

• El bus sirve para que llegue al procesador la información y las solicitudes de


trabajo, desde el exterior, y envié hacia fuera los resultados del trabajo realizado.
Memoria principal

• Es la zona de trabajo donde la computadora va a almacenar


temporalmente las órdenes a ejecutar y los datos que
deberán manipular esas órdenes.
Componentes de control
Generador de reloj

• Son elementos que sirven como apoyo al funcionamiento del


microprocesador central. Fundamentalmente, son componentes
especializados en realizar determinadas operaciones, descargando al
microprocesador central de estas actividades y permitiéndole obtener una
mayor rapidez y efectividad en el manejo del conjunto del sistema
informático.
Fuentes de alimentación eléctrica

• Las fuentes de alimentación proporcionan la energía eléctrica


que necesita la computadora para funcionar. Esa energía se
estabiliza para impedir que la computadora se vea afectada por
oscilaciones bruscas en el suministro de las compañías
eléctricas.
Disco Duro
• El disco duro es un dispositivo de almacenamiento no volátil, es decir
conserva la información que le ha sido almacenada de forma correcta aun
con la perdida de energía, emplea un sistema de grabación magnética digital.

• Se encuentra almacenado el sistema operativo y el resto de programas de la


computadora.
• El disco duro no puede ser utilizado por un sistema operativo. Antes
tenemos que definir en él un formato de bajo nivel, una o más
particiones y luego hemos de darles un formato
que pueda ser entendido por nuestro sistema

• Existen diversos software para formatear y particionar al disco duro:


FDisk
 LAS CABEZAS (Heads)

Están ensambladas en pila y son las responsables de la


lectura y la escritura de los datos en los discos
 Cilindros (cylinders)

El par de pistas en lados opuestos del disco se llama cilindro


• Pistas (tracks)
Un disco está dividido en delgados círculos concéntricos llamados pistas.
Las cabezas se mueven entre la pista más externa ó pista cero a la mas
interna.

• Sectores (sectors)
Los HD almacenan los datos en pedazos gruesos llamados sectores.
UNIDAD CENTRAL DE PROCESO (CPU)

• Son construidos sobre un cristal de silicio


semiconductor donde se crean todos los elementos
que forman un circuito electrónico (transistores,
resistencias, etc.) y las conexiones necesarias para
formarlo.

• El microprocesador central de una computadora se


divide en:
– Unidad de control (control unit o CU)

– Unidad aritmética – lógica (Aritmethic


Control Unit o ALU)
– Registros
17
El Microprocesador - La unidad de control

Maneja y coordina todas las operaciones del sistema informático dando


prioridades y solicitando los servicios de los diferentes componentes para
dar soporte a la unidad aritmética-lógica en sus operaciones elementales.
• Sus funciones básicas son:

1. Manejar todas las operaciones de acceso, lectura y escritura a


cada una de las posiciones de la memoria principal

2. Interpretar la instrucción en proceso

3. Realizar las tareas que se indican


19 09/23/2023
El Microprocesador - La unidad
aritmética-lógica
• Realiza los diferentes cálculos matemáticos y lógicos que van a ser
necesarios para la operatividad de la computadora, debe recordarse que
todo el funcionamiento de una computadora se realiza sobre la base de
una serie de operaciones matemáticas en código binario.

• Su misión es realizar las operaciones con los datos que recibe siguiendo
las instrucciones dadas por la unidad de control.
21 09/23/2023
REGISTROS

• Los registros son un medio de ayuda a las operaciones a la


unidad de control, y la unidad aritmética y lógica.

• Permite almacenar información temporalmente, para facilitar


la manipulación de los datos por parte de la cpu.
23 09/23/2023
La memoria principal

• Está compuesta lógicamente por una serie de celdas de bits


que permiten almacenar en cada una de ellas un byte de
información en código binario 0,1 que será parte de un dato o
de una instrucción.

• La memoria principal se divide fundamentalmente en dos


partes: volátil y no volátil.
MEMORIA DE ACCESO ALEATORIO
(Volátil o RAM)

• Las memorias de acceso aleatorio (RAM: Random Access Memory)

• La RAM es memoria volátil, es decir pierde la información almacenada en su


interior si el sistema informático que la soporta es apagado.
MEMORIA DE SOLO LECTURA (No volátil o ROM)
• La ROM (Read Only Memory) es una memoria de solo lectura.
En ella solo se puede leer la información que contiene, sólo es
posible modificarla con medios especializados.

• En este tipo de memoria se acostumbra a guardar las


instrucciones de arranque y el funcionamiento coordinado de la
computadora.
MEMORIA CACHE

• La memoria cache es una zona especial de la memoria principal que se


construye con una tecnología de acceso mucho más rápida que la memoria
RAM convencional.
 La memoria cache forma parte de la tarjeta madre y del procesador (Hay dos
tipos) y se utiliza para acceder rápidamente a la información que utiliza el
procesador.

 Existen cache primario (L1) y cache secundario (L2). El cache primario esta
definido por el procesador y no lo podemos quitar o poner. El cache
secundario es un nivel intermedio que presenta un buen equilibrio entre
capacidad, cercanía y velocidad.
MEMORIA CACHE
BUSES

• Bus de direcciones.- Es un canal de comunicación constituido


por líneas que apuntan a la dirección de memoria a tratar.

• Bus de datos.- El bus de datos es el medio por el que se


transmite la instrucción o dato apuntado por el bus de
direcciones.

• Bus de control.- Es un número variable de líneas a través de


la que se controlan las unidades complementarias.
31 09/23/2023
32 09/23/2023
33 09/23/2023
Bus de control es parte del bus del sistema y es utilizado por las CPU para comunicarse con
otros dispositivos dentro de la computadora.

34 09/23/2023
EL RELOJ
• El reloj de una computadora se utiliza para dos funciones
principales:

1. Para sincronizar las diversas operaciones que realizan los diferentes


subcomponentes del sistema informático.

2. Para saber la hora.


• Reloj del Sistema = Un pulso electrónico usado para sincronizar el
procesamiento.
(Entre pulso y pulso solamente puede tener lugar una sola acción).

• Medido en megahertz (MHz) dónde 1 MHz= 1 millón de ciclos por segundo


o gigahertz (GHz) donde 1 GHz = 1 ciclos de mil millones por segundo.

• De esto es lo que están hablando cuando dicen que una computadora es


una máquina de 2.4 GHz .La velocidad de su reloj es de 2.4 mil millones de
ciclos por segundo.
TARJETAS DE EXPANSIÓN INTERNA
 Las tarjetas de expansión están diseñadas y dedicadas a actividades
especificas como pueden ser de controlar la salida de video de la
computadora, graficas, comunicaciones, etc.

 Las tarjetas de expansión controladoras de periféricos más importantes son:

1. Las tarjetas de expansión controladoras modo de video.


2. Las tarjetas de expansión de entrada y salida de datos.
3. Las tarjetas de expansión controladoras de comunicaciones.
TARJETAS CONTROLADORAS DE COMUNICACIONES
• Las tarjetas controladoras de comunicaciones son unidades que permiten la
conexión de una computadora con otra u otras conformando todas ellas lo
que se denomina Red Informática.

• Si la red es de área local (LAN: Local Área Network o red de área local) se
utiliza una Tarjeta de Red LAN (o NIC)

• Si la red tiene extensión mayor (WAN: Wide Área Network o red de área
extensa) se utiliza normalmente un MODEM
ROM-BIOS: chip que contiene programas grabado por el fabricante, que hacen
que la computadora arranque y detecte los dispositivos instalados en ella,
además de chequear el buen funcionamiento de los mismos; en este chip viene
incorporado el Setup.
ISA, PCI: ranuras de expansión; sirven para insertar las tarjetas
controladoras

COM 1, COM 2: puertos seriales; sirven para conectar periféricos


que trabajan en serial (Ejm. Mouse externo, cámara digital, MODEM
externo, etc.)
LPT1: puerto paralelo (printer - PRN); este es un puerto estándar para
conectar la impresora u otro periférico que trabaje en paralelo.

USB (Universal Serial Bus): puerto para conectar cualquier dispositivo


moderno con este tipo de tecnología (Ejm. Cámara, flash memory u otro).
Kb: teclado.

PS 2: conector para mouse de tipo PS 2.

PWR AT, PWR ATX: conectores de energía eléctrica


IDE 1, IDE 2: conectores para los buses de los discos duros y CD-ROMS.
• Microprocesador: SLOT o Socket donde va instalado el CPU (Ejm. El
Pentium).

Slot para Módulos de memoria: ranuras para insertar módulos de memoria


RAM.
HD LED: de aquí sale el cable del HD LED que es un foco rojo
ubicado en la parte delantera de la case.

SPK: de aquí sale el cable del speaker y es el que emite los bips.
RST: de aquí sale el cable del botón del reset que se encuentra en la parte
delantera de la case y sirve para reiniciar la máquina.
Qué es la Informática
Conjunto de cconocimientos científicos y técnicas que hacen posible el
tratamiento automático de la información por medio de ordenadores.
(Extraído del Diccionario de la RAE, 2001)
• Un poco de historia...
– Ábaco – 2000 a.c.
– El sumador de Pascal – mediados s. XVII
– La calculadora de G.W. von Leibniz – finales s. XVII
– La máquina de diferencias de Babbage – s. XIX
• Concepto de programa externo
– 1945: Comienzo de la era de la Informática
• Modelo J. von Neumann: estructura de la computadora tal y como la conocemos hoy; concepto
de programa interno
• Coincide con el desarrollo de la electrónica

1.47
Qué es una computadora

• Computadora electrónica
Máquina electrónica 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.
 Software Conjunto de programas,
 Hardware Conjunto de los
instrucciones y reglas informáticas
componentes que integran la parte
para ejecutar ciertas tareas en una
material de una computadora.
computadora.
(Extraído del Diccionario de la RAE, 2001 )

Fundamentos de computadores Introducción a la programación

1.48
¿Qué entiende la computadora?

La computadora manipula únicamente información digital:

Datos e instrucciones se codifican como


dígitos binarios (0’s y 1’s)

• ¿Por qué no se usa una representación de otro tipo?

– Problema tecnológico (es más fácil representar ceros y unos)


• ¿A qué nos conduce la solución adoptada para evitar el problema
tecnológico?

– La máquina sólo puede trabajar con cadenas de ceros y unos

1.49
Lenguaje máquina

a = (b + c)/(d + e)
x y

• Pasos
– sumar b y c, y guardar el resultado en una dirección de memoria temporal X
– sumar d y e, y guardar el resultado en una dirección de memoria temporal Y
– dividir el contenido de X por el de Y y guardar el resultado en la dirección de memoria de a
• Ejemplo de código máquina
– codigoOp direccOp1 direccOp2 direccRes
Código de la suma Direcc. Temporal X

0000 00001000 00001100 00001110


0000 00011000 00011100 00011110
0101 00011110 00001110 00000100
Direcc. Temporal Y
Código de la división

1.50
• Inconvenientes
– Grandes posibilidades de error
– Portabilidad: máquina-dependiente
• No se puede llevar el programa a otra máquina porque, entre otras
cosas, el repertorio de instrucciones es distinto
– Tedioso
– Nula capacidad de abstracción
• Es muy complicado formular una solución a problemas del mundo real
con ese lenguaje tan específico

1.51
Lenguaje ensamblador
• Lenguaje simbólico con una mínima capacidad de abstracción

– Nombres nemotécnicos para los códigos de operación


– Nombres simbólicos para las direcciones de memoria

• Ejemplo de instrucción de código ensamblador

codigoSimbOp direccSimbOp1, direccSimbOp2, direccSimbRes

– Códigos simbólicos de las operaciones

• SUM = La suma
• DIV = La división
a = (b + c)/(d + e)

SUM B, C, X
SUM D, E, Y
1.52
DIV X, Y, A
– ¿Cómo entiende la máquina el lenguaje ensamblador?
– Si las direcciones de memoria son simbólicas ¿en qué direcciones de memoria se colocan
los datos?

Código fuente Programa ensamblador Código objeto


(lenguaje ensamblador) (lenguaje máquina)

• Programa ensamblador
– Traducción a código binario de códigos simbólicos de operación
– Traducción de las direcciones simbólicas a direcciones reales de memoria
• Inconveniente: sigue siendo dependiente de la máquina

1.53
Lenguajes de alto nivel

• Lenguaje que permite representar el mecanismo de resolución de


los problemas usando instrucciones independientemente de la
computadora
– Cercanía conceptual al programador
– Pascal, C, Java, etc. son lenguajes de alto nivel

• Capacidad de abstracción

– Abstracción procedimental (poder representar operaciones más complejas


como calcular las raíces de un polinomio)
– Abstracción de datos (poder representar información más compleja como
el estado de una cuenta bancaria)
1.54
• ¿Cómo conseguir que la computadora “entienda” los programas
escritos en lenguajes de alto nivel?

– Intérprete

• Analiza el programa fuente y lo ejecuta directamente en la máquina

– Compilador

• Analiza el programa fuente y lo traduce a lenguaje máquina

• Ej. Turbo Pascal es un compilador de Pascal

1.55
El sistema operativo

• Programa básico encargado de manejar el hardware y facilitar el trabajo a


los demás programas (aplicaciones) proporcionándoles un conjunto de
servicios genéricos
– Asignación de tiempos de CPU
– Control y asignación racional de los recursos de la computadora
– Ejecución de programas
– Controlar la E/S (ej., almacenar/recuperar en/de memoria permanente)
– Control de errores y protección (ej., monitorizar la ejecución de un programa)
– Interfaz con el usuario

• ¡Sin sistema operativo todo sería mucho más complicado!

1.56
• ¿Quién ejecuta el sistema operativo?

– Las computadoras suelen estar preparadas para, al arrancar,


ejecutar un pequeño programa que, a su vez, se encarga de
ejecutar el sistema operativo
– En el caso de los PCs normales, se almacena en memoria un
programa denominado BIOS (Basic Input/Output System),
capaz de localizar en memoria secundaria el programa
“cargador” del sistema operativo

1.57
Aplicaciones de propósito específico

• Programas que permite en uso de la computadora para la


realización de trabajos específicos y que se implantan sobre el
sistema operativo

– Procesadores de texto
– Hojas de cálculo
– Sistemas de gestión de bases de datos
– Herramientas de diseño e ingeniería
– Juegos

1.58
La programación: resolución de problemas
• Un programa es una secuencia de instrucciones con un propósito concreto que un
ordenador puede interpretar y ejecutar

• Programar es resolver problemas


– Conjunto de actividades implicadas en la descripción, el desarrollo y la implementación eficaz de
soluciones algorítmicas a problemas bien especificados

Algoritmo Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema.

(Extraído del Diccionario de la RAE, 22ª edición )

• Un algoritmo es, por tanto, una sistemática que transforma un estado inicial en un estado
final
– La entrada del programa: Precondiciones
• Descripción del estado inicial (datos y situación de partida)
– La salida del programa: Postcondiciones
• Descripción del estado final (datos y situación deseada al acabar)

1.59
El Ciclo de Vida del Software

• Todas las tareas a realizar desde que se concibe un programa


hasta que se deja de utilizar (no sólo “hasta que se codifica” ni
“hasta que se instala”)
– Existen distintos modelos del ciclo de vida software, este es el más
simple: Modelo en Cascada

Análisis

Diseño

Implementación

Pruebas

Mantenimiento
¿Qué significa todo esto?

Casa Software
¿Qué tiene que hacer
“Quiero 3 habitaciones, Análisis exactamente nuestro
2 baños, garaje...” programa?
¿Cómo vamos a organizar
Planos, diseño circuito
eléctrico y de agua...
Diseño el programa? ¿Qué
partes tendrá y cómo
funcionará?
Se construye la casa Se construye el software
Implementación

Se comprueba la solidez de la Ponemos a prueba nuestro


estructura, el funcionamiento de programa, incluso en
las instalaciones, el acabado...
Pruebas situaciones límite

Algunas reparaciones, se cierra Pequeñas modificaciones o


la terraza, se instala aire Mantenimiento correcciones (parches),
acondicionado... actualizaciones, etc...
Fases en el desarrollo de una aplicación

• Análisis
– Actividad en la que se analizan y clarifican los diferentes
aspectos del problema que debe ser resuelto por la aplicación,
con el fin de establecer claramente qué debe ser construido
– El resultado es, normalmente, un documento de requisitos
software que especifica claramente las funcionalidades de la
aplicación
• Funcionalidad = lo que tiene que hacerse (sin saber todavía cómo)

1.62
• Diseño

– Actividad en la que se decide la organización y la estructura de una


aplicación que satisfaga los diferentes requisitos establecidos en la fase de
análisis
– El resultado es uno (o varios) documentos de diseño que especifican
claramente cómo construir la aplicación
– Mientras que el análisis se ocupa de qué hay que hacer, el diseño se
ocupa de cómo hacerlo
– Hay varias técnicas de diseño, una de las más básicas es el diseño
funcional

1.63
• Implementación

– Actividad en la que se construye (codifica) la aplicación


utilizando un lenguaje de programación concreto, y siguiendo,
las directrices marcadas por los documentos de diseño
– Si las actividades anteriores han sido realizadas correctamente,
la fase de implementación debería ser bastante trivial
– La implementación se encarga de concretar el diseño teniendo
en cuenta un lenguaje y herramienta de desarrollo concreta

1.64
• Pruebas
– Actividad en la que se asegura que la aplicación construida
satisface los requisitos del usuario
– Se debe invertir mucho tiempo en hacer pruebas (mucho más
que en su implementación)
– Dos pasos diferenciados
• Verificación: ¿Se ajusta la aplicación construida a los requisitos
establecidos?
• Validación: ¿Resuelve la aplicación el problema que realmente tenía el
usuario?

1.65
• Mantenimiento
– Actividad en la que la aplicación se modifica para satisfacer cambios o
ampliaciones en los requisitos del usuario, corregir errores, etc.
– ¡Es la actividad más costosa en el desarrollo de software!
(Tener en cuenta que hay programas que están muchos años en
funcionamiento y lo usan miles de personas)
– Estos costes pueden aliviarse si se hacen bien todo lo anterior

• *Otras actividades
– Confección de los manuales de usuario
– Planificación y control del proyecto
– Gestión de versiones

1.66
• El Modelo en Cascada, tan lineal, no suele aplicarse “tal cual”
en la vida real

– Conviene hacer pruebas desde las primeras fases de desarrollo, por


ejemplo para detectar y corregir errores prematuros, etc.
– Los programas suelen construirse en varias iteraciones (sacando
primero una versión básica, luego otra con más funcionalidad añadida,
etc.)

• Cada iteración es un ciclo completo (análisis, diseño, pruebas, etc.), siendo el diseño
más importante en las primeras y la implementación más importante en las últimas

1.67
Lenguajes de programación
• Un lenguaje de programación puede describirse a tres niveles
distintos:
– Nivel sintáctico
• Descripción de la forma (= sintaxis) de las instrucciones
• Suelen utilizarse lenguajes artificiales con mucho “formalismo” (= rigor matemático y
lógico)
– Nivel semántico
• Descripción del significado (= semántica) de las instrucciones
• Puede utilizarse lenguaje natural (español, inglés, etc.) o intentar expresarse de
manera más formal
– Nivel pragmático
• Descripción de cómo se utilizan las instrucciones
• Suelen utilizarse tutoriales y ejemplos de programas…

1.68
Sintaxis de los lenguajes de programación

• Conjunto de reglas que especifican y permiten verificar la corrección formal


de las sentencias de un lenguaje

• Todos ellos pueden expresar la forma de cualquier lenguaje de


programación, sólo hay que elegir el que sea cómodo
– Estos formalismos se usan para escribir documentación técnica que leen quienes quieren
conocer con exactitud un lenguaje

1.69
BIBLIOGRAFÍA
MUCHAS GRACIAS

También podría gustarte