Mikroprocesor Intel 4004


Emulator, assembler i disassembler zostały napisane w JavaScript, dlatego łatwo można je uruchomić na dowolnej platformie z przeglądarką internetową oraz zaimplementowanym intrpreterem JavaScript. Kod oraz układ programów narzędziowych systemu MCS-4 został oparty na fantastacznym emulatorze virtual 6502 Norberta Landsteinera, e-tradition.net.

Program jest darmowy, dlatego nie jest objęty żadną gwarancją.


Sercem zespołu mikrokomputera MCS-4 jest procesor 4004. Układ ten posiada rozbudowany i wszechstronny zestaw instrukcji, ktory pozwala systemowi realizować szeroki zakres funkcji artmetycznych, sterowniczych i decyzyjnych. Program przechowywany w układach ROM daje projektantowi możliwość zaprojektowania systemu komputerowego na standardowych komponentach.

Kilka przykładów:

Funkcje sterownicze - ze wzgledu na niski koszt wstępny oraz łatwość przystosowania programu, system MCS-4 może być użyty w miejsce nieregularnego układu logicznego w systemach takich jak sterowanie procesem, sterowniki numeryczne, układy sterowania dźwignic czy swiateł ruchu licznego. Poprzez zmianę programu w pamięci ROM cały system może być łatwo modyfikowany i aktualizowany

Peryferia komputerowe - system może być dogodnie użyty w sprzecie peryferyjnym do sterowania wyswietlaczami, klawiaturami, drukarkami, czytnikami, ploterami oraz zwiększenia możliwości terminali.

Systemy obliczeniowe - MCS-4 idealnie pasuje do takich urządzeń jak maszyny liczące, kasy fiskalne, terminale i w miejscu sprzedaży i urzadzenia do księgowania. Dla przykładu, dodawanie dwóch liczb 8-bitowych może być zrealizowane w 850 usek. Dodatkowo, MCS-4 może być skutecznie użyty do decentralizacji funkcji głównego komputera.

Inne aplikacje - elementy systemu MCS-4 mają wiele zastosowań w transporcie, logistyce, elektronice medycznej i systemach testowych, gdzie dedykowane niedrogie komputery mogą poprawić wydajność systemu.

Cechy systemu MCS-4
-  4-bitowy procesor z zestawem 45 instrukcji
-  Dziesietny i binarny tryb arytmetyczny
-  Cykl wykonania rozkazu - 10.8 usek.
-  Dodawanie dwóch 8-bitowych liczb w czasie 850 usek.
-  Szesnascie 4-bitowych rejestrów ogólnego przeznaczenia
-  Zagnieżdżenie podprogramów aż do 3 poziomów
-  Zestaw instrukcji zawiera skoki warunkowe, skoki do podprogramu
    oraz pośrednie pobieranie rozkazu
-  Dynamiczne 2-fazowe operacje
-  Operacje synchroniczne na pamięciach
-  Bezposrednia zgodność z 4001, 4002 i 4003
-  Nie wymagane dodatkowe układy do podłączenia pamięci oraz linii I/O
-  Bezpośrednie sterowanie aż do: 8x4K ROM (16x4001), 4x1280 RAM (16x4002),
    128 linii I/O (bez 4003) nielimitowana ilość I/O (z układami 4003)
-  Wielkość pamieci rozszerzona porzez przełączanie banków
-  16-pinowa obudowa DIP
-  Technologia P-MOS
-  Minimalny system: CPU i jeden układ ROM

Każdy obwód MCS-4 ustanawia podstawowy standardowy blok strukturalny, pozwalający zaprojektować wiele róznych typów systemów, które mogą być wytwarzane przy uzyciu tych samych części. Jedynym elementem zmiennym jest obwód ROM, gdzie bedzie przechowywany program zdefiniowany przez użytkownika, wymagający zmian maski dla każdego nowego programu.

Zestaw mikrokomputera MCS-4 składa się z 4 następujących układów, każdy w 16-to pinowej obudowie DIP:

  (1) układ centralnej jednostki obliczeniowej - CPU-4004
  (2) układ pamięci nieulotnej - ROM-4001
  (3) układ pamięci operacyjnej - RAM-4002
  (4) układ rejestru przesuwnego - SR-4003

CPU składa sie z modułu sterowania oraz arytmetycznego mikroprogramowalnego komputera ogólnego zastosowania. W ROMie składowane są programy i tablice danych, w RAMie przechowywane dane i instrukcje natomiast rejestr przesuwny używany jest do połaczeń z układami we/wy efektywnie zwiększając ilość linii I/O.

Zespół MCS-4 został zaprojektowany dla optymalnej współpracy pomiędzy układami. CPU komunikuje się z układami RAM i ROM wykorzystując 4-liniową magistralę danych (D0, D1, D2, D3). Magistrala ta jest używana do przepływu wszelkich informacji pomiędzy układami poza sygnałami sterowania, które są przesyłane do RAM i ROM poprzez 5 dodatkowych linii. Jeden CPU może wysterować do 16 układów ROM (4K x 8 słów), 16 układów RAM (1280 x 4 słów) oraz 128 linii I/O bez potrzeby stosowania układów pośredniczących. W zestawie z kilkoma bramkami logicznymi można wysterować 48 ROMów i RAMów oraz 192 linii przy pomocy jednego CPU.

Funkcje we/wy, mimo że rózne dla układów ROM i RAM są fizycznie ulokowane w tych układach. Każdy układ 4001 i 4002 posiada 4 linie I/O do komukacji z zewnętrznymi urządzeniami.

4001-ROM - układ 4001 jest 2048-bitowym programowalny maską układem ROM zapewniający możliwość zaprogramowania zestawu mikrokomputera MCS-4 według zaleceń użytkownika. Kazda kość jest zorganizowana jako 256 x 8-bitowych słów, która może być użyta do przechowywania programu lub tabeli danych. Wszystkie te układy posiadają 4-bitowy port we/wy, który jest użyty na drodze wymiany informacji pomiędzy magistralą we/wy a systemem.

4002-RAM - układ 4002 posiada dwie funkcje. Funkcja pamięci RAM - 320 bitów zorganizowanych w 4 rejestry po 20 4-bitowych informacji każdy. Funkcja komunikacji z urządzeniami peryferyjnymi zorganizowana jako 4 linie wyjściowe z kontolą operacji wyjścia.

4003-SR - układ 4003 jest 10-bitowym rejestrze przesuwnym o szeregowym wejściu i wyjściach równoległych oraz jednym szeregowym. Ta funkcja służy do zwiekszenia liczb linii wyjściowych w celu podłączenia takich urządzeń jak klawiatury, wyświetlacze, drukarki, dalekopisy, przełączniki, czytniki, przetworniki A/C itp.