|
Please help. I'm dying of confusion.
p.s. For anyone who noticed this thread on the coursera website, I'm sorry for reposting, but I'm desperate for answers.
Questions: 1. Going from your example about how the instructors are the system architects and how the students are the developers, you guys provided us a hardware simulator of your own. Does that mean you designed this overall chipset/HACK computer in some other high-level hardware simulator program by using behavioral simulation? Then you said that system architects create a “chip API”. Is that the hardware simulator you gave us? Is that some sort of lower-level hardware simulator, such as the one you’ve provided us, to interpret/translate the higher-level test scripts and compare files? I'm almost certain I have a misunderstanding. My understanding is that the system architect plans and designs a chip using a high-level language hardware simulator, then they create their own hardware simulator for their developers called "a chip API" in order actually get their design working in HDL code. Please elaborate and correct me if I'm wrong.
2. I also have real-life questions regarding the system architects position. Do they determine how many and which developers will be assigned or is that handled by management? Also is speed, cost, power all predetermined by the company depending on what kind of chip(set) they want to make? For example, a low-tier vs high-tier model.
When the developers write their HDL code, do they need to take into consideration the big picture of the entire chip design or can they solely just focus on getting their implementation working? Also, when developing their algorithm for the implementation, do they also have to consider speed, power, cost or is that something the system architect(s) already considers beforehand in the initial design and provides those guidelines in the documentation of the stub file? Basically, can the developers write the algorithm of their implementation however they like?
3. Whats the difference and relationship between HDL code, microcode, instruction set architecture, and assembly? These terminologies are extremely confusing. As a student, I never know if it's because I'm missing other pieces that fail to explain the term or that these terms are just tossed around synonymously and interchangeably. Honestly , it makes my studying and learning experience so frustrating and disheartening.
4. If you don't mind, could you use a real life example to explain to me the their process of tackling a creation of a chipset. What's the order? Does the system architect have to design first then the developers can engineer? Who's in charge of the microarchitecture vs instruction set architecture. For example, Intel creating the 8700k processor. There's multiple modules within the processor: ALU, Control unit, Memory(registers and cache). Within those modules, I'm guessing they are comprised of other modules which are composed from logic gates? Within those logic gates, there lies the circuitry? Who does what?
|