Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Tabel Pencarian

Setelah mempelajari tentang perangkat memori digital di bab terakhir, kita tahu bahwa adalah mungkin untuk menyimpan data biner dalam perangkat solid-state. “Sel” penyimpanan tersebut dalam perangkat memori solid-state mudah ditangani dengan mengarahkan baris “alamat” perangkat dengan nilai biner yang tepat.

Misalkan kita memiliki sirkuit memori ROM yang ditulis, atau diprogram, dengan data tertentu, sehingga baris alamat ROM berfungsi sebagai input dan jalur data ROM berfungsi sebagai output, menghasilkan respons karakteristik dari fungsi logika tertentu. Secara teoritis, kami dapat memprogram chip ROM ini untuk meniru fungsi logika apa pun yang kami inginkan tanpa harus mengubah koneksi kabel atau gerbang apa pun.

Perhatikan contoh berikut dari memori ROM 4 x 2 bit (memori yang sangat kecil!) yang diprogram dengan fungsi setengah penambah:

Jika ROM ini telah ditulis dengan data di atas (mewakili tabel kebenaran setengah penambah), menggerakkan input alamat A dan B akan menyebabkan sel memori masing-masing dalam chip ROM diaktifkan, sehingga mengeluarkan data yang sesuai sebagai ( Jumlah) dan Ckeluar bit. Tidak seperti sirkuit setengah penambah yang dibangun dari gerbang atau relai, perangkat ini dapat diatur untuk melakukan fungsi logika apa pun dengan dua input dan dua output, bukan hanya fungsi setengah penambah.

Untuk mengubah fungsi logika, yang perlu kita lakukan hanyalah menulis tabel data yang berbeda ke chip ROM lain. Kami bahkan dapat menggunakan chip EPROM yang dapat ditulis ulang sesuka hati, memberikan fleksibilitas tertinggi dalam fungsi.

Sangat penting untuk mengenali pentingnya prinsip ini sebagaimana diterapkan pada sirkuit digital. Sedangkan half-adder dibangun dari gerbang atau relay proses bit input untuk sampai pada output tertentu, ROM cukup mengingat bagaimana seharusnya output untuk kombinasi input apa pun.

Ini tidak jauh berbeda dengan “tabel perkalian” yang dihafal di sekolah dasar:daripada harus menghitung hasil kali 5 kali 6 (5 + 5 + 5 + 5 + 5 + 5 =30), anak-anak sekolah diajarkan untuk mengingat bahwa 5 x 6 =30, dan kemudian diharapkan untuk mengingat produk ini dari memori sesuai kebutuhan. Demikian pula, alih-alih fungsi logika yang bergantung pada susunan fungsional gerbang atau relai terprogram (hardware), itu hanya bergantung pada data yang ditulis ke dalam memori (perangkat lunak).

Aplikasi sederhana seperti itu, dengan keluaran yang pasti untuk setiap masukan, disebut tabel pencarian , karena perangkat memori hanya “mencari” output yang seharusnya untuk kombinasi status input apa pun.

Aplikasi perangkat memori untuk menjalankan fungsi logis ini penting karena beberapa alasan:

Kegunaan tabel pencarian menjadi lebih dan lebih jelas dengan meningkatnya kompleksitas fungsi. Misalkan kita ingin membangun rangkaian penambah 4-bit menggunakan ROM. Kami memerlukan ROM dengan 8 baris alamat (dua nomor 4-bit untuk ditambahkan bersama), ditambah 4 jalur data (untuk keluaran yang ditandatangani):

Dengan 256 lokasi memori yang dapat dialamatkan dalam chip ROM ini, kami akan memiliki cukup banyak pemrograman untuk dilakukan, memberi tahu output biner apa yang akan dihasilkan untuk setiap kombinasi input biner.

Kami juga berisiko membuat kesalahan dalam pemrograman kami dan menghasilkan jumlah yang salah, jika kami tidak berhati-hati. Namun, fleksibilitas untuk dapat mengonfigurasi fungsi ini (atau fungsi apa pun) melalui perangkat lunak saja umumnya melebihi biaya tersebut.

