Introducción a la informática (2) Principios básicos de la operación de programas y computadoras

Este artículo es una nota y un resumen del curso 李戈del profesor 计算概论与程序设计基础en la Escuela de Tecnología de la Información de la Universidad de Pekín . Dirección del curso fuente

El pasado y el futuro de las computadoras

que es计算机

计算机Origen del nombre:

  • La palabra inglesa "computadora" apareció oficialmente en 1646
    • En ese momento era alguien que se especializaba en informática
  • La máquina utilizada para el cálculo se llamaba "calculadora" o "máquina de tabulación" antes de 1940.
  • No fue hasta la invención del primer dispositivo informático electrónico alrededor de 1940 计算机que el término tiene formalmente el significado actual.

计算机Es un dispositivo que puede recibir entradas, procesar datos, almacenar datos y generar salidas de acuerdo con una serie de instrucciones almacenadas.

Computadoras en la historia

Dado que hay muchos contenidos de historia de la computadora introducidos en el curso, no los enumeraré uno por uno, sino que presentaré brevemente algunos más relevantes para el artículo.

Generalmente considerado第一台计算机

ENIAC: Nombre completo Electronic Numeric Integrator and Computer, llamado电子数字积分计算机

Como se muestra:
imagen

  • J. Mauchly y J.
    Eckert , Moore College, Universidad de Pennsylvania
  • Comenzó en 1943, se completó en 1945 y se lanzó oficialmente el 14 de febrero de 1946
  • 17.468 tubos electrónicos, 7.200 diodos, más de 70.000 resistencias, más de 10.000 condensadores y 6.000 relés, y el circuito tiene hasta 500.000 puntos de soldadura; 174.000 vatios de consumo de energía
  • 30 metros de largo, 3 metros de alto, 30 toneladas de peso, cubre un área de 170 metros cuadrados
  • 5000 sumas por segundo pueden completar dos multiplicaciones de 10 dígitos en 3/1000 segundos

ENIACDeficiencias:

  • ENIAC no es una computadora con programa almacenado
  • La programación se realiza mediante cableado manual

Desde ENIAChastaEDVAC

EDVAC: Nombre completo Electronic Discrete Variable Automatic Computer, llamado电子离散变量自动计算机

Como se muestra:
imagen

  • En marzo de 1945, el pionero de la tecnología informática 冯·诺伊曼(John von Neumann) llegó a Mauchly y Eckert en el Moore College para tener una discusión de dos días y elaboró ​​un programa para una computadora electrónica de programa almacenado. El plan fue 冯·诺伊曼compilado y publicado en junio de 1945——存储程序控制原理
  • EDVAC Fabricado en 1952
  • EDVAC Es la primera computadora con programas almacenados del mundo
  • Es el prototipo y la plantilla de todas las computadoras modernas.

Computadora moderna

Nombre completo: 通用电子数字计算机(Computadora digital electrónica de uso general)

  • Propósito general: una computadora es un dispositivo de procesamiento de información general, siempre que haya un software adecuado, se puede usar para varios propósitos
  • Electrónica: Es la base física de la realización del hardware de la computadora. El funcionamiento de la computadora se realiza en última instancia a través de la corriente y el potencial en el circuito electrónico.
  • Digitalización: es la forma de representación informática de la información. Toda la información, ya sea originalmente numérica, texto, gráficos, sonido, etc., se unifica en una representación digital binaria en la computadora. La digitalización es una característica básica de las computadoras y una base importante para la versatilidad

Nuevo modelo de cálculo y teoría informática

Con el fracaso de la Ley de Moore, la gente necesita nuevas teorías informáticas y modelos de cálculo. Incluyendo pero no limitado a 量子计算机y 生物计算机etc.

La propuesta de la computación cuántica

En 1982, Richard Feynman propuso 利用量子体系实现通用计算la idea en un famoso discurso . Descubrió que la potencia computacional necesaria para analizar y simular el mundo de la física cuántica supera con creces las capacidades que pueden alcanzar las computadoras clásicas. Usar un sistema cuántico controlable (por ejemplo: una computadora cuántica) para simular y calcular otro sistema cuántico de interés (por ejemplo: el universo) será muy eficiente

Computación cuántica versus computación clásica

Cálculo clásico:

  • Un bit solo puede contener un estado a la vez
  • Por ejemplo: dos bits, solo se puede almacenar una de las siguientes condiciones a la vez:
    • 00011011

Computación cuántica:

  • Un qubit puede contener varios estados al mismo tiempo
  • Por ejemplo, dos bits de dos palabras pueden almacenar todas las siguientes condiciones al mismo tiempo:
    • 00011011

