Mengapa frekuensi clock yang dihasilkan adalah 6.144 MHz, tetapi secara internal (prosesor 8085) hanya menggunakan 3.072 MHz. Juga apa yang mengarah pada nilai spesifik 6,144 dalam satu jam.
Saya menemukan jawaban di yahoo .... http://answers.yahoo.com/question/index?qid=20080810090119AAurr2i
tetapi saya harus mengakui bahwa saya masih belum mendapatkannya dengan baik. Bisakah salah satu dari kalian membuang beberapa baris tentang ini, tolong?
8085
microprocessor
clock
loxxy
sumber
sumber
Jawaban:
Salah satu alasan untuk membagi jam dengan dua adalah untuk mendapatkan gelombang persegi siklus tugas bahkan 50%. Mungkin bahwa 8085 secara internal menggunakan kedua tepi jam, dan tidak akan berfungsi jika satu setengah siklus terjadi jauh lebih pendek daripada yang lain.
Pada hari-hari ketika 8085 masih baru, osilator kalengan yang bagus itu tidak umum, dan orang-orang sering membuat sirkuit jam dari kristal, kapasitor, dan gerbang logika yang terpisah. Dibagi dengan dua memastikan bahwa Anda memiliki spasi naik dan turun secara merata.
Sedangkan untuk 6.144MHz, Anda akan menemukan bahwa itu dapat dibagi dengan integer untuk mendapatkan nilai baud rate umum, setidaknya hingga 38400.
mengikuti ...
Melihat lembar data Intel untuk 8085, ada tiga pernyataan menarik
Jadi, spekulasi tentang penggunaan tepi aneh jam untuk memindahkan barang-barang secara internal ke samping, menjadi jelas bahwa ketika mereka merancang 8085, Intel mengganti kebutuhan untuk pengontrol jam khusus dengan mengintegrasikan fitur itu ke dalam chip. Membagi timebase X1-X2 menjadi dua sebelum mengeluarkannya karena CLK memastikan bahwa sistem mendapatkan siklus tugas yang baik, jika tidak ada yang lain.
sumber
Pada saat chip ini dirancang, orang menggunakan transistor sesedikit mungkin dalam CPU, untuk membuatnya cukup kecil agar muat pada chip yang tersedia.
Saya menduga bahwa hampir setiap "register" (baik register set instruksi-programmer dan juga kait mikroarsitektur internal) dalam CPU pada zaman itu menyimpan data dalam kait D yang terjaga keamanannya atau sesuatu yang serupa. Saat ini, ada banyak transistor pada sebuah chip, jadi lebih mudah untuk menggunakan master-slave D flip-flop penuh, walaupun mereka menggunakan transistor dua kali lebih banyak.
Banyak instruksi mengambil data dari register A, menggabungkannya dengan data lain dengan ALU, dan menyimpan hasilnya kembali di register A. Itu cukup mudah dilakukan jika register A diimplementasikan dengan master-slave D flip-flop penuh.
Tetapi jika register A adalah kait D yang berpagar transparan, Anda memerlukan jam yang tidak tumpang tindih. Anda menggunakan pulsa pada satu jam untuk menyimpan beberapa hasil antara di suatu tempat (sementara register A mempertahankan outputnya konstan), dan kemudian pulsa pada jam lain untuk memuat register A dengan nilai baru (sementara register perantara menyimpan output konstan).
Ini membutuhkan jam 2 fase. Cara termudah untuk membuat jam 2 fase non-tumpang tindih (pada masa-masa ketika transistor langka) adalah sirkuit eksternal kecil yang mengambil jam input dan membaginya menjadi dua.
Seiring berjalannya waktu, orang-orang menemukan cara untuk mengemas lebih banyak dan lebih banyak transistor ke IC. Jadi orang-orang yang merancang CPU terintegrasi lebih banyak dan lebih banyak hal di sekitar CPU dalam sistem komputer penuh ke dalam chip CPU.
Membaca di antara baris-baris artikel sinyal jam Wikipedia , saya mendapat kesan bahwa orang-orang yang mendesain 8085 dan 6502 dan chip lain pada zaman itu hanya memiliki sedikit ruang lebih banyak daripada generasi CPU terintegrasi sebelumnya, dan mereka memutuskan yang terbaik penggunaan ruangan itu untuk menempatkan sedikit sirkuit eksternal pada chip. Tetapi mereka menyimpan semua register dengan kunci D yang terjaga keamanannya seperti sebelumnya.
Jadi itu sebabnya frekuensi jam dibagi dua. Anda dapat memikirkan pulsa jam eksternal pertama yang menghasilkan pulsa pada sinyal clock internal phase_one untuk memperbarui register hasil perantara tersebut, dan pulsa kedua dari jam eksternal menghasilkan pulsa pada phase_two sinyal jam internal untuk memperbarui register yang terlihat oleh programmer.
sumber
Ada banyak alasan untuk membagi siklus instruksi menjadi beberapa siklus clock. Contoh yang baik adalah mengakses bus memori utama.
Kebanyakan prosesor modern adalah arsitektur Von-Neumann; yaitu, kode dan data keduanya ada dalam chip memori yang sama. Nah, jika Anda ingin membaca instruksi, dan instruksi itu akan memuat variabel dari memori ... itu dua akses memori. Tetapi sebagian besar memori hanya satu-port (yaitu, hanya dapat melakukan satu baca atau tulis per siklus). Jadi, bagaimana Anda membaca instruksi dan membaca variabel Anda?
Solusinya adalah dengan menggunakan siklus instruksi dua tahap. Tahap pertama akan mengambil instruksi dari memori, dan tahap kedua kemudian dapat membaca (atau menulis!) Variabel dari memori utama.
Beberapa chip lama bahkan melangkah lebih jauh. Kembali pada hari itu, jika chip Anda memiliki 16-bit memori dialamatkan, tetapi bus alamat eksternal hanya 8-bit, maka Anda akan terbiasa dengan Address Latch Enable. Satu siklus clock mengirimkan 8-bit bagian atas dari alamat 16-bit, dan siklus clock berikutnya mengirim 8-bit yang lebih rendah. Siklus ketiga kemudian bisa membaca / menulis variabel dari / ke memori.
Ada alasan lain yang lebih baik untuk memiliki siklus instruksi yang panjang siklus beberapa jam. Salah satu alasan terbaik adalah pipelining. Ini adalah trik yang digunakan prosesor modern untuk lebih sepenuhnya mengeksploitasi semua unit eksekusi yang tersedia dalam sebuah chip; misalnya, ketika satu instruksi sedang dieksekusi, instruksi berikutnya sedang diambil pada saat yang sama.
sumber
Secara internal, inti dari 8085A membutuhkan jam dua fase. Logika internal yang menurunkan dua fase jam juga membagi jam input menjadi dua. Seperti yang dinyatakan sebelumnya, alasan untuk menggunakan jam input 6.144MHz adalah untuk tujuan baud-rate, chip akan berjalan dengan baik pada 6MHz. Chip sebenarnya diberi nilai pada 3MHz membutuhkan kristal 6MHz, tetapi berjalan dengan senang hati dengan 6.144MHz memberikan generasi baud rate yang lebih mudah (Sebuah Uart dapat clock dengan 6.144MHz dari Oscillator yang menggerakkan 8085 atau 3.072MHz dari 8085's CLK output menyediakan banyak harga Baud yang dapat digunakan). Saya masih menggunakan chip kuno ini untuk melakukan fungsi khusus di beberapa robot saya. Saya clock Uarts dengan osilator mereka sendiri dan saya clock 8085A dengan osilator 6.4MHz, yang menjalankan chip pada 3.2MHz. 3. 2MHz terbagi dengan baik untuk menyediakan jam 40KHz untuk transduser ultrasonik saya. Lebih masuk akal untuk menggunakan perangkat IC yang lebih modern di bot saya, tapi saya punya satu ton 8085, Z80, 63C09 dan 63C09E, 68B09 dan 68B09E, dll. Saya sangat suka bermain dengannya.
sumber
Jam tidak lain adalah momen ketika Anda ingin sebuah peristiwa terjadi. Sekarang, kami tidak memilih pemicu level dalam sirkuit digital karena ketika lebih banyak waktu diberikan, interaksi dapat terjadi antara sirkuit yang berbeda dalam mikroprosesor yang mengarah ke sirkuit pendek. Jadi kami PERGI untuk PEMERIKSAAN TEPI. Sekarang, mikroprosesor tidak tahu kapan pemicu tepi telah terjadi. Ini hanya mengerti 1 atau 0. Jadi flip flop diperlukan untuk menghasilkan 1 dan 0 setiap kali tepi jam terdeteksi. Dengan demikian, menjadi perlu untuk menggunakan flip flop. Akibatnya frekuensi jam dibagi dua.
sumber