From d9598b35c25a68cdeaec97bf28dae1aee0c0955a Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Thu, 23 Dec 2021 16:27:54 -0500 Subject: [PATCH] Add some additional metrics. --- Processors/68000/Implementation/68000Storage.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Processors/68000/Implementation/68000Storage.cpp b/Processors/68000/Implementation/68000Storage.cpp index 96932a669..4c6c9a969 100644 --- a/Processors/68000/Implementation/68000Storage.cpp +++ b/Processors/68000/Implementation/68000Storage.cpp @@ -3151,9 +3151,11 @@ struct ProcessorStorageConstructor { // }; // Finalise micro-op and program pointers. + int total_instructions = 0; for(size_t instruction = 0; instruction < 65536; ++instruction) { if(micro_op_pointers[instruction] != std::numeric_limits::max()) { storage_.instructions[instruction].micro_operations = uint32_t(micro_op_pointers[instruction]); + ++total_instructions; // link_operations(&storage_.all_micro_ops_[micro_op_pointers[instruction]], &arbitrary_base); } } @@ -3162,8 +3164,10 @@ struct ProcessorStorageConstructor { storage_.interrupt_micro_ops_ = &storage_.all_micro_ops_[interrupt_pointer]; // link_operations(storage_.interrupt_micro_ops_, &arbitrary_base); - std::cout << storage_.all_bus_steps_.size() << " total bus steps" << std::endl; - std::cout << storage_.all_micro_ops_.size() << " total micro ops" << std::endl; + std::cout << total_instructions << " total opcodes" << std::endl; + std::cout << storage_.all_bus_steps_.size() << " total bus steps; at " << sizeof(BusStep) << " bytes per bus step implies " << storage_.all_bus_steps_.size() * sizeof(BusStep) << " bytes" << std::endl; + std::cout << storage_.all_micro_ops_.size() << " total micro ops; at " << sizeof(MicroOp) << " bytes per micro-op implies " << storage_.all_micro_ops_.size() * sizeof(MicroOp) << " bytes" << std::endl; + std::cout << "(Microcycles being " << sizeof(Microcycle) << " bytes; ProcessorStorage being " << sizeof(ProcessorStorage) << " bytes, or " << sizeof(ProcessorStorage) - sizeof(ProcessorStorage::instructions) << " bytes without the instructions table)" << std::endl; } private: