Sirkuit

Cara Membangun Komputer 8-Bit: 18 Langkah (dengan Gambar)

The Gigatron TTL Computer without a Microprocessor

The Gigatron TTL Computer without a Microprocessor

Daftar Isi:

Anonim

Membangun komputer TTL 8-bit terdengar seperti tugas yang menakutkan dan rumit, atau setidaknya bagi saya ketika saya memulai perjalanan saya untuk memahami arsitektur CPU dasar. Ketika sampai pada itu, CPU cukup sederhana dalam operasi setelah Anda mempelajari dasar-dasar di balik semua prosesnya. Proyek ini dimaksudkan untuk membantu siapa saja yang tertarik dalam membangun komputer mereka sendiri dan mendapatkan pengetahuan luar biasa yang datang bersama dengan proses tersebut. Jangan takut untuk mencoba, Anda hanya bisa belajar.
Proyek ini akan memulai dengan menjelaskan dasar-dasar elektronik. Setelah itu, dasar-dasar logika biner dan boolean akan dijelaskan. Terakhir kita kemudian akan beralih ke fungsi berbagai bagian dari komputer sesederhana mungkin (dengan beberapa modifikasi) seperti yang dijelaskan dalam teks Malvino Elektronik Komputer Digital . Ini berarti bahwa produk akhir dari Instructable ini adalah komputer yang dapat Anda program dengan set instruksi unik. Proyek ini juga meninggalkan banyak aspek desain komputer terserah Anda dan berfungsi sebagai panduan untuk membangun komputer Anda sendiri. Ini karena ada banyak cara untuk mendekati proyek ini. Jika Anda sudah memiliki pemahaman yang baik tentang logika boolean dan cara kerja biner merasa bebas untuk melompat ke daging proyek. Saya harap Anda semua menikmati dan mendapatkan sesuatu dari bangunan seperti ini, saya tahu saya yakin begitu.
Untuk proyek ini Anda perlu:
1.) Catu daya
2.) Papan tempat memotong roti + banyak kabel
3.) LED untuk output
4.) Berbagai IC logika (dibahas nanti)
5.) Waktu luang
6.) Kesediaan untuk mengacaukan dan belajar dari kesalahan
7.) Banyak kesabaran
Opsional (tetapi sangat bermanfaat):
1.) Osiloskop
2.) Digital multimeter
3.) programmer EEPROM
4.) Obeng sonik
Tautan yang Bermanfaat untuk Proyek Seperti Ini:
Elektronik Komputer Digital:
http://www.amazon.com/Digital-computer-electronics-Albert-Malvino/dp/007039861
Cookbook TTL: http://www.amazon.com/TTL-Cookbook-Understanding-Transistor-Transistor-Integrated/dp/B0049UUV38

Persediaan:

Langkah 1: Apa Itu Komputer?

Ini mungkin tampak seperti pertanyaan yang sangat sederhana yang tidak perlu dijawab ketika, pada kenyataannya, itu adalah pertanyaan yang banyak orang tidak tahu jawaban yang sebenarnya. Komputer telah ada jauh lebih lama daripada transistor dalam bentuk mekanis dan teoretis. Definisi sebenarnya dari komputer dipikirkan oleh individu yang sangat cerdas dengan nama Alan Turing. Dia menggambarkan sebuah mesin yang disebut Mesin Turing. Setiap komputer yang kita gunakan saat ini, dari komputer atau ponsel yang Anda baca ini hingga superkomputer semua dapat diklasifikasikan sebagai Mesin Turing pada tingkat yang paling sederhana.
Apa itu Mesin Turing? Mesin Turing terdiri dari 4 bagian: pita, kepala, meja, dan register keadaan. Untuk memvisualisasikan pengoperasian mesin seperti itu, pertama-tama Anda harus membayangkan strip film yang membentang tak terbatas di setiap arah. Sekarang bayangkan bahwa setiap sel strip film ini hanya dapat berisi satu set simbol yang ditentukan (seperti alfabet). Untuk contoh ini, mari kita bayangkan bahwa setiap sel hanya dapat berisi "0" atau "1". Sel-sel ini dapat ditulis ulang dalam jumlah waktu yang tak terbatas tetapi menyimpan informasinya hingga waktu yang tidak terbatas sampai mereka berubah lagi. Bagian dari Mesin Turing yang dikenal sebagai kepala dapat menulis simbol ke sel-sel serta menambah atau mengurangi posisinya pada strip film oleh bilangan bulat (jumlah keseluruhan) sel yang diberikan. Bagian selanjutnya adalah tabel yang berisi serangkaian instruksi yang diberikan untuk dijalankan oleh kepala seperti "gerakkan ke kanan 4 sel" dan "atur sel ke 1". Bagian keempat dan terakhir dari Mesin Turing adalah register statusnya yang bertujuan untuk mempertahankan status mesin saat ini. Negara bagian menyertakan instruksi serta data terkini pada rekaman itu.
Begitulah sederhananya pengoperasian komputer. Ketika komputer Anda beroperasi, itu sebenarnya beroperasi sebagai mesin turing. Ini memproses data yang disimpan di komputer Anda dengan serangkaian instruksi dan algoritma yang diberikan. Komputer yang dijelaskan dalam Instructable ini adalah model komputer yang sangat sederhana, tetapi masih beroperasi sebagai salah satu yang dapat Anda program dengan serangkaian instruksi yang akan diikuti dan dijalankan.
Tautan Berguna:
Wikipedia di Mesin Turing:
http://en.wikipedia.org/wiki/Turing_machine

Langkah 2: Pengantar Elektronik

Sebelum membangun komputer 8-bit, sangat berguna untuk memahami sifat-sifat unsur listrik dan sirkuit analog. Ada bagian-bagian di komputer yang akan Anda bangun akan memerlukan komponen analog. Ada banyak panduan pengajaran mandiri elektronik yang tersedia dengan biaya minimal yang memberikan kursus kilat dalam teknik listrik. Saya pribadi menemukannya Panduan Pengajaran Mandiri Elektronik oleh Harry Kybet dan Earl Boysen menjadi buku yang luar biasa untuk menangani dunia elektronik analog.
Panduan Pengajaran Mandiri Elektronik : http://www.amazon.com/Electronics-Self-Teaching-Guide-Teaching-Guides/dp/0470289619/
Komponen umum:
Resistor - Batas arus, diukur dalam ohm.
Kapasitor - Menyimpan muatan, dapat berupa kutub atau non-kutub (artinya kutub yang harus ditempatkan di arah yang benar untuk bekerja). Diukur dalam farad.
Diode - Hanya memungkinkan arus mengalir dalam satu arah, rusak pada tegangan tertentu ketika ditempatkan di arah yang salah.
Transistor - Gerbang saat ini yang dikendalikan oleh pin ketiga yang bertindak sebagai mediator. Ada banyak jenis transistor, tetapi di sini kita akan berbicara tentang BJT (transistor persimpangan bipolar) yang datang dalam dua jenis: NPN dan PNP.

