問題タブ [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.
x86-16 - なぜ8085は00000から始まり、8086はFFFF0から始まるのですか?
8085-86で生成された物理アドレスのさまざまな開始アドレスを理解できません。CS:IP
これはスタックのせいですか?スタックの概念は8085より前に存在していたと思います。助けてください。ありがとう。
c++ - Arduinoクリアバッファ
4文字の長い文字列を読み取るコードがあります。ただし、4 文字以外の文字列は無視する必要があります。
したがって、次の入力を想像してください。
現在、{"AAAA", "BBBB", "BBBA"} と表示されています。
{"AAAA", "BBBB", "AAAA"} を読み取るために必要です。
何か案が?ありがとうございました。
c - 命令キャッシュ ミスを引き起こすにはどうすればよいですか?
私は、一定数のデータ キャッシュ ミスと命令キャッシュ ミスを生成する任務を負っています。問題なくデータキャッシュ部分を処理できました。
そのため、命令キャッシュ ミスを生成する必要があります。これらの原因が何かわかりません。誰かがそれらを生成する方法を提案できますか?
LinuxでGCCを使用しています。
microcontroller - メモリアドレスレジスタ(MAR)とプログラムカウンタ(PC)の違いは?
メモリアドレスレジスタ(MAR)とプログラムカウンタ(PC)の違いは?
multiprocessing - ARMとDSPプロセッサはどのように連携しますか?
ARMプロセッサとDSPプロセッサはどのように連携し、命令セットは異なります。FFT、ビデオ処理などのDSPプロセッサで動作するはずのコードをどのように記述できますか。それらはどのように相互に切り替えますか。いくつかの例で説明すると役に立ちます
c - 特にマルチコアマルチプロセッサ環境での CPU TSC フェッチ操作
Linuxの世界では、ナノ秒の精度のタイマー/クロックティックを取得するには、次を使用できます。
この回答asm
は、命令でCPUクロックを直接照会するアプローチを提案していRDTSC
ます。
マルチコア、マルチプロセッサ アーキテクチャでは、このクロック ティック/タイマー値は複数のコア/プロセッサ間でどのように同期されますか? 私の理解では、固有のフェンシングが行われているということです。この理解は正しいでしょうか?
これを詳細に説明するドキュメントを提案できますか? Intel Nehalem と Sandy Bridge のマイクロアーキテクチャに興味があります。
編集
プロセスを単一のコアまたは CPU に制限することはオプションではありません。プロセスは (消費されるリソースの点で) 非常に巨大であり、すべてのコアとプロセッサを含むマシン内のすべてのリソースを最適に利用したいからです。
編集
TSC がコアとプロセッサ間で同期されていることを確認していただきありがとうございます。しかし、私の最初の質問は、この同期はどのように行われるのですか? それはある種のフェンシングですか?公的文書を知っていますか?
結論
すべての入力に感謝します。この議論の結論は次のとおりです。TSC は、マルチ プロセッサ/マルチ コア システムのコアとプロセッサ全体で発生する RESET を使用して、初期化時に同期されます。その後、すべてのコアは独立しています。TSC は、周波数の変動を正規化するフェーズ ロック ループによって不変に保たれ、その結果、特定のコア内のクロック変動が発生します。これにより、TSC がコアとプロセッサ間で同期を維持します。
c - C ソースの大きな定数を読みやすくしますか?
私はマイクロプロセッサ用のコードに取り組んでいます。
大きくて重要な定数がいくつかあります。
#define F_CPU 16000000UL
この場合、これは CPU 周波数です。ヘルツで。
そのままでは、1,600,000、160,000,000、または 16,000,000 のいずれであるかを、手動でカーソルを数字の上に移動しないと判断するのはかなり困難です。
number にコンマを入れる#define F_CPU 16,000,000UL
と、定数が切り捨てられます。
私は、特定の桁区切り文字を持ついくつかの難解な言語を使用してきました。これは、大きな数字を読みやすくすることを目的としています (例16_000_000
、主に MCU 向けの言語)。大きな「マジック ナンバー」は、MCU が現実の世界と対話する方法の側面を記述するために必要とされるため、組み込みのものではかなり一般的です。
Cでこのようなものはありますか?
json - マイクロプロセッサとWebページの通信?
私は現在、Webページからマイクロプロセッサ(Arduino)を制御したいプロジェクトに取り組んでいます。
マイクロプロセッサはコンピュータに物理的に接続されません。
- 通信に最適なプロトコルは何ですか?(私の現在の選択はTCPです)。
- 送信するオブジェクトをシリアル化するための最良の方法は何ですか?(私の現在の選択はJSONです)。
サーバー側はNodeJで記述されています。
私はこの種の開発に不慣れなので、このトピックに関するご意見をいただければ幸いです。
assembly - ソリューションを10進数から16進数に変換する
私の目標は、ユーザーが16進数で入力した2つの数値の解を表示することです。今のところ、私のコードはユーザーから2つの数値を取得し、10進数で解を返します。私がすべきだと思うのは、小数の解を取得し、数値を合計した後でそれを16進数に変換することです。別のもっともらしい方法があれば私に知らせてください。ありがとうございます。
EASY68kアセンブラを使用しています。