Back when I created the 8086 emulator, I noticed that there is a prefix LOCKdesigned for synchronization in a multiprocessor environment. But the only multitasking I know for x86 architecture. involves the use of APIC, which did not appear until neither Pentium nor 486s.
LOCK
Was there any standard for 8086 multitasking or was made with some manufacturer extensions for instruction sets and / or special ports?
By the standard, I mean things like: How do you separate 2 processors if they both use the same memory? This is not possible without any way to get each processor to execute a different piece of code. (or cause an interrupt for only one processor)
How do you separate 2 processors if they both use the same memory?
If they got access to the same memory through Intel MULTIBUS, the LOCK prefix caused just such serialization.
If the memory was installed locally on one processor board, the LOCK prefix did not prevent other processors from penetrating MULTIBUS and simultaneously accessing this memory. In this configuration, the programmer will have to play other games to lock the bus (and unlock the bus after completing the memory operation).
Well, I'm not an expert here, but I will try.
- : "" " ". , IBM PC ( ), Intel ; . , 8086. , , - , - .
LOCK ( , 15 , Intel), " " . , , ! , , , ; "" ( ).
, - , ( ?). , - 8086, , , , . , , 8086, , , , 8086 . , .
- LOCK ; , , .
Intel: CPU - FSB ( ) NorthBridge ( ). NorthBridge , AGP PCI () SouthBridge. :
FSB :
I:
8086: , DMA 8237
8086 Intel Multibus IEEE 796. Multibus.
EDIT II:
8086 () , multibus. , multibus. AMD , . . #LOCK, #BUSY .
Source: https://habr.com/ru/post/1744267/More articles:Ruby on Rails 2.3.5: Filling a prod and devel database with data (migration or binding?) - ruby | fooobar.comHow To Learn Excel Cell Formatting - c #Dynamic roll-up flow pattern on the Internet - dynamicПревращение программного обеспечения с открытым исходным кодом в консалтинговый бизнес? - open-sourceUse the string value to create a new instance - reflectionbinary comparison - algorithmAvailable message types in JMS? - javaA ClickOnce application configured to do updates programmatically sometimes displays a ClickOnce Update Available prompt - wpfHow to get a link to the latest version of MS Excel in VB.net application? - .netInteresting SQL collation problem - sqlAll Articles