Arus, tegangan, dan resistansi berjalan beriringan di sirkuit. Hubungan antara ketiganya dapat diekspresikan dengan hukum Ohm: V = IR. Dengan kata lain, Tegangan sama dengan arus dalam ampere dikalikan dengan hambatan dalam ohm. Hukum Ohm adalah salah satu formula paling penting dalam elektronik dan perlu diketahui dari atas kepala Anda.
Untuk menerapkan hukum Ohm, Anda perlu mengetahui hambatan sirkuit. Untuk menemukan nilai resistor Anda harus menggunakan kode warnanya. Kode warna resistor didasarkan pada spektrum yang terlihat dan dapat dihafal dalam berbagai mode. Bagi mereka yang tidak ingin mengingatnya, ada banyak alat yang ada untuk membantu Anda menemukan nilai yang benar untuk resistor Anda. Untuk menghitung resistansi total dalam rangkaian, Anda memerlukan dua rumus untuk dua konfigurasi resistor yang berbeda: seri dan paralel. Dalam seri satu resistor mengikuti yang lain, sedangkan secara paralel mereka bekerja berdampingan. Secara seri formula ini sangat sederhana:
Resistor dalam Seri: R (total) = R (1) + R (2) +. . . + R (N)
Artinya Anda hanya perlu menjumlahkan nilai-nilai resistor.
Resistor dalam Paralel: R (total) = 1 / {1 / R (1) + 1 / R (2) +. . . + 1 / R (N)}
Alat yang bagus untuk menemukan penolakan dari kode warna: http://www.csgnetwork.com/resistcolcalc.html
Lebih mudah untuk memahami rumus untuk resistor secara paralel jika Anda menganggap resistor berfungsi bersama seperti dua orang yang bekerja bersama dalam suatu proyek. Rumus yang sama digunakan untuk masalah kata di mana Anda diberi tingkat di mana dua orang beroperasi dan Anda harus mengetahui seberapa cepat proyek mereka akan selesai jika bekerja bersama.
Untuk menemukan berapa banyak arus yang dipasok ke komponen tertentu dengan nilai resistansi tertentu, Anda cukup memasukkan nilai resistansi dan tegangan ke dalam hukum Ohm dan menyelesaikannya untuk I. Misalnya:
Lampu ada di sirkuit dan dan dua resistor 1K (seribu ohm) ditempatkan di depannya secara paralel. Dengan catu daya 9 volt, berapa banyak arus yang disuplai ke lampu?
1.) Hitung R (total):
R (total) = 1 / (1/1000 + 1/1000) = 1 / (2/1000) = 1000/2 = 500 ohm
2.) Hitung saat ini menggunakan hukum Ohm:
9 = I * 500
I = 9/500 = .018 A = 18 mA (miliamps)
Anda juga dapat mengatur resistor di sirkuit untuk mengatur tegangan. Ini disebut pembagi tegangan dan melibatkan dua resistor secara seri. Output tegangan dari dua resistor ada di persimpangan mereka. Untuk ide yang lebih baik, lihat gambar yang saya pasang. Dalam pengaturan ini rumus untuk output tegangan adalah:
V (keluar) = V (sumber) * R (2) / {R (1) + R (2)}
Kapasitor akan berguna di komputer Anda dengan konstruksi jam. Jam hanyalah sirkuit yang menyala dan mati dengan kecepatan konstan. Sama seperti resistor, kapasitor memiliki dua rumus untuk menemukan nilai total untuk konfigurasi seri dan paralel.
Seri: C (total) = 1 / {1 / C (1) + 1 / C (2) +. . . + 1 / C (N)}
Paralel: C (total) = C (1) + C (2) +. . . + C (N)

Tingkat pengisian kapasitor tergantung pada resistansi rangkaian sebelum (atau setelah Anda mengeluarkan) kapasitor serta kapasitansinya. Pengisian kapasitor diukur dalam konstanta waktu. Dibutuhkan 5 konstanta waktu untuk mengisi penuh atau melepaskan kapasitor. Rumus untuk menemukan konstanta waktu kapasitor dalam detik adalah:
T (konstan) = Perlawanan * Kapasitansi
Dioda sederhana dalam pengoperasian dan berguna saat membangun komputer TTL. Mereka hanya membiarkan arus mengalir dalam satu arah. Ketika mereka ditempatkan di arah yang benar mereka disebut bias maju. Ketika mereka terbalik mereka rusak pada tegangan tertentu. Ketika sebuah dioda bekerja melawan arus, ia bias balik.
Transistor beroperasi seperti katup yang dioperasikan oleh arus. BJT memiliki tiga pin: kolektor, emitor, dan pangkalan. Demi kesederhanaan pada langkah ini saya akan menjelaskan transistor NPN di mana arus mengalir dari kolektor ke emitor. Arus yang diterapkan di pangkalan mengontrol berapa banyak arus mengalir dari kolektor ke emitor. Transistor ideal untuk banyak aplikasi karena kemampuannya untuk memperkuat sinyal. Ini karena arus yang diterapkan pada basis transistor dapat jauh lebih sedikit daripada arus yang dikendalikan. Gain arus ini disebut gain transistor saat ini, atau beta. Formula untuk beta adalah:
Beta = Saat Ini (Kolektor) / Sekarang (Basis)
Ketika sebuah transistor benar-benar di atasnya dikatakan jenuh. Transistor boolean adalah transistor yang berada dalam keadaan jenuh atau mati dan tidak pernah di antaranya. Ini adalah jenis transistor yang sebagian besar akan Anda tangani dalam elektronik digital. Transistor membentuk gerbang logika yang diperlukan agar komputer berfungsi. Ini akan dijelaskan nanti.
Tautan Berguna:
http://en.wikipedia.org/wiki/Resistor
http://en.wikipedia.org/wiki/Capacitor
http://en.wikipedia.org/wiki/Diode
http://en.wikipedia.org/wiki/Transistor

Langkah 3: Angka Biner

