![]() |
|
AttoWPU - experimental "avant-garde" processor and programming language - Printable Version +- Sinisterly (https://sinister.ly) +-- Forum: Coding (https://sinister.ly/Forum-Coding) +--- Forum: Coding (https://sinister.ly/Forum-Coding--71) +--- Thread: AttoWPU - experimental "avant-garde" processor and programming language (/Thread-AttoWPU-experimental-avant-garde-processor-and-programming-language) |
RE: AttoWPU - experimental "avant-garde" processor and programming language - 1234hotmaster - 05-20-2011 (05-20-2011, 08:56 PM)Frooxius Wrote: Hi, somebody recently (a few dozen minutes ago) attempted to write Hello World code for my processor. In case anybody here tried to do same thing as the first app... well I don't recommend it, because it's a little bit more difficult for a first app, I recommend trying to light up a LED or something like that. For illustration, I wrote the Hello World in my language myself. It's quite funny for an Hello World app all of that for just a hello world? :O how do you even memorize it? RE: AttoWPU - experimental "avant-garde" processor and programming language - Frooxius - 05-22-2011 Well Hello World isn't really the best first code in the AttoASM language, because it's extremely low level, so it would be better to create something, that lights up a LED for example, that is relatively simple: Code: ADDR [0AH, 8] // address the LED controller
DATA [1] // prepare value on the databus, that will be written to the LED register
CTRL [0, 7] // prepare command code, that'll write the value to the first row
CTRL+7(2) ! // execute the command codeBut why would you memorize that Hello World code? Memorizing code isn't much useful, you need to understand it, then you're able to recreate it anytime you need. Or, create for the first time, which I did there. I don't remember the code from memory, but I understand how it works, how the AttoWPU works and how the AttoASM works, so I can recreate the Hello World app again, without having to remember anything. RE: AttoWPU - experimental "avant-garde" processor and programming language - Frooxius - 06-29-2011 Oh, I totally forgot to share news about the project here! I already won regional round in programming competition (well there were 18 areas in total, I was in the Information Technology one, it's called SOČ) with this project and I spent three days at the national round and... I won ^_^' I've got great awards too! -Nomination to INTEL ISEF in USA (I'll prolly go to USA, hurray! ) -Nomination to a prize of Science community of Czech republic -Prize of the Information Technology Institute of Academy of Science in Czech republic -Prize of NIDM MŠMT (national institute of youth) -Prize of Czech Bank -80 GB Intel SSD harddrive -Huge encyclopedia -Funny book "Smiles of the nuclear science" I also presented the project at Stretech 2011 expo (secondary school technology) at university grounds in Prague. I had a shirt and a big poster, unfortunately in Czech, but you can have a look anyway :-) Click on the photo to go to a full resolution version at DA. You can find the poster image here, but it's in Czech and it's a 117 Mpx picture (It occupied 6 GB in RAM when I was creating it :lol ![]() So here's me with the poster and shirt (I look horrible by the way, apologies for any brain damage caused ^_^' ): ![]() Here's my stand (from the expo): ![]() And last a funny one - my cat got interested in the poster and started studying it :rofl::
RE: AttoWPU - experimental "avant-garde" processor and programming language - Coder-san - 06-30-2011 Congrats. Very well-deserved.
RE: AttoWPU - experimental "avant-garde" processor and programming language - slbmeh - 06-30-2011 Is this classified as a microprocessor or a microcontroller? The documentation doesn't seem to explicitly state and actually raised the question even more once I began reading it. Is it an actual piece of hardware or just a virtual conceptual design? I have been looking for something that does exactly that for advancement in my robotics by eliminating the unnecessary instructions to allow for me to have 100% full control over the entire build process. RE: AttoWPU - experimental "avant-garde" processor and programming language - Frooxius - 06-30-2011 Thanks ^_^' slbmeh: well that's hard to say, because it has features of both and some additional ones. Furthermore, you can program it to behave either like MCU or CPU from the outside viewpoint. However internally... MCU's have separate program and data memory, while the program one is read only. AttoWPU has several memories for data and two for program. One for attocode, which is executed directly and another one for higher-level instructions, this one is however program+data. The memory for attocode also isn't strictly only for program, you can use it to store data too if you want, which also means that it's read write. CPU's are also highly extensible, while MCU's have most of the important stuff integrated. AttoWPU shares both these traits: you can easily extend the architecture itself (by simply connecting another unit to the buses in parallel, this is one of the interesting feautres) by adding new units to the specification, for example units for outside communication and such, but they become part of the architecture itself, so you create actually a complex architecture, that can have most features integrated into it. AttoWPU has integrated attocode memory and other smaller data memories, the larger memories are however external (it should be blue in the logical schematics, everything blue is external - not in the processor itself) but both internal and external are crucial, the external isn't usually just optional peripheral, so again, both CPU and MCU features. It can be both universal and process almost any kind of program or simply used to control some circuit... it's really hard to say which one of them it is and that's quite logical, I wasn't trying to follow existing conventions, but rather create something more or less new. So far, it's only implemented virtually (there's an emulator available), but I'm planning to create an hardware version of it using VHDL and FPGA, however I'm still gathering resources to buy myself some good FPGA kit (as well as selecting the right one) and of course, it's going to take some time. The project is still under development, though large portion of it is functional. I wouldn't recommend using this specific architecture in practical use, as it's more a research kind of thing, where are not all features designed for practical use, but more for testing of the processor's behavior and features and then using them in derived architectures. For example, AttoWPU isn't that fast, because it changes bit by bit in each cycle. I deliberately introduced this redundancy to give programmer complete control over the process and give a lot of space for program optimization for competitions - something that AttoWPU tries to promote. Another reason is very simple core. The circuit that will change bit by bit using a simple instruction is also very simple, it can be composed from a few dozen gates. I'm going to use this feature in the ZeptoWPU architecture, where I minimize the execution unit part also to minimum, so there will be just bunch of NAND gates and by sequencing NAND operations, you can build any kind of operation, because NAND is turing complete. So basically, this extremely simple processor will be able to behave like a very complex architecture with a few dozen gates plus some memory. It wouldn't be as fast, but I'm thinking of massive parallelization by duplicating the simple core many times and sharing one memory with the definition. Of course, the AttoWPU architecture can be altered to perform faster, for example by changing several bits at once. This is a very good thing about modular design - you can change the behavior of the core that controls the buses or add and remove units and it doesn't affect any other part. RE: AttoWPU - experimental "avant-garde" processor and programming language - 1llusion - 06-30-2011 Congratulation to the prizes! However, I can't read the poster... do you have the text there saved in better resolution? I would be very interested to read it in Czech (since I understand it better then English...)thanks!!!! RE: AttoWPU - experimental "avant-garde" processor and programming language - Frooxius - 06-30-2011 1llusion: thanks ^_^' Is 117 Mpx picture detailed enough? :lol: I actually included the link to the original poster image in the previous post, but links look same here as ordinary text, so I guess it was unnoticed, so I highlighted it now. Also, here it is again: Original Poster Image (click on the Download Image on the right to get the full version, it's 9449Ãâ€â€12402 px though. RE: AttoWPU - experimental "avant-garde" processor and programming language - 1234hotmaster - 07-01-2011 congratz keep working on it ![]() you'll have a bright future if you go to USA really! ![]() PS: cute cat
RE: AttoWPU - experimental "avant-garde" processor and programming language - slbmeh - 07-01-2011 I want to port my bootloader to it... =) |