Reinventar la computadora sin estar atado por problemas heredados

Escenario: ambientación post apocalíptica, pero ya en reconstrucción. Un pequeño (unos pocos millones), muy bien educado.

Activos:

-Gobierno central fuerte, tecnocrático y semiautoritario, que trata el tema de tener una fuente de chips de computadora de la misma manera que el gobierno de EE. UU. trata de tener las armas más nuevas.

-Tiempo ;) (sí, no hay problema en hacer una investigación lenta de una manera que dejaría fuera del mercado a cualquier empresa contemporánea)

-base industrial - parcialmente reconstruida,

-El mercado es un poco pequeño, pero no hay problema en que el gobierno organice una APP en la que el gobierno cubriría el costo de I+D con la condición de que los conjuntos de chips se vendan a bajo precio.

Datos conservados:

-Teóricamente, se suponía que debían conservarse todos los planos y códigos fuente necesarios, en la práctica resulta que los datos guardados son imperfectos o difíciles de implementar (como tener planos para el procesador y problemas terribles para lograr la precisión requerida y problemas para producir materiales lo suficientemente puros)

-todavia quedan algunos ingenieros de antes de que se fuera el apocalipsis, sin mencionar que no hay problema para encontrar nuevos estudiantes

-quedan algunos ultimos gadgets electronicos (no solo Nokia 3310 ;) ) para saber bien que se puede conseguir

¿Cómo se vería una computadora si no estuviéramos obligados por problemas heredados, pero podríamos haberla diseñado desde cero? Al mismo tiempo, estar algo restringido por las condiciones locales que requieren tomar atajos aquí y allá, sin mencionar el ajuste a las condiciones políticas locales.

1) Teclado: el teclado original fue diseñado para ser un poco incómodo, ¿entonces no más qwerty?

2) Computación paralela: la tecnología como tal es teóricamente brillante, energéticamente eficiente, etc. Simplemente es una pesadilla para programar y requeriría cambiar la idea completa de muchos programas. Además, en condiciones tan restringidas, ¿sería más fácil tener un solo núcleo y, a veces, ponerlo en docenas para cualquier dispositivo que necesite más potencia de cómputo?

3) Mayor integración del conjunto de chips, presumiblemente CPU y GPU combinados.

4) ¿Poner conexión a Internet en la conexión eléctrica para evitar un cable (¿o sería una fuente grave de interferencias?)?

4) Mayor estandarización de los cables (ya que solía haber enchufes separados para mouse y teclado) no sé, ¿el mismo enchufe para la pantalla y para la conexión a la red?

5) Más computación en la nube, ¿permite un uso más eficiente de la demanda máxima de poder computacional (mientras que accidentalmente le da al gobierno más supervisión sobre todo el sistema)?

6) ¿Reemplazar principalmente la propiedad intelectual con premios por crear un bien público con código abierto para permitir más retoques (accidentalmente también le da al gobierno un poder adicional sobre lo que se está desarrollando)?

7) El gobierno es tan amable que proporciona a todos los ciudadanos sus propias cuentas en la nueva versión del sitio web social "Faceborg", cuenta bancaria, correo electrónico, plataforma de comercio electrónico, firma electrónica, motor de búsqueda, WiFi gratuito equivalente, etc. (todo siendo tratados como bien público)?

8) Todo bajo algún sistema basado en Linux debido a la alta probabilidad de que se realice una copia de seguridad de los códigos fuente.

(¿Qué características adicionales deberían incluirse? ¿O tal vez algunas eliminarse por poco realistas?)

