Bagaimana komputer / OS dapat mengetahui RAM seperti apa yang ada di mesin?

81

Bagaimana Mac OS X dapat mengetahui RAM seperti apa yang ada di mesin? Misalnya saya sedang mengerjakan yang memiliki DDR3 RAM @ 1600MHz dan saya pikir itu tidak mungkin untuk mengetahui RAM tanpa secara fisik membuka kasing dan melihatnya. Bagaimana ini bisa dilakukan pada sistem lain?

Celeritas
sumber
6
Catatan: Saya telah menghapus komentar karena tidak pergi ke mana pun. Anda dapat menggunakan Obrolan Pengguna Super untuk berdiskusi.
slhck
@Celeritas: Saya telah memutar kembali hasil edit terakhir Anda. Bertanya mengapa pengembang / produsen memilih untuk menambah atau menghilangkan fitur dari produk mereka tidak konstruktif .
Karan
@Karan Saya bertanya-tanya apakah perangkat keras atau OS Mac berbeda dari perangkat keras yang dijalankan Windows yang membuatnya lebih mudah untuk menentukan jenis RAM. Sepertinya fitur yang berguna untuk dimasukkan ke dalam OS sehingga orang tahu apa jenis RAM untuk mendapatkan jika mereka ingin meng-upgrade. Anda dapat mengedit pertanyaan untuk mencerminkan apa yang baru saja saya katakan tetapi reword agar lebih cocok.
Celeritas
1
Karena Anda sudah bertanya apakah mungkin melakukannya di Windows dan telah menerima jawaban yang memberi tahu Anda caranya, jelas tidak ada perbedaan perangkat keras mendasar yang mencegah Windows menampilkan info jika diinginkan (data SPD seperti yang Anda lihat di bawah disimpan. pada modul RAM, dan dapat diakses ke OS / aplikasi apa pun yang ingin membacanya). Selain itu, tidak ada gunanya membahas mengapa tepatnya MS memilih untuk tidak melakukannya, bahkan jika itu berguna bagi pengguna akhir.
Karan
i2c bus adalah standar yang dapat berinteraksi dengan OS apa pun. SPD menampilkan dirinya sebagai EEPROM 128-byte, 256-byte atau 512-byte. OS hanya perlu mengumpulkan byte-byte ini, yang mematuhi standar lain yang disebut JEDEC, dari EEPROM menggunakan i2c dan kemudian menggunakan data itu untuk mencari tahu jenis memori yang sedang dibicarakan. Ini sangat agnostik OS.
LawrenceC

Jawaban:

147

Stik RAM memiliki chip kecil di dalamnya yang disebut Serial Presence Detect , yang berisi informasi seperti kapasitas, timing yang diutamakan, pabrikan, dan bahkan nomor seri.

Informasi SPD dapat diakses oleh OS menggunakan bus i2c (yang juga mencakup hal-hal seperti sensor suhu). Saya pikir Anda dapat langsung membaca SPD dari Linux menggunakan berbagai utilitas i2c.

Gambar dari artikel Wikipedia ini memiliki gambar yang bagus: e

LawrenceC
sumber
2
Di Linux, dmidecode --type memoryAnda dapat melihat beberapa informasi. Tampaknya itu dapat menampilkan nomor produsen dan seri, tetapi setidaknya pada sistem saya yang dilaporkan sebagai sederhana ManufacturerNdan SerNumNdengan Napa yang tampaknya menjadi nomor slot.
CVn
2
Saya pikir dmidecodeparsed sesuatu yang disatukan BIOS saat boot. BIOS harus membaca SPD dan melaporkannya - BIOS kereta bukanlah hal baru.
LawrenceC
1
+1 untuk satu-satunya jawaban yang menyebutkan SPD
Jonathon Reinhart
1
Sepertinya saya pernah ada masa ketika RAM stik tidak memiliki chip SPD ... Setidaknya saya ingat dengan jelas meninjau daftar harga untuk RAM di mana item ditandai dengan jelas sebagai SPD dan non-SPD (kira-kira pada suatu saat memperkenalkan standar DIMM)
Mikhail
1
@Mikhail ya, SIMM memiliki 4 pin untuk "mendeteksi kepekaan" - ini ditarik tinggi atau rendah untuk memberikan pengidentifikasi yang menunjukkan ukuran dan kecepatan. ohlandl.ipv7.net/config/mempresence.html
ali1234
47

Di Windows:

wmic memoryChip get /?

Akan memberi Anda berbagai informasi RAM yang dapat Anda minta langsung dari command prompt.

Sebagai contoh,

wmic memorychip get serialnumber

Memberi Anda nomor seri. Anda juga dapat menggunakan Speed, Modelkadang-kadang, Manufacturerdan banyak lagi.

WMI adalah metode Windows untuk menanyakan data SMBIOS . Apple, Linux, Windows dan siapa pun yang ingin menjalankan pada sebagian besar perangkat keras membuat kebutuhan untuk mendukung SMBIOS pada tingkat tertentu, untuk alasan yang berbeda.

Anda dapat menggunakan SMBIOS (mis. Melalui WMI atau WMIC di Windows) untuk juga mengumpulkan informasi hard drive, informasi jaringan (apakah ini kartu 10/100 atau 10/100/1000?).

Untuk mengambil satu langkah lebih jauh, setiap pabrikan memiliki kode untuk alamat MAC pada NIC. RAM juga memiliki kode pabrikan. Jadi yang harus Anda lakukan untuk mendapatkan kode mereka, misalnya 2 x2GB saya di laptop ini adalah 830B, adalah membangun database untuk produsen (830B mungkin satu merek dan kemudian dijual kembali juga!) Dan juga model apa artinya apa. Itulah cara kerja CPUz yang saya yakini — pertanyaan dasar dan database yang benar-benar lengkap dan terkini.