Hari ini kita terbiasa dengan sistem penomoran di seluruh dunia yang didasarkan pada nomor sepuluh. Maksud saya, kita tidak memiliki angka dalam sistem bilangan kita yang bernilai nilai sepuluh dan dengan demikian sistem bilangan kita adalah basis sepuluh.
Pikirkan sistem bilangan kami sebagai odometer. Odometer dihitung dari digit terendah ke digit tertinggi lalu memaksa rotor berikutnya secara berurutan untuk memajukan satu tempat. Sebagai contoh:
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
1 0 <- Membawa ke angka berikutnya
Biner adalah basis dua, artinya hanya memiliki dua angka dan tidak memiliki angka untuk 2. Biner hanya memiliki angka 0 dan 1 atau "off" dan "on". Untuk menghitung dalam biner Anda cukup menerapkan teknik odometer:
0001b - 1
0010b - 2
0011b - 3
0100b - 4
0101b - 5
0110b - 6
0111b - 7
1000b - 8
dll . .
Ada faktor lain dari sistem bilangan kami yang menjadikannya basis sepuluh; saat kami bergerak lebih tinggi dalam angka, bobot angka bertambah dengan kekuatan sepuluh. Misalnya 1 = 10 ^ 0, 10 = 10 ^ 1, 100 = 10 ^ 2, dll. . . Dalam biner, hal-hal tentu saja adalah basis dua dan dengan demikian, setiap angka berturut-turut adalah kekuatan dua lainnya. 1b = 1 = 2 ^ 0, 10b = 2 = 2 ^ 1, 100b = 4 = 2 ^ 2, dll. . .
Untuk mengonversi angka desimal menjadi biner, ada trik sederhana yang dikenal sebagai double-dabble yang membuat prosesnya jauh lebih mudah:
Katakanlah kita ingin mengonversi 13 menjadi angka biner, kita mulai dengan membagi 13 dengan dua dan menuliskan sisanya. Kemudian langsung di atasnya Anda menuliskan angka yang dihasilkan tanpa sisa (6 dalam hal ini) dan membaginya dengan dua dan menuliskan sisanya di atas yang sebelumnya. Anda melanjutkan proses ini hingga mencapai angka 1 atau 0. Pada akhirnya Anda membaca dari atas ke bawah untuk mendapatkan hasilnya.
1/2 = 0 R1 <Baca dari atas ke bawah. Hasilnya adalah 1101 atau 2 ^ 0 + 0 + 2 ^ 2 + 2 ^ 3 = 1 + 0 + 4 + 8 = 13. Ini disebut kata biner.
3/2 = 1 R1 <
6/2 = 3 R0 <
13/2 = 6 R1 <
Heksadesimal sangat sering digunakan dengan biner. Heksadesimal adalah basis 16 dan berisi angka 0-9 dan a-f. Satu angka heksadesimal digunakan untuk menggambarkan satu nibble atau empat bit data. Bit adalah 1 atau 0 tunggal dari biner. Menggigit dapat dihitung dari 0 hingga 15 (0000 hingga 1111) sebelum bit berikutnya berada di menggigit berikutnya. Dua camilan bersama adalah satu byte atau 8 bit. Karena angka pertama adalah 2 ^ 0, angka terakhir adalah berbobot 2 ^ 7. Oleh karena itu byte dapat berada di mana saja dalam rentang dari 0 hingga 255. Untuk mengekspresikan byte 00101110 (46 dalam desimal) dalam heksadesimal, Anda pertama-tama akan memisahkan kedua nibble menjadi 0010 dan 1110. Nibble pertama memiliki nilai 2, dan yang kedua satu memiliki nilai E (atau 14 dalam desimal). Oleh karena itu byte 00101110 dalam heksadesimal akan menjadi 2E.
Tautan Berguna:
http://en.wikipedia.org/wiki/Binary_numeral_system
http://en.wikipedia.org/wiki/Hexadecimal

Langkah 4: Logic Gates

Komputer terdiri dari ribuan gerbang logika yang diatur untuk menjalankan fungsi tertentu. Gerbang logika adalah komponen dalam elektronik digital yang outputnya tergantung pada keadaan inputnya. Kebanyakan gerbang logika memiliki dua input dan satu output. Anda dapat menganggap gerbang logika sebagai pembuat keputusan dalam elektronik digital. Enam gerbang logika utama yang digunakan dalam elektronik digital adalah:
AND Gate: Output tinggi ketika semua jika inputnya tinggi.
ATAU Gerbang: Output tinggi ketika salah satu inputnya tinggi.
BUKAN Gerbang: Hanya memiliki satu input. Output tinggi ketika inputnya rendah.
Gerbang NAND: Output tinggi kecuali semua inputnya tinggi.
Gerbang NOR: Output tinggi ketika tidak ada inputnya yang tinggi.
Gerbang XOR: Output tinggi ketika sejumlah input ganjil tinggi.

Tri-State Buffer: Penyangga yang dikendalikan oleh sinyal logika ketiga.
Penting untuk menyebutkan sekarang perbedaan antara sinyal "1" yang tinggi dan sinyal "0" yang rendah. Sinyal tinggi dapat berupa koneksi ke tegangan positif atau bisa juga input mengambang. Input mengambang adalah salah satu yang tidak terhubung ke output apa pun. Contoh input mengambang adalah input yang tidak terhubung sama sekali atau input yang terhubung ke output buffer 3-kondisi yang tidak diaktifkan. Sinyal rendah hadir ketika input ada di ground.
Gerbang logika dapat dimasukkan satu sama lain untuk menghasilkan hampir semua fungsi yang bisa dibayangkan. Misalnya, dua gerbang NOR dapat diumpankan satu sama lain untuk menyimpan satu bit data dalam kait RS_NOR sementara daya disuplai ke sirkuit.

Langkah 5: Penghitungan Biner (Penghitung Program)

Salah satu bagian terpenting untuk komputer adalah penghitung programnya. Penghitung program memberi komputer dengan alamat saat ini dari instruksi yang akan dieksekusi. Agar penghitung program berfungsi, perlu menghitung dalam biner. Untuk melakukan ini, sandal jepit JK digunakan. Flip-flop adalah susunan gerbang logika yang menyimpan satu bit (seperti kait RS_NOR yang dijelaskan dalam langkah gerbang logika). Flip-flop JK mengubah statusnya ketika input pulsa clocknya menjadi tinggi dan kemudian rendah lagi (input J dan K-nya juga harus tinggi). Dengan kata lain, setiap kali JK flip flop mendapatkan ujung jatuh dari pulsa jam, kondisinya berubah dari "0" menjadi "1" atau dari "1" ke "0".
Jika Anda menghubungkan output dari satu JK flip flop ke yang lain dan mengalirkannya hasilnya adalah penghitung biner yang bertindak seperti odometer. Ini karena ketika flip flop JK pertama dalam urutan menjadi tinggi, dan kemudian rendah, memicu yang berikutnya dalam urutan. Frekuensi jam (berapa kali dihidupkan dan dimatikan satu detik) dibelah dua dengan setiap penambahan berturut-turut JK flip flop. Itulah sebabnya JK flip-flop juga disebut sirkuit divide-by-two. Pola yang dihasilkan untuk empat sandal jepit JK adalah 0000, 0001, 0010, 0011, 0100, dll. . .
Untuk komputer sesederhana mungkin yang dijelaskan dalam Instruksi ini, ada beberapa fungsi lagi yang Anda perlukan untuk menjadikan komputer beroperasi. Agar komputer dapat me-restart programnya, ia membutuhkan kemampuan untuk menghapus atau mengatur semua outputnya menjadi nol. Penghitung program juga membutuhkan kemampuan untuk memuat kata biner untuk kode op JMP yang memungkinkan komputer untuk beralih ke instruksi tertentu. Gerbang logika digunakan untuk mencapai tujuan ini. Untungnya bagi kami penghitung biner dilengkapi dengan chip yang nyaman dengan semua fungsi yang Anda butuhkan.

Langkah 6: Mendaftar

Register:

Register berpotensi menjadi bagian terpenting dari komputer. Register untuk sementara menyimpan nilai selama pengoperasian komputer. Komputer 8-bit yang dijelaskan dalam Instructable ini memiliki dua register yang terpasang pada ALU-nya, register untuk menyimpan instruksi saat ini dan register untuk output komputer.

