Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/08/04 17:12
Read: times


 
#77100 - Re: Architecture questions
Responding to: ???'s previous message
1) Does the '51 retain it's Harvard Architecture?


Good question. To some extent it has to be Von Neumann if we're going to be loading and unloading programs on demand from a storage device.

I'm thinking that maybe the solution would be to have the central 8052 boot off of fixed code in EPROM--or in flash memory if the part we choose supports it. This boot code would serve no purpose other than to load the operating system off of storage into RAM. Once the OS is in RAM (starting at 0000h) the system would output a signal so that the EPROM would be disabled and execution would be from RAM thereafter.

Assuming that, say, P3.5 is "high" to map code memory to the boot EPROM and P3.5 is "low" to map code memory to RAM, I envision something like this:

** EPROM BOOTLOADER:

0000h LJMP 0060h
0050h CLR P3.5
0060h -- Code to boot from storage goes here
....
01FFh LJMP 0050h

** OS LOADED INTO RAM BY BOOTLOADER:

0000h LJMP INITOS
0003h-0032h: ISR vector table
0052h AJMP 0000h

So when the system boots up it's executing from EPROM. The EPROM, at 0060h, does whatever it needs to do to access external storage, loads the OS into RAM, and when it's done it jumps to 0050h which clears P3.5 and, in doing so, changes the memory map so that code is executed from RAM rather than EPROM. The Program Counter is then at 0052h but the next instruction will be executed out of RAM which now holds the OS that was loaded. The instruction at 0052h jumps to 0000h which initializes the OS and we're ready to go with a completely Von Neumann architecture.

2) Will i/o interconnect within the Data MAP or connect to processor pin's?


I'm of the opinion that the inter-8052 communication should be done on a direct bus. But I guess doing some kind of data mapping is possible, too. What would be the benefits of such an approach?

3) Will "mass store" (IDE or otherwise) be intimate or a co-processor?


I initially thought it would be part of the central 8052, but it was suggested that I/O have its own dedicated 8052. The benefit of this is that less memory (and CPU time) of the central 8052 would be consumed with I/O. All the central 8052 would have to do is communicate with the I/O "co-processor."

3a) If "mass store" is not intimate is it a "channel" interface requiring central processor intervention for data to propagate to memory or does it "DMA".


Funny, I was just thinking of that myself. It would be great if the other 8052s could access memory directly. Although it does increase the risk of major system crashes if the code in *any* of the 8052s is bogus and starts writing to the wrong place.

4) If video is not intimate to the central processor, (which seems to be the prevalent opinion) is it a channel device or does it share the Data Memory map?


Another good question.

5) How much of the "OS" exist's prior to boot load from "mass storage".


If we assume that the "mass storage" is actually handled by an 8052 dedicated to I/O, the bootcode on the main processor only needs to be sufficient to query the I/O chip for the data of the OS via whatever interchip communication protocol we agree on. The I/O chip would then get the data for those OS itself from whatever is considered to be the boot device on that particular system. With this approach the actual boot firmware on the central 8052 could be very, very short.

Regards,
Craig Steiner


