Estructura de Computadores
Introducción a los Computadores
Objetivos
● Conceptuales
– Computador como máquina programable
– Elementos y funciones básicas del computador
– Hitos clave en el desarrollo de los computadores
– Generaciones de computadores y tecnologías asociadas
– Concepto de familia de computadores
– Elementos de clasificación de los computadores
– Concepto de nivel de abstracción en el estudio de los
computadores
Objetivos
● Procedimentales
– Asociar cada tecnología electrónica con una generación de
computadores
– Clasificar un computador o arquitectura dada en base a
diversos criterios
– Asociar una descripción formal dada con el nivel de
abstracción correspondiente
Objetivos
● Actitudinales
– Valorar la generalidad y simplicidad de la estructura básica
de un computador
– Evaluar el impacto del desarrollo tecnológico en el área de
la computación
– Implicaciones del concepto de familia de computadores en
el desarrollo de la ciencia e industria informática
– Importancia de los niveles de abstracción en el estudio de
los computadores
Bibliografía
● Básica
– [HAYE86] Excelente introducción al diseño de de sistemas
digitales y microprocesadores.
– [STAL00] Exposición clara y amena de aspectos generales.
No abarca en profundidad el diseño de sistemas digitales.
– [TANE99] Completa revisión histórica y buena referencia
para el conjunto de los contenidos.
Bibliografía
● Complementaria
– [BAEN97/1] Excelente libro de problemas. Incluye
numerosos problemas resueltos. Cubre parte de la
asignatura.
– [BAEN97/2] Excelente colección de apuntes sobre el diseño
de sistemas digitales. Muy adaptado a los contenidos de la
asignatura
– [CRAM87] Manual de referencia del MC68000
– [KELL87] Referencia complementaria del MC68000
– [LIVA93] Arquitectura de computadores y MC68000
– [MIGU96] Introducción clara a la arquitectura de
ordenadores
– [SEPT95], [STEN92], [WAKE89] MC68000 avanzado
Contenidos
● Introducción
● Estructura y funcionalidad de los computadores
● Historia de los computadores
● Clasificaciones
● Niveles
Introducción
Definición de computador: Máquina capaz de realizar de
forma automática y en una secuencia programada cierto
número de operaciones numéricas sobre unos datos
suministrados por el operador
● Características principales
– Capacidad de cómputo
– Ejecución de un programa
– Alta velocidad de operación
– Alta capacidad de almacenamiento de datos
Gran rango de aplicaciones
Memoria
E/S
Conexión
CPU
Periféricos
E/S 2CPU Memoria
BUS (Conexión)
E/S 1
Estructura del computador
Estructura del computador
● CPU (Unidad central de proceso)
– cerebro del ordenador, ejecuta instrucciones
● Memoria
– almacena datos y programas. Directamente accesible por la
CPU
● Entrada/Salida (E/S)
– comunica la CPU con dispositivos "externos" (periféficos):
monitor, teclado, red, modem, discos, etc.
● Sistema de conexión
– comunica la CPU con la memoria y los módulos de E/S
Funciones básicas de un computador
● Procesamiento de datos
– operaciones lógicas y aritméticas
● Almacenamiento de datos
– almacenamiento temporal a corto plazo
– almacenamiento a largo plazo
● Transferencia de datos
– con periféricos (transferencias E/S)
– con dispositivos remotos (comunicación)
● Control
– gestión de recursos del computador
– gestión de las diversas unidades funcionales
Estructura de la CPU
● Unidad de control
– control de la secuencia de operaciones
– captación de instrucciones
– control de la ejecución de instrucciones
● Unidad aritmético-lógica
– lleva a cabo las operaciones aritméticas y/o lógicas
necesarias para la ejecución de instrucciones
● Registros
– almacenamiento temporal dentro de la propia CPU (código
de instrucciones, datos que están siendo procesados,
direcciones de memoria, etc.)
● Interconexiones
Función de la CPU. Ciclo de instrucción
● Captación de la instrucción que va a ejecutar de la
memoria
● Actualización del contador de programa
● Determina el tipo de instrucción captada
● Si la instrucción utiliza datos determina donde están y
accede a ellos
● Almacena los datos en registros internos de la CPU
● Ejecuta la instrucción
● Almacena los resultados en el sitio adecuado
ENIAC - 1946 (18000 válvulas)
Pentium 4 - 2001 (42M ttores)
Historia de los computadores
● Espectacular evolución durante el S.XX
● Desarrollo de las tecnologías electrónicas
● Reducción de coste y tamaño
Generaciones de computadores
● Generación Cero (1642-1945): computadores mecánicos
● Primera Generación (1945-1955): tubos de vacío
● Segunda Generación (1955-1965): transistores
● Tercera Generación (1965-1970): circuitos integrados
● Cuarta Generación (1970- ?): VLSI. Ordenadores
personales
Generación cero (1642-1945)
Ábaco (3500 a.c.)
● necesidad de calcular
● se sigue usando en la
actualidad
Pascalina
● Blaise Pascal (1642)
● sumas y restas
Generación cero (1642-1945)
Máquina de
diferencias
● Charles Babbage
(principios S.XIX)
● sumas y restas
● propósito específico:
tablas de navegación
Charles Babbage es considerado el padre de la Informática
Generación cero (1642-1945)
Máquina analítica. Charles Babbage (1834)
– primer computador digital de la historia
– establece la estructura del computador moderno:
● unidad de almacenamiento
● unidad de computación
● dispositivos de entrada y salida
– propósito general: programable
– programación mediante tarjetas perforadas:
● Ada Augusta Lovelace primera programadora
– No llegó a ser operativa por problemas tecnológicos
Generación cero (1642-1945)
Máquina Z1. Konrad Zuse (1930)
– máquina de calcular electromecánica
– secreto militar
– destruida en el bombardeo de Berlín (1944)
Mark I. Howard Aiken (1944)
– Primer computador estadounidense de propósito general
– Tecnología electromecánica (relés)
– Memoria: 72 palabras de 23 dígitos decimales
– Ciclo de instrucción: 6 seg.
– Aplicaciones militares
Generación cero (1642-1945)
ENIGMA
Primera generación (1945-1955)
COLOSSUS
● Reino Unido (1943)
● primer computador
electrónico digital de la
historia
● secreto militar hasta los
años 70
● destinado a descifrar los
mensajes del codificador
alemán ENIGMA
Primera generación (1945-1955)
ENIAC. John Mauchley y J. Presper Eckert (1946)
– inicio de la historia moderna de los computadores
– aplicaciones militares
– 18000 válvulas, 1500 relés, 30 toneladas, 140 KW
Primera generación (1945-1955)
● John von Neumann.
– Estructura de los computadores modernos
– EDSAC. Maurice Wilkes (1949)
– IAS. von Neumann (1952)
● UNIVAC. Mauchley y Eckert (1951)
– Primer computador comercial de la historia
– Empresas y universidades comienzan a usar computadores
● IBM 701, 704, 709 (1953)
– Computadores de propósito general
– Aplicaciones científicas
– Gran éxito comercial
Segunda generación (1955-1965)
Invención del transistor
(1956)
– John Bardeen
– Walter Brattain
– William Shockley.
● Laboratorios Bell (AT&T)
● Nobel en 1956
Segunda generación (1955-1965)
● PDP-1. Kenneth Olsen. DEC (1961)
– Primer mini-ordenador de la historia
– Se introduce el terminal CRT (monitor)
– Gran éxito comercial e implantación en las universidades
● PDP-8. DEC (1965)
– Sucesor del anterior
– Más pequeño, potente y económico
– Arquitectura de un único BUS (omnibus)
– Gran éxito: 50000 unidades vendidas
DEC PDP-8 (1965)
Segunda generación (1955-1965)
Segunda generación (1955-1965)
● IBM 7090 y 7094 (1962)
– Versión transistorizada del IBM 709
– Aplicaciones científicas
– Dominan el mercado en los años 60
● IBM 1401 (1961)
– Versión económica orientada a los negocios
● CDC-6600 (1964)
– Primera máquina en implementar procesamiento altamente
paralelo
– Diez veces más rápida que el IBM 7094
● Borrows B5000 (1963)
– Primer computador diseñado para ser programado en un
lenguaje de alto nivel (Algol 60)
IBM 7090
Segunda generación (1955-1965)
Tercera generación (1965-1970)
● Circuitos Integrados (C.I.)
– Decenas, cientos, miles ... de ttores/chip
– Aumento de velocidad, disminución de tamaño
● IBM System/360 (1964)
– Introduce el concepto de "familia de ordenadores"
– Sucesión de familias compatibles hasta mediados de los 80:
370, 4300, 3080 y 3090
● DEC PDP-11 (1970)
– Sucesor del PDP-8
– Minicomputador dominante en los años 70
– Gran expansión en las universidades
– Ligado a los inicios de UNIX y el lenguaje C
Cuarta generación (1970-?)
Circuitos integrados LSI
(Large Scale of Integration)
● Intel 4004 (1971)
– primer microprocesador en un
único chip
● Intel 8008 (1972)
– primer procesador de 8 bits
● Intel 8080 (1974)
● Zilog Z80
● Motorola 6800 (1975)
Cuarta generación (1970-?)
● Miniordenadores vendidos como kits (1975)
– MITS Altair 8800
● Bill Gates y Paul Allen fundan Microsoft (1975)
– Intérprete de BASIC para el Altair 8800
Cray-1
Cuarta generación (1970-?)
● Cray-1 (1976)
– primer supercomputador con
arquitectura vectorial
● Apple II (1977)
– primer computador personal
de éxito
● Intel 8086/8088 (1978)
– procesador de 16 bits
– familia IBM PC
● Motorola 68000 (1979)
– Familia Apple Macintosh
Ley de Moore
● Gordon Moore (1964)
"La densidad de integración se duplica cada 18 meses"
Clasificaciones
● Diversidad de criterios:
– Generaciones
– Familias
– Paralelismo
– Repertorio de instrucciones
– Tamaño, rendimiento, áreas de aplicación
Clasificaciones. Paralelismo
● SISD: Single Instruction stream, Single Data stream
– un único programa y un único conjunto de datos
– máquina de von Neumann
● SIMD: Single Instruction stream, Multiple Data stream
– un único programa que se ejecuta sobre múltiples conjuntos
de datos simultáneamente
– máquinas vectoriales
– procesadores matriciales
● MIMD: Multiple Instruction stream, Multiple Data stream
– múltiples programas, múltiples conjuntos de datos
– multiprocesadores
Clasificaciones. Repertorio de
instrucciones
● RISC: Reduced Instruction Set Computer
– pocas instrucciones y modos de direccionamiento
– instrucciones simples de un ciclo
– formato fijo de instrucciones
● CISC: Complex Instruction Set Computer
– muchas instrucciones y modos de direccionamiento
– instrucciones complejas de varios ciclo
– instrucciones de formato variable
Clasificaciones. Tamaño, rendimiento y
área de aplicación
● Minicomputadores
– Aplicaciones en tiempo real
● control del tráfico aéreo
● automatización de fábricas
– Integran microprocesador, memoria y E/S en una placa
● computadores personales, microcontroladores
● Supermini/Estaciones de trabajo
– minicomputador potente con bastante memoria
– sistemas en tiempo compartido
– servidores
Clasificaciones. Tamaño, rendimiento y
área de aplicación
● Mainframes/Maxicomputadores:
– elevada capacidad de entrada salida
– normalmente usados para aplicaciones no interactivas
● traspaso de grandes bases de datos
● largos trabajos que no requieren intervención
● Supercomputadores:
– especialmente diseñados para aumentar el número de
operaciones en punto flotante por segundo
– arquitecturas altamente paralelas
Niveles
● Los computadores pueden estudiarse desde distintos
niveles de abstracción:
– nivel de dispositivo (transistores, ...)
– nivel digital (puertas, ...)
– nivel de microprogramación
– nivel de máquina
– nivel ensamblador
– nivel de lenguaje
● Cada nivel representa una abstracción distinta con
distintos objetos y distintas operaciones. Esto nos permite
suprimir detalles irrelevantes en un determinado nivel.
● Los niveles más bajos son los más cercanos a la máquina
y los más lejanos al programador.
Niveles
● Normalmente el programador escribe en un lenguaje de
alto nivel que es sucesivamente interpretado o traducido
a los lenguajes de los distintos niveles.
– Traducción: se sustituye cada instrucción del programa
escrito en el nivel p por una secuencia de instrucciones
equivalentes en el nivel p-1. Se genera un programa en el
nivel p-1 y después se ejecuta.
– Interpretación: un programa del nivel p-1 toma los
programas escritos en nivel p, examina cada instrucción y
la ejecuta con instrucciones del nivel p-1. No es necesario
generar un programa en el nivel p-1. Cada instrucción es
examinada, decodificada y ejecutada inmediatamente.
Niveles. Hardware/Software
● Hardware: conjunto de componentes o sistemas
electrónicos o mecánicos que componen el ordenador o
sus periféricos.
● Software: programas destinados a ser ejecutados por la
CPU del ordenador. Son cargados en la memoria principal
para su ejecución.
● Firmware: programas grabados en memoria de sólo
lectura. Suelen ir incluidos con el hardware "de serie".
Niveles. Hardware/Software
Aplicaciones
Sistema Operativo
Hardware
Software
nivel 0
nivel n
● Cada nivel puede asociarse al hardware, software o
firmware
● Algunas tareas pueden implementarse en distintos
niveles o entre niveles: codiseño hardware/software