Bergantung pada chip, register akan memiliki 2 atau 3 pin kontrol. Register yang akan kita gunakan memiliki dua pin kontrol: aktifkan output dan aktifkan input (keduanya aktif saat rendah). Ketika pin pengaktifan output terhubung ke arde, kata biner yang saat ini disimpan dikirim melintasi pin-pin keluaran. Ketika pin input terhubung ke ground, kata biner yang ada pada pin input dimasukkan ke register.

Contoh penggunaan register pada komputer adalah akumulator pada ALU (unit logika aritmatika yang melakukan operasi matematika). Akumulator seperti scratchpad untuk komputer yang menyimpan output ALU. Akumulator juga merupakan input pertama untuk ALU. Register B adalah input kedua. Untuk operasi tambahan, nilai pertama dimasukkan ke akumulator. Setelah itu nilai kedua yang akan ditambahkan ke nilai pertama dimasukkan ke dalam register B. Output dari akumulator dan register B menyatu terbuka dan secara konstan dimasukkan ke dalam ALU. Langkah terakhir untuk penambahan adalah untuk mentransfer output dari operasi ke dalam Akumulator.

Mendaftar semua beroperasi pada jalur data bersama yang disebut bus. Bus adalah sekelompok kabel yang jumlahnya sama dengan arsitektur CPU apa pun. Ini benar-benar menempatkan kuda sebelum kereta mengingat lebar bus adalah ukuran yang menentukan untuk arsitektur CPU. Karena digital 1 berarti tegangan positif, dan 0 berarti pentanahan, tidak mungkin untuk membuat semua register berbagi bus yang sama tanpa memberi mereka kemampuan untuk secara selektif menghubungkan dan memutuskan sambungan dari bus. Untungnya bagi kita, ada keadaan ketiga antara 1 dan 0 yang bertentangan dengan imput saat ini yang bekerja sangat baik untuk ini. Masukkan buffer tri-state: chip yang memungkinkan Anda untuk menghubungkan secara selektif kelompok kabel ke bus. Dengan menggunakan beberapa tri-state-buffer ini, Anda dapat memiliki setiap register dan chip di seluruh komputer yang membutuhkan komunikasi berbagi kabel yang sama dengan bus. Dalam kasus komputer saya, itu adalah band lebar 8-slot slot papan tempat memotong roti yang membentang bagian bawah papan tempat memotong roti. Bereksperimenlah dengan bus-bus, karena mereka membawa semua informasi dari satu bagian ke bagian lain di komputer, sebuah bus yang rusak bisa berarti data yang salah yang beriak di telepon.

Langkah 7: ALU

ALU (unit aritmatika logika) dari komputer adalah bagian yang menjalankan operasi matematika. Untuk komputer SAP, ia hanya perlu memiliki dua fungsi: penambahan dan pengurangan. Menambah dan mengurangi dalam karya biner sangat mirip dengan penambahan dan pengurangan dalam bentuk desimal, misalnya:
1 <- Carry 1 1 <- Carry Bits
05 0101
+05 +0101
10 1010
Untuk menambahkan biner, kita membutuhkan apa yang disebut penambah penuh. Penambah-penuh secara efektif menambahkan satu bit biner ke biner lainnya dengan carry in dan carry. Carry-in dari penambah penuh seperti input ketiga untuk proses penambahan. Mereka digunakan untuk rantai beberapa full-adder bersama. Pelaksanaan penambah penuh terjadi ketika ada sepasang yang dalam proses penambahan. Carry dari adder penuh dimasukkan ke carry in untuk menambahkan beberapa bit biner. Untuk membangun penambah penuh, Anda memerlukan dua gerbang XOR, dua gerbang AND dan gerbang OR.
Untuk mengurangi biner, kita perlu mengonversi angka ke angka negatifnya dan menambahkannya ke angka yang kita kurangi. Untuk melakukan ini kita menggunakan apa yang disebut pujian 2. Untuk mengambil pujian 2 dari kata biner Anda membalikkan setiap bit (ubah setiap 0 ke 1 dan setiap 1 ke 0) dan tambahkan satu.
5 = 0101, -5 = 1010+1 = 1011
Tidak digunakan -> 1 1
10 1010
+(-5) +1011
5 0101
Untuk mengontrol inversi bit, kami menggunakan gerbang XOR dengan satu input yang biasanya rendah. Dengan satu input normal rendah, output setara dengan input lainnya. Ketika Anda mengatur input kontrol tinggi, Anda membalikkan input lainnya. Jika kita memasangkan inversi ini dengan sedikit dikirim ke carry of the full adders, sebuah operasi pengurangan adalah hasilnya.

Langkah 8: Program Memori dan RAM

Memori program komputer Anda akan menyimpan instruksi yang akan dieksekusi. Ini juga akan bertindak sebagai RAM yang dapat menyimpan nilai selama operasi komputer. Memori program terdiri dari tiga bagian utama: memori, register alamat memori (MAR) dan multiplexer. Memori adalah chip yang memiliki 16 byte penyimpanan. Ada alamat empat bit yang dimasukkan ke dalam memori yang memberitahu byte apa yang harus dibaca atau dituliskan. MAR menyimpan alamat saat ini untuk byte untuk dibaca atau ditulis dari memori. Itu terus-menerus dimasukkan ke dalam chip memori kecuali komputer dalam keadaan pemrograman. Multiplexer memungkinkan Anda untuk memilih antara dua input dan output input yang diberikan. Multiplexer yang digunakan di komputer saya memungkinkan Anda untuk memilih dari dua input empat bit (MAR dan input manual). Ketika komputer dalam kondisi pemrogramannya, alamat manual dimasukkan ke dalam memori dan memungkinkan Anda memprogram byte ke dalam memori komputer pada alamat yang Anda tentukan.

Langkah 9: Daftar Instruksi

Register instruksi komputer menyimpan instruksi saat ini serta alamat di mana instruksi akan beroperasi. Ini adalah komponen yang sangat sederhana dengan tujuan yang sangat penting. Selama pengoperasian komputer, konten alamat yang diberikan dalam memori ditransfer ke register instruksi. Di komputer saya bit fout paling kiri adalah kode OP atau instruksi saat ini yang harus dilakukan. Empat bit yang tepat, atau empat bit terendah, beri tahu komputer alamat apa yang akan digunakan untuk operasi. Empat bit pertama secara konstan memasukkan kode OP ke dalam matriks kontrol yang memberi tahu komputer apa yang harus dilakukan untuk instruksi yang diberikan. Empat bit paling kanan diumpankan kembali ke komputer sehingga alamat dapat ditransfer ke penghitung MAR atau program.

Langkah 10: Keluaran Daftar