Dada la escasez de recursos y la falta de capitalismo habrá uno de cada modelo. No obtendría tres programas diseñados por separado para hacer más o menos lo mismo. Cualquier código actual que usaran sería nuestro código fuente abierto como usted especula, pero espere que mucho sea nuevo o altamente modificado.
El enlace en la parte superior de su pregunta está roto.
"Poner la conexión a Internet en la conexión eléctrica para evitar un cable" Conocido como comunicación por línea eléctrica o PLC. A menudo se limita a velocidades de bits bastante bajas debido a las preocupaciones de RFI sobre convertir el cableado eléctrico sin blindaje en antenas de transmisión que obligan al uso de frecuencias muy bajas (aunque los equipos internos pueden usar frecuencias más altas y pueden alcanzar velocidades de datos respetables).
"Teclado: el teclado original fue diseñado para ser un poco incómodo, ¿así que no más qwerty?" Esta falsedad siempre me ha molestado. QWERTY fue diseñado para transcriptores de código Morse, quienes tenían que ser tan rápidos como los códigos que transcribían . Ralentizarlos no era una opción. QWERTY en realidad está diseñado para ser increíblemente eficiente... si estás transcribiendo código Morse. Como efecto secundario, también resulta ser muy eficiente para todos los demás. Resulta, de hecho, ser igual al Dvorak, el teclado que muchos afirman está diseñado para ser el más rápido.
@Azuaron Hay muchas historias de origen sobre QWERTY y hasta el día de hoy solo estamos seguros de que el mejor diseño es al que estás acostumbrado.
@AmiralPatate "El desarrollo [de QWERTY] como respuesta a un error mecánico ha sido cuestionado por investigadores de la Universidad de Kyoto... En un artículo de 2011, [ellos] rastrearon la evolución del teclado de la máquina de escribir... el sistema QWERTY surgió como resultado de cómo se estaban utilizando las primeras máquinas de escribir. Los primeros usuarios ... incluyeron operadores de telégrafo que necesitaban transcribir mensajes rápidamente. [Ellos] encontraron que la disposición alfabética era confusa e ineficiente para traducir el código morse ". Smithsonian
@AmiralPatate Definitivamente, el mejor es al que estás acostumbrado, pero QWERTY no fue "diseñado para ser realmente un poco inconveniente".
@Azuaron Este documento señala que las leyes de patentes son un factor para mover M cerca de N e intercambiar X y C. Remington compró el diseño de Sholes como QWE.TY y luego intercambiaron R con punto. Definitivamente hubo otros factores en juego más allá del código Morse. Aunque estoy de acuerdo con el resultado final, no fue diseñado para ser un inconveniente.
Respuesta a la pregunta: es un lanzamiento de moneda... cualquier cosa puede pasar, pero no esperes que se desvíe tanto de lo que tenemos hoy. Sin embargo, aquí hay una versión muy divertida... el sombrío futuro de Warhammer 40,000. crafty-games.com/forum/index.php?topic=6416.0 :RE
Toda la premisa parte de la suposición de que la forma en que lo hicimos no es la forma más eficiente/fácil en gran medida, lo cual es una especie de salto para mí.
La CPU y la GPU nunca se meterían en una sola cosa, la premisa completa de cada uno es demasiado diferente; Las CPU tienen algunas canalizaciones muy sólidas para impulsar conjuntos complicados de instrucciones, donde cada una puede depender de la última (procesamiento secuencial muy bueno). Las GPU tienen cientos de conductos más pequeños que no dependen de los demás y no pueden realizar las operaciones complejas que puede realizar una CPU (procesamiento paralelo fantástico). ¿Sabes cómo llamamos a las computadoras con cientos de conductos de CPU? Supercomputadoras. A todos los efectos, una supercomputadora ES una GPU, pero hipercargada.

Respuestas (4)

Mi conjetura es mayormente decepcionante: volvería a la línea 8086 .

Está bien documentado. Funciona. Requiere la menor precisión de fabricación de todos los procesadores "verdaderos". Es, simplemente, tan fácil de fabricar como parece.

Ahora, para sus puntos:

  1. Teclado - ¿Quién sabe? Tal vez algún otro sistema funcione mejor para un idioma en particular, pero en general no está mal. Además, dices que tienes científicos de antes de la guerra. Preferirían lo que saben.

  2. Computación paralela: no realmente. Es una pesadilla hacerlo bien. Y para una sociedad que no tiene computadoras en absoluto, tampoco es necesario. Durante mucho tiempo, será más fácil y rápido hacer que un solo chip sea más rápido que hacer que dos funcionen en paralelo.

  3. GPU - ¿Qué GPU? El gobierno no necesita ninguna GPU. Durante mucho tiempo, todo lo que necesita es una gran máquina de contabilidad. La salida de texto y algunos gráficos son suficientes. Entonces, si alguna vez aparece, será una adición. Tal como era.

  4. Poner la conexión a Internet en la conexión eléctrica - ¡Claro que no! Esta es una pesadilla incluso hoy en día. Y, por supuesto, desea que las computadoras del gobierno usen electricidad pública, pero mantenga la red aislada, ¿no es así? Los cables son baratos. el esfuerzo de investigación no lo es. Ni siquiera hoy, y las empresas lo están intentando.

  5. Más computación en la nube, tal vez. Por supuesto, no hay ninguna nube. Son solo las computadoras de otra persona.

  6. En su mayoría, reemplace la propiedad intelectual con premios, probado en muchos países comunistas. manera segura de hacer que la gente se vaya a otra parte y trabaje donde pueda guardar el fruto de su trabajo. Como manualidades. O la agricultura. O la caza furtiva. ¿A menos que desee eliminar todas las formas de propiedad? Por supuesto, es posible que solo trabajen por un salario, pero si se les paga mensualmente o por hora, ¿por qué competirían? ¿Especialmente que solo el gobierno los contrataría? (sin IP, ninguna empresa querría pagar por su trabajo, ya que las empresas no podrían quedarse con los efectos)

  7. ¿El gobierno maneja el dinero y la vida social de las personas? Genial, ¡entonces quieres volverte comunista y eliminar la propiedad en cualquier sentido real!

  8. Todo bajo algún sistema basado en Linux - posible. Por supuesto, solo si los puntos sobre cambios radicales en la arquitectura no funcionarán. Para una nueva arquitectura, necesitará un nuevo sistema operativo de todos modos.

