Saya adalah seorang pengembang perangkat lunak (menggunakan bahasa tingkat tinggi seperti .NET, C, C ++ dll) mencoba memahami bagaimana komputer bekerja pada tingkat yang lebih rendah.
Saya kenal dengan diagram ini:
Saya mencoba untuk mendapatkan wawasan tingkat tinggi tentang bagaimana diagram di tautan memetakan ke diagram sirkuit seperti ini:
Misalnya, lihat pernyataan bahasa majelis:
ADD 1,2
Saya mencoba memahami bagaimana prosesor menghasilkan '3' sebagai output. Saya menyadari bahwa pertanyaan ini mungkin sulit dijawab dengan istilah sederhana. Jika ya, maka tautan akan membantu, mungkin ke sebuah buku.
microprocessor
w0051977
sumber
sumber
Jawaban:
Masalahnya adalah bahwa untuk memahami bagaimana komputer mencapai 1 + 2 = 3 Anda harus memahami tentang 2 level lebih dalam daripada yang Anda alami.
Secara kasar komputer diorganisasikan (dalam hal bidang studi) seperti ini dari tingkat abstraksi tertinggi hingga realitas paling fisik:
Untuk memahami mengapa komputer dapat menghasilkan 2 + 1 = 3, Anda harus terlebih dahulu memutuskan apa yang ingin Anda terima "berdasarkan keyakinan" dan apa yang tidak akan Anda percayai sampai Anda menginternalisasikannya. Sepotong informasi itu akan berada di tingkat dua di bawah hal yang Anda pahami. Jadi, jika Anda ingin memahami rangkaian penambah pada level logis, Anda perlu memahami dasar-dasar transistor "digital" (khususnya CMOS).
Menggunakan situs Anda sebelumnya sebagai contoh, pertimbangkan sumber ini . Ini membahas "Full Adder" - sirkuit tujuan umum minimum yang mampu ditambah / dikurangi termasuk carry-in dan carry-out.
Anda juga perlu memahami bagaimana angka direpresentasikan dalam komplemen 2's (sistem angka yang digunakan pada komputer modern untuk aritmatika integer).
Jika Anda benar-benar menginginkan kursus pengantar kelas dunia, saya tidak bisa merekomendasikan Profesor Scott Wills di Georgia Tech dengan sangat baik. Dia meninggal tahun lalu karena kanker, tetapi jalannya tetap hidup . Kelas Georgia Tech ECE2030 (pengantar teknik komputer) memiliki buku teks dan semua latihan online.
Semoga berhasil!
sumber
Saya harus belajar hal yang sama di universitas, dan kami menggunakan buku Computer Organisation and Design yang sangat detail (tapi mungkin terlalu detail untuk kebutuhan Anda).
Patterson dan Hennesy menggunakan beberapa prosesor MIPS "sederhana" dan menunjukkan seluruh fungsi CPU dengan beberapa kode sampel di Assembler.
Secara umum, saya pikir itu akan menjadi ide bagus untuk mengambil beberapa prosesor "sederhana" (Arduino atau lebih) dan mencoba untuk memahami fungsinya, karena perbedaan dari yang lebih kompleks lebih pada seberapa besar kode instruksi yang diterapkan.
PS Mungkin mikroprosesor dasar dari Google Code akan sangat membantu. Ini adalah mikroprosesor yang disimulasikan di Jawa.
sumber
Buku gratis Bagaimana Komputer Bekerja - Prosesor dan Memori Utama oleh Roger Young akan menjawab pertanyaan Anda, ia menggunakan relay bukannya transistor untuk pemahaman yang lebih baik.
sumber
Saya menemukan jawaban saya di sini . Ini adalah ikhtisar tingkat tinggi dari proses penambahan angka.
sumber