কোনও ডিআইএমএম এর শারীরিক ঠিকানা পরিসীমা পাওয়া সম্ভব?


17

আমি লক্ষ করেছি যে এসএমবিওস টাইপ 20 এখানে সহায়তা করবে তবে এটি সংস্করণ 2.5 (2006-09-05) পৃষ্ঠা 25, L796 এবং পৃষ্ঠা 131 হিসাবে alচ্ছিক , যেখানে 16, 17 এবং 19 প্রকারগুলি বাধ্যতামূলক, তবে বেশ কিছু নয় সহায়তা।

শারীরিক মেমরি অ্যারে (প্রকার 16)

এই বোর্ডে কী কী সম্ভব তা ব্যাখ্যা করে পুরো সিস্টেমের জন্য এই কাঠামোর একটি রয়েছে।

Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: Multi-bit ECC
    Maximum Capacity: 768 GB
    Error Information Handle: Not Provided
    Number Of Devices: 24

মেমরি ডিভাইস (প্রকার 17)

প্রতিটি ডিম্মের জন্য একটি করে রেকর্ড রয়েছে, যা আপনাকে বোর্ডে ইনস্টল করা শারীরিক ডিমগুলি বলে।

Handle 0x1100, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x1000
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits
    Size: 2048 MB
    Form Factor: DIMM
    Set: 1
    Locator: DIMM_A1 
    Bank Locator: Not Specified
    Type: DDR3
    Type Detail: Synchronous Registered (Buffered)
    Speed: 1600 MHz
    Manufacturer: XXXX
    Serial Number: XXXX
    Asset Tag: XXXX
    Part Number: XXXX 
    Rank: 1
    Configured Clock Speed: 1333 MHz

মেমরি অ্যারে ম্যাপ করা ঠিকানা (প্রকার 19)

এই রেকর্ডগুলির একাধিক থাকতে পারে এবং প্রতিটি রেকর্ডে বিভিন্ন শারীরিক ঠিকানা তালিকাবদ্ধ করে।

এখানে দুটি 2 জিবি স্টিক সহ আউটপুট দেওয়া হচ্ছে:

Handle 0x1300, DMI type 19, 31 bytes
Memory Array Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x000CFFFFFFF
    Range Size: 3328 MB
    Physical Array Handle: 0x1000
    Partition Width: 2

Handle 0x1301, DMI type 19, 31 bytes
Memory Array Mapped Address
    Starting Address: 0x00100000000
    Ending Address: 0x0012FFFFFFF
    Range Size: 768 MB
    Physical Array Handle: 0x1000
    Partition Width: 2

এবং এখানে 4 টি লাঠি দিয়ে আউটপুট দেওয়া হয়; 2 * 2 জিবি এবং 2 * 4 জিবি:

Handle 0x1300, DMI type 19, 31 bytes
Memory Array Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x000CFFFFFFF
    Range Size: 3328 MB
    Physical Array Handle: 0x1000
    Partition Width: 2

Handle 0x1301, DMI type 19, 31 bytes
Memory Array Mapped Address
    Starting Address: 0x00100000000
    Ending Address: 0x0032FFFFFFF
    Range Size: 8960 MB
    Physical Array Handle: 0x1000
    Partition Width: 2

মনে রাখবেন যে উপরে প্রথম নমুনা আউটপুটটিতে দুটি 2 জিবি ডিআইএমএম ছিল, তবে তিনটি 3.3 জিবি এবং 0.7 গিগাবাইটের রয়েছে ges 4 টি ডিমসের সাহায্যে সিস্টেমটি মেমরি অ্যারে ম্যাপযুক্ত ঠিকানা অঞ্চলটিকে দুটি অংশে একত্রিত করবে, কারণ এটি ঠিক E820 মানচিত্রের মতোই উপস্থাপিত হবে, যেমন বৈধ মেমরির শারীরিক ঠিকানা ব্যাপ্তি।

1 থেকে 20 টির মধ্যে 20 টি রেকর্ডগুলি হ'ল এক ধরণের 17 মেমরি ডিভাইসের সাথে আবদ্ধ হয়, যার অর্থ পুরো শারীরিক পরিসরটি জানা যেতে পারে:

উদাহরণ

$ sudo dmidecode -t 20
# dmidecode 2.12
SMBIOS 2.6 present.

Handle 0x002F, DMI type 20, 19 bytes
Memory Device Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x000FFFFFFFF
    Range Size: 4 GB
    Physical Device Handle: 0x002B
    Memory Array Mapped Address Handle: 0x002E
    Partition Row Position: 1