Para ser justos, las GPU son realmente buenas en operaciones paralelas masivas. Si su gobierno está interesado en cualquier tipo de criptografía o investigación, querrán tener algo que siga una arquitectura base de GPU. De hecho, podría convertirse en la arquitectura estándar, y la mayor parte de la razón por la que esto no se hace hoy en día es que hay demasiado hardware y software heredados. Comenzar desde cero significa que puede diseñar cosas para que funcionen con procesadores de varios miles de núcleos desde cero.
@UIDAlexD Solo si no hay presión para tener algo listo y funcionando rápido. Y las GPU son buenas, seguro que lo son. Sin embargo, la mayoría de los sistemas de bases de datos no los utilizan. Los gobiernos se ejecutan en bases de datos, así que... Realmente me gustaría creer que ocurriría un paralelo, pero creo que la presión del tiempo y la necesidad de mostrar algunos éxitos lo evitarían. Especialmente si no hay IP ni pagos, solo premios. Necesitas ganar todos los meses para ganarlos con la frecuencia suficiente para comer... Lo suficiente para recuperar los planes 8086 y hacer actualizaciones graduales, no lo suficiente para pensar de forma completamente nueva.
Oh, sé sobre el gobierno y sus bases de datos, trabajo para ellos. Nuestros servidores de base de datos no usan GPU porque son solo máquinas SQL que procesan números sin soporte para ello. Estoy bastante seguro de que si eliminara el legado y construyera una nueva arquitectura de base de datos desde cero, podría obtener grandes beneficios de un modelo masivamente paralelo. Habiendo dicho todo eso, tengo que estar de acuerdo a regañadientes con su punto sobre los premios. A menos que tengan algún tipo de Iniciativa de Computación Avanzada, desempolvar los documentos antiguos será la mejor manera de obtener resultados inmediatos.
@UIDAlexD corrígeme si me equivoco, pero ¿no es el rendimiento de la unidad un cuello de botella? ¿No es la CPU? Siempre creí que para la velocidad con la que se pueden recibir datos desde el disco, la velocidad de procesamiento de la CPU suele ser más que adecuada. En las máquinas que puedo ver, la CPU rara vez se acerca al 100% durante las operaciones de DB de todos modos.
En las computadoras de casa, sí. Las bases de datos en las que trabajo se ejecutan en matrices de unidades, por lo que las limitaciones mecánicas de una sola unidad no son un gran problema. Además, si bien una base de datos rara vez sufre una gran carga, los servidores que alimentan la lógica para ellos (como los que manejan las transacciones comerciales de Steam/Amazon en lugar de solo almacenar datos de productos) realmente necesitan la velocidad para manejar solicitudes masivas o complicadas.
Dicho esto, los DB necesitan la potencia a veces, especialmente para Fusiones/Copias de seguridad/Reconstrucciones/Ect. Normalmente ejecutamos estas operaciones entre las 2 y las 3 a. m., ya que una base de datos grande puede demorar más de 5 horas. Eso significa que lo más pronto que podríamos tener una solicitud para eso es mañana por la mañana. Si tuviera el poder de procesamiento para hacer eso en 10 minutos, sería una gran ayuda para la productividad.
No solo en los de casa. En servidores pequeños también. Pero veo tu punto.
Y veo el tuyo. En 9 universos paralelos de cada 10, optarán por la ruta rápida y fácil 'Reconstruir hardware antiguo del que tenemos documentación'.

Las siguientes serían mis conjeturas educadas:

