痴人说梦持续。
计算机作业速度是很快的,每运转一步指令大约也便是几亿分之一秒。即便是51单片机,也能到达千万分之一秒,假如咱们的思绪跟着计算机跑,会被累死的,好囧!
不如咱们用慢动作将整个作业进程怠慢,一点点领会它到底是怎样作业的,至于多慢,一个小时一步能够了吧?呵呵,随便了,能理解了就持续下一步。
以单片机为例,通电后,体系在第一个周期内干什么呢?
单片机内部有许多部分,咱们假定它便是一个工厂,工厂的中心是一条宽广的大道,路两头是各个车间和管理部分,然后在厂区内安装了一个一切人都能听到的大喇叭,对一切部分指挥若定。
好了,零号指挥员开端喊了:第一步,指针指向地址0000H,其它部分原地待命!这时候,一切的没有接到使命的部分什么都不干,只要指针瞬间移动到了库房的0000H方位。你要是问了:指针是个什么东西啊?
这么解说吧,你见过电唱机这个东东吗?没见过?没见过先去见见……电唱机都有一个唱头,唱头和唱片触摸的部分是一根针,针和唱片上蚀刻的轨道冲突,发出声音,通过电路扩大送到喇叭就能够听啦!这时候,你要是以为把唱头移动到其他一个方位,本来唱的好好的歌曲就换成其他音乐了(夜店里边DJ有一种专门磨片的唱机,我没去过夜店,也不知道那个唱机叫什么姓名,DJ能够把一段节奏比较好的阶段重复播映,便是使用的唱头的瞬间移位)!这儿的唱头就像是计算机里的指针,指针指向0000H就像唱头回到唱片起点一个道理。
地址0000H在单片机里坐落程序存储器(貌似是,懒得去翻材料了)的第一个方位,而程序存储器共有128个方位,分别是0000H,0001H,0002H,0003H……等等。
至于为什么单片机通电后会将指针指向0000H,咱们学习最最底层的东西,这些都是绕不开的,我暂时理解为:通电后,体系将一切的部分都拜访了一个遍,然后把其他数据都丢掉了,只留下0000H的数据,相当于拜访了0000H。
假如说0000H里边存放了01010101这些数据,这些便是CPU下一步的指令,没有天主,CPU的指令历来都是从上一个锦囊里边得到的!
我好像有点开窍了!
这便是单片机第一个脉冲周期内干的悉数作业,是不是感觉有点糟蹋啊?就干这一点小事?是的,计算机每一个周期确实干不了太多的事,可是计算机的专长是这些个周期都特别短,短到你刚想考虑,它就运转了千万个周期……“全国武功,唯快不破”。
CPU体系的作业便是这样,每个部分都等着大喇叭里边给自己派使命,一点点不敢松懈,可是每次只要一个部分接到了使命,这便是程序,一步一步履行。
第二个周期,单片机又要干什么呢?0000H里边的数据现已告知你了,假如没有告知你的话,这个程序员是要被炒掉的,由于这儿是一条无条件跳转指令,有必要的,由于下面的地址是保存地址,是禁区。那么,跳到哪里呢?程序员设定哪里便是哪里,只要被体系答应。然后指针就去拜访那个地址,再翻开那里的锦囊。
同理,体系将一切部分的电平都巡测了一个遍,唯一留下了指针地点地址的数据。在这个周期,程序不再需求跳转了,开端履行正文了,当然也不扫除持续跳转,除此之外,指针在没有跳转指令的情况下,鄙人一个周期主动加1,拜访下一个地址。
本期要点:1,体系加电后先指向0000H;2,每个周期内,一切的部分都在作业,可是只要方针地址的数据被保存,其它的数据丢掉,能够理解为体系只拜访了该地址,即指针指向了该地址。