- 締切済み
プログラムのクロック数
プログラムからクロック数を割り出したいのですが やり方がわかりません。やり方を教えてください。 たとえば アドレス ニーモニック 機械語 8000 IN A,(01H) DB 01 8002 OUT (00H),A D3 00 8004 JP 8000H C3 00 80 というようなプログラムです。 このプログラムのクロック数は25と書いて あるんですが求め方がわからないので 誰か教えてください。
- mahiro19
- お礼率43% (64/147)
- その他(プログラミング・開発)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- MovingWalk
- ベストアンサー率43% (2233/5098)
ニーモニックからするとZ80のようですね。 Z80の場合、各命令のクロック数(ステート数)を計算してください。 下記のサイトの情報を元にすると以下のようになりますが... http://www.cs.shinshu-u.ac.jp/Lecture/SE2/Z80/appendix.html アドレス ニーモニック ステート数 8000 IN A,(01H) 11 8002 OUT (00H),A 11 8004 JP 8000H 10 これだと32クロックになります。 なぜ、合わないのかはわかりません。他に資料がないもので...
関連するQ&A
- CPU、Z80からステート数から命令時間を求める
マイコンボードACTーZIIを用いて実験を行ったのですがステート数を用いて命令時間の求め方がわかりません。 CPUはZ-80、クロック周期4MHzを用いて以下のプログラムの実行回数とステート数を求めたのですがあっているのでしょうか? だれか、教えてください。 まちがっていた場合、詳しく説明していただけるとうれしいです。 ラベル ニーモニック ステート数 実行回数 小計(命令時間) LD A, 0FFH 7 1 7 OUT (00H), A 10 1 10 LD B, 0EH 7 1 7 L1: LD C, 0B1H 7 1 7 L2: DEC C 4 3 12 JP NZ, L2 10 3 30 DEC B 4 3 12 JP NZ, L1 10 10 100 LD A, 00H 4 1 4 OUT (00H), A 10 1 10 LD B, 0EH 4 1 4 L3: LD C, 0B1H 4 1 4 L4: DEC C 4 3 12 JP NZ, L4 10 3 30 DEC B 4 3 12 JP NZ, L3 10 10 100 JP 8000H 10 46 460 合計 119 92 821
- ベストアンサー
- その他(プログラミング・開発)
- クロック数について
P3の700MhzとP3の800MHZがあります。 クロック数は100違います。 *100違うと、どれくらい速いのですか? *800MHZで何が出来ますか?←謎 *プログラム(c言語)をやってみたいのですが、CPUはどれぐらい(周波数)必要ですか? お願いします。
- ベストアンサー
- その他(PCパーツ・周辺機器)
- CPUのクロック数について
CPUのクロック数で 2.80CGHz のように数字と単位の間にアルファベット(主に A,B,C )が表記されていますがその意味を教えてください。
- 締切済み
- ハードウェア・サーバー
- 素数プログラムの解読、
C言語のプログラムで素数を求めるプログラムで、 //入力された数字が素数がどうかを求めるプログラムです。 #include<stdio.h> main() { int a,c; //aはそれが素数かどうか調べたい数字です。 printf("aに何か好きな整数をいれてください。\n"); printf("a="); scanf("%d",&a); c = 2; while ( a%c ){ c += c%2+1; printf("途中計算 %d\n",c); } if ( a > 1 && c == a ){ printf("素数です。\n"); }else{ printf("素数ちゃうよ。\n"); } } というのを作りました。このプログラムは 教えてgooの回答欄にあったものを自分で いじったものですが、 c = 2; while ( a%c ){ c += c%2+1; printf("途中計算 %d\n",c); } の部分が何をしているのかが、わかりません。 printf("途中計算 %d\n",c); は 何をしているかが解るかもしれないと思い 自分で付足しましたが、やっぱりわかりません。 だれか解る方お願いします。
- ベストアンサー
- C・C++・C#
- クロック周波数の計算問題について
クロック周波数に関する問題を解こうとしているのですが、 公式がどうも覚えづらくて仕方ないのですが・・・ 何か良い解き方はないものでしょうか? 【問題】基本情報処理 平成19年 秋 「 1GHzで動作するCPUがある。このCPUは,機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に約何万命令実行できるか。 」 【公式】 (1) 1クロックの時間 = 1÷クロック周波数 (2) 1命令の実行時間 = 1命令の実行に必要なクロック数×1クロックの時間 (3) 1秒間の命令実行回数 = 1÷1命令の実行時間(命令) --------------------------------------------------------------- 【考え】 公式より、 (3)の答えを出したければ (2)が必要であり (2)の答えを出したければ (1)が必要である。 であるから、先に(1)を求め (2)を求め (3)を最終的に求める。 という風に解いてはいるのですが、教科書を見ながらだと解ける状態ですが、いざ時間を空けると公式を忘れてしまって、この手の問題が解けないことがあり、困っています。 何か逆算みたいで、覚えづらいので一度覚えてもすぐに忘れしまうのですが・・・ この問題をとく方法としては、一旦、解き方の流れを把握して、求め方を覚えるしかないでしょうか? 【ふとした疑問】 この問題をしてふと思ったのですが、クロック周波数の計算事態は、実際にどこでどういう場面で使われるものなのでしょうか? 何だか、ただ問題を解いているようで、ちょっとイメージが浮いている感じがしているのです・・・(汗)
- ベストアンサー
- その他([技術者向] コンピューター)
- 10進数を2進数に変換するプログラムについて
キーボードから入力された10進数を2進数に変換するプログラムで入力される数は1~1000の値までが入力できる数です。 配列を使うらしいのですがどのようにアルゴリズムをどのように表したらいいのかわかりません! import java.io.*; class Question7_3{ public static void main(String[] args){ BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.print("数字を入力してください:"); } System.out.print("入力されたデータを2進数に変換すると:"); }catch(NumberFormatException e){ System.out.println("整数以外が入力されました。"); }catch(IOException e){ System.out.println("例外発生:" + e); } } }
- 締切済み
- Java
- クアッドコアCPUのクロック数は案分されますか?
クアッドコアCPUのクロック数は案分されますか? いつもお世話になります。表題の件について質問します。 下記サイトでサーバの購入見積をしており、クアッドコアCPU(2.93GHz)を選定したとします。 仮想化を行い4仮想OSに1コアずつ割り当てた場合、1コアあたりのクロック数はいくつになるのでしょうか? A.1コアあたりは案分(1/4)されて73.25GHzになる B.1コアあたりが2.93GHzである http://configure.apj.dell.com/dellstore/config.aspx?c=jp&l=ja&s=pad&cs=jppad1&oc=6383SStandard
- ベストアンサー
- ハードウェア・サーバー
- マイコンのステート数
こんばんわ。今、マイコンを勉強しています。 使用しているマイコンはATC-80ZIIです。 マイコンでプログラムを組んで実行した時にかかる時間(実行時間)を計算で求める方法を調べています。実行時間を求める方法はステート数にクロック周期(クロック周波数の逆数)をかけるという事は知っているのですが、各命令に対してかかるステート数がわかりません。例えば00HをAレジスタに転送する場合、(LD A,00H)のステート数は7らしいです。本に載っていると思って調べてみたんですが見つからなかったのでここに質問しました。どこかに表とかに一覧で載っていないでしょうか? よろしくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- MP-Z80の周辺IC8255
AB10-EXE上の8255(1)、8255(2)を正常に動作させられるように初期化しました。 LD___A, 90H ____ 3E 90___ : 8255(1) モード 0 OUT__(23H), A____D3 23___:Aポート入力に、B、Cポート出力に初期化 LD___A, 80H_____3E 80___:8255(2) モード 0 OUT___(27H), A____D3 27___:A、B、Cポート出力に初期化 HALT___________76 しかし8255の初期化プログラムの内容はよくわかりませんので知っている方説明でもヒントでもしてください 宜しくお願いします
- ベストアンサー
- 物理学
お礼
参考にします ありがとう。