タグ付けされた質問 「computer-architecture」

7
スタックはプログラムを構造化する唯一の合理的な方法ですか?
私が見たほとんどのアーキテクチャは、関数呼び出しの前にコンテキストを保存/復元するために呼び出しスタックに依存しています。プッシュおよびポップ操作がほとんどのプロセッサに組み込まれているのは非常に一般的なパラダイムです。スタックなしで動作するシステムはありますか?もしそうなら、それらはどのように機能し、何のために使用されますか?

10
変数とメモリ位置の違いは何ですか?[閉まっている]
最近、フラッシュカードのように、ポインタを視覚的に説明しようとしています。 質問001:これは、コンピューターのメモリ内の場所の描画です。その住所は本当0x23452ですか?どうして? 回答:はい、0x23452コンピューターがこの場所を見つけることができる場所について説明しているためです。 質問002:文字bがメモリの場所に保存されているのは本当0x23452ですか?どうして? 回答:いいえa。キャラクターは実際にその中に保存されているためです。 質問003:ポインターがメモリの場所に保存されているのは本当0x23452ですか?どうして? 回答:はい、メモリロケーションのアドレスは0x34501内部に保存されているためです。 質問004:ポインターがメモリの場所に保存されているのは本当0x23452ですか?どうして? 回答:はい、別のメモリ位置のアドレスが内部に保存されているためです。 今、私が心配している部分について。ソフトウェアエンジニアは、次のように私へのポインタを説明しました。 ポインタは、値が別の変数のメモリアドレスである変数です。 すべてを紹介した4つのフラッシュカードに基づいて、少し異なる方法でポインターを定義します。 ポインタは、値が別のメモリ位置のメモリアドレスであるメモリ位置です。 変数はメモリの場所と同じだと言っても安全ですか? そうでない場合は、誰が正しいですか?変数とメモリ位置の違いは何ですか?

4
リトルエンディアンは勝ちましたか?
最近ビッグエンディアンとリトルエンディアンの戦いについて教えているときに、学生はそれが解決したかどうかを尋ねましたが、私は知らないことに気付きました。ウィキペディアの記事を見ると、現在最も人気のあるOS /アーキテクチャペアはリトルエンディアンを使用しているようですが、インターネットプロトコルはパケットヘッダーの数値を転送するためにビッグエンディアンを指定しています。それは現在の状況の良い要約でしょうか?現在のネットワークカードまたはCPUは、バイトオーダーの切り替えをハードウェアでサポートしていますか?

2
典型的な最新のマイクロプロセッサパイプラインの長さは?
私はパイプライン処理についてある程度学びましたが、それらは4ステージと5ステージであり、現代の典型的なパイプライン処理は実際にははるかに長く複雑です。典型的なパイプラインはどれくらい長く、どれだけ長くなると予想できますか?また、長いパイプラインのパフォーマンス向上で利益が減少するポイントはどこですか?

4
高度なプログラミング言語の使用が増えると、コンピューターアーキテクチャの知識を持つプログラマーが不足する可能性がありますか?
ウィキペディアの記事「高レベルプログラミング言語」の引用: 高レベルのプログラミング言語は、コンピューターの詳細から強力に抽象化されたプログラミング言語です。低レベルのプログラミング言語と比較して、自然言語要素を使用したり、使いやすくしたり、プラットフォーム間で移植性を高めたりできます。このような言語は、メモリアクセスモデルやスコープの管理などのCPU操作の詳細を隠します。 つまり、プログラミング言語のレベルが上がると、プログラマーがプログラムを実行するハードウェアから離れるほどです。 今、私はレベル全体の言語使用の統計を知りませんが、より高いレベルの言語がより低いレベルの言語に取って代わりつつあると思うでしょう。もしそうなら、これはコンピューターアーキテクチャーの知識を持つプログラマーの不足につながることがありますか?これは業界にとって問題になりますか?

8
プログラマーとしてコンピューターアーキテクチャを学ぶ[非公開]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私は通常、SOや他の場所(インストラクター、本の著者など)で教導師に出くわし"This will cause alignment issues"ます。 私はこれらすべての情報を知りたい relevantプログラミング。今では通常、低レベルの本(たとえばコンピューターアーキテクチャの本)を見ると、低レベルであり、ソフトウェアデザインではなくコンピューターアーキテクチャが主な関心分野である人々を対象としています。 プログラマーに関連する低レベルのものを扱う本についての推奨事項はありますか?

5
自分のコンピューターがハーバードアーキテクチャかフォンノイマンアーキテクチャかをどのように確認できますか?
2つのアーキテクチャの違いは、ハーバードアーキテクチャの命令とデータの分離であることを理解しています。しかし、どのタイプのシステムを使用しているかをどのようにして知ることができますか?システムがフォン・ノイマンかハーバードかを決定するようなプログラムを書くことは可能ですか?別のアーキテクチャがありますか、またはこれらのアーキテクチャのみが知られていますか?

1
アレイに基づかないコンピュータアーキテクチャ[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 関数型プログラミングのモナドに関するWadlerの最初の論文(Haskell)、と彼は言う 長い歴史を持つもう1つの問題は、プログラムを配列の更新に基づくことが望ましいかどうかです。配列に基づくアルゴリズムとアーキテクチャの開発には多大な労力が費やされているため、この議論を回避し、答えが「はい」であると想定します。 他の可能なアーキテクチャへの引用やヒントはありません。Lispに適したアーキテクチャについて何か聞いたことがあります。誰かが私にこのトピックの/どこから始められるかについての説明とガイダンスを教えてくれますか?異なるアーキテクチャについて簡単に説明していただければ幸いです。

2
スタック+ヒープ+静的メモリモデルに代わるものはありますか?
私が見たすべてのプログラムは、データメモリを1つ以上の呼び出しスタック(通常は固定サイズですが、そうでない場合もあります)、ヒープ、および静的メモリに編成します。最近、スレッドローカルの静的ストレージもこれに追加されました。 コールスタックなしなど、根本的に異なる方法でデータメモリレイアウトを整理する試みはありますか?または、同じことを達成する別の方法でメモリを整理しますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.