问题标签 [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 投票
1 回答
233 浏览

assembly - Atom-32bit-intel板子的BIOS可以做IDT和GDT吗?

我有 Atom-32bit-intel board n450,里面只有 BIOS,我的目标是使用 APIC 计时器并将其与 ISR (0x21) 链接。过了一会儿,我发现IDT和GDT已经存在(可能是BIOS构建的),不需要构建它们(软件是C语言和AT&T汇编的):

所以我尝试使用 IDT 的地址将我的 ISR 链接到 IDT:

当我尝试调用 ISR33:int $0x21 时,软件崩溃:SingleStep CPU[1] 错误:处理器正在运行。

那么哪里错了???

备注:我使用eclipse Heros(AT&T程序集),代码处于保护模式(CR0.PE = 1我检查过,可能由BIOS设置)。

0 投票
4 回答
8227 浏览

assembly - 指令长度可变时的指令解码

以下是一些说明及其相应的编码:

今天的微处理器通常是 32 位或 64 位的,我猜它们通常以 4 字节或 8 字节块的形式从内存中读取数据。但是,指令可以具有可变长度。微处理器如何解码这些指令,为什么它们的长度不是固定的以便于执行?

0 投票
1 回答
710 浏览

c++ - 对于用 C 编写的 AVR micro,Const Char 数组被修改为全 0

我正在帮助一个朋友在他的 AVR 上安装一个图形 LCD,几个月前一切正常,从那时起就没有受到影响。该芯片现已从 ATMega32 换成 ATMega164P。基本上相同的芯片具有更多的闪存,因为这种变化很多代码已经停止工作。

我们已经缩小了错误发生的位置,但无法纠正它。这是我们传递一个指向 const char 字符串的指针,并尝试打印该字符串的地方,但是由于某种原因,堆栈(堆,其他东西?)被破坏并且指针包含所有零。有谁知道这是怎么发生的?我们启用了正确时序所需的 -O1 级优化,我们也已切换到 winAVR 编译器,没有任何更改。我们也无法使用调试器,只能进行有限的“打印”样式调试。

这是导致问题的代码部分:

现在,当代码运行时,显示屏会打印出“atest”,这表明 const char 数组是如何归零的?我还尝试了以下行,这些行也都打印了“test”

这表明它获得了一个有效的指针,但它似乎指向全零。

我们还尝试将对该方法的调用更改为:

这段代码几个月前就可以运行了,我们甚至有一段运行它的视频,现在程序中的每个函数都出现了同样的问题,被传递的字符数组(在堆栈上?)似乎不起作用并且清零。

如果有人感兴趣,我可以安排托管完整源代码的副本。任何帮助或指示都将不胜感激!

0 投票
1 回答
677 浏览

vhdl - 从微处理器 VHDL Spartan 3A 获取数据

我有一个应用程序正在实例化我们在 vhdl 课程上开发的微处理器,它还在 FPGA 的 LCD 显示器上显示数据。

我们已经分别测试了微型和液晶显示器,它们确实可以工作。

现在的想法是将 micro 的数据(这是一个生成斐波那契数列的程序)显示到 LCD 上,但我无法让它显示系列的条款。

这是整个代码,但我认为问题可能出在微的实例化中,然后当我获取数据时(敏感列表具有 DATO_VALIDO 并重置的进程)

它可能正在处理正确的条款,但是当我在 LCD 上显示它们时,它们没有以正确的顺序显示。

伪代码是:

我想要做的是将每个术语存储在不同的信号上,一旦它们被转换为 ASCII,这些信号是:dT1、uT1、dT2、uT2 等。

最后在主状态机上,每个信号都有一个状态,每个信号都有一个值,它应该显示这些术语。

0 投票
2 回答
1170 浏览

io - 端口到底是什么?

通常,微处理器中的 I/O 端口是指微处理器正在侦听的 RAM 中的某个内存地址(如果我错了,请纠正我)。

当我们谈论 TCP/IP 端口、FTP 端口等时,“端口”的含义是否相同?

我不确定这个问题的措辞是否正确。如果不正确,可能是由于我对端口的理解不准确。

0 投票
1 回答
398 浏览

c# - 确定处理器的高速缓存扇区大小

我正在尝试围绕与并行处理相关的处理器缓存线优化构建测试。具体来说,我正在测试我的产品部分如何受到虚假共享效率低下的影响。为此,我需要能够确定我的处理器缓存扇区大小例如 64 字节),以便我可以设计具有适当对象大小范围的测试。那么......我如何或从哪里可以获得这些信息(例如处理器规格页面、C# API 调用等......)?缓存扇区大小也称为缓存行大小。

注意:我在英特尔网站上查看了我的 i7 处理器规格,但找不到这些详细信息,或者我只是无法识别它

0 投票
2 回答
2527 浏览

x86 - 我们是否也将寄存器 RAX、RBX 等称为 R1、R2 等?

我正在研究 8086/8080 微处理器。其中使用的寄存器有名字,

  1. 拉克斯
  2. RBX
  3. RCX
  4. RDX

并继续直到 R8,此时寄存器被命名为 R8、R9... 到 R15。我想知道

我们是否也将寄存器 RAX、RBX 等称为 R1、R2 等?

0 投票
4 回答
55885 浏览

x86 - 8086/8088有多少个寄存器?

我参加了计算机体系结构课程,我了解到处理器有 32 个 32 位寄存器。现在我正在学习计算机体系结构课程,其中我读到 8086 只有8 个寄存器。但是我读的书和这个网站显示了很多寄存器。我对 8086 和 8088 中的寄存器感到困惑。请帮帮我。

笔记:

我对不同处理器中的不同寄存器大小有很好的理解。我只是对寄存器的数量感到困惑。

0 投票
1 回答
1366 浏览

assembly - LDA:在 8 位寄存器中插入 16 位?这是什么意思?

我读过 8085 中的累加器是一个 8 位寄存器。那么下面的指令怎么会是真的:

其中地址是 LH 顺序的“16 位”地址

我们如何在 8 位寄存器中插入 16 位地址?

0 投票
1 回答
761 浏览

assembly - 这个英特尔汇编代码是什么意思?

以下是查找 2 个数字中较大者的程序:

在此处输入图像描述

在上面的程序中,EQU表示什么?EQU中的指令MVI A,01H是做什么的?

PORT1在这里表示什么?