that means, 8 bit program memory is internal rom and 256x4 bit is internal ram. can we use external ram and rom, how many bit are need to make external ram and rom?
1) You can use external ROM and RAM. You are making the computer. You can do what ever you want.
2) I don't know how big a program you will write. I don't know how much ROM you need.
3) I don't know how much data you need to store. I don't know how much RAM you need.
4)"256x4 bit is internal ram" 256x8 must be 8 bit wide.
I am sorry to say this: You do not know enough to do this project.
People before you have done this many times. Learn from them.
A) All data is 8 bits. All RAM is 8 bits wide. Not 256x4 but 256x8.
B) Most 8 bit computers can address 64000 of memory. (ROM and RAM)
B1) Why 64000....because that is what a 16 bit program counter can address
B2) Why 64000...of RAM. Because a 16 bit data pointer can address that much memory.
B3) That does not mean you have to have that much memory but that is the maximum. You can have 2000 of memory or 1000 or 256.
B4) You could have a maximum of 256x8 of RAM and only have 8 bit data pointers. That would be easy. How much memory do you need?
"how many bit are need to make external ram and rom?" I can not answer. That is for you to answer. I don't know what you will do with this computer.
I search a list of micro controllers and found how much ROM some have.
256, 512, 1024, 2048, 1k, 2k, 4k, 8k, 16k, 32k, 64, 128k, 256k, 512k, 1m, 2m, 4k, 6m
The smallest I found is 256 ROM and the largest is 6,000,000.
For RAM the smallest I found is 16x8 and the larges I found was 1,000,000x8.
You can not do much with a computer that has 256 instructions (max program size) and 16 data numbers.