Handle 0x0030, DMI type 20, 19 bytes
Memory Device Mapped Address
    Starting Address: 0x00100000000
    Ending Address: 0x001FFFFFFFF
    Range Size: 4 GB
    Physical Device Handle: 0x002C
    Memory Array Mapped Address Handle: 0x002E
    Partition Row Position: 1

ইডিএসি - ত্রুটি সনাক্তকরণ এবং সংশোধন উদ্দেশ্যে, ঠিকানা থেকে ডিআইএমএমের কাছে ঠিকানা থেকে DIMM যাওয়া সম্ভব বলে মনে হচ্ছে , তবে DIMM থেকে পুরো ব্যাপ্তিতে নয়।

মেসেলগের উত্স কোডটি দেখে , এটি এর ডিকোডিংয়ের জন্য টাইপ 20 ব্যবহার করছে।


আপনি আপনার প্রশ্ন আরও ব্যাখ্যা করতে পারেন? আপনি যা বলছেন তা আমি সত্যিই অনুসরণ করি না। আরও বিশদ বা উদাহরণগুলি একটি বিশাল প্লাস হবে। 2 টি সরঞ্জাম যেগুলি আমি ডাব্লু / এগুলি শুরু করব dmidecodeএবং lshwআমার মনে হয় আপনি এইগুলি সরবরাহ করে তার চেয়ে আরও বেশি সন্ধান করছেন?
slm

@ এসএলএম: কোড বেস হিসাবে lshwব্যবহার করে dmidecodeএবং dmidecode -t 20প্রয়োজনীয় তথ্য দেয়। তবে যেমনটি উল্লেখ করা হয়েছে, এসএমবিআইএস-র 2.5 সংস্করণ অনুসারে এই তথ্যটি ধারণ করে এমন কাঠামো "মেমোরি ডিভাইস ম্যাপড অ্যাড্রেস" ওরফে টাইপ 20 বা ব্যাঙ্কের অবস্থানটি --চ্ছিক - সুতরাং একই তথ্য পুনরুদ্ধারের অন্য কোনও উপায় থাকলে প্রশ্নটি হয়। - type 17এর লোকেটারের মান এবং শারীরিক ঠিকানার পরিসীমা (বিকল্প হিসাবে সরবরাহ করা Type 20) এর মধ্যে লিঙ্ক।
রুনিয়াম

@ সুকিমিন্ডার - ধন্যবাদ এই তথ্যটি সম্ভবত কেবলমাত্র প্রশ্নে অন্তর্ভুক্ত করা উচিত Since যেহেতু আপনার এটির একটি হ্যান্ডেল রয়েছে আপনি কি আপত্তি করবেন?
slm

@ সুকিমিন্ডার - আমি কিছু নমুনা dmidecode -t 20আউটপুট যুক্ত করেছি, আপনি কি 17 ধরণের লোকেটার মান বনাম শারীরিক সংযোজনকারী, টাইপ 20 ব্যাখ্যা করতে পারেন?
slm

আমি ধরে নেব যে আপনি 3-অক্ষরের সরকারী সংস্থার পক্ষে কাজ করেন না বা তাদের তহবিলের স্তর নেই। এবং আপনি যদি সেখানে থাকেন তবে আপনি এখানে জিজ্ঞাসা করবেন না। একটি আধুনিক পিসি / সার্ভার / ম্যাকের জন্য, শারীরিক মেমরির রেঞ্জগুলি প্রায়শই ভার্চুয়াল রেঞ্জগুলিতে ম্যাপ করা হয়, তারপরে ওএস দ্বারা পুনরায় ম্যাপ করা যেতে পারে, আপনি এটি বের করতে সক্ষম নাও হতে পারেন। তারপরেও এটি ডস দিনের 640k + বর্ধিত মেমোরিতে এটিকে ম্যাপ করতে পারে। একটি 32-বিট ওএস ব্যবহার করা সম্ভবত আপনাকে একটি 64-বিট ওএসের চেয়ে আলাদা উত্তর দেবে। আপনার শেষ লক্ষ্য কি?
মাইকপ

উত্তর:


1

আপনার একাধিক DIMMS থাকলে, BIOS এগুলি কিছু ইন্টারলিওয়ে কনফিগার করতে পারে। সুতরাং আপনার কাছে একটি 2 জি ডিআইএমএম শারীরিক 0G-> 4G, বাইট 0-7, 8-15 এড়িয়ে যেতে পারে। (অর্থাত্ লো -৪৪ বিট) অন্য 2 জি ডিআইএমএম দৈহিক 0 জি-> 4 জি, 8-15 বাইট, 0-7 এড়িয়ে চলেছে। (উচ্চ -৪৪ বিট)। মনে রাখবেন যে আমি মনে করি যে ইন্টারলিভ আসলে এর চেয়ে বড়, কারণ আমি মনে করি আপনার যদি QDR মেমরি থাকে তবে সিস্টেমটি 1 ঠিকানা, 8x 64-বিট ডেটা চক্র করতে পারে, তাই 64৪-বাইটের ইউনিট দ্বারা ইন্টারলেভ করা ভাল হবে।