En teoría, 300 qubits transportan datos de 2 elevado a 300, lo que excederá el número total de átomos en todo el universo.

Sin embargo, en realidad, es necesario corregir errores en el proceso de cálculo, y se necesitan muchos qubits físicos para obtener un qubit lógico tolerante a fallas. Por lo tanto, alrededor de 1.000 qubits físicos pueden obtener una potencia informática superior a las computadoras clásicas.

En el curso también se popularizan muchos principios básicos y conocimientos de las computadoras cuánticas, que los estudiantes interesados ​​pueden escuchar.

计算机的过去和未来Detengámonos aquí primero, volvamos la mirada hacia atrás 现代计算机y aprendamos 程序运行的基本原理.

Principios básicos del funcionamiento del programa

Nosotros 计算概论(一)ya sabemos en:

Los circuitos pueden completar cálculos, por lo que puede diseñar sumas, restas, multiplicaciones ... varios circuitos ... y usarlos para completar varios tipos de cálculos.

Entonces, ¿es posible:

  • ¡Qué cálculos deben completarse, diseñe un circuito correspondiente!
  • ¡He diseñado muchos circuitos atómicos y los ensamblaré temporalmente cuando sea necesario!

ENIACEs una máquina así, y la historia ha demostrado que está desactualizada.

Por lo tanto, no puede completar nuevas tareas de cálculo volviendo a "combinar diferentes circuitos".

En lugar:

  • Controle la computadora a través de un comando determinado y deje que la computadora funcione de acuerdo con este comando, que puede ser representado por una señal eléctrica;
  • Este tipo de comando no se "ingresa temporalmente" en la computadora, sino que se almacena en algún lugar y se puede cambiar en cualquier momento;
  • ¡Cuando se cambia el comando, también se cambia la función de la computadora!
  • ¡Esto es EDVAC!, el primero del mundo 存储程序计算机. Las computadoras ahora sonEDVAC

que es存储程序计算机

存储程序计算机También llamado冯·诺伊曼式计算机

  • En 1945 von Neumann al 关于EDVAC的报告草案título, redactó un informe resumido de 101 páginas.
  • EDVAC Fue la primera computadora del mundo con programas almacenados y se convirtió en el prototipo y modelo de todas las computadoras modernas.

Características técnicas

  • 6000 tubos
  • 12000 diodos
  • Potencia 56KW, peso 7850KG
  • Con una superficie de 45,5 metros cuadrados
  • Necesita treinta personas para operar al mismo tiempo

冯·诺伊曼式计算机Estructura:

Inserte la descripción de la imagen aquí

Controlador

  • Comando y controle la coordinación de los componentes de la computadora

Unidad aritmética

  • Realiza operaciones aritméticas y lógicas con datos.

Memoria

  • Almacene la información a operar y los
    resultados intermedios , incluidas las instrucciones y los datos de la máquina.

Dispositivo de entrada, dispositivo de salida

Proceso de trabajo

  • En 控制器el comando, de las 存储器instrucciones extraídas
  • Analice la instrucción, obtenga la 命令suma calculada 待操作的数;
  • De 存储器tomado para ser calculado en el número de运算器
  • 运算器Resultados de cálculo
  • Salida a 存储器o输出设备

Veamos primero la clasificación del almacenamiento.

Clasificación y características de almacenamiento.

La clasificación es la siguiente:

  • Registrarse
    • Dentro de la CPU, utilizado para almacenar los operandos y resultados.
  • cache
    • Por lo general, dentro de la CPU, utilizado como búfer de datos
  • RAM
    • La parte de la CPU que quiere poner pero no puede poner
  • Almacenamiento externo

Características del registro

  • La velocidad de trabajo es consistente con el ritmo de la unidad informática de la CPU
  • Tiempo de acceso a los datos sobre pasar 0.x纳秒tiempo
  • 寄存器Conectada directamente con la unidad de cálculo, la unidad de cálculo 寄存器realiza directamente operaciones de lectura y escritura.
  • 寄存器Alto costo de producción, generalmente solo unos pocos registros están equipados en chips de CPU

Función CACHE (caché)

  • El caché interno de la CPU se llama 内部高速缓存(caché interno)
  • El caché de la placa base se llama 外部高速缓存(caché externo)
  • Generalmente dividido en múltiples niveles, la frecuencia de trabajo es diferente entre diferentes niveles.
  • Generalmente lee y escribe una vez en nanosegundos
  • Diferente capacidad (nK-nM)

