Тёмный

Ep 080: Data Registers and the Program Counter (Instruction Pointer) 

Intermation
Подписаться 26 тыс.
Просмотров 12 тыс.
50% 1

There are three main classes of processor registers: data, flag, and address. This video introduces data and address registers, then explains how one of them, the program counter or instruction pointer, is vital to the execution of code.
Take aways: At the completion of this lesson, each student should be able to:
• identify the three types of registers,
• describe the purpose of data registers,
• describe the purpose of address/pointer registers, and
• describe the use of the instruction pointer/program counter.
#programcounter #instructionpointer #registers

Опубликовано:

 

17 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 16   
@lokajaudio3325
@lokajaudio3325 3 года назад
why just 400 views ?! such a cool series!!!
@Rico-iz8mb
@Rico-iz8mb Год назад
This series is helping me pass my computer architecture class, thank you so much. I'm currently designing an 8-bit CPU in Logisim for my final project. My online class gives me very few resources in the actual course content.
@jalnagnanvi5742
@jalnagnanvi5742 10 месяцев назад
Hi! I hope you are doing well. Xan you help with something?
@mohammadahmedragab837
@mohammadahmedragab837 2 года назад
thank you so much, In enjoyed your simple amazing explanation
@user-df2gz8zg5o
@user-df2gz8zg5o 4 месяца назад
great explanation. thanks
@seba6505
@seba6505 2 года назад
thank you for this vidoe
@driesvanranst3440
@driesvanranst3440 5 месяцев назад
Thanks a lot!
@arsen1156
@arsen1156 Год назад
Awesome Content
@cyrinezekri7016
@cyrinezekri7016 3 года назад
You SAVE my life, I can't thank you enough !
@rayj1232
@rayj1232 3 года назад
You are amazing
@faanross
@faanross Год назад
Why are you so skilled at backward writing?
@mr.dragonstar2387
@mr.dragonstar2387 2 года назад
Hey. Thanks for explaining about the PC. But i have question about it. When debugging you can see that the PC is branching at 2 instructions apart from its original value. So it is instruction + 8 But i don't quite understand why. I'm not sure if my question makes sense since i'm just starting with assembly.
@Intermation
@Intermation 2 года назад
This is not actually a branch. What I suspect you're seeing is the effect of the pipeline. If you watch Ep 085: Introduction to the CPU Pipeline, you'll see that the instruction being fetched is usually 2 or more addresses beyond what is being executed.
@mr.dragonstar2387
@mr.dragonstar2387 2 года назад
@@Intermation Ok wait. In that case i had a misconception of how a instruction is executed. So let's say that we have those three adresses: 0x00000040 | 1A000001h ; LDR BNE 0x00000052 --[this address is in executing state] +0 0x00000044 | E0000000h ; LDR AND R0, R0, R0 --[ this address is in the decoding state] +4 0x00000048 | E8BD8C70h ; LDR POP {R4-R6,R10,R11,PC} --[this address is in the fetching state] +8 ( PC ) 0x00000052 | E59F1018h ; LDR R1, [PC,#24] ... So does this mean that the instruction on address 0x00000040 is actually executing when the PC has reached address 0x00000048 ?
@Intermation
@Intermation 2 года назад
Yes, that’s exactly it. There is hardware set up to avoid executing an instruction if either the address 0x00000044 or 0x00000048 contained a branch instruction. That would cause a flush to the pipe line. In some cases, two pipe lines might be used when a branch is encountered. Now if it’s the case where the instruction at address 0x00000040 is a branch, both the instruction in the decode and the instruction in the fetch stages will be discarded.
@PaulFromMalta
@PaulFromMalta 2 года назад
bro is this guy writing backwards
Далее
Ep 081: Introduction to the Stack Pointer
16:09
Просмотров 47 тыс.
Ep 082: How Functions use the Stack Pointer
8:57
Просмотров 15 тыс.
One moment can change your life ✨🔄
00:32
Просмотров 19 млн
Minecraft Pizza Mods
00:18
Просмотров 2,2 млн
But, what is Virtual Memory?
20:11
Просмотров 233 тыс.
WHY IS THE HEAP SO SLOW?
17:53
Просмотров 210 тыс.
Introduction to Direct Memory Access (DMA)
20:33
Просмотров 41 тыс.
Ep 087: Using Polled I/O with a Memory Mapped Device
19:56
Everything Starts with a Note-taking System
21:23
Просмотров 176 тыс.
Ep 088: Introduction to Interrupts
14:30
Просмотров 6 тыс.
Ep 078: Data Structure Alignment and Endianness
12:19