Before we can address upper memory - the memory between 640KB and 1MB - EMM386.EXE must already be loaded into memory because the EMM386.EXE program is also used to create Upper Memory Blocks. Once that we have made Upper Memory available to DOS, we can then load device drivers into Upper Memory rather than conventional memory.
The second variant of this command, DOS=UMB, allows MS-DOS to access upper memory blocks when loading programs and device drivers; Dos=noumb specifies that DOS should not manage upper memory blocks and, since Dos=noumb is the default option, there is no reason to include this option in our CONFIG.SYS file.(3)
The other function of EMM386.EXE is to provide access to those upper memory blocks
. In order to use the DEVICEHIGH command and load your device drivers into high memory, you need to include EMM386.EXE in your CONFIG.SYS whether you need expanded memory or not.