Saya telah menjadi kutu buku komputer selama bertahun-tahun. Saya dapat memprogram dalam beberapa bahasa, dan saya bahkan dapat membuatnya. Saya duduk dengan seorang teman di suatu hari dan bertanya bagaimana sebuah komputer benar-benar mengambil listrik dan melakukan sesuatu dengan itu, dan kami tidak bisa memahaminya, dan Google juga tidak banyak membantu.
Maksud saya, bagaimana komputer mengambil aliran listrik konstan dan mengubahnya menjadi 1 dan 0 dan kemudian benar-benar melakukan sesuatu dengan 1 dan 0 itu seperti menyalakan lampu selama 15 detik?
Saya mengerti gerbang (DAN, ATAU, NOR, NAND, BUKAN) dan sedikit tentang dioda , resistor dan transistor , tapi saya pikir ini akan menjadi tempat yang sempurna untuk menjelaskannya dalam istilah orang awam yang sebenarnya!
Adakah yang bisa mengarahkan saya ke arah yang benar atau memberi saya penjelasan singkat?
Jawaban:
Ini adalah pertanyaan luas yang tidak memiliki jawaban mudah; masih jauh dari elektron yang bergerak cepat di sepanjang kabel tembaga hingga merender situs web di Firefox. Saya akan mencoba memberi Anda gambaran dari bawah ke atas dan mengarahkan Anda ke hal-hal yang benar untuk dicari.
Encoding Numbers
Motivasi dasar adalah untuk menghitung hal-hal, seperti dalam melakukan aritmatika¹. Hal pertama yang harus dilihat adalah bagaimana merepresentasikan angka. Ada banyak pendekatan, menggunakan desimal atau terner dan saya pikir bahkan sistem oktal, tetapi pada akhirnya, biner menang. Sekarang kita tahu kita harus membangun perangkat yang berhubungan dengan dua nilai - sebut saja dan .10 1
Perhatikan bahwa ada juga beberapa cara untuk menyandikan angka dalam biner. Setelah Anda membangun prosesor pertama Anda, Anda menyadari keuntungan melakukan sesuatu dengan cara tertentu. Contoh populer adalah pelengkap dua-pelengkap dan IEEE . Sebagai permulaan, batasi diri Anda pada bilangan asli.
Gates
Asumsikan kita menggunakan pengkodean biner. Pikirkan bagaimana Anda belajar menambahkan di sekolah dasar dan menuliskan hal yang sama untuk angka biner. Ternyata, blok bangunan aljabar Boolean sudah ada untuk Anda; mudah untuk membangun penambah dasar (dan fungsi aritmatika lainnya) menggunakan gerbang logika .
Cara membangun gerbang seperti itu berada di luar ruang lingkup ilmu komputer; teknik eletrical telah memberikan beberapa solusi menggunakan tabung misalnya atau transistor . Kepala ke Pertukaran Teknik Stack Listrik untuk pertanyaan tentang ini.
Jam dan Negara
Tidak semua gerbang sama cepatnya dan tidak semua bagian perhitungan memiliki jumlah gerbang yang sama. Oleh karena itu, kita harus berhati-hati agar operasi individu tidak saling menyalip. Telah terbukti bermanfaat untuk menggunakan jam global ; hasil dari jaringan gerbang yang diberikan adalah keadaan kabel keluaran pada akhir siklus (yang dapat berubah secara liar sementara gerbang mengalir menuju keadaan akhir masing-masing).
Itu berarti bahwa hasil dari satu siklus mungkin harus disimpan sampai siklus berikutnya dimulai, misalnya jika Anda memasang loop. Ada sejumlah elemen dasar yang dapat Anda gunakan untuk berbagai efek, semua dibangun dari gerbang; beberapa disebut sandal jepit . Itu juga digunakan untuk membangun register , elemen yang menyimpan angka sebanyak siklus jam yang diperlukan.
Arsitektur dan Perintah
Sekarang Anda memiliki segudang pilihan desain untuk dibuat. Operasi aritmatika apa yang disediakan prosesor Anda? Seperti apa perintah Anda? Mungkin mendidik untuk melihat arsitektur MIPS yang bentuk awalnya mudah dibandingkan dengan desain lainnya. Lihatlah rencananya :
Asli dari http://ube.ege.edu.tr/~erciyes/CENG311
Pada dasarnya, ini mengambil dan dan membongkar perintah, satu set register, ALU dan kontrol. Perintah mengkodekan operasi ALU mana yang harus dilakukan pada operan mana (dengan jumlah register yang dimiliki), bagaimana memanipulasi program counter² atau register mana yang memuat / menyimpan dari / ke memori³.
Pertimbangan Lebih Lanjut
Sekarang Anda memiliki prosesor yang berfungsi dalam pengertian modern, dengan asumsi Anda sudah tahu cara membangun memori dan cara memberi makan perintah. Dalam perjalanan menuju mesin modern, banyak pilihan harus dibuat. Inilah beberapa:
Alternatif
Di atas sangat dipengaruhi oleh bagaimana sejarah berubah. Di dunia yang berbeda dengan pikiran yang berbeda, komputer dapat bekerja secara berbeda. Bahkan, ada banyak model komputasi , beberapa di antaranya memiliki kelebihan yang menjadikannya berguna sebagai abstraksi untuk mesin nyata dalam banyak kasus. Ada juga upaya untuk meniru cara otak kita bekerja, yaitu mengaktifkan komputasi saraf , atau lebih umum untuk mengeksploitasi strategi pemecahan masalah dan penyimpanan informasi yang diamati di alam , yang paling menonjol adalah komputasi DNA dan kuantum .
Jadi mungkin (semoga?) Informasi di atas adalah semua sejarah kuno 50 atau 100 tahun lagi dari sekarang.
sumber
Gambaran lengkapnya cukup rumit. Ada banyak lapisan yang dibangun di atas satu sama lain yang secara kolektif menerapkan abstraksi tingkat tinggi di atas tegangan listrik. Tidak ada penjelasan sederhana tentang bagaimana semuanya disatukan, terutama mengingat bahwa perangkat keras dan perangkat lunak komputer telah berkembang secara dramatis dalam lima puluh tahun terakhir.
Jika Anda tertarik untuk melihat bagaimana semuanya disatukan, Anda mungkin ingin memeriksa The Elements of Computing Systems , sebuah buku yang dimulai dengan gerbang NAND dan secara bertahap membangun implementasi kerja Tetris di atas kompiler dan sistem operasi yang Anda juga membangun. Setiap bagian dari komputer dibangun pada yang sebelumnya, yang dapat membantu Anda melihat bagaimana semuanya bekerja.
sumber
Keamanan podcast Sekarang! melakukan serangkaian cara kerja komputer, dimulai dengan prinsip dasar.
Kesenjangan dalam angka adalah karena setiap episode lainnya adalah episode Umpan Balik Pendengar sehingga Anda mungkin ingin menontonnya juga. Juga antara 241 dan 247 mereka melakukan beberapa episode tentang SSL karena berita terkini pada saat itu tentang negara-negara yang memaksa CA untuk memberikan sertifikat root kepada mereka.
Juga EP. 248 adalah "Portable Dog Killer" yang tidak membunuh anjing, tetapi senjata sinar sonik yang dibuat Steve sendiri sebagai anak untuk membantu mengajar anjing tetangga agar tidak berlari ke garis pagar dan mencoba menyerang orang di trotoar. .
sumber
Komputer bekerja dengan memanipulasi gradien energi (yang kemudian kita tafsirkan sebagai 1 dan 0) dengan cara yang konsisten dan didefinisikan . Ini adalah konsistensi yang mendefinisikan komputer, sementara itu definisi yang memisahkan prosesor yang berbeda.
Juga, pelajari tentang bagaimana hanya dua gerbang logika (ATAU, dan DAN) adalah blok bangunan yang cukup untuk membangun komputer serba guna. Lihat juga, Danny Hillis dan komputer Tinkertoy.
sumber
Komputer adalah sistem logis sinkron besar , yang artinya
Ini memiliki sirkuit khusus untuk menyimpan informasi selama komputer ini ditenagai (RAM, dalam jumlah besar). Ini memiliki sirkuit khusus untuk melakukan aritmatika biner (sebenarnya bit ditangani dalam kelompok - biasanya dalam kelipatan 8 - yang secara kolektif mewakili angka integer). Dan ia memiliki kemampuan perutean khusus berdasarkan alamat memori, yang tidak lain adalah integer.
Terakhir, komputer modern memiliki program yang juga disimpan dalam RAM, yang merupakan daftar instruksi yang dikodekan sebagai bilangan bulat, yang dieksekusi secara berurutan, biasanya mengambil data dari memori, melakukan aritmatika dan mengirimkan hasilnya kembali ke memori.
Dalam skenario Anda, orang bisa memikirkan implementasi di mana waktu yang telah berlalu disimpan di suatu tempat di RAM dan program menginstruksikannya
Perhatikan bahwa semua elemen ini saat ini mencapai tingkat kecanggihan yang tinggi, dan setiap kalimat dalam ikhtisar yang sangat singkat ini layak mendapatkan beberapa buku penjelasan.
sumber
Ada beberapa cara untuk melakukan fungsi penundaan atau mengubah data biner menjadi data desimal atau kekuatan sinyal. Saat Anda memasukkan nilai "15", komputer menampilkan gambar bitmap dari angka 15 di layar. Ini sebenarnya nilai biner, saat ini kode biner keyboard Anda juga dikirim ke cpu. Ini akan mem-parsing data kemudian mengubah kode ke unit pemrosesan ALU (unit aritmatika logika) untuk mengubahnya menjadi pulsa ke chip DAC. Sinyal analog sekarang sedang mengendalikan frekuensi (frekuensi dari khz ke hz) dari rangkaian flip-flop. Sekarang output frekuensi akan diarahkan ke RAM, dan CPU membaca RAM untuk mencocokkan jika data "1111". Jadi itu 4 detik.
sumber