Conceptos basico

  • 1.
  • 2.
    Objetivos ● Conceptuales – Computadorcomo máquina programable – Elementos y funciones básicas del computador – Hitos clave en el desarrollo de los computadores – Generaciones de computadores y tecnologías asociadas – Concepto de familia de computadores – Elementos de clasificación de los computadores – Concepto de nivel de abstracción en el estudio de los computadores
  • 3.
    Objetivos ● Procedimentales – Asociarcada tecnología electrónica con una generación de computadores – Clasificar un computador o arquitectura dada en base a diversos criterios – Asociar una descripción formal dada con el nivel de abstracción correspondiente
  • 4.
    Objetivos ● Actitudinales – Valorarla generalidad y simplicidad de la estructura básica de un computador – Evaluar el impacto del desarrollo tecnológico en el área de la computación – Implicaciones del concepto de familia de computadores en el desarrollo de la ciencia e industria informática – Importancia de los niveles de abstracción en el estudio de los computadores
  • 5.
    Bibliografía ● Básica – [HAYE86]Excelente introducción al diseño de de sistemas digitales y microprocesadores. – [STAL00] Exposición clara y amena de aspectos generales. No abarca en profundidad el diseño de sistemas digitales. – [TANE99] Completa revisión histórica y buena referencia para el conjunto de los contenidos.
  • 6.
    Bibliografía ● Complementaria – [BAEN97/1]Excelente libro de problemas. Incluye numerosos problemas resueltos. Cubre parte de la asignatura. – [BAEN97/2] Excelente colección de apuntes sobre el diseño de sistemas digitales. Muy adaptado a los contenidos de la asignatura – [CRAM87] Manual de referencia del MC68000 – [KELL87] Referencia complementaria del MC68000 – [LIVA93] Arquitectura de computadores y MC68000 – [MIGU96] Introducción clara a la arquitectura de ordenadores – [SEPT95], [STEN92], [WAKE89] MC68000 avanzado
  • 7.
    Contenidos ● Introducción ● Estructuray funcionalidad de los computadores ● Historia de los computadores ● Clasificaciones ● Niveles
  • 8.
    Introducción Definición de computador:Máquina capaz de realizar de forma automática y en una secuencia programada cierto número de operaciones numéricas sobre unos datos suministrados por el operador ● Características principales – Capacidad de cómputo – Ejecución de un programa – Alta velocidad de operación – Alta capacidad de almacenamiento de datos Gran rango de aplicaciones
  • 9.
    Memoria E/S Conexión CPU Periféricos E/S 2CPU Memoria BUS(Conexión) E/S 1 Estructura del computador
  • 10.
    Estructura del computador ●CPU (Unidad central de proceso) – cerebro del ordenador, ejecuta instrucciones ● Memoria – almacena datos y programas. Directamente accesible por la CPU ● Entrada/Salida (E/S) – comunica la CPU con dispositivos "externos" (periféficos): monitor, teclado, red, modem, discos, etc. ● Sistema de conexión – comunica la CPU con la memoria y los módulos de E/S
  • 11.
    Funciones básicas deun computador ● Procesamiento de datos – operaciones lógicas y aritméticas ● Almacenamiento de datos – almacenamiento temporal a corto plazo – almacenamiento a largo plazo ● Transferencia de datos – con periféricos (transferencias E/S) – con dispositivos remotos (comunicación) ● Control – gestión de recursos del computador – gestión de las diversas unidades funcionales
  • 12.
    Estructura de laCPU ● Unidad de control – control de la secuencia de operaciones – captación de instrucciones – control de la ejecución de instrucciones ● Unidad aritmético-lógica – lleva a cabo las operaciones aritméticas y/o lógicas necesarias para la ejecución de instrucciones ● Registros – almacenamiento temporal dentro de la propia CPU (código de instrucciones, datos que están siendo procesados, direcciones de memoria, etc.) ● Interconexiones
  • 13.
    Función de laCPU. Ciclo de instrucción ● Captación de la instrucción que va a ejecutar de la memoria ● Actualización del contador de programa ● Determina el tipo de instrucción captada ● Si la instrucción utiliza datos determina donde están y accede a ellos ● Almacena los datos en registros internos de la CPU ● Ejecuta la instrucción ● Almacena los resultados en el sitio adecuado
  • 14.
    ENIAC - 1946(18000 válvulas) Pentium 4 - 2001 (42M ttores) Historia de los computadores ● Espectacular evolución durante el S.XX ● Desarrollo de las tecnologías electrónicas ● Reducción de coste y tamaño
  • 15.
    Generaciones de computadores ●Generación Cero (1642-1945): computadores mecánicos ● Primera Generación (1945-1955): tubos de vacío ● Segunda Generación (1955-1965): transistores ● Tercera Generación (1965-1970): circuitos integrados ● Cuarta Generación (1970- ?): VLSI. Ordenadores personales
  • 16.
    Generación cero (1642-1945) Ábaco(3500 a.c.) ● necesidad de calcular ● se sigue usando en la actualidad Pascalina ● Blaise Pascal (1642) ● sumas y restas
  • 17.
    Generación cero (1642-1945) Máquinade diferencias ● Charles Babbage (principios S.XIX) ● sumas y restas ● propósito específico: tablas de navegación
  • 18.
    Charles Babbage esconsiderado el padre de la Informática Generación cero (1642-1945) Máquina analítica. Charles Babbage (1834) – primer computador digital de la historia – establece la estructura del computador moderno: ● unidad de almacenamiento ● unidad de computación ● dispositivos de entrada y salida – propósito general: programable – programación mediante tarjetas perforadas: ● Ada Augusta Lovelace primera programadora – No llegó a ser operativa por problemas tecnológicos
  • 19.
    Generación cero (1642-1945) MáquinaZ1. Konrad Zuse (1930) – máquina de calcular electromecánica – secreto militar – destruida en el bombardeo de Berlín (1944)
  • 20.
    Mark I. HowardAiken (1944) – Primer computador estadounidense de propósito general – Tecnología electromecánica (relés) – Memoria: 72 palabras de 23 dígitos decimales – Ciclo de instrucción: 6 seg. – Aplicaciones militares Generación cero (1642-1945)
  • 21.
    ENIGMA Primera generación (1945-1955) COLOSSUS ●Reino Unido (1943) ● primer computador electrónico digital de la historia ● secreto militar hasta los años 70 ● destinado a descifrar los mensajes del codificador alemán ENIGMA
  • 22.
    Primera generación (1945-1955) ENIAC.John Mauchley y J. Presper Eckert (1946) – inicio de la historia moderna de los computadores – aplicaciones militares – 18000 válvulas, 1500 relés, 30 toneladas, 140 KW
  • 23.
    Primera generación (1945-1955) ●John von Neumann. – Estructura de los computadores modernos – EDSAC. Maurice Wilkes (1949) – IAS. von Neumann (1952) ● UNIVAC. Mauchley y Eckert (1951) – Primer computador comercial de la historia – Empresas y universidades comienzan a usar computadores ● IBM 701, 704, 709 (1953) – Computadores de propósito general – Aplicaciones científicas – Gran éxito comercial
  • 24.
    Segunda generación (1955-1965) Invencióndel transistor (1956) – John Bardeen – Walter Brattain – William Shockley. ● Laboratorios Bell (AT&T) ● Nobel en 1956
  • 25.
    Segunda generación (1955-1965) ●PDP-1. Kenneth Olsen. DEC (1961) – Primer mini-ordenador de la historia – Se introduce el terminal CRT (monitor) – Gran éxito comercial e implantación en las universidades ● PDP-8. DEC (1965) – Sucesor del anterior – Más pequeño, potente y económico – Arquitectura de un único BUS (omnibus) – Gran éxito: 50000 unidades vendidas
  • 26.
    DEC PDP-8 (1965) Segundageneración (1955-1965)
  • 27.
    Segunda generación (1955-1965) ●IBM 7090 y 7094 (1962) – Versión transistorizada del IBM 709 – Aplicaciones científicas – Dominan el mercado en los años 60 ● IBM 1401 (1961) – Versión económica orientada a los negocios ● CDC-6600 (1964) – Primera máquina en implementar procesamiento altamente paralelo – Diez veces más rápida que el IBM 7094 ● Borrows B5000 (1963) – Primer computador diseñado para ser programado en un lenguaje de alto nivel (Algol 60)
  • 28.
  • 29.
    Tercera generación (1965-1970) ●Circuitos Integrados (C.I.) – Decenas, cientos, miles ... de ttores/chip – Aumento de velocidad, disminución de tamaño ● IBM System/360 (1964) – Introduce el concepto de "familia de ordenadores" – Sucesión de familias compatibles hasta mediados de los 80: 370, 4300, 3080 y 3090 ● DEC PDP-11 (1970) – Sucesor del PDP-8 – Minicomputador dominante en los años 70 – Gran expansión en las universidades – Ligado a los inicios de UNIX y el lenguaje C
  • 30.
    Cuarta generación (1970-?) Circuitosintegrados LSI (Large Scale of Integration) ● Intel 4004 (1971) – primer microprocesador en un único chip ● Intel 8008 (1972) – primer procesador de 8 bits ● Intel 8080 (1974) ● Zilog Z80 ● Motorola 6800 (1975)
  • 31.
    Cuarta generación (1970-?) ●Miniordenadores vendidos como kits (1975) – MITS Altair 8800 ● Bill Gates y Paul Allen fundan Microsoft (1975) – Intérprete de BASIC para el Altair 8800
  • 32.
    Cray-1 Cuarta generación (1970-?) ●Cray-1 (1976) – primer supercomputador con arquitectura vectorial ● Apple II (1977) – primer computador personal de éxito ● Intel 8086/8088 (1978) – procesador de 16 bits – familia IBM PC ● Motorola 68000 (1979) – Familia Apple Macintosh
  • 33.
    Ley de Moore ●Gordon Moore (1964) "La densidad de integración se duplica cada 18 meses"
  • 34.
    Clasificaciones ● Diversidad decriterios: – Generaciones – Familias – Paralelismo – Repertorio de instrucciones – Tamaño, rendimiento, áreas de aplicación
  • 35.
    Clasificaciones. Paralelismo ● SISD:Single Instruction stream, Single Data stream – un único programa y un único conjunto de datos – máquina de von Neumann ● SIMD: Single Instruction stream, Multiple Data stream – un único programa que se ejecuta sobre múltiples conjuntos de datos simultáneamente – máquinas vectoriales – procesadores matriciales ● MIMD: Multiple Instruction stream, Multiple Data stream – múltiples programas, múltiples conjuntos de datos – multiprocesadores
  • 36.
    Clasificaciones. Repertorio de instrucciones ●RISC: Reduced Instruction Set Computer – pocas instrucciones y modos de direccionamiento – instrucciones simples de un ciclo – formato fijo de instrucciones ● CISC: Complex Instruction Set Computer – muchas instrucciones y modos de direccionamiento – instrucciones complejas de varios ciclo – instrucciones de formato variable
  • 37.
    Clasificaciones. Tamaño, rendimientoy área de aplicación ● Minicomputadores – Aplicaciones en tiempo real ● control del tráfico aéreo ● automatización de fábricas – Integran microprocesador, memoria y E/S en una placa ● computadores personales, microcontroladores ● Supermini/Estaciones de trabajo – minicomputador potente con bastante memoria – sistemas en tiempo compartido – servidores
  • 38.
    Clasificaciones. Tamaño, rendimientoy área de aplicación ● Mainframes/Maxicomputadores: – elevada capacidad de entrada salida – normalmente usados para aplicaciones no interactivas ● traspaso de grandes bases de datos ● largos trabajos que no requieren intervención ● Supercomputadores: – especialmente diseñados para aumentar el número de operaciones en punto flotante por segundo – arquitecturas altamente paralelas
  • 39.
    Niveles ● Los computadorespueden estudiarse desde distintos niveles de abstracción: – nivel de dispositivo (transistores, ...) – nivel digital (puertas, ...) – nivel de microprogramación – nivel de máquina – nivel ensamblador – nivel de lenguaje ● Cada nivel representa una abstracción distinta con distintos objetos y distintas operaciones. Esto nos permite suprimir detalles irrelevantes en un determinado nivel. ● Los niveles más bajos son los más cercanos a la máquina y los más lejanos al programador.
  • 40.
    Niveles ● Normalmente elprogramador escribe en un lenguaje de alto nivel que es sucesivamente interpretado o traducido a los lenguajes de los distintos niveles. – Traducción: se sustituye cada instrucción del programa escrito en el nivel p por una secuencia de instrucciones equivalentes en el nivel p-1. Se genera un programa en el nivel p-1 y después se ejecuta. – Interpretación: un programa del nivel p-1 toma los programas escritos en nivel p, examina cada instrucción y la ejecuta con instrucciones del nivel p-1. No es necesario generar un programa en el nivel p-1. Cada instrucción es examinada, decodificada y ejecutada inmediatamente.
  • 41.
    Niveles. Hardware/Software ● Hardware:conjunto de componentes o sistemas electrónicos o mecánicos que componen el ordenador o sus periféricos. ● Software: programas destinados a ser ejecutados por la CPU del ordenador. Son cargados en la memoria principal para su ejecución. ● Firmware: programas grabados en memoria de sólo lectura. Suelen ir incluidos con el hardware "de serie".
  • 42.
    Niveles. Hardware/Software Aplicaciones Sistema Operativo Hardware Software nivel0 nivel n ● Cada nivel puede asociarse al hardware, software o firmware ● Algunas tareas pueden implementarse en distintos niveles o entre niveles: codiseño hardware/software