Características de la memoria

  • Memoria interna, denominada memoria
  • Almacenar datos de operación en CPU
  • Almacenar datos intercambiados con almacenamiento externo como disco duro
  • Almacenamiento temporal, pérdida de energía
  • Precio bajo y fácil de reemplazar.
  • La frecuencia de trabajo se acerca cada vez más a la frecuencia de trabajo de la CPU, pero todavía hay una brecha

Reglas de lectura de datos de la CPU

Cuando la CPU lee datos

  • Encuéntrelo primero en la memoria caché y léalo inmediatamente cuando lo encuentre;
  • Si no lo encuentra, lea de la memoria a un ritmo relativamente lento y envíelo a la CPU para su procesamiento.
  • Al mismo tiempo, transfiera el bloque de datos donde se encuentran estos datos al caché
  • Puede realizar la lectura posterior de todo el bloque de datos de la caché, sin necesidad de llamar a la memoria.

Minimizar las posibles operaciones de lectura "lentas";

Principio de localidad

  • El acceso de la CPU a los datos suele tener una determinada localidad:
    • Localidad temporal: si se está utilizando una dirección de memoria, es probable que se vuelva a acceder en un futuro próximo
    • Localidad espacial: es probable que la información que se pueda utilizar en un futuro próximo sea adyacente a la información utilizada actualmente

Explicación del nombre relacionado con el almacenamiento

RAM(Memoria de acceso aleatorio)

  • DRAM(RAM dinámica): acceso aleatorio, pero debe actualizarse periódicamente para mantener el contenido almacenado
  • SRAM(RAM estática): una memoria a la que se puede acceder de forma aleatoria y que no necesita actualizarse periódicamente
  • EDO DRAM(DRAM de salida de datos extendida) Memoria dinámica de salida de datos extendida
    • Visite la página siguiente mientras envía datos a la CPU, mejorando así la eficiencia del trabajo (aproximadamente un DRAM15 ~ 30% más rápido que la tradicional ).
  • SDRAM(DRAM síncrona) memoria dinámica síncrona
    • Funciona en la frecuencia del bus externo de la CPU y está sincronizado con el reloj de la CPU.
  • DDR(SDRAM de velocidad de datos doble) memoria dinámica síncrona de salida de datos doble
    • DDR SDRAMEn teoría, RAMla velocidad se puede duplicar y puede leer datos tanto en los flancos ascendente como descendente del reloj.
    • DDR2 Voltaje 1.8v, frecuencia de gama alta hasta 1000MHz
    • DDR3 Voltaje 1.5v, frecuencia hasta 2000MHz, lectura previa de 8 bits
    • DDR4 Voltaje 1.2v, velocidad de transmisión de datos 3.2GT / s

ROM(Memoria de sólo lectura)

  • ROM(Máscara de ROM): se escribe durante la producción de la ROM y el usuario no puede cambiarla
  • PROM(ROM programable, fusible PROM): en blanco durante la producción, el usuario puede escribir, pero no se puede cambiar después de escribir
  • EPROM(PROM borrable, EPROM UV): se puede borrar y reescribir, pero se debe utilizar equipo especial
  • EEPROM(Eléctricamente EPROM)
  • Flash EPROM (Memoria de solo lectura programable y borrable rápida)

¿Por qué la memoria puede almacenar números?

Esta pregunta en realidad es: ¿Cómo almacenar datos a través de circuitos?

Primer vistazo a un 循环或circuito:

imagen

Simule lo siguiente:

  • Inicialmente A, las Bentradas son 0, la salida del circuito es 0
  • En este punto, Ael estado de entrada que estamos tratando de cambiar es 1
  • La salida del circuito es 1 y Bel estado de entrada también cambiará a 1.
  • Después de eso, no importa cómo esté configurado A, la salida siempre es 1

Mira otro 循环与circuito:

imagen

Simule lo siguiente:

  • Inicialmente A, Bla entrada es 1, la salida del circuito es 1
  • En este punto, Ael estado de entrada que estamos tratando de cambiar es 0.
  • La salida del circuito es 0 y Bel estado de entrada también se convertirá en 0 al mismo tiempo.
  • Después de eso, no importa cómo se configure A, la salida siempre es 0

De acuerdo con los dos circuitos simples anteriores, tenemos un circuito que puede almacenar 0 y 1 por separado (a menos que se apague la energía) .La desventaja es que no se puede modificar.

Luego optimizamos la combinación de estos dos circuitos, y obtenemos uno 锁存器:

imagen