1- Estandarización: no solo algunos puertos son estándar, sino que comenzarán de nuevo, todos los sistemas podrían estandarizarse y forzarse a poder tener reemplazos. Esencialmente creando interfaces antes que dispositivos. Esto incluiría el software. Como usuario de Linux, puedo cambiar mi entorno de escritorio sin cambiar el resto del sistema operativo. Esto podría llevarse a un nuevo nivel. Los controladores podrían estandarizarse para que todos los sistemas operativos pudieran beneficiarse de un único conjunto de controladores.

2- Procesamiento asimétrico. Con todos los sistemas que se crearán desde cero, se podría crear una arquitectura de computadora con una CPU de alta velocidad, una CPU de rango medio solo para que funcione el sistema operativo y subprocesos de trabajo para acelerar el procesamiento paralelo.

3- Mejores protocolos de red. El protocolo TCP/IP no fue diseñado para hoy, fue diseñado para redes más pequeñas sin problemas de seguridad. Un sistema con seguridad incorporada ayudará mucho. Además, el direccionamiento de 64 bits permitiría asignar una dirección única a todo en la tierra, eliminando la necesidad de unidades NAT.

4- Se podrían combinar las cuentas de ciudadanía e internet. Con suficientes medidas de seguridad, todo el mundo será un ciudadano en Internet, no personas anónimas. Esto probablemente reduciría los trolls y mejoraría la calidad general de las interacciones en línea.

5- Si el mundo se construye desde cero, la infraestructura de Internet tendrá una alta prioridad, con eso, todos podrían obtener Internet de muy alta velocidad y la necesidad de discos duros locales se reduciría al software. Por lo tanto, los datos se almacenarían en línea con copias de seguridad.

De su lista, pierda la combinación CPU GPU. Se ha intentado, aunque está bien para el trabajo, nunca funcionará para los juegos.

Si tiene la oportunidad de reconstruir la informática desde cero, pero su gente tiene conocimientos actualizados, tiene una oportunidad increíble.

Muchas de las ideas más emocionantes para conceptos informáticos avanzados simplemente nunca se han comercializado comercialmente, y muy posiblemente nunca lo serán.

Por ejemplo, memristores . Las computadoras basadas en Memristor tienen el potencial de cambiar fundamentalmente la industria informática. Podrían usarse en lugar de transistores y RAM, lo que permitiría que las computadoras funcionen de formas completamente novedosas.

En el mundo real de hoy, solo existen en el laboratorio de investigación y su introducción en la corriente principal parece cada vez menos probable que ocurra pronto, principalmente debido al hecho de que son tan diferentes que es difícil imaginar cómo serían en cualquier manera compatible con los sistemas operativos modernos.

Claro, podrían encontrar un uso como una nueva forma de almacenamiento no volátil. Ese tipo de uso no sería el tipo de revolución de la que son capaces, pero es lo mejor que podemos esperar sin rediseñar el interior de nuestros dispositivos informáticos desde cero y escribir un sistema operativo completamente nuevo para ellos.

Pero en el mundo postapocalíptico que describe, sus técnicos tienen la tarea de hacer exactamente eso, por lo que sería perfectamente posible introducir tecnologías como memristores y otras tecnologías que actualmente están confinadas al laboratorio. Las computadoras podrían verse y funcionar de manera completamente diferente.

Entonces, ¿qué podrían hacer los memristores? Imagina una computadora que no pierde su memoria cuando la apagas. Las computadoras serían de 'encendido instantáneo'; no más esperar a que se inicie el sistema operativo; no más modo 'hibernación'. Simplemente abre la tapa y está listo para ti. De hecho, se pone mejor que eso: solo necesitaría enviar energía a los circuitos cuando realmente quiera hacer algo. Con un sistema operativo diseñado correctamente, las demandas de energía serían mucho más bajas, casi cero si solo está mirando una pantalla estática en lugar de interactuar; un dispositivo lector de pantalla pasivo como un Kindle o un marco de fotos podría funcionar durante años con una batería pequeña, o incluso con energía solar.

Hay una serie de otros cambios conceptuales fundamentales que los memristores podrían introducir, pero te dejo que los leas con más detalle por ti mismo: es fácil de buscar en Google y hay mucho más de lo que podría escribir aquí.

Pero los memristores son solo uno de los conceptos que flotan en el laboratorio en este momento. Si sus técnicos pudieran seleccionar y elegir lo mejor de ellos sin tener que preocuparse por mantener la compatibilidad con el hardware y el software existentes, entonces realmente no hay límite para lo que podrían hacer.