Jika komputer hanya memberi makan output bus ke operator, pembacaan akan sedikit tidak masuk akal. Inilah sebabnya mengapa ada register keluaran yang tujuannya adalah untuk menyimpan nilai yang dimaksudkan untuk keluaran. Output untuk komputer Anda dapat berupa LED sederhana yang menampilkan biner mentah, atau Anda dapat memiliki layar yang membacakan angka aktual pada tampilan tujuh segmen. Itu semua tergantung seberapa banyak pekerjaan yang ingin Anda masukkan ke komputer Anda. Untuk komputer saya, saya menggunakan beberapa tabung Numitron Rusia IV-9 untuk output komputer saya digabungkan dengan Arduino untuk melakukan konversi dari biner ke desimal.

Langkah 11: Jam

Setiap bagian di komputer harus sepenuhnya disinkronkan agar berfungsi dengan benar. Untuk melakukan ini, komputer Anda memerlukan jam atau sirkuit yang memiliki output yang hidup dan mati pada tingkat yang konstan. Cara termudah untuk melakukan ini adalah dengan menggunakan timer 555. Timer 555 adalah timer yang sangat populer yang ditemukan di era kemunculan komputer yang sangat populer di kalangan penggemar saat ini. Untuk membangun sirkuit 555, Anda perlu tahu cara mengoperasikannya.
Jam untuk komputer Anda seharusnya relatif lambat pada awalnya. 1Hz, atau satu siklus per detik, adalah nilai awal yang baik. Ini memungkinkan Anda untuk melihat operasi komputer Anda dan memeriksa segala kesalahan. Chip 555 membutuhkan dua resistor dan kapasitor untuk operasi. Kedua resistor menentukan berapa lama pulsa tinggi dan rendah serta frekuensi keseluruhan. Kapasitor mengubah panjang pulsa untuk keduanya. Jika Anda tidak memiliki pengalaman dengan 555 timer saya sarankan untuk bereksperimen dengan mereka.
Tautan Berguna:
http://en.wikipedia.org/wiki/555_timer_IC

Langkah 12: Arsitektur

Ini adalah langkah di mana semuanya bersatu. Saatnya untuk merancang arsitektur komputer Anda. Arsitekturnya adalah bagaimana register dan berbagai komponen komputer Anda diatur. Aspek desain sepenuhnya terserah Anda, meskipun itu membantu untuk mengingat tujuan (apa yang Anda ingin komputer Anda lakukan) dan model untuk mematikan. Jika Anda ingin mendesain komputer Anda setelah komputer saya, itu tidak masalah. Saya memodifikasi arsitektur SAP-1 yang ditemukan di Elektronik Komputer Digital untuk komputer 8-bit saya.
Salah satu aspek desain yang harus selalu diingat adalah bagaimana data ditransfer antara berbagai komponen komputer Anda. Metode yang paling umum adalah memiliki "bus" yang sama untuk semua data di komputer. Input dan output register, ALU, penghitung program dan RAM semuanya terhubung ke bus komputer. Kabel diatur dalam urutan dari bit paling tidak signifikan (1) ke bit signifikan tertinggi (128).
Setiap dan semua output yang terhubung ke bus harus benar-benar terputus saat tidak aktif atau mereka akan bergabung satu sama lain dan menghasilkan output yang salah. Untuk melakukan ini, kami menggunakan buffer Tri-state untuk mengontrol output dari elemen-elemen tertentu yang secara default output seperti akumulator, ALU dan input aktual untuk pemrograman komputer.

Langkah 13: Matriks Kontrol

Matriks kontrol komputer memberi tahu setiap bagian kapan harus mengambil input dan menampilkan nilainya. Ada beberapa status setiap operasi di komputer. Status ini dipicu oleh jenis penghitung yang disebut penghitung cincin. Penghitung cincin hanya memiliki satu bit tinggi pada satu waktu dan siklus melalui outputnya secara berurutan. Misalnya, jika penghitung cincin memiliki 4 keluaran, penghitung pertama akan aktif terlebih dahulu. Pada pulsa jam berikutnya ia akan mengatur output tinggi kedua (dan rendah pertama). Pulsa jam berikutnya akan memajukan bit satu output lebih tinggi dan seterusnya. Tahap-tahap ini disebut status T. Komputer dalam Instruksi ini menggunakan 6 status T untuk pengoperasian satu perintah. Tiga negara T pertama adalah apa yang disebut siklus pengambilan di mana instruksi saat ini diambil dan ditempatkan ke dalam register instruksi. Penghitung program juga bertambah satu. Set ketiga dari tiga status T tergantung pada kode OP apa yang dimasukkan ke dalam matriks kontrol dari register instruksi. Status T adalah sebagai berikut:
T1: Isi penghitung program ditransfer ke register alamat memori. (Alamat Negara)
T
2: Penghitung program bertambah satu. (Status Penambahan)
T3: Byte yang dialamatkan dalam memori program ditransfer ke register instruksi. (Status Memori)
T4: Bergantung pada perintah apa yang sedang dieksekusi.
T5: Bergantung pada perintah apa yang sedang dieksekusi.
T6: Bergantung pada perintah apa yang sedang dieksekusi.
Ada dua cara utama untuk membuat matriks kontrol: menggunakan logika diskrit dan menggunakan ROM. Metode ROM adalah yang termudah dan paling efisien. Menggunakan logika diskrit melibatkan merancang skema logika besar yang akan menampilkan kata-kata kontrol yang benar untuk komputer Anda berdasarkan input kode OP. ROM adalah singkatan dari read-only-memory. Ada beberapa jenis ROM yang dapat Anda pertimbangkan untuk digunakan dalam pembuatan Anda. Untuk komputer saya, saya awalnya menggunakan EEPROM (ROM yang dapat diprogram yang dapat dihapus secara elektronik) tetapi kemudian beralih ke NVRAM (memori akses acak yang tidak mudah menguap) setelah chip EEPROM gagal menulis. Saya tidak merekomendasikan NVRAM karena ini dimaksudkan untuk memori akses acak dan bukan penyimpanan permanen. EEPROM adalah solusi paling efisien menurut saya.
Matriks kontrol akan memiliki tiga chip ROM yang masing-masing memiliki setidaknya 32 alamat penyimpanan 8 bit (serta elemen pengaturan waktu dan penghitungan). Kata biner yang dikirim dari matriks kontrol disebut ROM kontrol dan berisi semua bit kontrol untuk setiap komponen komputer Anda. Anda ingin memastikan untuk mengatur bit kontrol dan mengetahui urutannya. Untuk tidak ada operasi Anda ingin kata kontrol yang membuat setiap bagian dari komputer tidak aktif (kecuali jam tentu saja). Kata kontrol untuk komputer yang dijelaskan dalam Instructable ini adalah 16 bit panjangnya dan disimpan dalam dua chip ROM kontrol. Tiga alamat pertama dari chip ROM kontrol memegang kata-kata kontrol untuk siklus pengambilan. Sisa alamat pada chip memegang kata-kata kontrol berpasangan dari tiga untuk setiap kode OP. Chip ROM ketiga memegang lokasi memori untuk memulai urutan kata kontrol untuk setiap kode OP dan ditangani oleh kode OP itu sendiri. Sebagai contoh, di komputer saya jika Anda memberikan kontrol kode OP 0110 itu akan menampilkan biner 21, yang merupakan alamat dimulainya perintah JMP. Ada penghitung 8-bit di antara OP ROM dan ROM kontrol yang dihitung dari 0-2 (tiga status T pertama) kemudian pada status T ketiga memuat alamat yang dihasilkan oleh OP ROM dan dihitung dari posisi itu hingga T1 negara membersihkan konter lagi. Penghitung dering dan biner untuk matriks kontrol dikontrol oleh inversi pulsa clock sehingga kata-kata kontrol muncul ketika pulsa clock naik ke elemen-elemen komputer. Seluruh proses dalam urutan adalah sebagai berikut:
1.) T1 menyatakan membersihkan penghitung ke 0, kata kontrol yang disimpan pada 0 dikirim
2.) Jam berjalan tinggi dan status alamat berlangsung
3.) Jam menjadi rendah dan pada gilirannya kenaikan counter kontrol dan kata kontrol 1 dikirim
4.) Jam berjalan tinggi dan siklus kenaikan terjadi
5.) Jam menjadi rendah dan penghitung kontrol bertambah menjadi 2, kata kontrol 2 dikirimkan
6.) Jam menjadi tinggi dan status memori berlangsung dan kode OP tiba di register instruksi, T3 juga aktif yang berarti pada pulsa rendah berikutnya, alamat kontrol OP akan dimuat
7.) Jam berjalan rendah dan memuat penghitung dengan alamat untuk yang pertama dari tiga kata kontrol untuk kode OP yang diberikan
8.) T4, T5 dan T6 menjalankan kode OP
9.) T1 me-reset penghitung, proses berlanjut sampai HLT OP diterima. Perintah HLT menghentikan jam.

