The idea is “Liquid core”, we change the approach to computing
The idea of a subject came the other day, I'm not sure that the topic has not been touched on before. Therefore, I apologize if I haven’t googled enough, and the topic is pulled by a bearded button accordion.
In a nutshell: we create a processor with programmable logic, as in FPGAs, but with a dynamic configuration. The program will not be a sequence of commands, but a sequence of configurations.
Now all processors have a certain set of instructions. Any program, in any programming language, turns precisely into a sequence of these commands (naturally, not counting virtual platforms, for example Java). For example, in C ++ there will be only one operator for calculating the sine, but the compiler implements this calculation from many consecutive elementary instructions of the processor.
There is FPGA , which logic is configured, you can calculate the sine in one! tact. But since the logical structure is set at startup, and sometimes hard-coded into the FPGA, in the end we can do nothing more than calculate the sine.
To create a processor with a core from a sufficient number (how much I can’t even imagine) of the elementary logical elements - “AND”, “NOT”, “OR” ... But without any predefined relationships between them. Communications will be carried out dynamically, and in any form - i.e. any element can be associated with any other. What do we get. We need to calculate the sine - load the appropriate configuration. Moreover, you can calculate not only mathematical functions, but anything, for example, work with regular expressions. The compiler will simply have to turn the high-level command / instruction set into the optimal configuration. As a result, the program does not turn into a set of processor instructions, but into a set of kernel configurations.
In practice, you can add such a core to the classical ones, and perform “liquid” calculations as necessary.
To create not a solution algorithm on a specific computer, but to create a computer to solve a specific problem.
In general, the idea outlined. I am pleased to hear the opinion of the habr community.
Z.Y. Liquid core , liquid computing - it sounds like that!
In a nutshell: we create a processor with programmable logic, as in FPGAs, but with a dynamic configuration. The program will not be a sequence of commands, but a sequence of configurations.
What do we have
Now all processors have a certain set of instructions. Any program, in any programming language, turns precisely into a sequence of these commands (naturally, not counting virtual platforms, for example Java). For example, in C ++ there will be only one operator for calculating the sine, but the compiler implements this calculation from many consecutive elementary instructions of the processor.
There is FPGA , which logic is configured, you can calculate the sine in one! tact. But since the logical structure is set at startup, and sometimes hard-coded into the FPGA, in the end we can do nothing more than calculate the sine.
What I offer
To create a processor with a core from a sufficient number (how much I can’t even imagine) of the elementary logical elements - “AND”, “NOT”, “OR” ... But without any predefined relationships between them. Communications will be carried out dynamically, and in any form - i.e. any element can be associated with any other. What do we get. We need to calculate the sine - load the appropriate configuration. Moreover, you can calculate not only mathematical functions, but anything, for example, work with regular expressions. The compiler will simply have to turn the high-level command / instruction set into the optimal configuration. As a result, the program does not turn into a set of processor instructions, but into a set of kernel configurations.
In practice, you can add such a core to the classical ones, and perform “liquid” calculations as necessary.
The general essence of "liquid computing"
To create not a solution algorithm on a specific computer, but to create a computer to solve a specific problem.
In general, the idea outlined. I am pleased to hear the opinion of the habr community.
Z.Y. Liquid core , liquid computing - it sounds like that!