Skip to main content
added 1 character in body
Source Link
Gábor
  • 196
  • 5

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

Addendum: because quite a few other answers and comments seem to view ROM shadowing as some complicated procedure that requires specific suppport from the processor and was unconceivable with 8086-era technology, this is a very simple hardware presentation, thanks to James Sharman (as mentioned above): https://www.youtube.com/watch?v=yR9cw7QehCg

Although I do hope the video will never go away from YouTube, to be consistent with the SE policy of self contained answers, a quick description: a counter iterates over the actual address range involved, addressing both ROM and RAM in sync. The ROM is wired to assert its data, the RAM to read it from the bus. As the counter reaches the end, its carry output triggers the additional circuitry to disable the ROM completely, to enable the RAM and to startinitiate the actual reset process of the processor to start.

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

Addendum: because quite a few other answers and comments seem to view ROM shadowing as some complicated procedure that requires specific suppport from the processor and was unconceivable with 8086-era technology, this is a very simple hardware presentation, thanks to James Sharman (as mentioned above): https://www.youtube.com/watch?v=yR9cw7QehCg

Although I do hope the video will never go away from YouTube, to be consistent with the SE policy of self contained answers, a quick description: a counter iterates over the actual address range involved, addressing both ROM and RAM in sync. The ROM is wired to assert its data, the RAM to read it from the bus. As the counter reaches the end, its carry output triggers the additional circuitry to disable the ROM completely, to enable the RAM and to start the reset process of the processor to start.

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

Addendum: because quite a few other answers and comments seem to view ROM shadowing as some complicated procedure that requires specific suppport from the processor and was unconceivable with 8086-era technology, this is a very simple hardware presentation, thanks to James Sharman (as mentioned above): https://www.youtube.com/watch?v=yR9cw7QehCg

Although I do hope the video will never go away from YouTube, to be consistent with the SE policy of self contained answers, a quick description: a counter iterates over the actual address range involved, addressing both ROM and RAM in sync. The ROM is wired to assert its data, the RAM to read it from the bus. As the counter reaches the end, its carry output triggers the additional circuitry to disable the ROM completely, to enable the RAM and to initiate the actual reset process of the processor.

added 505 characters in body
Source Link
Gábor
  • 196
  • 5

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

Addendum: because quite a few other answers and comments seem to view ROM shadowing as some complicated procedure that requires specific suppport from the processor and was unconceivable with 8086-era technology, this is a very simple hardware presentation, thanks to James Sharman (as mentioned above): https://www.youtube.com/watch?v=yR9cw7QehCg

Although I do hope the video will never go away from YouTube, to be consistent with the SE policy of self contained answers, a quick description: a counter iterates over the actual address range involved, addressing both ROM and RAM in sync. The ROM is wired to assert its data, the RAM to read it from the bus. As the counter reaches the end, its carry output triggers the additional circuitry to disable the ROM completely, to enable the RAM and to start the reset process of the processor to start.

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

Addendum: because quite a few other answers and comments seem to view ROM shadowing as some complicated procedure that requires specific suppport from the processor and was unconceivable with 8086-era technology, this is a very simple hardware presentation, thanks to James Sharman (as mentioned above): https://www.youtube.com/watch?v=yR9cw7QehCg

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

Addendum: because quite a few other answers and comments seem to view ROM shadowing as some complicated procedure that requires specific suppport from the processor and was unconceivable with 8086-era technology, this is a very simple hardware presentation, thanks to James Sharman (as mentioned above): https://www.youtube.com/watch?v=yR9cw7QehCg

Although I do hope the video will never go away from YouTube, to be consistent with the SE policy of self contained answers, a quick description: a counter iterates over the actual address range involved, addressing both ROM and RAM in sync. The ROM is wired to assert its data, the RAM to read it from the bus. As the counter reaches the end, its carry output triggers the additional circuitry to disable the ROM completely, to enable the RAM and to start the reset process of the processor to start.

added 330 characters in body
Source Link
Gábor
  • 196
  • 5

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

Addendum: because quite a few other answers and comments seem to view ROM shadowing as some complicated procedure that requires specific suppport from the processor and was unconceivable with 8086-era technology, this is a very simple hardware presentation, thanks to James Sharman (as mentioned above): https://www.youtube.com/watch?v=yR9cw7QehCg

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

Addendum: because quite a few other answers and comments seem to view ROM shadowing as some complicated procedure that requires specific suppport from the processor and was unconceivable with 8086-era technology, this is a very simple hardware presentation, thanks to James Sharman (as mentioned above): https://www.youtube.com/watch?v=yR9cw7QehCg

Source Link
Gábor
  • 196
  • 5
Loading