Langkah 14: Pemrograman Mikro

Sekarang adalah bagian di mana Anda memutuskan perintah apa yang Anda inginkan untuk komputer Anda. Saya memberikan komputer saya 6 operasi unik yang akan memberikan fungsi pemrograman dasar yang saya perlukan. Perintah yang akan Anda programkan ke komputer Anda adalah apa yang disebut bahasa Assembly. Assembly adalah salah satu bahasa pemrograman paling awal dan masih dapat digunakan pada komputer saat ini. Perintah dalam bahasa termasuk memuat akumulator, menambahkan, memindahkan, mengeluarkan dan menyimpan variabel. Setiap perintah memiliki kode OP 4-bit sendiri di komputer 8-bit ini. Perintah yang saya pilih untuk komputer saya adalah:
NOP: Tidak ada operasi. (0000)
LDA: Memuat akumulator dengan nilai di alamat ini. (0001)
TAMBAH: Tambahkan nilai pada alamat yang ditentukan ke nilai dalam akumulator. (0010)
SUB: Kurangi nilai pada alamat yang ditentukan dari nilai dalam akumulator. (0011)
STO: Simpan konten akumulator di alamat yang ditentukan. (0100)
KELUAR: Menyimpan konten akumulator dalam register keluaran sehingga operator dapat melihatnya. (0101)
JMP: Langsung ke instruksi tertentu dalam memori di alamat yang ditentukan. (0110)
HLT: Hentikan pengoperasian komputer. (0111)
Untuk menentukan kata kontrol apa yang perlu dikirim untuk setiap OP, Anda perlu tahu bit apa yang harus aktif selama setiap negara T. Untuk komputer saya, saya mengatur bit sebagai berikut (garis bawah menunjukkan bit aktif-rendah):
CE CO J MI RO II IO OI BI EO SU AI AO RI HLT X
CE - Count Enable (mengaktifkan input jam penghitung program)
CO - Clock out memungkinkan
J - Langsung aktifkan
Input MI - MAR
RO - Memprogram memori keluar
II - Instruksi register di
IO - Instruksi daftar keluar
OI - Output mendaftar
BI - B mendaftar
EO - ALU output memungkinkan
SU - Kurangi
AI - Akumulator di
AO - Output akumulator memungkinkan
RI - Memori program dalam
HLT - Berhenti
X - Tidak digunakan
Berikut adalah bit-bit apa yang harus aktif untuk setiap negara T untuk instruksi yang diberikan serta alamat yang seharusnya ada dalam ROM kontrol:
Mengambil:
0: CO, MI - Penghitung program menghasilkan MAR
1: CE - Penghitung diaktifkan untuk pulsa jam berikutnya
2: RO, II - Byte yang dialamatkan dikeluarkan dari RAM ke dalam register instruksi
NOP:
3: X
4: X
5: X
LDA:
6: IO, MI - Alamat dalam register instruksi ditransfer ke MAR (terendah empat bit)
7: RO, AI - byte yang dialamatkan dikeluarkan dari memori ke akumulator
8: X
MENAMBAHKAN:
9: IO, MI - Alamat dalam register instruksi ditransfer ke MAR (terendah empat bit)
10: RO, BI - Byte yang dialamatkan dikeluarkan dari memori ke akumulator
11: EO, AI - Jumlah akumulator dan register B dimuat ke akumulator
SUB:
12: IO, MI - Alamat dalam register instruksi ditransfer ke MAR (terendah empat bit)
13: RO, BI - Byte yang dialamatkan dikeluarkan dari memori ke akumulator
14: AI, SU, EO - Perbedaan akumulator dan register B dimuat ke akumulator
STO:
15: IO, MI - Alamat dalam register instruksi ditransfer ke MAR (terendah empat bit)
16: AO, RO, RI - Akumulator mengeluarkan ke dalam memori program di lokasi yang dituju (RO dan RI harus aktif untuk penulisan pada chip yang saya gunakan)
17: X
DI LUAR:
18: OI, AO - Akumulator mengeluarkan ke dalam register keluaran
19: X
20: X
JMP:
21: J, IO - Register instruksi memuat penghitung program dengan empat bit terendah
22: X
23: X
HLT:
24: HLT - Sinyal berhenti dikirim ke jam
25: X
26: X
OP ROM Anda berisi kelipatan tiga di setiap lokasi memori. Ini tentu saja karena setiap siklus membutuhkan tiga keadaan eksekusi. Karenanya data yang ditujukan untuk OP ROM Anda adalah:
0 - 3
1 - 6
2 - 9
3 - 12
4 - 15
5 - 18
6 - 21
7 - 24
Untuk memprogram chip pilihan Anda, Anda memiliki banyak opsi berbeda. Anda dapat membeli programmer EEPROM dan EPROM, tetapi mereka biasanya menghabiskan banyak uang. Saya membangun programmer papan tempat memotong roti untuk ROM saya yang dioperasikan dengan menggerakkan kabel di sekitar dan mengendalikan pin memungkinkan baca dan baca dengan menekan tombol. Kemudian saya menyederhanakan proses dan merancang seorang programmer Arduino untuk NVRAM saya secara khusus. Saya akan melampirkan kode karena dapat dengan mudah dimodifikasi untuk memprogram hampir semua chip memori paralel yang akan Anda gunakan untuk proyek ini.

Langkah 15: Membeli Suku Cadang