List of 177 messages in thread
TopicAuthorDate
Atari 400/800 implementation with 8052            01/01/70 00:00      
   RE: Atari 400/800 implementation with 8052            01/01/70 00:00      
      Sorry...            01/01/70 00:00      
   RE: Atari 400/800 implementation with 8052            01/01/70 00:00      
   RE: Atari 400/800 implementation with 80            01/01/70 00:00      
   RE: Atari 400/800 implementation with 80            01/01/70 00:00      
   Microprocesor emulator?            01/01/70 00:00      
      RE: Microprocesor emulator?            01/01/70 00:00      
         RE: Microprocesor emulator?            01/01/70 00:00      
         RE: Microprocesor emulator?            01/01/70 00:00      
            6502 emulation            01/01/70 00:00      
               RE: 6502 emulation            01/01/70 00:00      
                  RE: 6502 emulation            01/01/70 00:00      
         RE: Microprocesor emulator?            01/01/70 00:00      
            RE: Microprocesor emulator?            01/01/70 00:00      
               RE: Microprocesor emulator?            01/01/70 00:00      
               RE: Microprocesor emulator?            01/01/70 00:00      
                  RE: Microprocesor emulator?            01/01/70 00:00      
                  RE: Microprocesor emulator?            01/01/70 00:00      
                     RE: Microprocesor emulator?            01/01/70 00:00      
                        RE: Microprocesor emulator?            01/01/70 00:00      
      RE: Microprocesor emulator?            01/01/70 00:00      
         RE: Microprocesor emulator?            01/01/70 00:00      
   RE: Atari 400/800 implementation with 8052            01/01/70 00:00      
      RE: Atari 400/800 implementation with 80            01/01/70 00:00      
   RE: Atari 400/800 implementation with 8052            01/01/70 00:00      
   Video output with 8052?            01/01/70 00:00      
      VGA?            01/01/70 00:00      
      RE: Video output with 8052?            01/01/70 00:00      
         RE: Video output with 8052?            01/01/70 00:00      
         RE: Video output with 8052?            01/01/70 00:00      
            RE: Video output with 8052?            01/01/70 00:00      
            RE: Video output with 8052?            01/01/70 00:00      
   RE: Atari 400/800 implementation with 8052            01/01/70 00:00      
      RE: Atari 400/800 implementation with 8052            01/01/70 00:00      
      RE: Atari 400/800 implementation with 80            01/01/70 00:00      
         Do we really need 6502 emulation?            01/01/70 00:00      
            RE: Do we really need 6502 emulation?            01/01/70 00:00      
               RE: Do we really need 6502 emulation?            01/01/70 00:00      
                  I'm game!            01/01/70 00:00      
                     RE: I'm game!            01/01/70 00:00      
                        RE: I'm game!            01/01/70 00:00      
                           RE: I'm game!            01/01/70 00:00      
                              RE: I\'m game!            01/01/70 00:00      
                                 RE: I\'m game!            01/01/70 00:00      
   8052-based video or off-chip solution            01/01/70 00:00      
      RE: 8052-based video or off-chip solutio            01/01/70 00:00      
      RE: 8052-based video or off-chip solution            01/01/70 00:00      
         RE: 8052-based video or off-chip solution            01/01/70 00:00      
         RE: 8052-based video or off-chip solution            01/01/70 00:00      
      My My...Where is the OLD spirit?            01/01/70 00:00      
   RE: Atari 400/800 implementation with 8052            01/01/70 00:00      
      LCD?            01/01/70 00:00      
         RE: LCD?            01/01/70 00:00      
            RE: LCD motiv?            01/01/70 00:00      
   Revisiting video & emulation            01/01/70 00:00      
      RE: Revisiting video & emulation            01/01/70 00:00      
         RE: Revisiting video & emulation            01/01/70 00:00      
            RE: Revisiting video & emulation            01/01/70 00:00      
            RE: Revisiting video & emulation            01/01/70 00:00      
               RE: Revisiting video & emulation            01/01/70 00:00      
                  RE: Revisiting video & emulation            01/01/70 00:00      
                  RE: Revisiting video & emulation            01/01/70 00:00      
      RE: Revisiting video & emulation            01/01/70 00:00      
         RE: Revisiting video & emulation            01/01/70 00:00      
            RE: Revisiting video & emulation            01/01/70 00:00      
               RE: Revisiting video & emulation            01/01/70 00:00      
                  RE: Revisiting video & emulation            01/01/70 00:00      
                     RE: Revisiting video & emulation            01/01/70 00:00      
                        RE: Revisiting video & emulation            01/01/70 00:00      
                           RE: Revisiting video & emulation            01/01/70 00:00      
                              Phillip implements 8052 video            01/01/70 00:00      
                                 RE: Phillip implements 8052 video            01/01/70 00:00      
                                    Phillip video user page            01/01/70 00:00      
                                       RE: Phillip video user page            01/01/70 00:00      
                                          Silabs as video chip            01/01/70 00:00      
                                             RE: Silabs as video chip            01/01/70 00:00      
                                       RE: Phillip video user page            01/01/70 00:00      
                                          RE: Phillip video user page            01/01/70 00:00      
                                             RE: Phillip video user page            01/01/70 00:00      
                              RE: Revisiting video & emulation            01/01/70 00:00      
   WHY?            01/01/70 00:00      
      RE: WHY?            01/01/70 00:00      
      None of the above            01/01/70 00:00      
   Programmable logic again            01/01/70 00:00      
   Defining the project & new ideas            01/01/70 00:00      
      RE: Defining the project & new ideas            01/01/70 00:00      
      RE: Defining the project & new ideas            01/01/70 00:00      
         RE: Defining the project & new ideas            01/01/70 00:00      
            RE: Defining the project & new ideas            01/01/70 00:00      
               RE: Defining the project & new ideas            01/01/70 00:00      
      RE: Defining the project & new ideas            01/01/70 00:00      
         RE: Defining the project & new ideas            01/01/70 00:00      
            RE: Defining the project & new ideas            01/01/70 00:00      
               RE: Defining the project & new ideas            01/01/70 00:00      
                  RE: Defining the project & new ideas            01/01/70 00:00      
                     RE: Efficiency            01/01/70 00:00      
                        RE: Efficiency            01/01/70 00:00      
                           RE: Efficiency            01/01/70 00:00      
                              RE: Efficiency            01/01/70 00:00      
                                 RE: Purpose of OS/Relocatable code            01/01/70 00:00      
                                    RE: Purpose of OS/Relocatable code            01/01/70 00:00      
                                       RE: Purpose of OS/Relocatable code            01/01/70 00:00      
                                          RE: Purpose of OS/Relocatable code            01/01/70 00:00      
                     RE: Defining the project & new ideas            01/01/70 00:00      
                        RE: Defining the project & new ideas            01/01/70 00:00      
                     RE: Defining the project & new ideas            01/01/70 00:00      
   Take a look            01/01/70 00:00      
   Starting specifications?            01/01/70 00:00      
      RE: Starting specifications?            01/01/70 00:00      
         I2C vs. parallel bus            01/01/70 00:00      
      RE: Starting specifications?            01/01/70 00:00      
         RE: Serial vs. parallel internal bus            01/01/70 00:00      
            RE: Serial vs. parallel internal bus            01/01/70 00:00      
      Then parallel..            01/01/70 00:00      
   RE: Atari 400/800 implementation with 8052            01/01/70 00:00      
      Re: Architecture questions            01/01/70 00:00      
      RE: Atari 400/800 implementation with 80            01/01/70 00:00      
         RE: Atari 400/800 implementation with 80            01/01/70 00:00      
            RE: Atari 400/800 implementation with 80            01/01/70 00:00      
               RE: Atari 400/800 implementation with 80            01/01/70 00:00      
                  RE: Atari 400/800 implementation with 80            01/01/70 00:00      
   Proposal: Internal Data Bus            01/01/70 00:00      
      RE: Proposal: Internal Data Bus            01/01/70 00:00      
         RE: Proposal: Internal Data Bus            01/01/70 00:00      
            RE: Command/Data line            01/01/70 00:00      
               RE: Command/Data line            01/01/70 00:00      
                  RE: Command/Data line            01/01/70 00:00      
                     RE: just recalled another            01/01/70 00:00      
                        RE: just recalled another            01/01/70 00:00      
                     RE: Alternative bus strategies            01/01/70 00:00      
         RE: Proposal: Internal Data Bus            01/01/70 00:00      
      RE: Proposal: Internal Data Bus            01/01/70 00:00      
         RE: Proposal: Internal Data Bus            01/01/70 00:00      
            RE: Proposal: Internal Data Bus            01/01/70 00:00      
               RE: Proposal: Internal Data Bus            01/01/70 00:00      
                  RE: Proposal: Internal Data Bus            01/01/70 00:00      
                     RAM quantity & Interrupts            01/01/70 00:00      
                        RE: RAM quantity & Interrupts            01/01/70 00:00      
      Where's the memory?            01/01/70 00:00      
         RE: Shared memory as the data bus?            01/01/70 00:00      
         RE: Where\'s the memory?            01/01/70 00:00      
            RE: Multiport/DMA limitations            01/01/70 00:00      
               RE: Multiport/DMA limitations            01/01/70 00:00      
                  DMA on the Atari            01/01/70 00:00      
                     RE: DMA on the Atari            01/01/70 00:00      
                        RE: DMA on the Atari            01/01/70 00:00      
                           RE: DMA on the Atari            01/01/70 00:00      
                           RE: DMA on the Atari            01/01/70 00:00      
               RE: Multiport/DMA limitations Yes But..            01/01/70 00:00      
   Future of this project            01/01/70 00:00      
      RE: Future of this project            01/01/70 00:00      
         Purpose of the project            01/01/70 00:00      
            RE: Purpose of the project            01/01/70 00:00      
         RE: Future of this project            01/01/70 00:00      
      RE: Future of this project            01/01/70 00:00      
      RE: Future of this project            01/01/70 00:00      
         RE: Future of this project            01/01/70 00:00      
      RE: Future of this project            01/01/70 00:00      
   RE: Atari 400/800 implementation with 80            01/01/70 00:00      
      RE: Atari games on CD            01/01/70 00:00      
   RE: Multiprocessing/ebay/vintage_puters            01/01/70 00:00      
   RE: Karas the Big Party Pooper            01/01/70 00:00      
      That's the point            01/01/70 00:00      
      RE: Karas the Big Party Pooper            01/01/70 00:00      
         RE: Karas the Big Party Pooper            01/01/70 00:00      
            RE: Karas the Big Party Pooper            01/01/70 00:00      
               RE: in a grid            01/01/70 00:00      
                  RE: in a grid            01/01/70 00:00      
                     RE: in a grid            01/01/70 00:00      
                        RE: in a grid            01/01/70 00:00      
                           RE: in a grid            01/01/70 00:00      
      RE: Karas the Big Party Pooper            01/01/70 00:00      
         RE: Karas the Big Party Pooper            01/01/70 00:00      
   RE: Atari 400/800 implementation with 8052            01/01/70 00:00      
   About the multiprocessor scheme            01/01/70 00:00      
   Home built 8051 computer??            01/01/70 00:00      

Back to Subject List