My research is generally in language in use, how people use language in their daily lives and questioning if colonization, especially British colonization of parts of Africa, led to some form of uniformization of the fundamental based structures of the societies. Previous research has looked at colonization, but focus has been on how these societies have changed due to the impact of colonization. Colonization led to some form of mixture of languages, of people, of culture, which today have impacts on how people conduct their daily lives. The particular focus is on offers and offer refusals. That is to say, how do people make offers of food, of services, of seeds in church, for instance, to others and how do the others react to these offers. The fundamental structure or the cultural norms of the societies expect that these offers be accepted because when they are accepted, it shows that cohesion is very good within the society. But when they are refused or when they are rejected, it shows that something is wrong. I wanted to look at how, when offers are refused, what is actually at stake. For this research, offers and offer refusals in post-colonial societies I adopted several different types of data collection methods. Of course, the most ideal would have been to have data from natural environments. People using language to do the things they do every day. This was not possible. Well, it was tricky. I tried it once. For instance, during my field trips in Cameroon and Ghana, I decided to do natural offering and refusal of offers. I tried with offering food and drinks and to my surprise, I expected people to say no, but everyone said yes. How was I going to cope then doing research on refusals when everyone says yes? But I realized saying yes was part of the social norm of the societies. You have to say yes and accept offers even if you don't consume them. This is because it's good, it's for politeness, it's for you to show the other that we still function normally as a society. Having filled with that strategy, I decided to fall back to the standard methods of data collection. The first was to turn to discourse completion task questionnaires. I came up with possible scenarios where people could offer and where offers could be refused and I asked respondents to construct dialogues in which they made offers to people, particularly interlocutors, and that these offers have to be refused. With this, I received a lot of interesting dialogues on which the research is based. I went beyond that to do interviews, to ask people, what would you say if you had to offer, for instance, an old man in a church, your seat? What would you do if the old man says no, I don't want your seat? How does that affect the societal cohesion of your group? That left me with two very important sources of data and I went a little bit further to do participant observation where I started in different contexts to watch people offer, accept offers, or refuse offers. From there, I moved on to analyze the data and as I said earlier, I used the emergent framework called post-colonial pragmatics to see how people's intentions in offering and the intentions in refusing these offers translate into the type of cohesion they want to achieve in their society as a group. There were several interesting findings from this research. First, it's actually true that colonization actually led to a strong uniformization of the basic fundamental structure of these societies. I'm going to talk about this at three levels. The first is that these societies, these post-colonial societies consider themselves as a unit, as a collectivist in group and for that, cohesion, the collectivist phase of this group is most important. I realized that most of the offers that were made were accepted because people felt they have to keep the group together. Refusing an offer would mean that something has broken down. On another level, it was clear from the interactions that were created by the respondents that the community, no matter how big it is, is considered a family. Society is family. And this was done most often through the use of kinship terms. Strangers meeting for the first time called each other father or son, mother or daughter, or brother and brother and so forth. Why? Because whatever happens in that interaction would not be as destructive, it would not be as threatening to the group if it's treated as family business. I also found out that post-colonial societies were already highly multilingual and multicultural even before the arrival of colonialism. This is perhaps one reason why they were able to quickly accept what colonialism brought in, like education, like religion, like systems of political administration, and of course also new languages. Having had this base structure already before, it was easier for this to be quickly assimilated and to be appropriated for their own individual usage. I found a very strong correlation between indigenous, Cameroonian and Nigerian cultures and some of the doctrines of Christianity. This has to do with how people treat parents, younger people treat parents. In both, it's considered whoever is old enough to be your parent should be treated as a parent. And we see this asymmetrical relationship being played out in most of the interactions. Both in just the way people name others, the use of kinship address terms and also in the way people behave when they are called according to those kinship terms. I want to give an example from one of the discourse completion situations that respondents had to fill out, interaction between a young person and an old man in church. And the young person was expected to see the seed to the old man. But the instructions of the questionnaire were that the old man is expected to refuse the offer. But over one third of the respondents constructed dialogues in which the old man actually accepted the offer. What does this tell us? This tells us that the group's social face and the respect for the social norms of the group are a lot stronger than one researcher who comes around trying to force people to behave differently. This study is relevant at three major levels. The first is a theoretical level. We were able to introduce or expand on a framework called post-colonial pragmatics as a means of studying the similarities and the homogenization of post-colonial societal structures through colonization. This of course offers a new perspective for researchers in this context to analyze their data in a way that it's more fitting than using Western theories. Post-colonial societies are in fact complete historical entities that are evolving in natural ways based on the complex nature of their evolution of the history. These patterns of interaction, hybrid or multilingual as they are in nature are actually existing is proof that members of these communities cope with them naturally. The third relevance of this research is that it gives us some of those tools that we need for intercultural communication, understanding intentions of others when they speak, having pre-knowledge of what to expect or how to react to what is said. For instance, in most post-colonial communities a promise is not always a strong commission to do something in the future as it is in the West. It is often just a way of politely showing the other that we are actually together. We form a group. There is no discord between us. The outlook I have for research in post-colonial contexts, especially pragmatics is that there should be a lot more done from emic perspectives that project the specificities of the societies. This has not been the case in the past but with frameworks like the one we've introduced post-colonial pragmatics this should be a lot more possible. A lot of intellectual work is done on different contexts and this usually ends up on the shelves of libraries, on internet platforms and so forth. Those who I actually studied don't have the chance to read them, don't have the chance to see what came out of the data they provided. It is my intention and my wish to take this back also to this context and to of course make them and make others know how interaction works there.


We spend $1.4 billion every year on the justice system in British Columbia. Our crime rate is the lowest that it's been in three decades. And the number of cases that is going to court is down as well. And yet the cost and the amount of time that people are waiting for trial is continuing to increase. Cases are being stayed and delayed. It just doesn't add up. And we can do better, I believe, with the resources that we have. So that's why today we are announcing a justice reform initiative. Shirley Bond has been leading an extensive set of administrative reforms within her two ministries. These reforms are designed to bring efficiencies into the system and to reduce the pressure on the courts. It's very important, as the Premier pointed out, that we hear from members of the profession and stakeholders. That is why we're very pleased to welcome Jeffrey Cowper, a well-known and well-respected member of the Bar, to look at the system and to provide recommendations. I promise to bring an independent view to government and to the other participants in the system with respect to what achievable changes can bring the best results for British Columbia in the soonest period of time. Thank you.


So how do you make big improvements in a relatively short period of time without as much effort as you would think? Now here's where I'm going with that. One of the things we talk about is off season training or even if you have a certain period of time, if you're just one of those athletes and you have a winter sport and you finish it up and you get you into track late, even in that regard, you want to make sure that you're taking the time to spend a few weeks to work on mobility posture and quality lifting technique. That's first and foremost. You always want to establish a base, especially if you're going from a winter sport to a spring sport, you're going to want to have some period of transition. One of the big mistakes that a lot of people make is they want to always look at how far can I throw right now. We don't want to always be like, how far am I going to throw? How much can I lift right now? We want to understand the bigger picture, right? If we're going to build a skyscraper, what's going to be it? We want to build an 80 story building. What's going to be critical? You got to build a huge foundation that's going to support 80 floors, right? And everything that's going to go in those floors. Your lifting program is no different or your training program. You want to establish a base. When it comes to the weight room, you want to be making sure, like we talked about, there's a focus on mobility posture and lifting technique itself. When we're in the ring, we want to make sure that we're understanding the critical fundamentals that the best throwers in the world, guys with 230 foot PR, guys and girls, and the best shoppers in the world that are throwing 74 plus 75, 76 feet, which is just a few. Even those guys every year, they go back to the fundamentals. And so establishing a base right at the beginning of the year, and especially with developing throwers. So I would say if you throw less than 200 feet, you absolutely need to go back because mastering the fundamentals that are going to allow you to build that foundation, to build that skyscraper, i.e. big distances and do it quickly. It feels slow in the beginning, but it's not. It's actually super fast. We've shown this. I as a coach, this is what I believe. This is what I've seen. This is what we've been able to do. And we've had exceptional results year in and year out because we always take the time to build that key base and prepare the athletes for greater stress, greater load and the strength gains usually affected and the consistency once they hit the levels. One thing I'm very proud about with our throwers is that they don't just throw if they hit 70 feet, they don't hit 70 feet. Once they hit one of our throwers, throw over, you know, 24 throws over 70 feet in competition. Another thrower over 14 competition throws over 70 feet. So it's not just an outlier where you catch a throw. My 64 footers, my 62 footers, they're consistently throwing over 60 feet. You know, they're consistently throwing 64, 65 for the kids that throw 65 feet. So that's the key thing. What gives you consistency is understanding the quality of the foundation. And you have that in the weight room and you have that in the ring. And when you put those two together, you're going to be really happy with the results.