আপনি যে 0.7G এবং 3.3G শারীরিক ব্যবস্থা দেখতে পান তা পিসিআই ডিভাইস, ভিজিএ বাফারস, ক্লাসিক <1 এম 8086 ক্র্যাপ ইত্যাদির জন্য কিছু নিম্ন 4 জি খোলা রাখার প্রয়োজনীয়তার সাথে করতে হয় যা উত্তর ব্রিজ দ্বারা সম্পন্ন করা হয়। সুতরাং আপনার কাছে একটি মানচিত্র রয়েছে: 0-> 640 কে, 1 এম-> 3.3 জি, বিআইওএস, পিসিআই ইত্যাদির জন্য 0.7 জি 4 জি অবধি। এবং তারপরে 4G-> 4.7G র্যামের জন্য।


0

ব্রুট ফোর্স সমাধান বলে মনে হচ্ছে

  1. বর্তমান কনফিগারেশন মেমরি পরিসীমা লগ
  2. পাওয়ার ডাউন, প্রশ্নে থাকা ডিআইএমএম এবং তার উপরে থাকা সমস্ত ডিআইএমএম সরান
  3. পুনরায় বুট করুন, নতুন কনফিগারেশনটি পর্যালোচনা করুন।

2
নিশ্চিত নয় যে এটি সাহায্য করে ... উদাহরণস্বরূপ আপনার যদি 6 2 জিবি ডিআইএমএম থাকে এবং একটি জোড়া সরিয়ে ফেলা হয় তবে আপনার শীর্ষস্থানটি সম্ভবত 4 গিগাবাইট দ্বারা সঙ্কুচিত হতে পারে তবে এটি আপনাকে পূর্ববর্তী ক্ষেত্রে কোথায় ছিল তা বলে না, তবে আমি পরীক্ষা করব এই এবং আপডেট।
অ্যালুন

".. এবং এর উপরে সমস্ত ডিআইএমএম", উদাহরণস্বরূপ, যদি প্রশ্নে থাকা ডিআইএমএম স্লট 2 এ থাকে তবে 3 স্লটে ডিআইএমএমও সরিয়ে দিন ... n
K7AAY

0

আপনি কোন ওএস চালাচ্ছেন? যদি লিনাক্স এই কমান্ডটি কতটা অবৈধ?

grep -i 'System RAM' /proc/iomem    

প্রথম কলোন হল শারীরিক ঠিকানা;

তথ্যসূত্র: https://access.redhat.com/docamentation/en-US/Red_Hat_Enterprise_Linux/4/html/References_Guide/s2-proc-iomem.html /superuser/480451/ কি- মানবজাতির -memory-ঠিকানাগুলি-হয়-বেশী-দেখানো-বাই-proc-ioports-এবং-proc-iomem


-1

আজকাল সব কিছুই ভার্চুয়াল।

হার্ডওয়্যারটিতে এমএমইউ নামে কিছু আছে যা ইতিমধ্যে ওএসের ঠিকানাগুলিকে আসল শারীরিক ঠিকানায় অনুবাদ করে। এটি ডিআইএমএমগুলির মধ্যে লোড বিতরণ করতে পারে এবং হার্ডওয়্যারের অন্যান্য অংশগুলিকে ঠিকানার জায়গাতে ম্যাপ করে। ওএস স্তরে ফিজিকাল অ্যাড্রেস স্পেস যাকে বলা হয় এটি ইতিমধ্যে টিএলবি অনুবাদিত ভিউয়ের মাধ্যমে ।

/programming/36639607/how-exactly-do-kernel-virtual-addresses-get-translated-to-physical-ram একটি চমৎকার ব্যাখ্যা।


1
তিনি বলেছিলেন যে তিনি শারীরিক ঠিকানার পরিসর চেয়েছিলেন ।
dirkt

1
ইন্টেল 80286 এ একটি এমএমইউ যুক্ত করেছিল এবং এটি i386-তে সম্পূর্ণ কার্যকরী ছিল ... যা 30+ বছর আগে ছিল ... "আজকাল সমস্ত কিছু ভার্চুয়াল" এর জন্য এতটাই :) স্মৃতিশক্তি প্রায় সবসময় ভার্চুয়ালাইজড হয়ে গেছে।
এরিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.