我觉得我懂仿真了:-)

仿真领域广大,历史悠久

A simulation is an approximate imitation of the operation of a process or system that represents its operation over time.

Simulation is used in many contexts, such as simulation of technology for performance tuning or optimizing, safety engineering, testing, training, education, and video games.

Historically, simulations used in different fields developed largely independently, but 20th-century studies of systems theory and cybernetics combined with spreading use of computers across all those fields have led to some unification and a more systematic view of the concept.

Interactive simulation is a special kind of physical simulation, often referred to as a human in the loop simulation, in which physical simulations include human operators, such as in a flight simulator, sailing simulator, or driving simulator.

Discrete-event simulation studies systems whose states change their values only at discrete times. Continuous simulation is a simulation based on continuous time, rather than discrete time steps, using numerical integration of differential equations.

In computer science, simulation has some specialized meanings: Alan Turing used the term "simulation" to refer to what happens when a universal machine executes a state transition table (in modern terminology, a computer runs a program) that describes the state transitions, inputs and outputs of a subject discrete-state machine.

An interesting application of computer simulation is to simulate computers using computers. In computer architecture, a type of simulator, typically called an emulator, is often used to execute a program that has to run on some inconvenient type of computer (for example, a newly designed computer that has not yet been built or an obsolete computer that is no longer available), or in a tightly controlled testing environment.

Simulators may also be used to interpret fault trees, or test VLSI logic designs before they are constructed.

事件驱动的缩写也是EDA

Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events.

An event can be defined as "a significant change in state". Event-Driven architectures often being designed atop message-driven architectures, where such communication pattern requires one of the inputs to be text-only. Windows叫MSG和GetMessage, 不叫get_message, 太机智了。:-)

An event driven architecture may be built on four logical layers, starting with the sensing of an event, proceeding to the creation of its technical representation in the form of an event structure and ending with a non-empty set of reactions to that event. 1. Event generator; 2. Event channel; 3. Event processing engine; 4. Downstream event-driven activity.

Simple event processing concerns events that are directly related to specific, measurable changes of condition. In event stream processing (ESP), both ordinary and notable events happen. Ordinary events (orders, RFID transmissions) are screened for notability and streamed to information subscribers. Complex event processing evaluates a confluence of events and then takes action.

Online event processing (OLEP) uses asynchronous distributed event-logs to process complex events and manage persistent data.

An event driven architecture is extremely loosely coupled and well distributed. The great distribution of this architecture exists because an event can be almost anything and exist almost anywhere.

Conclusion

我说过EDA(电子设计自动化)里的仿真器和nginx有点像。细化下:
1. 事件驱动对它们是必须的,协程和线程则不是,更不可能每个module一个进程。如果用协程的话,可以每个module一个event loop, 否则整个进程一个。某类程序可以用十几个线程,每个线程有event loop. 电路的仿真不可能开几千几万个线程。多个event loop未必能简化流程。
2. MFC和前端程序员都接触到了事件驱动编程。但事件驱动编程是个大大大筐:
a. 事件之间可能有复杂的纠缠,也可能近乎一条线,比如响应按鼠标左键事件,改变状态(棋盘数组), 触发Paint事件,仿真移动棋子。
b. 处理事件所需的时间可能有限,也可能无限。再复杂的组合电路,总会在比如说1ms内跑完一步。等终端用户按按钮或网络上发包,近乎死循环。

上例ajax套ajax. 等服务器(不知道啥时候)处理完position命令后再发bestmove命令,然后再等。JavaScript也不简单啊: the Promise object represents the eventual completion (or failure) of an asynchronous operation and its resulting value. Event Bubbling and Capturing in Document Object Model (DOM)

3. EDA也是个大筐,设计PCB/板子和设计芯片好像区别也挺大。立创EDA(海外版EasyEDA)是国人研发的PCB设计软件,起源于2010年,基于JavaScript - online运行。有国人研发的芯片设计软件就好了。Logic Synthesis么,说不定Espresso就够用。功能测好了,别人合成跑一天,我们跑一星期完全可以接受啊。5G和sqrt有关系吗?我觉得可以多机并行各跑各的。2000多根针的CPU不是要写1000 in 1000 out的逻辑表达式。多发射是不是不如大cache暴力美学?总之,这些我都搞不了,我就看个热闹。补充: 雄起,国产FPGA!-面包板社区 不知有没有低端/免费/学生/教育版。PDS Lite软件-紫光同创 1.45GB 没流量了,不挨个去看了。

六级/考研单词: imitate, tune, educate, compute, unify, physics, seldom, loop, sail, perpetual, numerical, integrate, execute, transition, simulate, interpret, logic, construct, hardware, paradigm, detect, atop, notable, subscribe, evaluate, offline, persist, data, bubble, chess, copyright

posted @   Fun_with_Words  阅读(64)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?









 和4张牌。

点击右上角即可分享
微信分享提示