Austin T French
sumber
3
Perhatikan bahwa WMI dapat menanyakan informasi DMI / SMBus tetapi bukan implementasi Windows-nya . Selain itu, dmidecodeyang murni menanyakan dan menerjemahkan informasi DMI juga tersedia sebagai port Windows .
syneticon-dj
@ syneticon-dj Saya tidak yakin Anda menambahkan sesuatu di sini dan poin Anda tidak jelas. WMI adalah Instrumentasi Manajemen Windows, di antara kemampuan dan tugasnya adalah membaca SMBUS. Tetapi jika poin Anda semua anork adalah bnorks tetapi tidak semua bnorks adalah anorks ... maka ya, tepatnya ...?
Austin T French
Maksud saya adalah bahwa kata-kata Anda tidak akurat sampai pada titik di mana ia mudah disalahpahami. WMI dapat berinteraksi dengan SMBIOS tetapi tidak dalam hal apapun implementasinya (yang berada di sisi hardware / BIOS dan tidak dalam OS).
syneticon-dj
Itu mengatakan: "WMI adalah implementasi Windows standar SMBus untuk perangkat membaca." Dan ini adalah cara Windows membaca / bertanya dan mengetahui apa yang ada di dalamnya ... Tetapi WMI juga melakukan lebih banyak.
Austin T Prancis
2
@ syneticon-dj - melakukan pengeditan jika salah.
Enigma
18

Kecepatan dan jenis memori dinegosiasikan dengan bios dan dapat dibaca oleh sistem operasi.

Ada situs web yang sangat bagus memberi Anda tingkat pemahaman yang lebih dalam tentang hal-hal ini di http://www.computermemoryupgrade.net/index1.html

Tetapi Anda dapat dengan mudah mengetahui jenis dan kecepatan yang Anda miliki tanpa membuka penutup melalui:

Apple -> Tentang Mac Ini -> Info Lebih Lanjut -> Laporan Sistem

Buka Perangkat Keras -> Memori

Anda harus melihat setiap batang RAM termasuk Ukuran, Jenis dan Kecepatan (dan untuk bersenang-senang, Status untuk memastikan itu ok)

Laporan Sistem dengan Memori

jnovack
sumber
13

Pada banyak distribusi Linux (misalnya Debian), Anda dapat menggunakan daftar perangkat keras lshw

sudo lshw |grep DDR
         description: SODIMM DDR3 Synchronous 1067 MHz (0.9 ns)
         description: SODIMM DDR3 Synchronous 1067 MHz (0.9 ns)

Saya kira RAM itu, seperti semua perangkat keras lainnya, melaporkan deskripsi dan kemampuannya ke OS. Jika Linux bisa melakukannya, saya tidak melihat alasan mengapa OSX tidak bisa.

Jika distribusi Anda tidak menginstal lshw, Anda dapat menginstalnya menggunakan manajer paket Anda, mis

aptitude install lshw

atau unduh dari situs web proyek.

terdon
sumber
FYI, lshwtidak tersedia di OS X:
slhck
@ b. Lanjutkan reaksi kneejerk karena pertanyaannya ditandai win / osx tetapi bukan Linux?
Dan Neely
Sungguh, maaf tentang itu - saya tidak membaca seluruh pertanyaan (atau judul tampaknya). Saya pikir itu bertanya tentang OS
blong
Sslhck Maaf, saya baru saja melakukan pencarian google cepat OSX lshwdan melihat posting ini di situs web apple dan saya menganggap itu ada untuk OSX tanpa benar-benar membaca posting yang dimaksud. (memerah). Ngomong-ngomong, maksud saya di sini adalah bahwa jika Linux dapat melihat jenis RAM mengapa tidak OSX?
terdon
9

Pada Mac OS X jalankan dari terminal:

$ system_profiler SPMemoryDataType
Borys Borysenko
sumber
4

RAM stick menyimpan pengaturan waktu, kecepatan, dan mengetikkan chip kecil pada stick. Bagaimana komputer Anda tahu seberapa cepat menjalankan RAM tanpa merusak datanya? Chip yang sama. Apple hanya memilih untuk menampilkan data ini juga.

MarcusJ
sumber
3
Ini disebut SPD - Deteksi Kehadiran Serial .
David Schwartz
Kalimat pertama tidak masuk akal.
CVn
2
Bagaimana dengan itu tidak masuk akal? Masuk akal bagi saya, dan itulah keluhan pertama yang saya dapatkan.
MarcusJ
2

Untuk melengkapi jawaban ultrasawblade, di Linux, untuk memecahkan kode data SPD, Anda dapat menggunakan decode-dimms perlskrip dari i2c-tools :

sudo modprobe -a i2c-i801 eeprom
decode-dimms

Atau untuk HTML mewah yang diformat:

decode-dimms -f | w3m -T text/html

(w3m menjadi browser / pager berbasis teks). Atau tentu saja:

decode-dimms -f > dimms.html
xdg-open dimms.html
sch
sumber
1

Speccy adalah perangkat lunak Windows yang akan memberi tahu Anda banyak hal tentang komputer Anda termasuk jenis RAM / ukuran / total slot / slot yang tersedia.

Jesse Toxik
sumber
2
Saya dulu menggunakan CPU-Z untuk mendapatkan info seperti itu di mesin Windows - ini memberi Anda informasi yang sangat rinci tentang CPU, RAM & bahkan lebih. Ini kecil & rapi & diperbarui secara berkala.
Mikhail