打印Hello world发生了什么?

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

​ 刚开始接触编程时,有这样一些问题,为什么按照视频所讲,输入某些字符,点击运行,就向屏幕输出了某些结果(Hello world)?这中间发生了什么?

过程简述

理解一次人机交互的过程,需要先回顾下冯诺依曼结构体系

在这里插入图片描述

基于这张图,来一一拓展。

  1. 首先CPU固定的取指执行,如果不加干涉的话,需等待上一个程序执行完才能执行下一个程序,有些任务占着茅坑不**,效率很低。后来出于多任务同时执行等需要,发明了中断,一旦有中断信号发过来,优先处理中断信息,借此可实现定时切换进程等操作(如利用时钟中断),造成单核CPU同时执行多个任务的效果。

    下图所示是树莓派,红线框住的是树莓派的引脚,早期的中断设备长得有点像这些引脚,不同的引脚对应不同的信号,一旦某个引脚接收到电流电压变化,按照电路,优先处理。中断事件对应的处理方式可以修改,例如想要按下A键但显示’0’,可以修改操作系统代码,接收到对应的键盘中断时,如果来源是A键所在信号,返回’0’给某寄存器、内存。

    在这里插入图片描述

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值