Okay, very good morning. It is 17th of June Monday Antony here so good to be back after a week or so off the desk and Raring to go looking at the calendar for the week ahead. There's obviously plenty of things to talk about So we'll go through the usual routine. I'll give you a bit of a summary of the highlights of Expectations of what we think will be the major kind of pivot points of potential Shifts in market sentiment and market direction from a fundamental point of view And then we'll hand you over to my colleague Sam and you can look over the charts both intraday and also for the week ahead But looking at a quick overview you can obtain this chart I did tweet it from my own account yesterday evening, but we'll also issue it in our weekly strategy report But going through there were some of the main highlights here You've got the Empire State Manufacturing Index coming out. That'll be later on this afternoon You've got ECB's draggy and if you'll notice you got ECB president speaking today tomorrow You've then got I think it's Friday possibly he might appear again Wednesday. So he's Booked in for the first three days of the week and this is because Central Portugal there's the ECB forum going on that event in itself has has some Historical significance has been an event before of which has been a platform for some of these heads of central bankers So the likes of Mark Carney will be there other heads of other central banks will also be making appearances So it can be quite key particularly when we're at this juncture now at the moment of Central banks typically turning more dovish given the economic environment and the risks that are apparent and to try and Acetane where they go to next so draggy is going to be one of the key ones. You obviously understand spoke last week Was giving hints towards the potential potential kind of options on the table of further easing so any clarity around that Will be key Otherwise going into Tuesday you get the second Conservative party ballot we'll have a look at that in more detail shortly and we'll we'll see what you guys thought about the Channel for debate that took place yesterday evening, but the main event undoubtedly is going to be Wednesday night I'm going to be delivering that session me and the team here Live via our YouTube channel. So we'll have the fall run into the FMC Rate decision will then stick around will analyze everything happening in real time and then we'll look at the Summary of economic projections. This is why this particular meeting is quite key What's the shape of that new interest rate curve going forward? How dovish do they become and do they come to the point of meeting with that market expectations of potentially? Three rate cuts for the rest of this year and then of course we'll have to press conference as well Then Thursday more central bank news coming out. We've got the Bank of Japan We'll have a look at the expectations for that Shortly, you also got the Bank of England as well coming out So you get three of the major central banks globally coming out the Fed the Bank of Japan the Bank of England and then Friday Arguably one of the most important economic data points. This is when we get the PMI numbers Which of course have been moving south Many into Contractionary territory and hence is providing this pessimism of why central banks need to get ahead of the curve with interest rate cuts And that's going to be all coming out on Friday So plenty of you know, that's just a quick overview lots of things going on But let's just have a look at the charts this morning then we'll go through a couple of headlines and just having a look at that the general setup here Major currency pairs top left euro dollar and cable both are actually flat at the moment And as you can see both have found some support technically Around the low point at the end of trade in the futures market at least that we had last week So just a level of near-term price action to keep an eye on but large reflection of a fairly quiet currency open the dollar index It itself is flat And the bond market although the bunds been creeping up back towards pivot Generally about unchanged on the session at the moment oil as well sitting around its pivot down here at the bottom Down just 15 cents. So again relatively flat. So quite a calm open To proceedings. So let's just get straight into the headlines and what is it that we're looking for For this week ahead and as I said the FMC is really the focal point and so Wednesday night will really be I guess from a overall multi-asset class Market moving direction that could set the tone for the second half of the week Undoubtedly that's going to come from this latest announcement now The Fed chairman says extending expansion on overarching goal No interest rate move expected when officials meet this week But as we know it's not so much about the potential for a rate cut this time It's about then markets a very much price for rate cut going forward into July and then multiple rate cuts thereafter And it's about that dot-plot matrix Where is it at the end of the year where the median dot-plot is placed as to indicate then towards what we feel It's going to be the number of rate cuts bedded in at that point So a couple of charts then with that in mind to show you this is the first this is looking at How expectations have changed and this is looking at the short end of the interest rate curve So federal funds rate futures and it applied probabilities by percentage and you can see here the pink line is the probability of no change and really through all of Pretty much the beginning of the year We were very much expecting that there wasn't going to be any change. Why was that? That's because the Federal Reserve had told us when they shifted back their 2019 view that they were going to do zero The only problem is is that we've had quite a significant breakdown in the trade war in particular and that has made people get much more apprehensive Much more pessimistic about the future economic conditions Whether that being the US targeting Mexico, whether that's the US targeting China and the escalation that we've seen on the back of that that as well coupled with Not spectacular Economic data performance in the US whether that be fairly benign inflationary conditions Retail sales someone and so forth has meant then that the probability of no change has dropped Significantly and so the probability of a cut this being in verse then typically his relationship up now in excess of you know, 80% at this point, so This is quite an interesting thing though is the hot debate between you know, I think markets are Very much primed for the fact that the Fed are gonna sound Dovish the idea though is about how dovish Because markets are priced, you know so far down that avenue and is there gonna be room for almost a hawkish reaction by net result that they don't quite Come all the way to meet markets expectations This is you know one kind of factor which might make them a little bit hesitant as to pull the trigger so quickly and towards leaning towards cutting rates aggressively and this is looking at Basically the history of US interest rate setting This goes back all the way to the 1960s if we look on the far left-hand side what you can see here is This is the basically the interest rate is the line So you can see you know back in the early 80s interest rates in the US were nearly 20% if you remember back in that era and the red little marks Signify when the US economy at that point was in a recession So the main takeaway here is that every time that the Fed have begun this kind of sequence of cutting rates the rate in itself has been always much higher than where it is today So the rate hike cutting sequence of the late 80s early 90s Interest rates were up at kind of 9% if we go back to the the dot-com kind of crash rates were You know six seven percent the financial crisis interest rates were around the five percent and now interest rates as we know Are at two and a half percent so less room To maneuver is the point when it comes to the most blunt instrument Which is utilizing then the kind of mechanics of moving the rate of interest obviously now We have other means in an unconventional sense like quantitative easing liquidity programs and all these types of things But you know quite an interesting thing to see that there's you know, there's less room to move this Which would suggest then that the Fed might be a little bit More of the thinking that really unless it really push comes to shove We do not want to start this cycle which typically very rare for central banks to do this kind of one and done Mentality one cut normally leads to several like an interest rate hiking cycle. It's not just one Usually it's one of a series of moves so Couple of other things to have a look at I mean, this is the the state of the global manufacturing PMIs and this has been quite a Area of focus that markets have latched on to because all three of these lines Covering all the major kind of markets or continents from the US and yellow the eurozone In the blue and then the China ex-Hong Kong the cow in the red have all been moving south fairly consistently and if you look at the Chinese and the European one European one even to a more stronger degree in Contractionary territory and the US is the one that's seen quite a dramatic change of late dipping quite aggressively towards that level at 250.5 so definitely it seems that you know cuts are on the cards. It's more a matter of Timing than anything else as to as to how far and how aggressive they go with this So from a market pricing point of view, what are we expecting for potential rate cut this week? While the the potential for a rate cut at the Fed meeting is currently seen at about 17.5% so Could it happen? Sure. It could happen. I mean almost 20% of the market is priced for that outcome But I'd say it's unlikely to be the case And that very much down to the fact that I think the Fed would want to keep the options on the table and not be seen being so actively Responsive to markets and so that they can still maintain as I said both options and credibility to manage this later down the line Kind of keeping your ammunition in reserve in that respect If we start moving this out before we go to july Then we're looking at Interest rates could be cut the probability then is at 70% So this is very much now priced into the market when the Fed are scheduled to meet at the end of july And then we go out to september Obviously then we start pricing in the second rate cut. So not only would have By market expectations would have exercised this july move With then in september we'll be looking to bed in the second move, which is priced at 55% Looking you know stretching this out and looking at the global central banking kind of situation This is now looking at what markets are priced to the end of the year And you can see here. We're looking at markets are expecting over 70 basis points of cuts From the federal reserve. So this is where we get this idea Of expectations of three rate cuts not forgetting the official communication from the Fed as it stands In their dot plots is currently zero rate cuts Now this is likely very much so to change But I feel it's going to be highly unlikely that it's going to go as aggressive as the market is suggesting here And as a net result of the market's positioning then you might get a short-term knee jerk reaction Of a little bit of a you know, kind of hawkish response where yields might move higher If anything equities might come off dollar might strengthen under these kinds of circumstances Looking elsewhere, obviously the rba is another central bank That's very much alongside the rbnz given their economic situations that have been Moving already or hinting towards more rate cuts The bank of england very different In a sense even though they're going to have their interest rate decision this week very much You know, it's a wait and see mode Plenty believe that you know, if it wasn't for brexit then at this point given inflation moving back to 2.1% Year on year wages looking particularly healthy on a long-term comparison basis Well, actually rates could be could be an argument for them being higher not lower If it wasn't for that huge political risk that's on the table so Mank of england's pretty much flatlining which you would expect subject to probably quite rapid changes Depending on how the political scene unfolds And then the ECB I guess I guess that's probably going to gather steam How much so will be dependent on what draggy has to say in this ECB forum that's going on the first half of the week And then you've got the bank of japan at the back Again expected to be Decreasing rates at some point, but probably not anytime soon is the general Understanding that is shared as a market consensus at this point So yeah a bit of an overview there of what we're looking at obviously the feds going to be absolutely instrumental to market Sentiment and that's going to be wednesday night. So what can often happen? Even though if we go back to the calendar, there are some interesting things happening like Some of the u.s. Data this afternoon like the ECB president speaking Or the second ballot round of the brexit kind of Tory leadership race Ultimately given the importance of that event. It could be a fairly tame first half of the week Because markets really want to hear what is and how far do the fed go before then committing real Capital to work kind of in an intraday short-term environment So maybe from a strategic point of view, maybe a consideration about how you approach Monday, Tuesday, particularly wednesday as the market starts gearing up for that big event Because it could well be that then the second half of the week is where you've got a bit more clarity As to then the market direction overall Okay, that's enough on that. Let's just have a quick overview about a few other headlines I'm sure quite a few of you caught the channel for debate on the Tory leadership A lot of the headlines led similar to this one on bloomberg about Well really two things clashing over dictator brexit. This was kind of referencing One of the candidates dominic rab who talked about suspending parliament so that parliament cannot block A no deal is how strongly he feels about keeping a credible threat to force europe's hand In order to come back then and give a deal Even though I guess most of them are committed to leaving in october That was the most kind of an aggressive threat if you like at really exercising that that route Two other things that were quite obvious here. One was that borris skipped the debate They kept the lectern there and it was just basically empty So he wasn't there to kind of defend himself Jeremy hunt made a pretty good attempt To kind of criticize that saying if he can't appear in front of his fellow colleagues And how's he gonna fare in front of the eu kind of 27 I guess as we know quite strategic on the behalf of the borris camp. He's already so far ahead It's almost like there's more to lose than there is to gain Given the fact that you know, these other candidates are so far behind him and the risk of He's notoriously Bad at sticking to the script and putting his foot in his mouth So better than for the team around him to just take him out of that situation So there's as I understand going to be more nationalized tv debates as this these rounds Eliminate various candidates before we get down to the final two and as we do get down to the final two He will have to make this appearance obviously To get himself over the line, I'm sure the person that came out probably on top Is someone who I feel isn't going to get the parties backing into the final two, but certainly captured I think a lot of the public sentiment when I was looking on social media and that was rory stewart Um, he's definitely taken the opposite ground to the other what four other people that were there Michael gove dominic rab Sajid Javid And jeremy hunt whereas stewart has gone for the whole kind of center ground the compromising angle Definitely taking a lot more of a spin about talking to forage, but talking to labor in the lib Dems That I think did resonate quite well in his honesty I think in the fact that he comes across and he's probably the opposite in personality to say someone like michael gove I think people warmed to but ultimately I don't think the potorio party is going to back him So he might survive the cut this time. I think if anything sajid javid might get the cut I might get eliminated tomorrow But we shall see point being is how much is this is actually moving the pound and as you can see this morning It's not moving the pound at all So as much as this is being dramatized by the national media I actually thought last night's discussions were held in pretty good faith and then no one was really Clashing in my opinion and this doesn't really get interesting until we get into the final two stage and When boris does take the stage does he make an almighty cock up by saying something highly offensive? For example, which then could well flip the whole thing in to say What is looking on the bookie side of things jeremy hunts best opportunity to then potentially Push himself forward into the leading spot. So again, it's entertaining I think it does need to be watched in terms of the public to educate themselves about a bit more of What it is if we did get down this route of voting on a second referendum or a new slap election But from a market moving point of view as I said, it's a non-event until we get down to the final elimination phase As per the timings, this was a good graphic that I saw last week when I was out of the office and on the left hand side Just to refresh your memory So we've had the first ballot that was when we had the the cumulative votes of what the Tory members were voting So if you remember we then have a next vote, which is tomorrow Which is second ballot of MPs for 33 votes is required to progress to the next phase So someone like Rory Stewart only got 19 votes in the first round But given the fact that several candidates have already been removed Mathematically then the numbers for other MPs have got to go somewhere So he technically could get over the line But he was the one that was kind of lower down last time We then go through and actually this week then we could have Wednesday and Thursday further ballots until we get down to the final two that remain And so this is the process that this is going to go through As I said the latter is probably going to be when it's more interesting This this graphic I will share it in the chat again. You probably did see me retweet it anyway Last week, but I thought this was you know, these are the reasons why The infographics that we share in trading live or on twitter are particularly useful because here on the left hand side you've got a timeline of You know, what are the specific dates that you need to be aware of? Who are the candidates and the projected number of MPs that are backing them? Again, this is important because the process that we're going through of the ballot system Is where MPs at the conservative party vote It's then when it gets to the final two that that goes to the 160 000 grassroots conservative members Who then decide who the number one candidate is to then take on the role of prime minister So understanding the MPs numbers is important Understanding what the bookies are saying. I think is also important because it gives you an idea of about how much markets generally as well a price For general outcomes. So obviously, you know the borris one's quite interesting to monitor And then obviously being aware of as well the aggressiveness of the stance between You know, kind of a no deal brexit I guess after yesterday's conversations and debate rab being the most Down to the softer brexit Rory strew up being of that that side And then the impact of the pound and the rationale. So within one graphic You've got a pretty good comprehensive wrap-up of all the different elements You'd need to be aware of from a trading point of view, which I think is particularly useful The other UK headline I don't think this is particularly surprising British companies look set to cut their investment by the most in 10 years in 2019 You know, one of the things that we've had actually in UK economic data is there has been periods of surprising strength Where economic data has been relatively resilient Now a lot of this was at the beginning of the year when there was a lot of reported front loading in order to build inventories ahead of them creating a short term degree of demand To get ahead of the march Deadline at the risk of a no deal and the WTO tariffs that could have meant However, that got delayed. That's now October. So it's kind of phased out again And so the point being is for companies at the moment There's such uncertain environment the fact that there's no real definitive Dates because they've been so subject to being moved It's all adds to if you're, uh, you know a a small medium-sized business Uncertainty about the future Obviously consumers and businesses start to lose confidence And this is the situation that you find yourself in which then Gradually tightens the screws on the UK economic performance overall So not that surprising hence the reason why it's not impacting the pound But it's this type of thing where you know, the UK economy is going to slowly suffer Over the coming months. I think that's a that's almost a certainty Moving off the UK quick look at other things oil prices as I said relatively stable Slightly negative having just gone through pivot at the moment in futures I understand while I was off the desk last week, there was a lot of Focus in the Gulf in particular on the Straits of Hamoose given the Saudi tankers that were attacked reportedly by In your connections to Iran. So definitely that area Geographically still needs monitoring very intently. But the other thing that markets are focused on this morning is about Saudi Arabia And the idea that they're expressing hopes that OPEC and its allies will agree to extend production cuts Into the second half at a meeting that will probably take place in early July. So Saudi Arabia still again pushing for the fact that you know them being the dominant force within that OPEC kind of collection of export nations That they're going to get everyone else over the line in an agreement In order to continue to support the underlying price of crude I think if you think about it from a Saudi perspective and for a lot of these oil producing nations If you know this chart here Is the absolute worst case scenario if you're an oil producing nation with a high gearing To the sale of oil. So, you know the beauty of course for the US is that yes They can pump production up at record levels because they got such a diversified economy. They can almost Make generate money from selling even with the price at a lower point given as well the break even For the production values, but also satisfying them having a fairly Low price for the middle class for the consumption of gas at the pump as a price as well So definitely helps the US but deterioration in global demand Definitely means that for these guys, you know, it gets particularly troublesome for Saudi Arabia But you know as we know they need to fulfill this idea of fulfilling their commitments in the long term in regard to The vision 2030 so they're looking to get ahead of the curve So I would imagine they would be able to twist the arms of the necessary players that be whether that be even Even with this geopolitical fallout with Iran But getting them in as part of the deal and when with the russians on board as well, which is obviously critical the other thing that's come out Trump obviously particularly Vocal on twitter over the weekend, whether it was his criticism of city khan over the various violent Attacks stabbing and shootings that are happening in london But more interestingly about Again weaponizing this idea of the stock market And I think this is a pretty tactical And a pretty clever move from trump because we know that Obviously a stock market crash can quite Often be accountable to his own doing but if he can distance this and talk about that if it does go down Then it's not his fault. He's almost Safeguarding his position already where he can discount any stock market downside that is to do to other external factors out of his control Like for instance the federal reserve if the fed hold firm Which I think is more the right decision to do and they just say potentially we're going to cut once This year but keep the optionality about potentially doing more should the economic data warrant such action I think that's the most prudent central bank way of going around things But the market might not like that and if the market starts to sell off, you know You can expect donald trump to be criticizing your own pal and everyone else To say the same thing. So they're typical trump. I would say more of this is likely to come I'm pretty sure The bank of japan the other You know, we talked about the bank thing and briefly bank of japan Majority of economists see more easing as corridors next move But definitely not seeing any action as far as this interest rate decision Is concerned So unanimous view on on wall street that the boj won't act at this particular meeting But again any wording around the future course of action and what would warrant that action Is going to be what the markets will take its q1 to trade one of the things here There's a real difficulty for the bank of japan Is that if let's say the federal reserve does start cutting rates That means that the u.s. Dollar weakens and so by default the yen strengthens And the yen strengthening generally speaking Is a negative factor then for the japanese economy Also for the export names to operate within that Economy as well in the nikkei And so is it the case that the bank of japan could be forced into taking This these steps to cut rates Given the fact that then to counteract what would be naturally a strengthening currency on the back of dollar weakness and fed cuts So yeah, that's it. I mean not going to go on any longer than that. So again, that's the summary of what's going on so As I said fomc is the main thing happening on wednesday night Me and the team will be here throughout the evening. You can join us on live on youtube It's got a chat function so you can ask lots of questions Central bank decisions boj boe The the leadership ballot for the conservatives So we should be able to whittle that down have a bit more clarity on who's going to really at the end Going up against boris johnson at this point looking still the most likely it's going to be jeremy hunt But could rory strut pull off a bit of a surprise. We'll see And then the biggest data points arguably are going to come on friday when we get the various different PMI numbers ranging from japan australia Through the eurozone in the morning and then the us into the afternoon All right That is it from me Let me hand you over to sam. He can come on and give you a bit of a look at the charts for today in the week ahead Thanks very much All right guys. Hope everyone has had a good weekend. Just having a quick lookover. We'll start with the The currencies is the the pound actually just coming on a bit of pressure here through friday's low 126 28 traded on the on the futures and we're back down to almost the The lows of the year Yet again, we had a bit of a recovery on the first retest if you like of this whole area But not too far now from that low that we had back on The 31st of may so slight recovery back up to 128 failed to get above their multiple times and And we're now back down to those lows after some dollar strength that we saw on friday across the board So just having a quick look at this you can just see If we were to get a break of the yearly low, then you are really going back here to levels from 2017 And and beyond that really back to 2016 lows So we'll be keeping an eye on just this this level in general yet again Just coming into the picture along with that longer term trend line to the upside Certainly, you can see the the strength of this break through 127 11 127 handle that we got on friday. It's already been retested Obviously quite a fair bit above where we're trading now But should we get any retracement this week? And of course that could happen with the fed and the bank of england A good short from from those levels could be of interest for sure having a look at the euro Again putting this on a longer term chart We've already I guess had that trend line break, which has been so prominent this year And just going back you can see any recovery we have we then get a decent push Lower just multiple times here does think you know you can start to say where we're going to get a Further recovery not to be the euro Breaking down again if we just have a quick look on the the 240 minute you can see that trend line Really starting from The double bottom that we had of this year We've had that breakthrough a bit of a retest and we're now back down on what is a pretty key zone Was the low that we had back in the morning of the the sip Pretty much the the lows that we've got now failing to to break that twice so far So worth keeping an eye on and also you've got just below there, which is pretty much the low of the the session so far Which was the area of previous resistance on the third So keeping an eye on that and similar to pound if we were to get any retracement Over the coming days to the breakdown level that we had on friday 1 13 41 and a half in the futures Would be obviously one to to keep an eye on if we were to have a strong week to the downside that double bottom Obviously worth keeping an eye on and if we were to break through that we can see the last time We were trading the these levels was back in 2016 as well where we traded as lower down as 111 So worth keeping a close eye on that low the year if we are to see another leg down here For the euro against the dollar s&p has recovered strongly from The the the low that we had back on the 8 for march really strong push higher there were now If we just put the the 200 day moving average on that's worth keeping an eye on still as it has actually as decent support From the push lower that we had from the beginning of may Although we did chop through it. You can see we're now Nicely above it. So still probably worth having that on to the upside Next key levels. I mean above where we're trading other than the recent high that we had back on the the 11th Just a bit above there. You could argue 29 20 is quite a key level Historically and in terms of we had good support back here in september last year resistance turn support in that the The push to the next all-time high And the first real test of that on the 11th So I'll be keeping a closer eye on that as well with the fed might be worth just for A couple of these markets euro dollar included and just holding back and waiting until wednesday As well before really getting too stuck in in this market But it does seem for now that the sentiment is back towards the upside. However last week was A five-day week, of course where there was not one naught point five Not one naught point five percent return either way to the upside or the downside. So very slow Weak and I would expect the same in the build up to the fed having a look at T notes You can see if I just make this chart a bit smaller just the importance of the the levels we're trading at Just drawing a simple horizontal line. You can see going back here to october 2016 We've just tried to break a couple of times above the the high from september as well Worth as well just having a trend line on here, which has been respected I'll just draw this on Last week you can see starting here from the low of december 2016 We broke through this december 2017 before finding strong resistance Later that month just before the beginning of 2018 and we just tested that again as well So keeping a watchful eye on this trend line a break above that could obviously lead to a further push However, you would you would expect at least a bit of a recovery In this market as we have gold just went after a strong push of recent times. We've had a double top You can see that previous high that we had of the year back in late february Has also reacted strongly. We've come back lower as well Back into 1340 so nicely above 1300 really strong breakout that we had a week or well at the beginning of the The month and end of last month So keeping a watchful eye on this as well and this that that higher level We've also got these trend lines from the multi-year highs to to keep a Tab on if we do push on you can see that would probably come a fair bit above where we're trading Looks like it would come in around 1377 so to the upside keeping A level marked up around there, but for now again just Probably be impatient early on in this market before getting involved in it in the the remainder of the week looking at oil remains To be seen where this market goes shorter term, but certainly these lows around 51 dollars And as a zone if you like of also the low that we had back at the beginning of the year 51 71 Is important so break below that then yeah fine. We can get a further push down what we've had two goes Or trying that rejecting And then we've sort of recovered a touch just over a dollar obviously helped a bit by the The oman situation gulf oman situation that we had Thursday morning To the upside when would I feel a bit more comfortable that this market is going to go higher? Well back above 55 dollars The high that we had on the 10th of june the low that we had on the 8th of march coming in around 55 13 back Above that then I would be a bit more Assured that we are going to have a further recovery previous lows as well in the mix Should we get above that closer to 57 obviously that's a long way away to the downside if the 51 dollar handle breaks and closes below I imagine there'll be a quicker move down to 50 and 49 10 where we have had previous resistance So that could obviously act as support for that market quick look over another couple Currency pairs ozzy dollar on key support looking back here. You can see we're just tested the The lows that we had back at the end of may the flash crash Low of the third of january an obvious target should this break through a couple of times In currencies we've had this recovery where the dollar started to weaken the touch But in truth it's just given people a better opportunity to get short again Looking at the the recent high that we had back on the 7th of june marking that up It's just a failed test of the 8th of march low To get back above and you know, this would obviously be a nice profit target for people to look at So I wouldn't be getting too short too aggressively unless we do break and close below Maybe looking more Intra day. Can we get back up to any of these previous levels? 69 20 Or even 69 64 previous support levels on the future Futures that could offer good resistance going forward Also looking at the yen just to wrap things up for a quick look over How we stand At the moment the yen you can see here It's just been testing a recent Previous high and just as a level for the whole year It's been really significant from the beginning of the year back end of january To the breakdown in in february that we had the retest in may We finally then did break through the last day of the month and we've already had a test of good support there So keeping an eye on that as a as a gauge this week of sentiment You've got to imagine if stocks were to push to the upside the yen isn't going to come under a bit of pressure there And we could look for this to really Break down as well. Quick look over how the DAX has opened relatively flat Push lower came back pretty much exactly where we were and I think it will be a quiet one today You've got bigger things to come this week As we just have a quick look over that calendar one more time. Obviously you've got ecbs draggy speaking today tomorrow as well But the main events very much going to be around brexit and the conservative party second vote tomorrow And then any more if needed on the wednesday thursday But also the the decisions the interest rate decisions out of the third bank of japan And the bank of england before some important data out of europe in the u.s On friday, so today's very much a more range bound day not not one to get too involved in As we come into what could be a busy finish And end to the week any questions as usual, please do let us know But I hope you'll have a good trading day and good week ahead


