[CA] Reeks 5 - CPU

Forum van 2de Bachelor Informatica.

Moderator: Praesidium

User avatar
Fristi
WOZ
Posts: 4565

[CA] Reeks 5 - CPU

Post#1 » Wed May 27, 2009 8:32 pm

Loha

Had nog vraagske over de cpu da we moeten maken, wa bedoelen ze net met een display voor 16 8-bit getallen?

Ist echt letterlijk gewoon 16 dispalys waarop ge een 8-bit getal weergeeft? (om een of andere reden lijkt me dit een beetje vaag, dus ff navragen).

2de vraagje:
Lui operatie:
Ge moet ne shift bit left 4 bits doen, maar da hebbe nwij toch ni geïmplementeerd in onzen alu?

Fristi
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
Robbe
WOZ
Posts: 2161
Contact:

Re: [CA] Reeks 5 - CPU

Post#2 » Wed May 27, 2009 10:30 pm

Fristi wrote: 2de vraagje:
Lui operatie:
Ge moet ne shift bit left 4 bits doen, maar da hebbe nwij toch ni geïmplementeerd in onzen alu?
x << 4 = ((((x * 2)*2)*2)*2) ?
"I'm not afraid of falling, I'm afraid of landing" -- Sam
How To Ask Questions The Smart Way

Zingen? UKA-n dat ook!

User avatar
Tom
Posts: 602

Re: [CA] Reeks 5 - CPU

Post#3 » Wed May 27, 2009 11:47 pm

Fristi wrote:Loha

Had nog vraagske over de cpu da we moeten maken, wa bedoelen ze net met een display voor 16 8-bit getallen?

Ist echt letterlijk gewoon 16 dispalys waarop ge een 8-bit getal weergeeft? (om een of andere reden lijkt me dit een beetje vaag, dus ff navragen).

2de vraagje:
Lui operatie:
Ge moet ne shift bit left 4 bits doen, maar da hebbe nwij toch ni geïmplementeerd in onzen alu?

Fristi
Om 8 bits te tonen heeft men een groep van 4 displays nodig (-128 tot +127), dus 1 voor het teken en 3 voor de decimalen. Het is inderdaad de bedoeling om 16 8-bit getallen te kunnen tonen, wat een totaal van 64 enkele displays oplevert. Met uw 4 bits immediate zal je dan een van deze groepen kunnen specifieren (0 tot 15) om de inhoud van uw register op te tonen.

De niet-R-type instructies (op branch na) hebben de ALU inderdaad niet nodig.

User avatar
Fristi
WOZ
Posts: 4565

Post#4 » Wed May 27, 2009 11:54 pm

hmm, kehj, da maakt de alucontroller wel wa simpeler ^^
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
Fristi
WOZ
Posts: 4565

Post#5 » Thu May 28, 2009 12:18 am

dus, alsk het goe begrepen heb maakte in totaal gebruik van 2 geheugens (RAM's) en 2 registers?

Nog een vraagske:
Moet den output van den ALU naar het Data memory? (of wat moet ge anders gebruiken als adres selector voor da data memory?)
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

Pieter Belmans
Posts: 593
Contact:

Post#6 » Thu May 28, 2009 7:49 am

Dat gaat via lw en sw, die niet rechtstreeks de output pakt van uwen ALU (welk adres zou hij het naar wegschrijven dan?), maar 1 van uw 2 registers kiest en dat op MEM[imm] wegschrijft.

Er zijn dus 2 registers, 8 bits groot, 1 instructiegeheugen, 5-bits adressen en 8 bits woord en 1 datageheugen, 4-bits adressen en 8 bits per woord.

User avatar
Fristi
WOZ
Posts: 4565

Post#7 » Thu May 28, 2009 12:37 pm

thanks voor het overzichtje ^^
Dus den output van uwen ALU gaat naar u Rd register? (just to be sure)
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

Pieter Belmans
Posts: 593
Contact:

Post#8 » Thu May 28, 2009 1:22 pm

Use the force Luke en bedenk waar de d voor staat ;).

User avatar
Fristi
WOZ
Posts: 4565

Post#9 » Thu May 28, 2009 3:07 pm

^^
Anyway da lukt al
Kan nu een word uit men geheugen in men register steken.

Nu wou ek da testen door eerst een woord in men eerste register te steken, dan een woord in men 2de en dan die 2 optellen en het resultaat in het eerste te steken, maar daar gaat het nog mis op de moment.

Hij wist denk ik altijd den inhoud van die 2 registers voor em ze gaat optellen. Resultaat van den alu is daar altijd 11111111.

Enig idee hoe da komt da mijn registers op 0 springen?

Ik voer dus 2 load instructies uit, tot daar werkt het, als dan men program counter verhoogd, dan worden mijn registers ineens 0 en klopt het resultaat van men ALU dus ook ni meer..
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
PieterK
Posts: 118

Post#10 » Thu May 28, 2009 5:45 pm

Fristi wrote:Enig idee hoe da komt da mijn registers op 0 springen?

Ik voer dus 2 load instructies uit, tot daar werkt het, als dan men program counter verhoogd, dan worden mijn registers ineens 0 en klopt het resultaat van men ALU dus ook ni meer..
Hebt gij een controle signaal "RegWrite" dat aangeeft of ge moogt schrijven in uw Registers? Als ge da nie hebt dan schrijft die in uw Registers bij elke clock cycle. Dus ge moogt enkel schrijven bij "RegWrite" AND Clock rising edge.

User avatar
Fristi
WOZ
Posts: 4565

Post#11 » Thu May 28, 2009 6:35 pm

jop, zo iets, tis al opgelost iig :)
Thanks to den andere pieter ^^.
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
Midori
Posts: 46

Post#12 » Sat May 30, 2009 6:21 pm

Maakt het iets uit of bij load word de data door de ALU passeert of niet? Ik kies namelijk in de ALU of er een functie moet toegepast worden op de 2 operanden (de 8 ALU functies + LUI) of dat de rx data gewoon doorgelaten moet worden zonder er iets mee te doen (voor store word en display).
Ik neem trouwens aan dat display bij pipelining in het writeback gedeelte hoort? Data hazards enzo.

User avatar
Tom
Posts: 602

Post#13 » Sat May 30, 2009 7:53 pm

Midori wrote:Maakt het iets uit of bij load word de data door de ALU passeert of niet? Ik kies namelijk in de ALU of er een functie moet toegepast worden op de 2 operanden (de 8 ALU functies + LUI) of dat de rx data gewoon doorgelaten moet worden zonder er iets mee te doen (voor store word en display).
Ik neem trouwens aan dat display bij pipelining in het writeback gedeelte hoort? Data hazards enzo.
Als je rekening gaat houden met de propagatie tijden van de componenten dan maak je het load word commando op die manier langduriger. Het wordt op die manier afhankelijk van de multiplexer in de ALU die op zich weer afhankelijk is van de logica in de controllers.

De display kan zowel in EX, MEM als WB geplaatst worden. Hier introduceer je geen data hazards mee omdat je net dezelfde correcte data zoals bij de ALU en het data geheugen verkrijgt. Vroeger dan EX plaatsen is niet mogelijk omdat je dan problemen gaat krijgen met een display instructie na een branch, in de veronderstelling dat deze uitgevoerd wordt vanuit EX. Ik vermoed dat het de bedoeling is om de gebruiker zo snel mogelijk feedback te geven...

Return to “2de Bachelor”

Who is online

Users browsing this forum: No registered users and 7 guests

cron