问题标签 [microprocessors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1687 浏览

arm - ARM微处理器的内存空间

在 ARM 微处理器中,唯一可用的内存空间是 37 个左右的通用寄存器和状态寄存器,还是微处理器芯片内有单独的可访问内存空间?

例如,在 Atmel AVR 微控制器中,据我了解,内存在同一芯片内部映射,包括数据内存、程序内存(包含程序内存)和 EEPROM 内存。这同样适用于 ARM 微处理器,还是带有 ARM 微处理器的微控制器需要单独的外部存储器?

0 投票
0 回答
352 浏览

microprocessors - 微编程 - 递减跳转不为零

我正试图了解微编程和操作码。我在看 DJNZ 或 Decrement Jump Not Zero。我一直试图让这个工作没有运气。我删除了不相关部分的代码如下。

我的 OPCodes 列表是这样的

DESP: sp:=sp-y

JNZE:如果 ac /= 那么 pc:=x

到目前为止,我相信我可以让它从零跳到 79,然后它可能会减量并回写。我不确定。

我用这个来测试

有了这个输出

在此处输入图像描述

如果有人能说我是否在正确的行上,然后帮助我实现非零的跳转,并给我一个关于减少和写回正确方法的指针,那就太棒了。

不确定这是否是正确的网站,我也不确定标签,所以如果有人可以修复或指出我正确的方向,那就太好了。

0 投票
2 回答
2326 浏览

microcontroller - 微控制器中的堆栈内存分配

如何确定微控制器中特定程序所需的堆栈内存?例如,假设我有一个内部可能有许多子例程或线程的程序。在我开始执行程序之前,我想修复该程序的堆栈大小。如何标记堆栈的终点。

0 投票
1 回答
129 浏览

processor - 是否有必要让“控制单元下一个状态寄存器”触发下降沿?

中央处理器

每个模块可以被认为具有以下功能: [1] 它可以存储数据。[2] 可以对数据进行运算。(算术运算)

模块的一些属性(仅列出,我现在关心的。) [1] 模块中的所有寄存器/内存元素都是上升沿触发的。

现在这种架构可以用来创建计算机处理器的模型。

真正的交易:是否有必要让“控制单元下一个状态寄存器”被触发下降?(下面我解释为什么我这么认为)

该控制信号只是输入和电流状态的组合结果。所以这意味着随着当前状态的变化,控制信号会发生变化,这意味着状态应该在下降沿发生变化[1]。所以状态变化只是发生在时钟下降沿的“控制单元状态寄存器”的变化。这就是为什么我认为“是否有必要让“控制单元下一个状态寄存器”被触发下降沿”......我在想/考虑正确吗?

如果是,那么在实际处理器中也应该发生相同的情况(控制单元状态寄存器的下降沿触发)。

我正在学习东西,所以请原谅+纠正我的错误

0 投票
5 回答
5073 浏览

c - 是否可以将整个数组保存在 cpu 寄存器中

在下面的代码中,

是否有可能在某个 cpu 寄存器中分配了“arr”。(考虑 cpu 有 4 个或更多寄存器)。

否则编译器将忽略数组的寄存器存储类。

0 投票
1 回答
4607 浏览

assembly - 使用汇编代码用 18PIC4550 闪烁 LED

我最近开始使用 18 PIC 4500,我第一次尝试在汇编中对其进行编程是让它在一个循环中闪烁一个 LED。但是,我没有太多使用这种语言编程的经验,因此不得不依靠其他代码片段来帮助我入门。我的代码如下:

我不明白为什么它不起作用,但认为它可能与指令周期速度有关,我认为它是 1 MHz,导致延迟过短。

非常感谢任何帮助!

0 投票
1 回答
75 浏览

microprocessors - 如何控制微处理器..?

微处理器是如何控制的?例如,指令译码器从内存接收指令后,对指令进行译码(???),译码后的指令在ALU中执行。这一切是如何依次发生的?

0 投票
3 回答
7976 浏览

assembly - MOV DD 是什么意思?

在汇编语言中,指令

意味着将B(源)的内容移动到A(目的地)。
我突然想到了指令

这意味着什么?

我在我的实验室手册中看到了这一点。截屏:

在此处输入图像描述

0 投票
1 回答
92 浏览

caching - ISR、DPC 和处理器缓存

我在这里读到ISR 和 DPC 会弄脏处理器缓存。谁能解释一下如何?

0 投票
1 回答
121 浏览

c++ - 分配期间意外演员表

stm32 库中有一段代码表现得很奇怪。这是从初始化结构到定时器自动重载寄存器的分配:

我有TIM_Period = 1999999,但是在分配之后TIMx->ARR = 33919。较小的数字通常表示溢出,所以我检查了:(1999999-33919) / 65536 = 30。这意味着数字在 16 位数据类型上溢出 30 次,但两个变量都是 32 位无符号整数。从结构声明中提取:

对于 TIMx:

对于 TIM_TimeBaseInitStruct:

其中__IO定义为volatile

这是该作业的反汇编:

这里发生了什么..可能是外部原因导致值溢出吗?请注意,我正在通过 ST-Link 在真实硬件上进行调试,没有进行代码优化。