Pertimbangkan beberapa fungsi lanjutan yang dapat kami terapkan dengan "penambah" di atas. Kita tahu bahwa ketika kita menambahkan dua set angka dalam notasi bertanda komplemen 2, kita berisiko memiliki jawaban yang meluap.

Misalnya, jika kita mencoba menambahkan 0111 (desimal 7) ke 0110 (desimal 6) hanya dengan bidang angka 4-bit, jawaban yang akan kita dapatkan adalah 1001 (desimal -7) alih-alih nilai yang benar, 13 (7 + 6), yang tidak dapat diekspresikan menggunakan 4 bit yang ditandatangani. Jika kita mau, kita bisa menghindari jawaban aneh yang diberikan dalam kondisi overflow dengan memprogram rangkaian tabel pencarian ini untuk menghasilkan sesuatu yang lain dalam kondisi di mana kita tahu overflow akan terjadi (yaitu, dalam kasus di mana jumlah sebenarnya akan melebihi +7 atau -8).

Salah satu alternatif mungkin memprogram ROM untuk menghasilkan kuantitas 0111 (nilai positif maksimum yang dapat diwakili dengan 4 bit yang ditandatangani), atau nilai lain apa pun yang kami tentukan lebih sesuai untuk aplikasi daripada nilai "kesalahan" yang meluap. yang akan dihasilkan oleh rangkaian penambah reguler. Terserah programmer untuk memutuskan apa yang dia ingin sirkuit ini lakukan, karena kita tidak lagi dibatasi oleh batasan fungsi gerbang logika.

Kemungkinannya juga tidak berhenti pada fungsi logika yang disesuaikan. Dengan menambahkan lebih banyak baris alamat ke chip ROM 256 x 4, kita dapat memperluas tabel pencarian untuk menyertakan beberapa fungsi:

Dengan dua baris alamat lagi, chip ROM akan memiliki 4 kali lebih banyak alamat daripada sebelumnya (1024, bukan 256). ROM ini dapat diprogram sehingga ketika A8 dan A9 sama-sama rendah, data keluaran mewakili jumlah dari dua input bilangan biner 4-bit pada baris alamat A0 sampai A7, seperti yang kita lakukan dengan sirkuit ROM 256 x 4 sebelumnya.

Untuk alamat A8=1 dan A9=0, dapat diprogram untuk menampilkan difference (pengurangan) antara bilangan biner 4-bit pertama (A0 sampai A3) dan bilangan biner kedua (A4 sampai A7). Untuk alamat A8=0 dan A9=1, kita dapat memprogram ROM untuk menampilkan selisih (pengurangan) dari dua angka dalam urutan terbalik (kedua - pertama daripada pertama - kedua), dan terakhir, untuk alamat A8=1 dan A9=1, ROM dapat diprogram untuk membandingkan dua input dan output yang mengindikasikan kesetaraan atau ketidaksetaraan.

Apa yang akan kita miliki kemudian adalah perangkat yang dapat melakukan empat operasi aritmatika yang berbeda pada bilangan biner 4-bit, semuanya dengan "mencari" jawaban yang diprogram ke dalamnya.

Jika kami telah menggunakan chip ROM dengan lebih dari dua baris alamat tambahan, kami dapat memprogramnya dengan lebih banyak variasi fungsi untuk dilakukan pada dua input 4-bit. Ada sejumlah operasi khusus untuk data biner (seperti pemeriksaan paritas atau Eksklusif-ORing bit) yang mungkin berguna untuk diprogram dalam tabel pencarian seperti itu.

Perangkat seperti ini, yang dapat melakukan berbagai tugas aritmatika seperti yang ditentukan oleh kode input biner, dikenal sebagai Unit Logika Aritmatika (ALU), dan mereka terdiri dari salah satu komponen penting dari teknologi komputer. Meskipun ALU modern lebih sering dibangun dari sirkuit logika kombinasional (gerbang) yang sangat kompleks karena alasan kecepatan, seharusnya menyenangkan mengetahui bahwa fungsi yang sama persis dapat diduplikasi dengan chip ROM "bodoh" yang diprogram dengan tabel pencarian yang sesuai. (s).