Hal yang hebat tentang membangun komputer 8-bit adalah bahwa sebagian besar bagian akan dikenakan biaya kurang dari satu dolar per potong jika Anda membelinya dari tempat yang benar. Saya membeli 90% komponen saya dari Jameco Electronics dan saya benar-benar puas dengan layanan mereka. Satu-satunya bagian yang benar-benar saya beli dari tempat lain adalah papan tempat memotong roti dan kabel papan tempat memotong roti (dan tabung Numitron). Ini dapat ditemukan jauh lebih murah di situs-situs seperti Amazon. Selalu pastikan untuk memastikan bagian yang Anda pesan adalah yang benar. Setiap bagian yang Anda beli harus memiliki lembar data yang tersedia secara online yang menjelaskan semua fungsi dan batasan item yang Anda beli. Pastikan untuk menjaga ini terorganisir karena Anda akan menggunakan banyak lembar data dalam pembangunan komputer Anda. Untuk membantu Anda dengan komputer Anda, saya akan mencantumkan bagian yang saya gunakan untuk komputer saya:
Penghitung 4-Bit:
74161 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74161&langId=-1&storeId=10001&productId=49664&search_type=jamecoall&catalogId=10001&ddkey=httprillStatus
4-Bit Register (Saya menggunakan dua untuk setiap register 8-bit):
74LS173 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74LS173&langId=-1&storeId=10001&productId=46922&search_type=jamecoall&catalogId=10001&dd=mc
2-1 Multiplexer:
74LS157 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_46771_-1
RAM 16x8 (output perlu dibalik):
74189 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74189&langId=-1&storeId=10001&productId=49883&search_type=jamecoall&catalogId=10001&ddkey=httprillStatus
Penambah Lengkap:
74LS283 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74LS283&langId=-1&storeId=10001&productId=47423&search_type=all&catalogId=10001&ddkey=httprawl
Tri-State Buffer:
74S244 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_910750_-1

Gerbang XOR:
74LS86 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295751_-1
DAN Gerbang:
74LS08 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295401_-1
Gerbang NOR:
74LS02 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_283741_-1
Inverter:
74LS04 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_283792_-1
Penghitung Dering:
CD4029 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=4029&langId=-1&storeId=10001&productId=12925&search_type=jamecoall&catalogId=10001&ddkey=htt=Catalog
JK Flip-Flops:
74LS10 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295427_-1

Langkah 16: Konstruksi

Di sinilah kesabaran benar-benar masuk. Saya memilih menggunakan papan tempat memotong roti untuk komputer yang sebenarnya, tetapi ada banyak metode lain di luar sana (seperti pembungkus kawat) yang akan bekerja dengan baik. Untuk membuat segala sesuatunya jauh lebih sederhana, saya menyertakan diagram blok untuk skema aktual komputer saya. Namun saya tidak memasukkan nomor bagian atau nomor pin. Saya percaya bahwa ini akan membuat segalanya lebih sederhana dan terbuka untuk kreativitas. Output program 4-bit, input MAR dan output register instruksi semuanya terhubung ke empat bit paling tidak signifikan dari bus komputer.
Diagram kedua yang ditampilkan adalah logika kontrol untuk operasi ujung komputer. Kontrol dirancang agar matikan dapat menjadi input untuk komputer. Kait RS_NOR ditempatkan di depan sakelar sakelar untuk melepasnya. Sakelar sakelar sering kali memiliki koneksi kotor yang dapat memantul dari kondisi hidup ke mati dan memberikan pulsa lebih banyak dari yang Anda inginkan. Menambahkan flip-flop ke output dari toggle menghilangkan pulsa ekstra. Ini akan sangat berguna saat menggunakan opsi jam manual. Anda tidak ingin membalik sakelar dan memulai pulsa 8 jam. Tombol baca / tulis menulis byte input aktif ke memori yang dialamatkan. Dengan mengubah input kata kontrol default ke RAM menjadi dua bit RO dan RI rendah yang memulai siklus tulis. Saklar jalankan / program mengubah input mana yang aktif pada multiplexer alamat memori. Flip flop JK setelah 555 berarti bahwa ketika komputer dijalankan, itu tidak akan mulai di tengah pulsa clock. Sinyal HLT yang rendah akan menghentikan jam agar tidak lewat pada jam manual atau 555. Dan akhirnya, sakelar run / clear terhubung ke semua pin yang jelas pada komputer seperti yang ada di register dan penghitung.

Langkah 17: Pemrograman

Sekarang setelah komputer selesai, dapat diprogram untuk menjalankan instruksi. Untuk melakukan ini, pertama-tama Anda harus meletakkan komputer ke dalam pengaturan programnya dengan membalik sakelar run / program ke posisi program. Setelah itu Anda memilih alamat mulai dari 0 dan pergi ke 15 dan memasukkan data yang dibutuhkan untuk program Anda. Misalnya, untuk memulai dengan 5 dan menambahkan 4 dengan setiap output programnya adalah sebagai berikut:
Alamat - Data:
0000 - 00010111 LDA 7: Memuat akumulator dengan nilai yang disimpan di alamat memori 7 (5)
0001 - 00101000 ADD 8: Tambahkan nilai yang disimpan di alamat memori 8 (4)
0010 - 01010000 OUT: Output akumulator
0011 - 01100001 JMP 1: Langsung ke instruksi 1
0100 - X
0101 - X
0110 - X
0111 - 00000101 5
1000 - 00000100 4
1001 - X
1010 - X
1011 - X
1100 - X
1101 - X
1110 - X
1111 - X

Langkah 18: Melangkah Lebih Jauh

Saya harap Anda menikmati Instruksi ini dan, yang paling penting, saya harap Anda mendapatkan sesuatu darinya. Anda dapat menganggap semua kerja keras ini sebagai pengalaman belajar yang sangat berharga yang akan memberi Anda pemahaman yang lebih baik tentang elektronik, komputer, dan pemrograman. Pada akhirnya Anda juga akan memiliki sesuatu yang sangat keren untuk ditunjukkan untuk semua kerja keras Anda juga.
Setelah membangun komputer 8-bit pertama Anda, Anda dapat melangkah lebih jauh dan menambahkan lebih banyak fungsi. ALU yang digunakan dalam komputer ini sangat sederhana dalam pengoperasian dan ALU sejati saat ini memiliki banyak sekali fungsi seperti perbandingan bit-shifting dan logis. Aspek penting lainnya untuk dipindahkan adalah percabangan bersyarat. Percabangan bersyarat berarti bahwa suatu instruksi tergantung pada keadaan bendera saat ini yang ditetapkan oleh ALU. Bendera ini berubah ketika konten akumulator menjadi negatif atau sama dengan nol. Ini memungkinkan untuk kemungkinan yang jauh lebih luas untuk aplikasi komputer Anda.
Jika Anda memiliki pertanyaan tentang proyek ini, jangan ragu untuk mengomentari Instruksi ini atau di situs web saya di http://8-bitspaghetti.com. Saya berharap yang terbaik untuk Anda dengan proyek ini.