So today we will talk about one of the last two processors that Compact produced. So last one was 21364. So this one was before this 21364. 21464 was in design when Rokoni got bought by HP and ATOM. We will talk a little bit about 464 also if we get time. So again, just like, how do we fix it? Anyway, okay. So we planned this again, just like with R10K. And the first silicon that came back from factory for this processor that roughly three times equals R10K. So it had 50 million transistors on a 310 millimeter squared dial. With 0.35 microseconds.  The number of transistors was about 6 million. So you can see that this also reflects the unity of the designers that would fit with the same die size, so many transistors, which at the same transistor size. So Vips R10K also had 200 microseconds. Just like Vips R10K, which is the code's renames for instructions and recycling. The pipeline was taken from predecessor to 116V. And essentially, the out-of-order mechanisms such as renaming, etc. were added on top of it. The basic pipeline was just borrowed from predecessor. It had on-chip 64 kilobyte, 2-way set of CD-velo on instruction and data caches. And an off-chip direct back-to-cache with variable size. So again, it could vary from 1 megabyte to 16 megabyte. You could configure it at good time. So it fetches four pre-decoded instructions from instruction cache. 32 entry written address stack is there, which helps you predict written addresses. So this processor introduced a new feature that is line and wave prediction. So it's essentially a branch start and power point fused with instruction cache. So what it is is that for each block of four instructions, the line predictor tells you which index to press from next and the starting block offset in that index. So essentially, so let's say this is my instruction cache, which has two ways. Currently, I'm fetching from this particular cache index and this wave. So I fetch four instructions from this index and from this wave. And then I ask the line predictor to tell me where are my next four instructions. So it's essentially just a predictor, which predicts, probably we will say that, well, seven next four instructions. That's what he's going to tell you for most of the time. However, if one of these instructions is a branch instruction, it will tell you where the target is, so maybe here. Well, this is the next line to predictor. That's the line predictor. The way predictor tells you which of the two ways to pick. So at this index, you have two possibilities, right? Whether for this one or this one. So the way predictor tells you which way to go. So prediction is correct. It provides a fast way to access a large two ways that are set in cache. So otherwise, they found that it was pretty much impossible to access a 64 kilobyte two-way cache at whatever frequency the processor was starting in. Because essentially here, if you notice, we are avoiding the time to decode the index completely. We are avoiding the time to do a comparison of tag and doing a multiplication completely. We are just asking the predictor to tell you which line to which way. I will go and access it. But of course, in the background, we have to continue doing the other thing, right? We will decode the index. We will update the PC, decode the index, look up all the tags, make a comparison, find out which way is the right one. And if you correct it correctly, then you will find otherwise, you cancel whatever you fetched based on the predictor. And you will fetch the right thing. So it also acts as a target predictor for unconditional branches, subroutine calls, and other predictable branches. So as I said, it's essentially a BTB used into the expected cache. Is this clear? Is this particular concept? One more prediction. It has a fairly sophisticated branch predictor. So the 2R264 pipeline has a 7-cycle branch predictor. This is the minimum time between prediction and branch execution. This is the minimum, the largest. So this is much larger than your mid-start which had a much shorter time. So it uses a hybrid branch predictor called the tournament predictor. The basic idea is to have two different types of predictors that are good at predicting different classes of branches and have a third meta predictor, or the chooser, that decides which of the two predictors to pick for each branch based on the dynamics. So we have already discussed the predictors in the class. We have already implemented one in your homework. So this way you can pick the predictor that is good at predicting a particular branch class. So what are the two components? So it actually uses a sag and a gag. With a bipodal meta predictor.  So one interesting thing that 2R264 did was particularly complicated with global history. So if you recall, your gag predictor has a global history register. So 2R264 is 12 bits, which indexes a table of 4 or 9, 6 entries. So these are basically sag and a bipodal. And these coulters will tell you the outcome of the gag predictor. So if you just look at the gag predictor in isolation, the problem is that there is a 7-cycle latency, minimum 7-cycle latency from prediction to the correct outcome of the branch that you know. So it is clear that your global history register will lag behind the correct outcome. Because now you predict a branch whose outcome will be known 7-cycle latency. In between there will be branches coming in that will actually access a stale g-share. So one way to avoid this problem is that you believe your predictor all the time. You say that whatever the predictor tells me, I am going to push that in as my history. So that is called speculative update of the global history register. And what it buys you is that your GHR is most of the time up to date provided the prediction accuracy is high. Otherwise of course your quality GHR will be down. But of course once in a while, your predictor will make mistakes. So then the question is how are you going to fix it? Because I have corrupt the GHR. So what you do is that as you already mentioned for any way for rolling back your register map you need to make a check point whenever a branch is sick. So you make these 12 bits also part of the check point. So whenever you detect a branch with prediction you will also restore the GHR for those on that check point. So in case of correct prediction there is no bubble and 264 supports 20 implied branches. So compare that with 4 in case of pattern K. So this means you need a higher prediction accuracy of your predictor. Because you say that we are a thumb group. We say that if I allow n outstanding branches and a prediction accuracy p for each branch then I want p to be n to be more than half. Assuming that the prediction will be better. So if you plug this in there for n you can find that p will come out to 0.97, 0.98 about that. So you need a extremely high accurate branch predictor to make any sense of this predictor. In other words you assume you are guaranteed to be not guaranteed but most likely to be on the wrong path if p falls below that. The second stage is called slot. So here the branch prediction outcome is compared against the line and wave prediction outcome for traditional branches. And in case of a mismatch the branch predictor overrides the results of the line and wave prediction and results get one cycle bubble. Essentially whatever you have fetched believing the line and wave prediction will have to be discovered. So that's the first thing that we do in this particular stage. Now the 2 1 2 6 4 has two internal A-view clusters and each cluster has two sub clusters. We will look into more detail about these sub clusters very soon. Now the point here is that during this particular stage the integral instructions are statically assigned to one of the two sub clusters based on some shenugin cluster. So essentially you are saying that I will statically bind an instruction to one of the sub cluster of an A-view. Even though what may happen is that if you did it dynamically it probably would have been better because when the instruction finally becomes ready the statically assigned sub cluster may actually be busy doing some things. Whereas the other sub cluster may actually be free. But they chose this particular design for simplicity. So they are statically assigned this and that's why the name comes from this stage. It's called statically assigned. So this sub cluster assignment will be used by the integer issue queue logic later for sending instructions to the proper sub cluster. First is the rename. So this is very interesting. The way they rename is fundamentally different from the way we have talked about in the class and we have seen what R10k is doing. So it supports up to 18 physical registers in integer register point and 72 in floating point register point. And for every instruction the register map is saved. So this provides immense flexibility to you because now you can say that for every instruction I have a specific rollback because I am checkpointing the register map on every instruction. But this also means that your register of checkpoints should not be too heavy. So they provide 80 register checkpoints. So essentially they allow 18 flight instructions. So to save 80 register map checkpoints you should not require too much space. That's what is required. So it's completely different implementation compared to R10k. So let's try to look at that more and see what we actually do. So recall that whatever we have discussed is now and also what R10k does is that if you have n logical registers you have a map k root which is n entries high and if you have b physical registers each entry will be log p plus 1 b draw. So this extra bit is for the balance bit that we talked about. So if you calculate for 80 register checkpoints so for awkward quantities 8 is 32 as usual and b they are talking about 80. So to be very accurate so in this case how much is this? Each entry is 8 bits. To be able to import 80 physical registers. So one checkpoint would be 256 bits and we have 80 checkpoints. So that's a lot of data actually. So instead of this what I do is they have a p entry table which is your p physical registers and each entry is log n plus 1 b draw. So again this particular bit is for the balance bit. So this is my value to be common. So how do you do the mapping? Whenever you get a logical register you make a fully intuitive comparison and exactly what entry is going to match along with the balance. And that entry whatever entry that is the row number of that is going to be the physical register. So which one is better? So roughly comparing n log p with p log n which one is better? p to the n or n to the p? We can assume that p is bigger than n but it's always true. Can we establish this in a relationship? Sorry? Which one is bigger? n power p is bigger. So I'll give you one example for each. p to the n is bigger than n to the p if you take p to the 3 n equal to 2 p to the 4 n equal to 3 So it's not here but anyway for this particular design point you can establish an equality. All of these will be bigger than one of these. So in this case I haven't calculated but I think this is going to be larger. Or bigger, I don't know. That's not really important. What is important is that how do you check point is This is a gigantic table. p log n bits, whatever it is. So you can calculate. So n equal to 32. So this is going to be what? 480 bits. 480 bits. Because each entry is going to be 6 bits. Sir, how do you look up this map table? I do a comparison. Associated comparison with all entries. It's a camp. It's not a ramp. This is 480 bits. Whereas that one was 256 bits. So you have a larger map table. So for any checkpoints, if you decide to checkpoint this whole table. So it will be gigantic. It's not a way of checking points. And this was a major contribution of what this is for. Yes. Differences. Differences. Which I point one of them. Reactions and action instructions. There will be like, there won't be many differences and most of them will remain the same. There will be differences in some positions. If we are the same in the other differences. No, I don't understand. What will be my difference? There will be some mapping that will change. One of the same copies is the other one. What's the worst case? What's this? How do I restore an arbitrary checkpoint? Is that easy? I have to sequentially restore, right? So you can save one of the tables, then for some 5 or 6, 5 or 7 tables will save differences. Then you can checkpoint 1, 4 tables again. Can I do something better?  So think of an instruction, right? Currently certain things are mapped here. How many entries are going to be valid? Two logical registers cannot have, sorry, one logical register cannot have multiple existing maps, right? So there could be only n rows that are valid, right? So if I look at this particular column, I'll find that there are exactly n turn-on bits. The remaining will be off. Does that really end? So currently whatever is mapped, okay? So we have n logical registers. They are mapped to certain n physical registers, right? Now until this instruction commits, if I pick up any of these currently allocated physical registers, it will still have the same map, right? Is that valid? So I look at a certain entry here, okay? Which is let's say valid, right? So this particular sum logical register here has the corresponding physical register map, okay? When does this map get complete? When the same logical registers get redefined, right? Then redefined and the instruction established in this map, sorry, established in the new map actually graduates, right? So the new map doesn't exist at this point, right? It's in the future. So for the viewpoint of the current instruction, when it graduates, I claim that all these maps will still remain unchanged. Now the physical registers can be complete. Is that correct? Because I can look at any of the map physical registers that will complete only when the next producer arrives. That has to arrive in the future, right? Which hasn't yet arrived yet, right? Sorry? Then why is this particular logical register here? It should be mapped somewhere here, right? So currently I'm looking at only the most recent producer of each of the logical registers in this map here. That's the view that I have, okay? And that view is not going to change, right? When this particular instruction graduates, that view is not going to change. It's not going to change actually. So I claim that if a checkpoint is valid bit term, so if I take an arbitrary instruction, if I want to restore the checkpoint map, all I'll do is copy the valid bit column and put it here. That's it. Do you know which logical register is mapped to? We'll have exactly n bits called. Whichever n rows it will activate, essentially what's the state of the map table when this instruction was added. That's what I'm claiming. Whichever n bits are enabled. So when this consider can be possible. These n physical registers were actually... No, what? Yeah. The n logical registers. The n logical registers. The n logical registers. So only n bits are valid in this. So it will map to n physical registers. So these n physical registers were mapped to... So what are... So what is the mapping? So which physical register maps to which logical register? How do we get to know that? No, so that's what I'm saying. So consider an instruction which you have already been currently. Okay. This is the state of the table. Currently it has some n bits on in the valid bit column. Okay. What I'm saying is that in the future, at any point in time before this instruction graduates, if I want to know that the register map back to that point when this instruction was renamed, it's enough to just copy the valid bit column. What it was at that point. Because now the maps have changed. When I took the check point, there might be instruction ahead of me. Before me. Before me. That's right. And then they... They are already... Right? They are already renamed, right? They are already renamed. So their renaming has a reflected here? Yes. There might be some other instruction after me which the new map... So we are talking about renaming the current instruction I. Yes. We are talking about the instruction before me. Yes. Let's call it I find, which is already renamed. Yes. The name of the map it has produced is already named. Yes. I try and commit. I try and commit. There is no other instruction. Yes. So let's say I try and produce some logical register and not map into P naught. Not mapping into P naught. The previous map was... The previous map was... P naught prime let's say. So when... And let's suppose that in between there was no instruction producing N naught. Right? So when I is renamed, P naught would say N naught. Right? So the point is that you can just check point this... Just 18 bits of meter. What penalty do you pay? You pay a bigger size penalty for your map table. But the check points become very thin. So the point is from... From... From renaming to commit for instruction between there no mapping happens here. From renaming to commit of file. Of file? Yeah. Table does not change. Of course it changes. Yes. There are instructions continuously being renamed. What I am saying is that none of these registers which are mapped at this point cannot be freed. They will remain allocated. And that's what I am exploiting to argue that if you want to roll back the check point to this particular state you just copy the value of the copy. So the end result is that for storing 80 check points you essentially need 6400 bits because this is 80 bits. Right? So... Which is of course the larger than your MIPS identity check point because identity was having only 4 check points. Which required 1000 to 24 bits. But you can imagine having 80 check points here. It would be huge. Any question? Not clear? Sir actually for this I think Yes. The instruction comes when we recycle right now. Recycle the previous one. Like as I said here is the example. High price produces logical register is not. Yeah. So if I go to the row of P0 which is let's say this one. Basically this is P0. If you say N0 here and this bit will be off. Right? Let's suppose the previous map was P0 prime. Which is let's say this one. So P0 prime will also say N0 but this bit will be off. Yes. So you are asking something. Yes. So finally when I try and commits this cycle will not work. Not until then. So this instruction like current instruction you want to roll back. Yes. By default later instruction. Sir I say. Sir. So consider for example consider I prime. Okay right? Yeah. So before we make this change we check point the valid bit column. Okay right? So if I want to roll back to I prime this bit would actually become off when I copy the valid bit column. Okay right? Because the check point this bit would be off. It becomes off only after a step is the new map. So the valid bit column tells me exactly what I need to do. Yes. But of course you cannot say that after I prime, I has committed after that for a few cycles you cannot say well I now want to roll back to I. No that's not possible. Because the register map will now have changed you know irreversibly. So that will cannot reverse. Okay. So that was pretty neat actually. So the end result is a much more efficient register map setting and restoring hardware. Sir why do they do this store this for each instruction? Yeah because they said that essentially this is one way of decoupling your pipeline implementation with the register map. So what happened is that depending on your pipeline implementation depending on how your system is designed certain instructions may raise certain types of exceptions. So this will allow you to actually support any arbitrary exception for any instruction. Okay. You can just roll back the check point. So this allows you to know make definition of exceptions in the processor. If you have this body you can submit it. And of course later also you can modify your process to say that well although you can check point all these I only allow you to check point for branches. You only turn on that particular one. So possible to restore register map of any arbitrary instruction in a single cycle not just branches. So in this particular stage every instruction is also assigned a reorder map of entry. And this serves the purpose same purpose as the active list just a different name but much bigger. So active list was 32 entries in article these 80 entries. It allows you to have 18 flight instructions in the pipeline. Okay. Each instruction is also assigned to one of the two issue queues. So there are essentially two issue queues. One is integer queue and one is a floating point queue. Integer queue holds all integer ALU and load store instructions. Essentially all instructions that need to meet the integer register point. Okay. So notice the difference with R10K and a separate queue for load store operations. Okay. The second one is loading point queue holds all FPU and loading point store instructions. So essentially these are all the instructions that need to meet the floating point register file. So there is a slight problem with floating point stores because they need to meet the tier register file for computing address but they need to meet floating point register file for getting the value to be sold. So they essentially say that well we will put these instructions in the floating point queue. Okay. But for address computation they actually do some interview communication. So floating point stores are special. Need to read both integer file for address operand and floating point file for data operand. So they are split into two separate instructions. Maybe address part goes to the queue and data part goes to the floating point. Loads would write to the register point. Yeah. So floating point loads are included. So here the queues are defined in terms of the read quotes. How they bind to the read quotes. Not the write quotes. Okay. So how do you issue the 20 entry integer queue can issue at most four instructions every cycle out of order to the pre-assigned A-U subclass. So we have already done that. The starting part. Okay. And the 15 entry floating point queue can issue at most two instructions every cycle out of order. All right. So by out of order I think that these queues are collapsible. That is by you can pull out instructions from the meeting which would create holes in the queue. So you have to collapse the queue so that it creates space for the table for new instructions. Because one requirement is that whatever instruction is present in the queue they must be maintained according to their age. Okay. That's very important. All right. Because that would guarantee fairness. Because essentially in the cycle if there are multiple instructions that become ready the older instructions are given priority. So that they can move forward. The issue load instructions are now allocated in a 32 entry load queue and stay there until the end. Okay. So once they have issued from the idea queue they sit down on a separate queue which is called the load queue. The store instructions go to the 30 entry store queue. The store queue entries are wider than the load queue entries to be able to hold up to 64 bit of stored data. So remember that the data gets moved to cache only a minute. So you can think of the load and store queues as two parts of the RTK address queue with one major difference. The load instructions are now executed out of order which was not the case for RTK. Okay. They have sent load instructions. Okay. Sage 5 operative read the integer ALU cluster has its own copy of the register pile, integer register pile. These are kept coherent from a one cycle inter cluster transformer. So remember there are two ALU clusters. Okay. And each ALU cluster has its own copy of the integer part. So that creates a problem coherence. Right. Because one cluster may modify some register here which may not reflect which may not be reflected here. So there is a one cycle inter cluster transfer costs. So in the single cycle you can actually make it go ahead. Okay. Which actually has implication because now what it means is that suppose you send a instruction which produces let's say register 10 in cluster 1. And you send an instruction which consumes register 10 in cluster 2. So this cluster 2 instruction is going to be delayed because of this one cycle inter cluster. Okay. So the schedule was odd enough actually to push instructions belonging to the same dependence chain to the same ALU cluster. Okay. Which also has some brown side because what may happen is that one cluster may become very crowded. Okay. But the other cluster may be very crowded. So scheduling they are scheduling algorithm takes care of these things. So the issue digital instructions read their source operands from the respective cluster register file. The floating point instructions read their operands from the floating point register file. The next cycle the operand values may be overrated by the bypass values. So this one we have also seen is the traditional bypass parts. Sir, why do they have separated register files? Yeah. Why don't you guess? That's a very good question. Why do you like to separate the register file? Why not a unified register file? Right? So in this case as we said let's see what have we already said? Doesn't matter. So if you think about it, right? Let's suppose that the clusters are symmetric. Let's assume for the sake of the register file individual files, right? They would have some number of quotes, right? If you refile it the number of quotes would be added, right? That would slow down the register file. So what they found was that this one cycle penalty was far better than the final register file. And they would make sure that they should really not require this one cycle transfer to to make sure that the instructions dependent instructions get directed to the same cluster. So from state 6 on hold the instructions execute on appropriate functional units. The two individual clusters are not exactly symmetric. Each cluster is divided into an upper sub-cluster that is U0 or U1 and a lower sub-cluster that is 4A U0 U1 The lower sub-clusters are identical and each contains logic units one adder and a load store virtual address calculator so that's your L0 and L1 so you have logic you have adder and you have address calculator U0 contains an integer multiplier branch unit logic units and an integer adder so that's your U0 and U1 is identical to U0 except it does not have the function but has a motion video unit and some special adder instructions like population count leading zero count etcetera. So this particular instruction tells you how many zeros are there on the MSB on the most significant side until you read a one. So as you can see overall what you get is one multiplier there are four logic units because all the sub-clusters have one each there are three adders L0 L1 and U0 sorry and you have two branch units two shifters and two adders sub-clusters okay. The floating part unit so there are four in number what are they a fully pipeline multiplier a fully pipeline adder an un-piled line divider an un-piled line so you might have noticed that there is no integer divider they actually use this one but we need to calculate their virtual adders in L0 or in 1 they issue out of order from the integer Q as already mentioned at this time they are also placed into the load Q or the store Q these two cubes are maintained in order that is already instructions are closer to right. So essentially load Q okay so loads may execute out of order stores execute in order but a store issues it checks all the instructions in the load Q that are after it in program in the program order and in case of an address conflict meaning the load has got a long manner it initiates a squash starting from the offending load and a revenge is started from the offending load so you need to restore the register maps so this is also one reason why you would like to check for it your register map for load instructions because any load can run across this particular problem and we have started getting to have this problem because they did not issue loads out of order so the reason why the possible squash is due to order for a load issue the processor uses a load point game so what is this unit whether to hold the load back until all stores before it can be issued and how do we decide this this table is updated whenever a load gets squashed due to a store conflict so that in the future the load will be held back and it will not be issued separately so it's a very simple table which essentially identifies load instructions that are flowed to this problem and they would be issued a load checks all instructions in the store queue before it and in case of a perfect match which means matching the size of the address it simply picks up the store value and does not even access the cash so this is the load forwarding case where you have a load and you have a store before it and the load completely overlaps in the store this is the value taken from the store queue itself and the load it's speculation in connection with the issue load dependence so we say that the issue are dependent of a load speculatively without knowing if the load is going to hit in the cash amount certain can always optimistically speculate that the load will hit which is why it always does this speculation and if it misses we will have to squash the dependent and utilize that particular store essentially one issue cycle is wasted in the load basis so 2 out of 6 4 uses a load it is predicted when a load issues it predicts using a table based on the history whether it is going to hit or miss this time just like a branch predictor takes the money so it's a binary predictor the prediction is hit this logic may consider issuing dependence on the load the prediction is basically load you will hold back the dependence until it knows for sure the way of the load so the last stage of the pipeline retirement of commit 2 out of 6 4 commits at least 8 instructions every cycle under certain situations it can sustain a retirement bandwidth of 11 instructions for a short period of time retirement rate more than my fetch rate I am fetching 4 every cycle I am saying that I can sustain up to 11 instruction every cycle why do I do this what's the rational behind it instruction is stuck we will always fetch 4 but it's not sure that we will do so we might be having more than 8 right but what we need by quickly retiring they have already executed these are complete instructions exactly so freeing up not the increase it also freees up other resources registers and everything so these are essentially you let them go the better because they will free up resources so when instruction comes to the RV it can be considered for retirement so what does it do when it retires it updates the branch predictor it frees the register map copy for this instruction so remember that every instruction has an register map check point you have it frees the load store Q entry if it's a load store it frees the whole physical register and updates the freest and frees the RV so next time we will talk about intelligence


