Announcement

Collapse

Forum etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


"PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

4004

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Neon_WA
    replied
    The 4040 is a pin-compatible drop-in replacement for the 4004

    Correct me if I'm wrong but I don't see how the 4040 can be a a drop-in replacement or pin-compatible with the 4004
    especially as the 4040 is a 24-pin package, while the 4004 is 16-pin

    http://www.cpu-world.com/info/Pinouts/4004.html
    http://www.cpu-world.com/info/Pinouts/4040.html

    Leave a comment:


  • Erik
    started a topic 4004

    4004

    The [wiki]Intel[/wiki] 4004 was the first commercially produced [wiki]microprocessor[/wiki], released in 1971. It was the first commercially sold circuit to combine [wiki]Registers[/wiki], [wiki]ALU[/wiki], and [wiki]Control Circuitry[/wiki] on to a single monolithic chip, hence, the first component microprocessor. The [wiki]Four Phase Systems[/wiki] [wiki]AL1[/wiki] microprocessor preceded the 4004 by several months, but was only sold in a full system--components were not available to system designers commercially.
    Features

    • [wiki]P-Channel[/wiki] [wiki]Silicon Gate[/wiki] [wiki]MOS[/wiki] [wiki]Process[/wiki] Technology
    • 4-bit Parallel Processor
    • 4 bit data word, 8 bit instruction word
    • 4 bit external & internal data buses
    • 46 [wiki]Instructions[/wiki]
    • Conditional Branch Instructions
    • Subroutine Instructions
    • Indirect Fetch
    • Binary and Decimal Math Instructions
    • Can directly access up to 4KB [wiki]ROM[/wiki] and 5120 bits [wiki]RAM[/wiki] (1280 4-bit words)
    • 16 pin 0.3 inch wide [wiki]DIP[/wiki] IC
    • Supply voltages -10, +5 VDC
    • Electrically & programatically upward-compatible with [wiki]4040[/wiki]

    Operation

    Clock frequency for the 4004 is 740kHz maximum, minimum 500kHz due to non-static design. Typical instruction cycles are 8 clocks in length for single-cycle instructions (8 bit instructions), 16 cycles for 16 bit instructions.
    Memory is accessed through a time-multiplexed addressing technique. 12 bit addresses are used to fetch 8-bit instructions from ROM 4 bits at a time on the 4 bit data bus. Instructions could be one or two words in length. The program counter and address stack registers are 12 bits long, arranged as a 4 level stack with the top level being the PC. This allows up to 3 levels of subroutine call. This must be enforced by the programmer, the processor will not signal an exception in the event of a stack overflow.
    The accumulator and a temporary register supply data to the ALU. There is also a register file of 16 4 bit scratchpad registers, arranged as two columns of registers 8 levels deep when used as index registers, e.g. registers 0 and 1 are used to generate an 8 bit index value when used for that purpose, with register 0 treated as the high order nibble.
    System timing is controlled through an externally generated two phase clock and a SYNC output from the 4004. Memory access is controlled through these, the data bus, and the CM ROM output in the case of program memory, or the four CM RAM outputs in the case of data memory. In essence, the 4004 transmits instructions to its memories and I/O ports during the appropriate machine states.
    Support Chips

    To function effectively as such a low pin-count device, many decode functions had to be moved to the support chipset for the 4004. Logic on these ICs allows them to properly interpret the control signals of the 4004.
    • 4001: 256x4 bit mask-programmed ROM and 4 bit I/O port.
    • 4002: 320 bit RAM and 4-bit output port.
    • 4003: 10 bit shift register and output expander.
    • 4008/4009: Interfaces to standard memories.
    • 4201A: Single chip clock generator.
    • 4289: Single chip replacement for the 4008/4009.
    • 4308: Single chip replacement for four 4001s.

    System Design

    Originally, only the 4001 through 4004 were available. The system clock was produced using an oscillator circuit and general purpose logic. Multiple 4001, 4002 and 4003 ICs would be used to obtain the desired I/O, program storage, and data storage for the application. A typical design would require on the order of 30 ICs plus a substantial number of discrete components for the system logic. The 7 to 9 4000-series components would replace three to five times as many ICs of a general purpose nature for a wide range of applications. That, coupled with the wide range of possible applications due to the programmable nature of the chips made the 4004 cost-effective in many designs.
    Successors

    The [wiki]4040[/wiki] is a pin-compatible drop-in replacement for the 4004. It is capable of accessing twice as much program memory, and nesting subroutines to 7 levels.
    The [wiki]8008[/wiki] is an 8 bit successor suited to a wider variety of programming tasks thanks to its larger data word which allows easy use with a wider range of data types.
    The 4004 and 4040 have continued to be used in a wide range of control applications in spite of 8 bit competitors. They remained in production until 1981, and continued to be used in many applications into the 1990s. A wide range of [wiki="microcontroller"]microcontrollers[/wiki] have supplanted the 4004 and 4040 in comparable tasks since production of these chips ceased.
    External Links


    [wiki]Category:Hardware[/wiki]
Working...
X