3 Orang Membuat Proyek Ini!

  • JamesP383 berhasil!

  • xdola berhasil!

  • realhet berhasil!

Apakah Anda membuat proyek ini? Bagikan dengan kami!

Rekomendasi

  • Lihat Media PC Vintage Dari Laptop Tua

  • Replika Digi-Comp II

  • Internet of Things Class

  • Warna Kontes Pelangi

  • Kontes Sains Kelas

  • Kontes Fandom

173 Diskusi

0

AtomicFerryt

1 tahun yang lalu

Apakah Anda pikir Anda bisa membuat diagram digital untuk motherboard? Saya belum pernah menggunakan papan tempat memotong roti sebelumnya tetapi saya sangat tertarik pada komputer lama.

0

Farsin Hamza

1 tahun yang lalu

Salah satu instruksi indah yang pernah saya lihat …. Saya menghargai kesabaran Anda … :)

0

bob491

1 tahun yang lalu

ini instruksi yang ditulis dengan sangat baik dan rinci dan juga sangat keren. Terima kasih.

0

champ12345

1 tahun yang lalu

terlihat sedikit rumit

0

mkpeker

1 tahun yang lalu

bangunan yang bagus. Anda mungkin ingin memeriksa cpu 4 bit ttl (MP-4) saya yang paling sederhana untuk memahami dasar-dasar:

http://www.instructables.com/id/Simplest-4-Bit-TTL-CPU/

0

mkpeker

2 tahun lalu

proyek yang bagus mungkin Anda ingin memeriksa tambang;

Akhirnya monitor tipe OS saya (dengan inline assembler dan disassembler) siap
Silakan setup dan coba v1.0b ini
Anda dapat menemukan semua informasi yang diperlukan di halaman Efex saya;

http://mkpeker.wixsite.com/efex

tolong kirimi saya komentar Anda daripada saya dapat meningkatkan perangkat lunak
Terima kasih

0

Kode Kode

2 tahun lalu

bagaimana jika Anda membuatnya menggunakan led bukan kabel. dapatkah kamu melihat ke mana sinyal itu pergi

0

GeorgeW134

2 tahun lalu

Bagaimana Anda memprogram pernyataan jika?

2 balasan 0

JuliaS87GeorgeW134

Jawab 2 tahun yang lalu

Anda tidak perlu opcode baru. Yang Anda butuhkan adalah nilai yang mewakili benar dan salah sebagai 1 dan 0. Anda memuat nilai itu ke akumulator dan kurangi 1. Kemudian Anda melakukan lompatan bersyarat. Jika nilainya 1 (benar), pengurangan akan menyebabkan overflow dan lompatan bersyarat melakukan. Jika nilainya 0 (false), tidak ada luapan dan karenanya tidak ada lompatan terjadi.

0

calebj20GeorgeW134

Jawab 2 tahun yang lalu

Karena ada register (akumulator) yang menyimpan jumlah sebelumnya dari ALU Anda dapat memeriksa apakah hasilnya memberikan angka negatif, positif, atau nol kemudian dengan itu Anda dapat menambahkan opcode baru yang memeriksa keadaan itu dan melompat jika kondisinya benar.
sebagai contoh

4 - 10 = -6 -> -6 negatif sehingga perintah cabang dengan bit N yang diatur ke 1 akan melompat

perakitan: BRN RA Ini akan bercabang di negatif ke lokasi disimpan di A

biner dengan asumsi opcode adalah 1000: 10001000

Di mana ini adalah sedikit rincian opcode

BR: 1000

N: 1 | 0

Z: 1 | 0

P: 1 | 0

0: 0 | 0

Juga jika Anda ingin membuatnya lebih fleksibel, Anda dapat mencoba menambahkan kemampuan untuk B untuk mengatur nilai bus maka bit terakhir '0' bisa untuk A atau B masing-masing sebagai 0 atau 1.

0

T0BY

2 tahun lalu

Crikey, Anda punya kesabaran!

0

SuperNovaa41

2 tahun lalu

Aku memiliki sebuah pertanyaan. Semua bagian dalam daftar ada kecuali 2.
buffer tri state dan jk flip jepit
Ada situs web yang berbeda dengan model yang sama dengan buffer tri state
tapi
tidak ada pengganti JK flip flop, apakah saya harus menggunakan yang tepat
model yang sama seperti yang Anda daftarkan atau dapatkah saya menggunakan model yang berbeda? dan jika demikian yang mana
model yang harus saya gunakan?

0

SuperNovaa41

2 tahun lalu

Hei! Saya tahu bahwa ini adalah posting yang lebih lama tetapi bisakah Anda memberi saya beberapa tautan yang diperbarui untuk Tri State Buffer dan JK Flip Flops? Saya mencoba meneliti produk tetapi saya tidak tahu model mana yang digunakan. Terima kasih sebelumnya!

0

BartH19

2 tahun lalu

Saya tertarik membuat CPU sederhana yang bisa saya gunakan untuk mengetik di layar LED atau bahkan LCD. Apakah ini proyek untuk saya atau tolong tunjukkan saya arah yang lebih baik?

Saya seorang pemula yang lengkap dalam hal ini. Saya seorang tukang kayu yang mencoba membuat semacam komputer kayu!

5 balasan 0

FinnW3BartH19

Jawab 2 tahun yang lalu

Alih-alih membangun CPU Anda hanya harus membangun komputer dengan kasing kayu. Komputer mungkin harganya agak mahal, tetapi Anda sebenarnya bisa mendapatkannya di bawah $ 300. Coba gunakan situs ini: pcpartpicker.com

0

BartH19FinnW3

Jawab 2 tahun yang lalu

Terima kasih untuk ini. Saya harap ada bagian yang cukup tipis. Saya ingin itu seperti kalkulator untuk kata-kata. Saya akan memeriksa tautannya: D

0

KyleF45BartH19

Jawab 2 tahun yang lalu

Jika yang Anda inginkan adalah bertindak sebagai kalkulator, Anda mungkin ingin melihat Raspberry Pi. Ini akan menjadi jauh lebih kecil dan lebih murah, Pi seperti ukuran telepon.

0

KyleF45KyleF45

Jawab 2 tahun yang lalu

Sekarang saya berpikir tentang hal itu, Pi dapat melakukan hampir semua hal yang dapat dilakukan oleh komputer desktop penuh, hanya saja lebih kecil. Mungkin ada beberapa jenis perangkat lunak yang dapat Anda gunakan untuk itu.

0

BartH19KyleF45

Jawab 2 tahun yang lalu

Terima kasih atas balasan Anda: D

Tak lama setelah komentar asli saya, saya benar-benar menemukan orang ini: http: //www.etsy.com/shop/writeotron? Ref = mere_lis …

Kami akan bekerja sama untuk yang baru. Itu Pi!

0

bharathis

2 tahun lalu

Ini luar biasa dan menyemangati saya untuk membuat sendiri ..

yakin saya akan menekan "I made it". Saya agak dalam proses membangunnya. hee hee elektronik digitalnya yang luar biasa