are there any manuals online or resources on how to design various hardware components (at the logic level), such as flash drives or network devices?
also... a few days ago, I read about the uP21, a 20 bit stack architecture. I find 20 bit to be an interesting and weird size, not being a multiple of 8. I do think the advantage is more addressable memory (1M words, the word size I believe is also 20 bits instead of the typical 8 bit byte), however some operands would be weird for that size. They talk of 16 bit graphics, or 24 or 32, but not 20 bits as a pixel color value. 20 bit Unicode characters? 1M would be perfect for all the Chinese and every other crazy thing those freaks are trying to put into the character set, but isn't 64K enough if you have sanity when designing a character set? (Although I know in theory there are more than 64K Chinese characters, seriously who uses more than half of them anyway? Most only use about 2000 of them.) Anyway though wouldn't 20 bits be awkward for interfacing with some hardware, such as flash hard drives
? Don't things like that have block boundaries and data paths in multiples of 16 or 8 bits?
Anyway of course there's always the standard 16 bits, the question being if 64K words (if 16 bit word size = 128 KB) is enough for various embedded systems.
I was also thinking using (for design purposes, far far away from implementing except perhaps as an emulator) a 16 bit architecture using bank switching, having 16 hardware processes with a 4 bit register/latch to switch between them on a context switch. This is NOT the same as the x86 segment
ffset model, the banks of 64k words are separate. Total 1M words of 16bits (2 MB). So each process has access to 64k words of memory, if needed could do threads within those. Is any of this practical? Again think embedded or small scale computer (ie cell phone).