Hello guys, welcome back to another idle game tutorial. This is episode 7 Yes, I'm really sorry that I haven't been uploading lately. I've been extremely busy with my own game and it's personal stuff and I Just expect that I will be busy for the next few weeks, especially schools coming up So today we are going to be doing progress bars So I'm not in any order. I'm just going off a list of stuff I need to do for episodes, but we're gonna be doing progress bars Which I think it's really important because some idle games are Have a lot of progress bars or loading bars It's pretty easy. Honestly. I Changed the look of the game. I inserted my own assets that I made and I just changed all the text Which is a simple going to your text and then changing the font and the size and the stuff and changing the buttons is dragging an image that you that you put in your assets It could be a JPEG or a PNG or even a Photoshop So a PSD file and you should drag it into the source image right here and it changes it So I can literally make it like that However, we want this This one right here These assets are not free to use, but you can try making them on your own. I'm just not gonna put a link Anyways to the tutorial, we're gonna be doing progress bars for these click upgrades since I really don't have anything specific to use it from and Yeah, so I'll be doing that and some good progress bar practices So we're gonna go to my canvas. We're gonna create some Progress bars. We're gonna start with one start easy So To make this a progress bar. We need to need to oh Yeah, we need to give it an image right here. So we're just gonna use this one right here Yeah, that should work. We'll use this one called bar fill which you can use any you can just use a square You just need an image in order to access it We're gonna put it right here under this upgrade. There you go. That's fine. And we're gonna call this Click upgrade one bar Okay, so we changed the image type to fill and Right now it's filling in a circle or a radial 360 We're gonna change that to horizontal. So then it should fill from left to right But that's up to you. You can choose whatever you want So it's kind of awkward not having a background here. Basically, just create another image This is going to be the actual progress bar and this is going to be the background because this image right here is Higher than the one that's inside this if that makes sense. So if I make this BG And I drag the bar into the BG This image will be in front of it So we'll give this one a background image that I already have called bar BG and Well, oops before you do that make sure they're the exact same size and then drag the BG in the bar and Make sure the anchor for the BG is stretched. So no matter what size this is it will stretch along with it anchors are pretty important and Now if we change the fill amount for this And we have a background Sweet it was pretty easy We'll keep that there Okay, so now we're going to get to the coding part of this. So I'm gonna open up my script So something new you've made notice is that Why am I using Unity 2018? That is not okay. That's whatever. It's fine I'm supposed to be using Unity 2019 since I finally updated everything and I'm now using I'm using Ryder Which is by JetBrains? It's not free, but I'm doing a free trial for now And I really like it and I think you guys can see the fonts much better in this version In the visual studio. So I decided to stick with Ryder Someone suggested it to me If you can't see it and just zoom into your page We don't need this It's still loading Yeah, this is right. Okay, so we're gonna start with oops it's still loading in we're gonna start with episode seven So our progress bar is basically an image why is everything doing this, okay? I don't like about Ryder is that it automatically saves. Did the Unity just freeze on us? Did we lose unity already? Anyways, it's an image. So we're gonna create an image called click upgrade one Bar That's pretty much it for that And in order to change its value from the fill We use a method call dot fill amount which basically this method is a public void Fill amount and it accepts a float and only a float Like that, but we're not doing that since we already have that So to update it, we're gonna go to our update method right here. Let's just drag it to the bottom We'll do episode seven here. It's a little mess. You guys clean it up Okay, so we have our click bar dot fill amount equals x divided by y so what are we filling up? Basically the progress bar is to determine how far away is the cost of being able to purchase? So what we're gonna do is Okay, my code is freaking out right now We're gonna take coins Since that's the number that's changing and basically the capacity the percentage that we need to get is the Click upgrade one cost. That's it. It's that simple So remember we can only fill not only a float so what we're gonna do here is We need to cast this entire equation right here To float That's it. So now this will automatically convert to a float so before continue some good practices you should I should do is Since it's a float and it has a higher or has a lower number of capacity then double Anything higher than that will lose on an error and it will just completely break your code Yeah 308 so this is a float this is a double so anything higher than this number right here We'll just break your your whole thing. So how to fix that is you do an if statement So we're gonna take this right here These redundant parentheses so if all of this is Less than 0.01 since nobody can see less than a tenth of a percent Then we're going to set the fill amount to zero no matter what But If it's higher oops, it's else else if coins is greater than Let's say 10 Then we're gonna set this to one Just to be safe and our else is ill-change To whatever this is as long as it's in between 0.01 and 10 So the fill amount is based on zero to one You don't have to do times 100 to do a percent. It's based to zero to one so zero to one or zero point zero zero Two to one times that by a hundred basically it gives you the percent, but we don't need to do that All right, we have our first progress bar. We're ready to go Let's unity Do its job no errors. We're good to go So let's go to our game manager and we're going to add our new progress bar, which is the bar right here So now if we save our game That's fast And run it we should be able to see this right here. Wow. We got a lot of coins. What's the heck that is a lot of coins Boy All right, there you go. We have our coins right here See how it's incrementing as it approaches the cost Once this is max, we'll be able to see it fill up so I can change to this Let's say we wanted this to eight nine Nineteen twenty nine thirty nine. There you go That's the progress bar. That is pretty much it I'm not gonna do this for other progress bars, it's a simple copy and paste but In review basically, it's just an image you create an image and an image has a method called fill amount and you can set that from any number between zero to one and it must be a float and In order to get that Zero to one value you must divide something that you're trying to compare to So like coins divided by the cost since the cost is pretty much constant it doesn't change Unless you want it to which in our case it does But if let's say we had a progress bar that we wanted to see how the progress bar filling up to a hundred Well, clearly we would change to a hundred because that's how percentages work Like that That's all I have for this episode. It's just a really short one. It's really easy Just remember make sure you cast If you use anything else make sure like for me, I use big double for me There's a method called to double so I'll just do that and cast it But just make sure this is floats or all stings will not go well with your code Anyways, I hope you enjoyed this episode. I will try to get to episode 8 as soon as possible Thank you. Have a good day. Also, don't forget to subscribe and turn on notifications. See you here next tutorial. All right. Bye Yeah Got me in this party all up in a zone. How does Betty's trying to take away my cell phone like coming party? I've been trying to take you off my mind, but just can't get you off me keeping moving They ain't worth it. Yeah, that's what my father taught me but for now I'm going through the motions of letting go because my mind's telling me yes, but my heart really don't know your heart When I got to know it yet. I still see a glow. So we had the hottest love Why'd you leave me in the cold?


Meanwhile, the Global Rights Group Amnesty International has welcomed the lifting of the ban placed on social media platform Twitter by the federal government. The lifting of the ban, after 222 days, was announced in a press statement on Wednesday signed by the Director General of the National Information Technology Development Agency and chairman, technical committee Nigeria Twitter engagement Kashifu Abdelahi. Amnesty stated that the Twitter ban was illegal in the first place and an attack on the rights to freedom of expression. Amnesty International welcomes the lifting of Twitter ban by Nigerian authorities after seven months of depriving Nigerians from exercising their rights to freedom of expression on a social media platform that facilitates dialogue and empowers everyone to communicate, hold useful debates and conversations, and demand accountability from the Nigerian authorities, the rights group said.


The residents of Delta State have faulted the Independent National Electoral Commission, INEC, for postponement of the governorship and State House of Assembly elections from 11 March to 2023 to 18 March across the Federation. Some of the residents who spoke with our Asaba correspondent Akpomejero Friday said they are not happy with the development and INEC cannot be trusted with Nigerian votes anymore. They said the new development is going to disrupt their school activities in Delta State. Electoral acts, they failed. Electronic transmission was no longer the order of the day. They were not taking results manually and we all know that the electorate made it very clear that any result that was not transmitted would be null and void. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.