作者lihgong ( )
看板ASM
标题Re: [问题] 从软体动作到硬体讯号
时间Tue Mar 24 18:03:01 2020
1. 首先是写记忆体某个地方,会让CPU对bus发出write transaction (当然可能不是真的
bus,这里就简单一点)
2. bus上会挂很多peripheral,比如timer,gpio,每个都会监看特定区域的写入(或读
取),如果是装置在意的,就会去看看CPU要他做什麽
3. 写入某个address,就会有write request,这时候peripheral可以放上真的flip-flops,让这个address是可以读写;也可以不放,这样就是write only,事後无法读回刚刚写
的数值
4. 简单一点,有颗32bit flip-flops兜出来的register,里面储存你写入的数值。所以
现在IC某处有一排flip-flops,存下你写入的数值。你可以想像32bit对应32pins
5. 接下来有个GPIO output线路,里面有一堆复杂的设定,比如pull up/pull down/ ope
n drain。假设是push-pull,这个flip-flops的线就拉到这个输出线路,最後就到达outp
ut pin,你就可以透过电表量到电压了
以上是话唬烂的解说,我不是IC designer,如果说错请见谅
※ 引述《james732 (james732)》之铭言:
: 我的工作是在MCU上写code
: 目前知道程式跟硬体打交道都是透过硬体暂存器
: 通常暂存器会mapping到某个memory address
: 譬如我把memory address的0x1000的Bit0写成1
: MCU的某一根GPIO就会输出High讯号
: 但我一直不懂的是,从写入到真正输出High这段过程
: 硬体实际上是怎麽做的
: 它怎麽知道我有写,又怎麽知道要怎麽输出High
: 如果想针对这部份(晶片内部的行为)做更深入的学习的话
: 有什麽关键字/什麽参考资料可以去阅读呢?
: 因为自己是软体背景,对於晶片的动作觉得很神奇又很好奇XD
--
Sent from
PTTopia
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.242.32.69 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1585044183.A.EAB.html
※ 编辑: lihgong (27.242.32.69 台湾), 03/24/2020 18:04:39
※ 编辑: lihgong (27.242.32.69 台湾), 03/24/2020 18:05:24
1F:推 james732: 谢谢你的说明,好像有点概念了 03/24 22:53