前言
刚开始接触编程时,有这样一些问题,为什么按照视频所讲,输入某些字符,点击运行,就向屏幕输出了某些结果(Hello world)?这中间发生了什么?
过程简述
理解一次人机交互的过程,需要先回顾下冯诺依曼结构体系

基于这张图,来一一拓展。
-
首先CPU固定的取指执行,如果不加干涉的话,需等待上一个程序执行完才能执行下一个程序,有些任务占着茅坑不**,效率很低。后来出于多任务同时执行等需要,发明了中断,一旦有中断信号发过来,优先处理中断信息,借此可实现定时切换进程等操作(如利用时钟中断),造成单核CPU同时执行多个任务的效果。
下图所示是树莓派,红线框住的是树莓派的引脚,早期的中断设备长得有点像这些引脚,不同的引脚对应不同的信号,一旦某个引脚接收到电流电压变化,按照电路,优先处理。中断事件对应的处理方式可以修改,例如想要按下A键但显示’0’,可以修改操作系统代码,接收到对应的键盘中断时,如果来源是A键所在信号,返回’0’给某寄存器、内存。

-
(输入)在键盘上按下某个按键,会发送对应的中断信号(由于键盘交互的重要性,早期的多数计算机还专门提供了对键盘中断信号的识别,随着计算机的发展,中断处理单元已经变成可编程的设备了,能处理中断

本文简述了编程中打印'Hello World'的过程,涉及冯诺依曼结构、中断处理、键盘输入、CPU执行、内存交互以及显示器输出。通过分析,揭示了计算机工作流程中的中断机制和多任务处理原理。
最低0.47元/天 解锁文章
1313

被折叠的 条评论
为什么被折叠?