Sebenarnya, pendekatan yang tepat ini digunakan oleh para insinyur IBM pada tahun 1959 dengan pengembangan komputer IBM 1401 dan 1620, yang menggunakan tabel pencarian untuk melakukan penjumlahan, daripada sirkuit penambah biner. Mesin itu dikenal sebagai “CADET”, yang merupakan singkatan dari “C bukan A dd, D bukan E bahkan T ry.”

Aplikasi yang sangat umum untuk ROM tabel pencarian adalah dalam sistem kontrol di mana fungsi matematika khusus perlu direpresentasikan. Aplikasi seperti itu ditemukan dalam sistem injeksi bahan bakar yang dikendalikan komputer untuk mesin mobil, di mana rasio campuran udara/bahan bakar yang tepat untuk operasi yang efisien dan bersih berubah dengan beberapa variabel lingkungan dan operasional.

Pengujian yang dilakukan pada mesin di laboratorium penelitian menentukan rasio ideal ini untuk berbagai kondisi beban mesin, suhu udara sekitar, dan tekanan udara barometrik. Variabel diukur dengan transduser sensor, output analognya diubah menjadi sinyal digital dengan sirkuit A/D, dan sinyal digital paralel yang digunakan sebagai input alamat ke chip ROM berkapasitas tinggi yang diprogram untuk menghasilkan nilai digital optimal untuk rasio udara/bahan bakar untuk salah satu dari kondisi yang diberikan ini.

Kadang-kadang, ROM digunakan untuk menyediakan fungsi tabel pencarian satu dimensi, untuk "mengoreksi" nilai sinyal digital sehingga lebih akurat mewakili signifikansi dunia nyata mereka. Contoh perangkat tersebut adalah pemancar termokopel , yang mengukur sinyal milivoltase yang dihasilkan oleh sambungan logam yang berbeda dan mengeluarkan sinyal yang seharusnya langsung sesuai dengan suhu persimpangan itu.

Sayangnya, sambungan termokopel tidak memiliki respons suhu/tegangan linier yang sempurna, sehingga sinyal tegangan mentah tidak sebanding dengan suhu secara sempurna. Dengan mendigitalkan sinyal tegangan (konversi A/D) dan mengirimkan nilai digital tersebut ke alamat ROM yang diprogram dengan nilai koreksi yang diperlukan, pemrograman ROM dapat menghilangkan beberapa nonlinier dari hubungan suhu-ke-milivoltase termokopel, sehingga hasil akhir perangkat akan lebih akurat.

Istilah instrumentasi populer untuk tabel pencarian seperti itu adalah karakterisasi digital .

Aplikasi lain untuk tabel pencarian adalah dalam terjemahan kode khusus. ROM 128 x 8, misalnya, dapat digunakan untuk menerjemahkan kode ASCII 7-bit ke kode EBCDIC 8-bit:

Sekali lagi, semua yang diperlukan adalah chip ROM diprogram dengan benar dengan data yang diperlukan sehingga setiap input ASCII yang valid akan menghasilkan kode output EBCDIC yang sesuai.

LEMBAR KERJA TERKAIT:


Teknologi Industri

  1. Istilah dan Konsep Memori Digital
  2. Memori Hanya-Baca (ROM)
  3. Mikroprosesor
  4. C Alokasi Memori Dinamis
  5. Cervoz meningkatkan memori DDR4-2666 generasi berikutnya
  6. AI Dapat Menggunakan Magnetik Untuk Mencapai Efisiensi Seperti Manusia
  7. C - Manajemen Memori
  8. Memori Dinamis C++
  9. Java 10 - Alokasi Heap
  10. Logika Tangga 202:Organisasi Memori