Simule lo siguiente:

  • Establecido RESETen 1 (reinicio de inicio), la salida del circuito es 0 y la salida del circuito de bucle es 0
  • Establecer RESETen 0 (apagar reinicio), SETestablecer en 1, la salida del circuito es 1, la salida del circuito de bucle es 1
    • Si el reinicio no se inicia en este momento, no importa SETqué valor se establezca, el estado de salida del circuito es siempre 1
    • De esta manera, se realiza la función de guardar datos 1
  • Entonces quiero cambiar los datos a 0, ¿qué debo hacer?
    • Se RESETestablecerá en 1 (iniciar reinicio)
    • Se RESETestablecerá en 0 (apague el reinicio)

En este punto, podemos responder la pregunta de ahora 锁存器y leer y escribir un bit a través del circuito.

Sin embargo, sobre esta base, se optimiza otra 门锁estructura. Veamos el diagrama del circuito:

imagen

Ejecución del comando

Ya sabemos:

  • El circuito de la CPU puede realizar cálculos;
  • Computadora Von Neumann
    • No es necesario "enchufar" circuitos de combinación temporales para completar diferentes tareas
    • Para completar diferentes funciones leyendo y ejecutando comandos "almacenados";

Luego llegamos a comprender el conocimiento relacionado con la ejecución de comandos.

Conjunto de instrucciones

  • Un conjunto de instrucciones que se utilizan para calcular y controlar un sistema informático en una CPU.
  • Predefinido durante el diseño de la CPU
  • Es un indicador importante del rendimiento de la CPU.

Como Intel X86指令集, ARM指令集espera

instrucción

  • La manifestación final es el código binario.
  • Su longitud varía con los diferentes tipos de CPU;
  • Contiene uno o más bytes
  • Contenidos 指令码y操作数
    • 指令码 Explica que hacer
    • 操作数 Se refiere al número o dirección a operar

Modo de trabajo de la CPU

Conociendo la 储存实现suma 指令集概念, echemos un vistazo breve a cómo funciona la CPU.

imagen

  • ALU: Unidad Aritmética Lógica

    • Circuitos digitales dedicados a realizar operaciones aritméticas y lógicas.
  • Registrarse

    • Acumulador AC: almacena temporalmente el resultado del cálculo de ALU
    • Registro de condición de estado PSR: resultado de la operación ALU, información del estado de funcionamiento del sistema
    • Registro de datos MDR: datos de búfer
  • Controlador

    • Contador de programa PC: almacena la dirección de la siguiente instrucción
    • Registro de instrucciones IR: almacena la instrucción que se está ejecutando actualmente
    • Registro de direcciones MAR: almacena la dirección de la memoria principal a la que se accede

Ejecución del programa

Entiende 指令的执行, ¿cómo se ejecuta el programa que escribimos? ¿Qué tiene que ver con las instrucciones?

Mira el siguiente proceso:
imagen

  • Primero, use un lenguaje de alto nivel para escribir funciones de programa para lograr
  • Compilado en lenguaje ensamblador por un compilador específico (un programa puede convertirse en múltiples instrucciones)
  • Luego, el lenguaje ensamblador se compila en instrucciones de máquina, que luego son ejecutadas por la CPU
  • Todo el proceso de ejecución se completa en la memoria y el código y los datos relacionados se almacenan en diferentes áreas de la memoria.
  • Todo el proceso de ejecución se ejecuta de forma continua y secuencial bajo la coordinación del controlador.

Observamos el proceso de ejecución:
imagen

para resumir

A través de los dos artículos de Introducción a la Computación (1, 2), sabemos:

  • ¡Las computadoras pueden calcular con circuitos!
    • Números -> Números binarios -> se pueden calcular con operaciones booleanas -> se pueden realizar mediante circuitos
  • La CPU es un circuito fabricado, ¡puede completar las operaciones en el conjunto de instrucciones!
    • La instrucción es un código binario que la CPU puede entender y ejecutar;
  • Si desea que la CPU haga las cosas de acuerdo con nuestras ideas, debe:
    • Escribe lo que queremos hacer en un lenguaje de programación.
    • Traduzca esta cosa escrita en una instrucción binaria que la CPU pueda entender

El contenido de esta parte se aprende JVMsincrónicamente mientras se estudia. Siempre se pueden encontrar algunas similitudes. El diseño por computadora es realmente genial, jajaja.

Este es el final de la introducción al cálculo, y luego atacaremos con todo nuestro corazón Android binder.

Supongo que te gusta

Origin blog.csdn.net/lijie2664989/article/details/107899265
Recomendado
Clasificación