El mayor desafío para sus intrépidos inventores es reconstruir las capacidades de fabricación que les permitirán fabricar su hardware de alta tecnología. Probablemente necesitarán comenzar desde una base bastante baja; equivalente a la escala de 1960 o 1970, y suba desde ahí. Sin embargo, eso no significa que no puedan presentar todos esos nuevos y agradables conceptos.

No es tan simple, la computadora está hecha de muchos componentes:

Software

El software de diseño no es tan simple (soy programador), nuestras computadoras evolucionaron y con eso evolucionaron los requisitos de los usuarios, si los requisitos cambian, el software tiene que evolucionar, pero generalmente una reescritura completa está lejos de ser la solución óptima .

Pero también es cierto lo contrario, si tiene que empezar desde cero, podría hacer un mejor trabajo que las personas que están limitadas por requisitos antiguos (no puede simplemente romper la aplicación para su base de usuarios).

Desaprobación como modelo de negocio: muchos proveedores desaprueban el software y ese es un modelo de negocio que lo obliga a comprar una nueva versión del sistema operativo. Si no desea que las computadoras estén sujetas a problemas heredados, no debe tener computadoras como negocio (por ejemplo, todo software debe estar institucionalizado).

Cuando lanza un nuevo sistema operativo, automáticamente obliga a los proveedores de hardware a actualizar (la mayoría) de los controladores (por cierto, si esos son controladores para un teléfono que ejecuta un sistema operativo diferente, también golpea duro a los competidores, me sorprende que antimonopolio no hizo nada para eso meh), y los paquetes de software que usaban características de vanguardia de su antiguo Sistema Operativo ahora requieren ser actualizados porque (por cierto) las bibliotecas/API del sistema cambiaron ligeramente.

Si tenemos que reconstruir todo desde cero, probablemente habrá solo 1 sistema operativo y ese tiene que estar basado en Unix , eso eliminará de una vez y para siempre todos los problemas de compatibilidad, etc., haces 1 Kernel y luego diseñas lo que deberían ser los componentes principales que se puede conectar al kernel y hacer que esos componentes sean estándar (no es tan fácil, si un estándar pierde algunas cosas importantes, debe actualizarse, la mayoría de las veces también debe desaprobar algunas funciones porque aumenta el tamaño del código o simplemente lo hace imposible) añadir alguna funcionalidad más útil).

Hardware

Cada vez que AMD o Intel inventaron un nuevo conjunto de instrucciones (como AVX, SSE, etc.) si eso tuvo éxito, la otra industria también tuvo que incluir ese conjunto de instrucciones en su CPU y al mismo tiempo no tuvo que romper sus propios conjuntos de instrucciones, todo eso hizo que los procesadores tuvieran muchos más circuitos de los necesarios.

Otras arquitecturas, como los procesadores MIPS, tenían problemas diferentes (MIPS se diseñó con diferentes objetivos, por lo que se tuvieron que agregar nuevos conjuntos de instrucciones más adelante).

En este momento, el conjunto de instrucciones de los procesadores parece volverse lo suficientemente "estable" (a menos que haya otro auge en el procesamiento híbrido) , por lo que si hoy comenzamos a diseñar nuevamente desde cero un procesador con un conjunto de instrucciones único y universal, probablemente será más barato y más rápido. que cualquier cosa existente hoy, pero eso es posible solo después de casi 50 años de evolución (y no sabemos si esa evolución realmente se detendrá). También tenga en cuenta que para llenar el vacío con los procesadores modernos se necesitan al menos unos 20 años (los procesadores modernos están realmente inflados, pero inventaron trucos muy inteligentes para eludir la hinchazón) para alcanzar las velocidades de procesamiento actuales.

Ordenadores

Con solo 1 sistema operativo y 1 conjunto de instrucciones universal, las computadoras podrían volverse realmente modulares, además, dado que asumo que toda la tecnología está institucionalizada, también apostaría a que ya no habrá vulnerabilidades de hardware (como la que permite escribir en BIOS en procesadores x86), por lo que el software debería ser mucho más seguro y resistente al malware. Las vulnerabilidades y el malware son un negocio en sí mismos.

En un mundo que necesita reiniciarse, espero que las computadoras se vuelvan un poco más fáciles de ensamblar, personalizar (para que solo conectes/desconectes los componentes y los reemplaces con facilidad, tal vez usando tarjetas SD como ranuras).

Además, para evitar una guerra mundial, se debe prohibir cualquier economía electrónica (sin bancos en línea, mejor sin bancos, sin acciones, sin billeteras). La especulación no agrega valor real al mundo, es solo una transferencia de dinero, inútil en un mundo que necesita reiniciarse.