Turing Complete

Turing Complete

View Stats:
I need help with the superscalar register level.
Hello. I'm currently playing the save_breaker version of the game. Can someone tell me whether the level "superscalar register" doesn't currently work or whether I'm just too stupid. If it's just me, does anyone have a tip on what I should pay attention to? The level description doesn't really help me and I can't find any logic behind the inputs and the expected outputs.

I hope I was able to express myself clearly. My English isn't that good, my German is better ^^

Thanks.
Originally posted by uNiels 💗:
The level is working for me, but some things might not be immediately obvious, so I'll list the ones to look out for (those that I can come up with from the top of my head):

  • After you complete the level, it will create a Custom Component that will be used 15 times in the next level. So for this inner register to know which one of the 15 registers it represents, its ID (register index) will be provided on the chevron-shaped input at the top of the level. It will be static later inside the created Custom Component, but while you're working on this level, this number will of course change with the tests so as to verify whether your solution deals with the register ID correctly.
  • Use the light blue pin/wire of the chevron-shaped ID (register index) input and ignore the dark blue one for now.
  • If it isn't clear from the Inputs bar, the round input pins on the left are - from top to bottom - Load register index A #0, Load register index A #1, Store register index A, A Value to store, Load register index B #0, Load register index B #1, Store register index B, B Value to store
  • When one of the Store index values match with the "static" ID from the chevron-shaped pin, the corresponding value needs to be stored to the register.
  • Analogously, when one of the Load index values match with the "static" ID, the content of the register needs to be provided on the corresponding output pin (if it doesn't match, the pin needs to be in High-Z state, i.e. it needs to show a dash.
  • When storing a value and loading a value at the same time, the value to be stored needs to also be directed to the output, bypassing the register, as otherwise it would arrive 1 tick too late.
  • If both Store A and Store B match at the same time, obviously you cannot store both values. In such a case the B value takes precedence.

German

  • Wenn du den Level geschafft hast, erzeugt er eine benutzerdefinierte Komponente, welche dann im nächsten Level 15 mal platziert/benutzt werden soll. Damit dieses "innere" Register weiß, welches von den 15 es ist, bekommt es eine ID (Registernummer) von dem pfeilförmigen Pin ganz oben. Später in der benutzerdefinierten Komponente wird es ein Statischer Wert sein. Während du jedoch noch an diesem Level arbeitest wird sich dieser Wert bei jedem der Tests ändern, damit geprüft werden kann, ob du mit der ID korrekt umgehst.
  • Benutz den hellblauen Pin / die hellblaue Leitung des pfeilförmigen ID-Pins und ignoriere den dunkelblauen vorerst.
  • Falls es anhand der linken Inputs-Leiste nicht ganz klar ist, hier die Reihenfolge der runden Input-Pins auf der linken Seite der Schaltung von oben nach unten: Load register index A #0, Load register index A #1, Store register index A, A-Wert der gespeichert werden soll, Load register index B #0, Load register index B #1, Store register index B, B-Wert der gespeichert werden soll
  • Wenn einer der Store Indizes mit der "statischen" ID vom pfeilförmigen Pin übereinstimmt, soll der entsprechende Wert im Register gespeichert werden.
  • Analog dazu soll der Registerinhalt an einen (oder mehrere) der Output-Pins geliefert werden, wenn der entsprechende Load index mit der "statischen" ID übereinstimmt. (Wenn keine Übereinstimmung vorliegt, soll der entsprechende Ausgang im (hochohmigen) High-Z-Zustand sein, also einen Strich auf dem Pin anzeigen.)
  • Beim gleichzeitigem Speichern und Auslesen soll der zu speichernde Wert auch am Register vorbei zu einem (oder mehreren) der Outputs geleitet werden, da ansonsten der Wert einen Tick zu spät vorliegt.
  • Wenn beide Store Indizes A und B zur gleichen Zeit mit der ID übereinstimmen, kann man natürlich nicht beide Werte im Register speichern. In dem Fall soll Wert B Vorrang haben.
< >
Showing 1-2 of 2 comments
The author of this thread has indicated that this post answers the original topic.
uNiels 💗 Jan 25 @ 8:13pm 
The level is working for me, but some things might not be immediately obvious, so I'll list the ones to look out for (those that I can come up with from the top of my head):

  • After you complete the level, it will create a Custom Component that will be used 15 times in the next level. So for this inner register to know which one of the 15 registers it represents, its ID (register index) will be provided on the chevron-shaped input at the top of the level. It will be static later inside the created Custom Component, but while you're working on this level, this number will of course change with the tests so as to verify whether your solution deals with the register ID correctly.
  • Use the light blue pin/wire of the chevron-shaped ID (register index) input and ignore the dark blue one for now.
  • If it isn't clear from the Inputs bar, the round input pins on the left are - from top to bottom - Load register index A #0, Load register index A #1, Store register index A, A Value to store, Load register index B #0, Load register index B #1, Store register index B, B Value to store
  • When one of the Store index values match with the "static" ID from the chevron-shaped pin, the corresponding value needs to be stored to the register.
  • Analogously, when one of the Load index values match with the "static" ID, the content of the register needs to be provided on the corresponding output pin (if it doesn't match, the pin needs to be in High-Z state, i.e. it needs to show a dash.
  • When storing a value and loading a value at the same time, the value to be stored needs to also be directed to the output, bypassing the register, as otherwise it would arrive 1 tick too late.
  • If both Store A and Store B match at the same time, obviously you cannot store both values. In such a case the B value takes precedence.

German

  • Wenn du den Level geschafft hast, erzeugt er eine benutzerdefinierte Komponente, welche dann im nächsten Level 15 mal platziert/benutzt werden soll. Damit dieses "innere" Register weiß, welches von den 15 es ist, bekommt es eine ID (Registernummer) von dem pfeilförmigen Pin ganz oben. Später in der benutzerdefinierten Komponente wird es ein Statischer Wert sein. Während du jedoch noch an diesem Level arbeitest wird sich dieser Wert bei jedem der Tests ändern, damit geprüft werden kann, ob du mit der ID korrekt umgehst.
  • Benutz den hellblauen Pin / die hellblaue Leitung des pfeilförmigen ID-Pins und ignoriere den dunkelblauen vorerst.
  • Falls es anhand der linken Inputs-Leiste nicht ganz klar ist, hier die Reihenfolge der runden Input-Pins auf der linken Seite der Schaltung von oben nach unten: Load register index A #0, Load register index A #1, Store register index A, A-Wert der gespeichert werden soll, Load register index B #0, Load register index B #1, Store register index B, B-Wert der gespeichert werden soll
  • Wenn einer der Store Indizes mit der "statischen" ID vom pfeilförmigen Pin übereinstimmt, soll der entsprechende Wert im Register gespeichert werden.
  • Analog dazu soll der Registerinhalt an einen (oder mehrere) der Output-Pins geliefert werden, wenn der entsprechende Load index mit der "statischen" ID übereinstimmt. (Wenn keine Übereinstimmung vorliegt, soll der entsprechende Ausgang im (hochohmigen) High-Z-Zustand sein, also einen Strich auf dem Pin anzeigen.)
  • Beim gleichzeitigem Speichern und Auslesen soll der zu speichernde Wert auch am Register vorbei zu einem (oder mehreren) der Outputs geleitet werden, da ansonsten der Wert einen Tick zu spät vorliegt.
  • Wenn beide Store Indizes A und B zur gleichen Zeit mit der ID übereinstimmen, kann man natürlich nicht beide Werte im Register speichern. In dem Fall soll Wert B Vorrang haben.
Last edited by uNiels 💗; Jan 25 @ 9:04pm
INPUT Jan 25 @ 10:32pm 
Thanks. Your explanation helped me a lot.

Danke. Deine Erklärung hat mir sehr weiter geholfen.
< >
Showing 1-2 of 2 comments
Per page: 1530 50